GlacioHack / xdem

Analysis of digital elevation models (DEMs)
https://xdem.readthedocs.io/
MIT License
122 stars 37 forks source link

Test libpointmatcher ICP algorithm #11

Open adehecq opened 3 years ago

adehecq commented 3 years ago

A local resource for ICP point-cloud alignment: https://github.com/ethz-asl/libpointmatcher

erikmannerfelt commented 3 years ago

As I mentioned in a previous discussion, libpointmatcher doesn't seem to have an easy way to install outside of conda. It does exist on conda-forge. I like the opencv approach, however, and it's very python-friendly by being installable with only pip if required.

Shall we close this or leave it open for future potential implementations?

adehecq commented 3 years ago

If you think opencv's implementation is equivalent, then yes we can close it. It will still be there for reference if we need it later. Does any of this or opencv allows for non rigid transformations?

erikmannerfelt commented 3 years ago

opencv and PDAL only does 3D perspective transform (rotation + translation, no scaling). I don't know about libpointmatcher but I can try to figure it out. If I don't find that it does more, I'll close the issue!

erikmannerfelt commented 3 years ago

libpointmatcher does similarity transforms (translation + rotation + scale). See the first paragraph here for reference.

rhugonnet commented 11 months ago

Looks like there is a Python API fairly practical to use: https://github.com/ethz-asl/libpointmatcher/blob/master/examples/python/icp.py

But the install doesn't look very user-friendly indeed, see: https://libpointmatcher.readthedocs.io/en/latest/CompilationPython/