31#if defined(VCMDigitalSurfaceLocalEstimator_RECURSES)
32#error Recursive header files inclusion detected in VCMDigitalSurfaceLocalEstimator.h
35#define VCMDigitalSurfaceLocalEstimator_RECURSES
37#if !defined VCMDigitalSurfaceLocalEstimator_h
39#define VCMDigitalSurfaceLocalEstimator_h
44#include "DGtal/base/Common.h"
45#include "DGtal/geometry/surfaces/estimation/VoronoiCovarianceMeasureOnDigitalSurface.h"
46#include "DGtal/geometry/surfaces/estimation/VCMGeometricFunctors.h"
80 template <
typename TDigitalSurfaceContainer,
typename TSeparableMetric,
81 typename TKernelFunction,
typename TVCMGeometricFunctor>
101 typedef typename VCMGeometricFunctor::Quantity
Quantity;
201 template <
typename SurfelConstIterator>
203 SurfelConstIterator itb,
204 SurfelConstIterator ite );
211 template <
typename SurfelConstIterator>
221 template <
typename SurfelConstIterator,
typename OutputIterator>
222 OutputIterator
eval( SurfelConstIterator itb,
223 SurfelConstIterator ite,
224 OutputIterator result )
const;
280 template <
typename TDigitalSurfaceContainer,
typename TSeparableMetric,
281 typename TKernelFunction,
typename TVCMGeometricFunctor>
285 TKernelFunction, TVCMGeometricFunctor > &
object );
292#include "DGtal/geometry/surfaces/estimation/VCMDigitalSurfaceLocalEstimator.ih"
299#undef VCMDigitalSurfaceLocalEstimator_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Smart or simple const pointer on T. It can be a smart pointer based on reference counts or a sim...
Aim: Represents a set of n-1-cells in a nD space, together with adjacency relation between these cell...
DigitalSurfaceContainer::Surfel Surfel
DigitalSurfaceContainer::SurfelConstIterator ConstIterator
DigitalSurfaceContainer::SCell SCell
Aim: This class adapts a VoronoiCovarianceMeasureOnDigitalSurface to be a model of CDigitalSurfaceLoc...
VoronoiCovarianceMeasureOnDigitalSurface< DigitalSurfaceContainer, Metric, KernelFunction > VCMOnSurface
the type of computing the Voronoi covariance measure on a digital surface.
TSeparableMetric Metric
the chosen metric
CountedConstPtrOrConstPtr< Surface > mySurface
A (possibly) shared object storing the digital surface.
Quantity eval(SurfelConstIterator it) const
Surface::Surfel Surfel
the signed surface element
TVCMGeometricFunctor VCMGeometricFunctor
BOOST_CONCEPT_ASSERT((concepts::CSeparableMetric< TSeparableMetric >))
VCMDigitalSurfaceLocalEstimator(ConstAlias< Surface > surface)
CountedConstPtrOrConstPtr< VCMOnSurface > myVCMOnSurface
A (possibly) shared object storing the whole Voronoi covariance measure.
VCMGeometricFunctor myGeomFct
The geometric functor.
void selfDisplay(std::ostream &out) const
Self & operator=(const Self &other)
TDigitalSurfaceContainer DigitalSurfaceContainer
the chosen container
VCMGeometricFunctor::Quantity Quantity
the estimation type is given by the geometric functor
void setParams(Surfel2PointEmbedding surfelEmbedding, const Scalar R, const Scalar r, KernelFunction chi_r, const Scalar t=2.5, Metric aMetric=Metric(), bool verbose=true)
VCMDigitalSurfaceLocalEstimator(ConstAlias< VCMOnSurface > aVCMOnSurface)
VCMDigitalSurfaceLocalEstimator< TDigitalSurfaceContainer, TSeparableMetric, TKernelFunction, TVCMGeometricFunctor > Self
my own type
TKernelFunction KernelFunction
the kernel function
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceContainer< TDigitalSurfaceContainer >))
~VCMDigitalSurfaceLocalEstimator()
OutputIterator eval(SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator result) const
VCMOnSurface::Scalar Scalar
the "real number" type
VCMOnSurface::Surface Surface
the digital surface
Surfel2PointEmbedding mySurfelEmbedding
the embedding chosen for the surfels.
VCMDigitalSurfaceLocalEstimator(const Self &other)
Surface::ConstIterator ConstIterator
the iterator on surfels
VCMDigitalSurfaceLocalEstimator()
void init(const Scalar _h, SurfelConstIterator itb, SurfelConstIterator ite)
void attach(ConstAlias< Surface > surface)
Surface::SCell SCell
the signed cell
Aim: This class specializes the Voronoi covariance measure for digital surfaces. It adds notably the ...
VCM::Scalar Scalar
the "real number" type
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Surfel2PointEmbedding
Possible embeddings for surfel as point(s)
Aim: The digital surface container concept describes a minimal set of inner types and methods so as t...
Aim: defines the concept of separable metrics.