-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ball merge reconstruction #8048
base: master
Are you sure you want to change the base?
Conversation
4167c31
to
bb04afc
Compare
/build:v1 |
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8048/v1/Manual/index.html |
{ return std::sqrt(typename Traits::Compute_squared_distance_3()(p1,p2)); } | ||
|
||
//Function that computes the Intersection Ratio (IR) given two cell handles | ||
// AF This could become a filtered predicate if robustness might be an issue |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@amaldevp Robustness IS an issue. See the spheres.xyz data set I just pushed.
...e_reconstruction/doc/Ball_merge_surface_reconstruction/Ball_merge_surface_reconstruction.txt
Outdated
Show resolved
Hide resolved
|
||
In practice, the threshold \f$ \eta = 200\f$ was observed to perform well and can be adjusted - Figure \cgalFigureRef{figBMSRetatuning} shows the effect of varying \f$ \eta \f$. | ||
The main parameter used in BallMerge is the intersection ratio \f$ > \delta \f$. By definition, the \f$ > \delta \f$ ranges from 0 to 2 - with \f$ BallMerge(0) \f being empty and \f$ BallMerge(2) \f containing all the triangles of the Delaunay Triangulation. Experiments show that the \f$ > \delta \f$ value usually lies between 1.5 and 1.95 (with 1.8 or 1.85 giving the best results in most cases). Thanks to the nice property of this intersection ratio, it is quite easy to tune this parameter based on a simple rule: if the reconstructed surface has missing parts, the threshold should be lowered, or if the reconstructed surface has additional parts, the threshold should be increased. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess there is a dollar missing at the closing "\f". Also text inside mathmode should be \textrm{..}
@amaldevp did you have a look at the data set I had committed on May 2, 2024, where my commit comment was |
And did you make progress on what you called "filtering" to avoid several faces of sliver cells being selected by BallMerge? |
|
||
\subsection secBMSRChoose Choosing between Global and Local Variants | ||
|
||
The Global variant, by definition, results in a watertight surface (not always manifold) and, hence, is optimal for reconstructing closed surfaces. As the algorithm tries to close the surface, it can withstand missing data up to an extent and can handle little outliers and noise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would lowercase the words "global" and "local". Also I do not really like BallMerge in camel case. What about emphasized, capitalized but with a space between the words? @MaelRL any opinion?
Also I do not see the need for BallMerge in mathmode.
...e_reconstruction/doc/Ball_merge_surface_reconstruction/Ball_merge_surface_reconstruction.txt
Outdated
Show resolved
Hide resolved
...ce_reconstruction/test/Ball_merge_surface_reconstruction/ball_merge_reconstruction_tests.cpp
Outdated
Show resolved
Hide resolved
@sloriot suggested a solution (and we also discussed the example you provided), but, unfortunately, I am not able to recall it now. Maybe Sebastien might be remembering? |
…struction/Ball_merge_surface_reconstruction.txt Co-authored-by: Andreas Fabri <[email protected]>
…struction/Ball_merge_surface_reconstruction.txt Co-authored-by: Andreas Fabri <[email protected]>
…nstruction/ball_merge_reconstruction_tests.cpp Co-authored-by: Andreas Fabri <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8048/v2/Manual/index.html |
Summary of Changes
Add a new package in CGAL implementing the reconstruction algorithm described in Amal Dev Parakkat, Stefan Ohrhallinger, Elmar Eisemann, and Pooran Memari. Ballmerge: High-quality fast surface reconstruction via voronoi balls. In Computer Graphics Forum, 2024.
Release Management
TODO