Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentation and warnings before 0.1 release #502

Open
wants to merge 32 commits into
base: main
Choose a base branch
from

Conversation

rhugonnet
Copy link
Contributor

@rhugonnet rhugonnet commented Apr 8, 2024

Ongoing

TO-DO:

  • Add profile curvature and plan curvature formulas on "Terrain attributes" page,
  • Add BlockwiseCoreg to coregistration page,
  • Add "Cheatsheet" page,
  • Add link to PyTransform3d on Affine registration page,
  • Add "Ecosystem" page,
  • Add "Georeferencing intricacies" page,
  • Add documentation for "DhMinimize" method,
  • Streamline "Coregistration" and "Bias correction" pages,
  • Detail .meta keys for users (and make the attribute public in a separate PR),
  • Add .info() method for CoregPipeline,
  • Remove temporarily BlockwiseCoreg,
  • Update reference for TPI: Fix date in surface roughness reference #562,
  • Re-structure/streamline "Spatial statistics for error analysis" guide page,
  • Finalize "Uncertainty analysis" page, add warning that interface might change with Scikit-GStat now supporting directly sum of variogram models,
  • Streamline "Differencing and volume change" into a "Gap-filling" page and add warning that it might be moved to a different package,
  • Proof-read/streamline all gallery examples,
  • Prepare banner to communicate breaking changes with 0.1,
  • Check if figures in "Quick start" are fixed (normal colorbar, vector plotting on top),
  • Check if PROJ error still appears or not in the rendered documentation, fix it if yes,
  • Fix directional bias sinusoid example to always correct,
  • Add "read more" section at the end of each guide page?

Resolves #477 (last step)
Resolves #505
Resolves #464
Resolves #434
Resolves #285
Resolves #275
Resolves #431
Resolves #532
Resolves #528
Resolves #562
Resolves #583

Copy link
Contributor

@erikmannerfelt erikmannerfelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, such an improvement to the documentation!! Super great job @rhugonnet!

I have some questions, generally pertaining to the non-documentation part of the PR (perhaps in the future changes like this could be a separate PR? :) )

doc/source/accuracy_precision.md Outdated Show resolved Hide resolved
doc/source/accuracy_precision.md Outdated Show resolved Hide resolved
doc/source/accuracy_precision.md Outdated Show resolved Hide resolved
doc/source/conf.py Show resolved Hide resolved
doc/source/ecosystem.md Show resolved Hide resolved
doc/source/static_surfaces.md Show resolved Hide resolved
xdem/coreg/biascorr.py Outdated Show resolved Hide resolved
@@ -2627,7 +2701,7 @@ def copy(self: CoregType) -> CoregType:
"""Return an identical copy of the class."""
new_coreg = self.__new__(type(self))

new_coreg.__dict__ = {key: copy.deepcopy(value) for key, value in self.__dict__.items() if key != "pipeline"}
new_coreg.__dict__ = {key: copy.copy(value) for key, value in self.__dict__.items() if key != "pipeline"}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this change do?

@@ -848,6 +788,34 @@ def to_matrix(self) -> NDArrayf:
"""Convert the transform to a 4x4 transformation matrix."""
return self._to_matrix_func()

def to_translations(self) -> tuple[float, float, float]:
"""
Convert the affine transformation matrix to only its X/Y/Z translations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think something funky will happen here if scaling is involved (I don't remember which order the components are applied in). I feel like a warning should be added to this and the to_rotations() saying something like "Warning: Information may be lost".

And the conversion is less of a conversion and more of an extraction I would say! Since there's no validation that scaling won't mess with the result.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that it's not a conversion, the idea was just to have an extraction! We could change this in the description?
Leaving this conversation open for @adehecq to comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I'll look into it for when scaling is involved, great point 😉

tests/test_coreg/test_base.py Show resolved Hide resolved
xdem/coreg/affine.py Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment