trimesh
trimesh copied to clipboard
about nricp_amberg
The document shows that "steps" is the core of the algorithm, but the default is None, and it still works. But in the paper "Amberg et al. 2007: Optimal Step Nonrigid ICP Algorithms for Surface Registration." The cost function contains ws, wl, wn, so these parameters should be necessary (except wl). If "steps" is None, what are the values of ws, wl, wn and max_iter? Are ws, wl, wn all 1?
You are right, the algorithm cannot run without predefined steps
. But if steps
is None
, a default hard coded value is set :
https://github.com/mikedh/trimesh/blob/b2e59eef61abf4b1435146ca37bf14a73fa94bb1/trimesh/registration.py#L599-L605
It is also the case for nricp_sumner
:
https://github.com/mikedh/trimesh/blob/b2e59eef61abf4b1435146ca37bf14a73fa94bb1/trimesh/registration.py#L997-L1004
The default hard coded steps
are meant to make the algorithms work relatively well on most cases.
This is not clear from the documentation and can be added.
By the way, more information on nricp is available in docs/content/nricp.md
.
Thank you for your reply. It helped me a lot.