3dgeo-heidelberg / py4dgeo

py4dgeo - A Python library for change analysis in 4D point clouds
https://py4dgeo.readthedocs.io
MIT License
65 stars 8 forks source link

Allow affine transformations on epochs #258

Closed dokempf closed 11 months ago

dokempf commented 1 year ago

This allows epochs to be transformed with affine transformations given by a 4x4 numpy array using an Epoch.transform method. Should be generally useful, but is also foundational work towards future registration work.

Epochs apply the transformation in-place, but store the transformation matrix and make it accessible through the transformation property of the Epoch. It is stored and reloaded as part of Epoch I/O.

codecov-commenter commented 1 year ago

Codecov Report

Merging #258 (998c7f2) into main (8ef524b) will decrease coverage by 0.07%. The diff coverage is 92.10%.

:exclamation: Current head 998c7f2 differs from pull request most recent head d06f1f0. Consider uploading reports for the commit d06f1f0 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258/graphs/tree.svg?width=650&height=150&src=pr&token=TUVklp2e6N&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg)](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg) ```diff @@ Coverage Diff @@ ## main #258 +/- ## ========================================== - Coverage 89.24% 89.17% -0.07% ========================================== Files 20 22 +2 Lines 1776 1811 +35 ========================================== + Hits 1585 1615 +30 - Misses 191 196 +5 ``` | Flag | Coverage Δ | | |---|---|---| | cxx | `86.97% <90.00%> (-0.30%)` | :arrow_down: | | python | `91.03% <94.44%> (+0.13%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg#carryforward-flags-in-the-pull-request-comment) to find out more. | [Impacted Files](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg) | Coverage Δ | | |---|---|---| | [tests/c++/registration\_t.cpp](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg#diff-dGVzdHMvYysrL3JlZ2lzdHJhdGlvbl90LmNwcA==) | `88.23% <88.23%> (ø)` | | | [src/py4dgeo/epoch.py](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg#diff-c3JjL3B5NGRnZW8vZXBvY2gucHk=) | `93.05% <94.44%> (+0.80%)` | :arrow_up: | | [lib/registration.cpp](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg#diff-bGliL3JlZ2lzdHJhdGlvbi5jcHA=) | `100.00% <100.00%> (ø)` | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg) ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg). Last update [8ef524b...d06f1f0](https://app.codecov.io/gh/3dgeo-heidelberg/py4dgeo/pull/258?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=3dgeo-heidelberg).