Add use_normal_length_as_confidence parameter to Poisson surface reconstruction - #7453
Add use_normal_length_as_confidence parameter to Poisson surface reconstruction#7453shlok-ramlab wants to merge 2 commits into
Conversation
|
Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes. |
There was a problem hiding this comment.
Pull request overview
This PR exposes a new use_normal_length_as_confidence boolean flag on Poisson surface reconstruction (TriangleMesh::CreateFromPointCloudPoisson / TriangleMesh.create_from_point_cloud_poisson) to optionally weight samples using the magnitude of their input normals.
Changes:
- Add
use_normal_length_as_confidenceparameter to the C++TriangleMesh::CreateFromPointCloudPoissonAPI (defaultfalse). - Thread the new flag into the Poisson reconstruction implementation to enable “confidence” handling.
- Expose the flag in the Python binding and add parameter documentation.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
cpp/pybind/geometry/trianglemesh.cpp |
Adds the new Python-exposed argument and corresponding docstring entry. |
cpp/open3d/geometry/TriangleMesh.h |
Extends the public C++ API with the new optional parameter and Doxygen docs. |
cpp/open3d/geometry/SurfaceReconstructionPoisson.cpp |
Wires the new flag into the Poisson execution path by enabling confidence handling. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@benjaminum Reminding for the review! Let me know if anything is missing. |
|
@shlok-ramlab thanks for adding this feature! |
Type
Motivation and Context
Poisson surface reconstruction uses a confidence value to weight the influence of each point during reconstruction. By default, all points are weighted equally (confidence = 0). This change exposes a
use_normal_length_as_confidenceflag that passes the normal vector lengths as per-point confidence to the Poisson solver.Checklist:
python util/check_style.py --applyto apply Open3D code styleto my code.
updated accordingly.
results (e.g. screenshots or numbers) here.
Description
Adds a
use_normal_length_as_confidenceboolean parameter (default false) to TriangleMesh.create_from_point_cloud_poisson(). When set to True, the Poisson solver uses confidence=1, which causes it to use the magnitude of each point's normal vector as a per-point confidence weight. This is a non-breaking change.No unit test was added as the change is a single boolean flag affecting a well tested solver, let me know if that's needed.