|
DGtal 2.2.0
|
Aim: Use Ponca library to perform a local sphere fitting. More...
#include <DGtal/geometry/surfaces/estimation/estimationFunctors/SphereFittingEstimator.h>
Data Structures | |
| class | PoncaPoint |
| struct | Quantity |
| Quantity type: a 3-sphere (model of CQuantity). More... | |
Public Types | |
| typedef TSurfel | Surfel |
| typedef TEmbedder | SCellEmbedder |
| typedef SCellEmbedder::RealPoint | RealPoint |
| typedef TNormalVectorEstimatorCache | NormalVectorEstimatorCache |
| typedef PoncaPoint::Scalar | Scalar |
| typedef PoncaPoint::VectorType | VectorType |
| typedef Ponca::DistWeightFunc< PoncaPoint, Ponca::SmoothWeightKernel< Scalar > > | WeightFunc |
| typedef Ponca::Basket< PoncaPoint, WeightFunc, Ponca::OrientedSphereFit, Ponca::GLSParam > | Fit |
Public Member Functions | |
| SphereFittingEstimator (ConstAlias< SCellEmbedder > anEmbedder, const double h, const double radius, ConstAlias< NormalVectorEstimatorCache > anEstimator) | |
| ~SphereFittingEstimator () | |
| void | pushSurfel (const Surfel &aSurf, const double aDistance) |
| Quantity | eval () |
| void | reset () |
Private Attributes | |
| const SCellEmbedder * | myEmbedder |
| Alias of the geometrical embedder. | |
| Fit * | myFit |
| Fitting object. | |
| double | myH |
| Grid step. | |
| double | myRadius |
| Radius. | |
| bool | myFirstPoint |
| Boolean for initial point. | |
| const NormalVectorEstimatorCache * | myNormalEsitmatorCache |
| NormalVectorCache. | |
Aim: Use Ponca library to perform a local sphere fitting.
Description of template class 'SphereFittingEstimator'
Given a kernel radius, this functor performs a sphere fitting and outputs the parameters of an AlgebraicSphere (please see Ponca documentation for details).
Model of concepts::CLocalEstimatorFromSurfelFunctor.
| TSurfel | type of surfels |
| TEmbedder | type of functors which embed surfel to \(\mathbb{R}^3\). |
| TNormalVectorEstimatorCache | the type of normal vector cache to consider (see EstimatorCache class). |
Definition at line 88 of file SphereFittingEstimator.h.
| typedef Ponca::Basket<PoncaPoint, WeightFunc, Ponca::OrientedSphereFit, Ponca::GLSParam> DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Fit |
Definition at line 126 of file SphereFittingEstimator.h.
| typedef TNormalVectorEstimatorCache DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::NormalVectorEstimatorCache |
Definition at line 120 of file SphereFittingEstimator.h.
| typedef SCellEmbedder::RealPoint DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::RealPoint |
Definition at line 118 of file SphereFittingEstimator.h.
| typedef PoncaPoint::Scalar DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Scalar |
Definition at line 122 of file SphereFittingEstimator.h.
| typedef TEmbedder DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::SCellEmbedder |
Definition at line 117 of file SphereFittingEstimator.h.
| typedef TSurfel DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Surfel |
Definition at line 116 of file SphereFittingEstimator.h.
| typedef PoncaPoint::VectorType DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::VectorType |
Definition at line 123 of file SphereFittingEstimator.h.
| typedef Ponca::DistWeightFunc<PoncaPoint, Ponca::SmoothWeightKernel<Scalar> > DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::WeightFunc |
Definition at line 125 of file SphereFittingEstimator.h.
|
inline |
Constructor.
| [in] | anEmbedder | embedder to map surfel to R^n. |
| [in] | h | gridstep. |
| [in] | radius | radius of the convolution kernel (in \(\mathbb{Z}^n\) space). |
| [in] | anEstimator | normal vector estimator on the surface. |
Definition at line 158 of file SphereFittingEstimator.h.
References myEmbedder, myFit, myH, myNormalEsitmatorCache, and myRadius.
|
inline |
|
inline |
Evaluate the sphere fitting.
Definition at line 218 of file SphereFittingEstimator.h.
References DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Quantity::center, DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Quantity::eta, DGtal::Trace::info(), DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Quantity::kappa, myFit, DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Quantity::radius, DGtal::functors::SphereFittingEstimator< TSurfel, TEmbedder, TNormalVectorEstimatorCache >::Quantity::tau, and DGtal::trace.
|
inline |
Add the geometrical embedding of a surfel to the point list
| [in] | aSurf | a surfel to add |
| [in] | aDistance | of aSurf to the neighborhood boundary |
Definition at line 183 of file SphereFittingEstimator.h.
References DGtal::Trace::info(), myEmbedder, myFirstPoint, myFit, myH, myNormalEsitmatorCache, myRadius, and DGtal::trace.
|
inline |
Reset the point list.
Definition at line 263 of file SphereFittingEstimator.h.
References myFirstPoint, and myFit.
|
private |
Alias of the geometrical embedder.
Definition at line 274 of file SphereFittingEstimator.h.
Referenced by pushSurfel(), and SphereFittingEstimator().
|
private |
Boolean for initial point.
Definition at line 286 of file SphereFittingEstimator.h.
Referenced by pushSurfel(), and reset().
|
private |
Fitting object.
Definition at line 277 of file SphereFittingEstimator.h.
Referenced by eval(), pushSurfel(), reset(), SphereFittingEstimator(), and ~SphereFittingEstimator().
|
private |
Grid step.
Definition at line 280 of file SphereFittingEstimator.h.
Referenced by pushSurfel(), and SphereFittingEstimator().
|
private |
NormalVectorCache.
Definition at line 289 of file SphereFittingEstimator.h.
Referenced by pushSurfel(), and SphereFittingEstimator().
|
private |
Radius.
Definition at line 283 of file SphereFittingEstimator.h.
Referenced by pushSurfel(), and SphereFittingEstimator().