Add use_normal_length_as_confidence parameter to Poisson surface reconstruction#7453
Open
shlok-ramlab wants to merge 2 commits intoisl-org:mainfrom
Open
Add use_normal_length_as_confidence parameter to Poisson surface reconstruction#7453shlok-ramlab wants to merge 2 commits intoisl-org:mainfrom
shlok-ramlab wants to merge 2 commits intoisl-org:mainfrom
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.
Author
|
@benjaminum Reminding for the review! Let me know if anything is missing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.