-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
Normal vector estimation based on plane-probing approaches #1547
Normal vector estimation based on plane-probing approaches #1547
Conversation
…ingTetrahedronEstimator
…rahedronEstimator
…gned int instead of int
…lso test PR1 version
…r, correctly implement some methods
… PlaneProbingEstimators
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.
Great work ! Very clean with a clear structure. My comments are mostly on the form.
src/DGtal/geometry/surfaces/estimation/PlaneProbingR1Neighborhood.h
Outdated
Show resolved
Hide resolved
src/DGtal/geometry/surfaces/estimation/PlaneProbingRNeighborhood.h
Outdated
Show resolved
Hide resolved
src/DGtal/geometry/surfaces/estimation/PlaneProbingTetrahedronEstimator.h
Outdated
Show resolved
Hide resolved
src/DGtal/geometry/surfaces/estimation/PlaneProbingTetrahedronEstimator.h
Outdated
Show resolved
Hide resolved
src/DGtal/geometry/surfaces/estimation/PlaneProbingTetrahedronEstimator.ih
Outdated
Show resolved
Hide resolved
… PlaneProbingEstimators
I let you closed the last conversations once you are done with your changes. |
All the changes were made and all checks passed! |
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.
Everything is fine.
@nyorem @JacquesOlivierLachaud the on travis:
|
PR Description
This PR adds new classes for estimating normal vectors on digital surfaces. The estimators are based on plane-probing approaches (see here, here and there). It specifically adds the following classes:
DigitalPlanePredicate
: aims to represent a digital plane as a point predicate,DigitalSurfacePredicate
: aims to represent a digital surface as a point predicate,PlaneProbingTetrahedronEstimator
: first category of estimators based on the deformation of a tetrahedron,PlaneProbingParallelepipedEstimator
: second category of estimators based on the deformation of a parallelepiped,PlaneProbing*Neighborhood
classes).PlaneProbingDigitalSurfaceLocalEstimator
: adapter of the previous two classes to estimate normal vectors on digital surfaces.It also adds new examples that illustrates how to construct and use those classes.
This PR also adds another estimator that is based on maximal segment computation on slices of digital surfaces. The PR could maybe be in split in two but the plane-probing estimator on a digital surface internally uses this other estimator (see the documentation for more details). The documentation for this part is still a work in progress. The new classes are the following:
ArithmeticalDSSComputerOnSurfels
: version ofArithmeticalDSSComputer
that works on projection of 3D surfels,MaximalSegmentSliceEstimation
: the new estimator class.Checklist
cmake
mode (otherwise, Travis C.I. will fail).