31 #if defined(TrueDigitalSurfaceLocalEstimator_RECURSES)
32 #error Recursive header files inclusion detected in TrueDigitalSurfaceLocalEstimator.h
35 #define TrueDigitalSurfaceLocalEstimator_RECURSES
37 #if !defined TrueDigitalSurfaceLocalEstimator_h
39 #define TrueDigitalSurfaceLocalEstimator_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/ConstAlias.h"
46 #include "DGtal/base/CountedConstPtrOrConstPtr.h"
47 #include "DGtal/topology/CanonicSCellEmbedder.h"
96 template <
typename TKSpace,
typename TShape,
typename TGeometricFunctor>
111 typedef typename GeometricFunctor::Quantity
Quantity;
169 const int maxIter = 20,
170 const Scalar accuracy = 0.0001,
171 const Scalar gamma = 0.5 );
181 template <
typename SurfelConstIterator>
183 SurfelConstIterator itb,
184 SurfelConstIterator ite );
190 template <
typename SurfelConstIterator>
200 template <
typename OutputIterator,
typename SurfelConstIterator>
201 OutputIterator
eval( SurfelConstIterator itb,
202 SurfelConstIterator ite,
203 OutputIterator result )
const;
269 template <
typename TKSpace,
typename TShape,
typename TGeometricFunctor>
278 #include "DGtal/geometry/surfaces/estimation/TrueDigitalSurfaceLocalEstimator.ih"
285 #undef TrueDigitalSurfaceLocalEstimator_RECURSES
Aim: This class encapsulates its parameter class to indicate that the given parameter is required to ...
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Implements basic operations that will be used in Point and Vector classes.
Component Coordinate
Type for Point elements.
Aim: An estimator on digital surfaces that returns the reference local geometric quantity....
void init(const Scalar _h, SurfelConstIterator itb, SurfelConstIterator ite)
Quantity eval(SurfelConstIterator it) const
RealPoint embed(Surfel surfel) const
TrueDigitalSurfaceLocalEstimator(const Self &other)
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< TKSpace >))
CountedConstPtrOrConstPtr< Shape > myShape
The shape of interest.
void selfDisplay(std::ostream &out) const
TGeometricFunctor GeometricFunctor
Space::RealPoint RealPoint
GeometricFunctor::Quantity Quantity
bool myNearest
Tells if we look for nearest point.
RealPoint::Coordinate Scalar
TrueDigitalSurfaceLocalEstimator< TKSpace, TShape, TGeometricFunctor > Self
int myMaxIter
fixes the maximum number of steps (0: takes the point as is).
Scalar myGamma
coefficient associated with the gradient (size of each step).
BOOST_CONCEPT_ASSERT((concepts::CUnaryFunctor< GeometricFunctor, RealPoint, Quantity >))
Self & operator=(const Self &other)
CanonicSCellEmbedder< KSpace > SCellEmbedder
CountedConstPtrOrConstPtr< KSpace > myKSpace
The cellular space.
SCellEmbedder myEmbedder
The surfel embedder. /!\ For now, it is multiplied by myH.
OutputIterator eval(SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator result) const
~TrueDigitalSurfaceLocalEstimator()
Scalar myAccuracy
distance criterion to stop the descent (proximity of implicit function).
void setParams(ConstAlias< KSpace > ks, Clone< GeometricFunctor > fct, const int maxIter=20, const Scalar accuracy=0.0001, const Scalar gamma=0.5)
void attach(ConstAlias< Shape > aShape)
CowPtr< GeometricFunctor > myFct
The functor RealPoint -> Quantity returning some geometric quantity.
TrueDigitalSurfaceLocalEstimator()
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
Aim: Defines a unary functor, which associates arguments to results.