Expose registration.GetRegistrationResultAndCorrespondences
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [x] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).
### Proposed new feature or change
Performing several ICP registrations or evaluations with the same target point cloud can become very time consuming. However, a significant portion, and in some cases the overwhelming majority, of this time seems to be spent on recreating the target point cloud's KDTree on each call to Open3D's registration. In this cases I could significantly reduce my runtime by reusing the same KDTree for all of these operations. I believe the simplest way to make this possible in Open3D would be to expose the function GetRegistrationResultAndCorrespondences to the Python API.
This would also allow developers to create custom ICP loops with custom transformations and stopping conditions or run more involved evaluations without requiring the runtime of generating the KDTree.
This function could essentially act as a batched called to search_knn_vector_3d with a set of many starting points (in a more generic form that allows k>1, such a function could have many versatile uses, such as custom computations of point attributes like normal vectors or curvature using numpy functions instead of Python loops).
Thank you
### References
_No response_
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.