DGtal  1.4.beta
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor > Class Template Reference

Aim: This class implement an Integral Invariant estimator which computes for each surfel the volume of the intersection of the shape with a ball of given radius centered on the surfel. More...

#include <DGtal/geometry/surfaces/estimation/IntegralInvariantVolumeEstimator.h>

Public Types

typedef IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor > Self
 
typedef TKSpace KSpace
 
typedef TPointPredicate PointPredicate
 
typedef TVolumeFunctor VolumeFunctor
 
typedef KSpace::Space Space
 
typedef HyperRectDomain< SpaceDomain
 
typedef Space::Point Point
 
typedef Space::RealPoint RealPoint
 
typedef Space::RealVector RealVector
 
typedef DigitalSetSelector< Domain, BIG_DS+HIGH_VAR_DS >::Type DigitalSet
 
typedef KSpace::SCell Spel
 
typedef KSpace::Surfel Surfel
 
typedef KSpace::SurfelSet SurfelSet
 
typedef SurfelSet::const_iterator ConstIteratorKernel
 
typedef VolumeFunctor::Quantity Quantity
 The returned type of the estimator, depends on the functor. More...
 
typedef int Value
 The type used for convolutions. More...
 
typedef functors::PointFunctorFromPointPredicateAndDomain< PointPredicate, Domain, unsigned int > ShapePointFunctor
 
typedef FunctorOnCells< ShapePointFunctor, KSpaceShapeSpelFunctor
 
typedef functors::ConstValueCell< Value, SpelKernelSpelFunctor
 
typedef ImplicitBall< SpaceKernelSupport
 
typedef EuclideanShapesCSG< KernelSupport, KernelSupportEuclideanMinus
 
typedef GaussDigitizer< Space, KernelSupportDigitalShapeKernel
 
typedef GaussDigitizer< Space, EuclideanMinusDigitalShape
 
typedef DigitalSurfaceConvolver< ShapeSpelFunctor, KernelSpelFunctor, KSpace, DigitalShapeKernelConvolver
 
typedef Convolver::PairIterators PairIterators
 
typedef Convolver::CovarianceMatrix Matrix
 
typedef Matrix::Component Component
 
typedef double Scalar
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CCellularGridSpaceND< KSpace >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< PointPredicate >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CCellFunctor< ShapeSpelFunctor >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CUnaryFunctor< VolumeFunctor, Component, Quantity >))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< typename Convolver::Quantity, typename VolumeFunctor::Argument >::value))
 
 IntegralInvariantVolumeEstimator (VolumeFunctor fct=VolumeFunctor())
 
 IntegralInvariantVolumeEstimator (ConstAlias< KSpace > K, ConstAlias< PointPredicate > aPointPredicate, VolumeFunctor fct=VolumeFunctor())
 
 ~IntegralInvariantVolumeEstimator ()
 
 IntegralInvariantVolumeEstimator (const Self &other)
 
Selfoperator= (const Self &other)
 
void clear ()
 
Scalar h () const
 
void attach (ConstAlias< KSpace > K, ConstAlias< PointPredicate > aPointPredicate)
 
void setParams (const double dRadius)
 
template<typename SurfelConstIterator >
void init (const double _h, SurfelConstIterator itb, SurfelConstIterator ite)
 
template<typename SurfelConstIterator >
Quantity eval (SurfelConstIterator it) const
 
template<typename OutputIterator , typename SurfelConstIterator >
OutputIterator eval (SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator result) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Private Attributes

VolumeFunctor myFct
 The volume functor that transforms the volume into a quantity. More...
 
const KernelSpelFunctor myKernelFunctor
 Kernel functor (on Spel) More...
 
std::vector< PairIteratorsmyKernels
 array of begin/end iterator of shifting masks. More...
 
std::vector< DigitalSet * > myKernelsSet
 Array of shifting masks. Size = 9 for each shifting (0-adjacent and full kernel included) More...
 
CountedPtr< KernelSupportmyKernel
 Euclidean kernel. More...
 
CountedPtr< DigitalShapeKernelmyDigKernel
 Digital kernel. More...
 
CountedConstPtrOrConstPtr< PointPredicatemyPointPredicate
 Smart pointer (if required) on a point predicate. More...
 
CountedPtr< DomainmyShapeDomain
 Smart pointer on domain
More...
 
CountedPtr< ShapePointFunctormyShapePointFunctor
 Smart pointer on functor point -> {0,1}. More...
 
CountedPtr< ShapeSpelFunctormyShapeSpelFunctor
 Smart pointer on functor spel -> {0,1}. More...
 
CountedPtr< ConvolvermyConvolver
 Convolver. More...
 
Scalar myH
 precision of the grid More...
 
Scalar myRadius
 "digital" radius of the kernel (buy may be non integer). More...
 

Detailed Description

template<typename TKSpace, typename TPointPredicate, typename TVolumeFunctor>
class DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >

Aim: This class implement an Integral Invariant estimator which computes for each surfel the volume of the intersection of the shape with a ball of given radius centered on the surfel.

Description of template class 'IntegralInvariantVolumeEstimator'

[28]

The algorithm we propose uses a kernel (2D: Ball2D, 3D: Ball3D) that is moved along the surface. The volume of this kernel intersected with the shape carries local geometric information. It can be used to compute the mean curvature in 2D and 3D. Theorical multigrid convergence is proved, with a convergence speed of O(h^1/3) with hypothesis about the shape geometry and the convolution kernel radius. Experimental results confirm the multigrid convergence.

Optimization is available when we give a range of 0-adjacent surfels to the estimator. Note that you should use IntegralInvariantCovarianceEstimator instead when trying to estimate the normal or principal curvature directions, the Gaussian curvature or individual principal curvature values.

Template Parameters
TKSpacea model of CCellularGridSpaceND, the cellular space in which the shape is defined.
TPointPredicatea model of concepts::CPointPredicate, a predicate Point -> bool that defines a digital shape as a characteristic function.
TVolumeFunctora model of functor Real -> Quantity, that defines how the volume computed by the Integral Invariant estimator is transformed into e.g. a curvature, etc. Models include IIGeometricFunctors::IICurvatureFunctor, IIGeometricFunctors::IIMeanCurvature3DFunctor.
Note
In opposition to IntegralInvariantMeanCurvatureEstimator and IntegralInvariantGaussianCurvatureEstimator, this class is parameterized by a point predicate instead of a functor spel -> {0,1}. The two latter classes should evolve as this one in a further release.
See also
testIntegralInvariantVolumeEstimator.cpp

Definition at line 113 of file IntegralInvariantVolumeEstimator.h.

Member Typedef Documentation

◆ Component

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Matrix::Component DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Component

Definition at line 158 of file IntegralInvariantVolumeEstimator.h.

◆ ConstIteratorKernel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef SurfelSet::const_iterator DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::ConstIteratorKernel

Definition at line 133 of file IntegralInvariantVolumeEstimator.h.

◆ Convolver

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef DigitalSurfaceConvolver<ShapeSpelFunctor, KernelSpelFunctor, KSpace, DigitalShapeKernel> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Convolver

Definition at line 155 of file IntegralInvariantVolumeEstimator.h.

◆ DigitalSet

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef DigitalSetSelector<Domain, BIG_DS + HIGH_VAR_DS>::Type DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::DigitalSet

Definition at line 129 of file IntegralInvariantVolumeEstimator.h.

◆ DigitalShape

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef GaussDigitizer< Space, EuclideanMinus > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::DigitalShape

Definition at line 152 of file IntegralInvariantVolumeEstimator.h.

◆ DigitalShapeKernel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef GaussDigitizer< Space, KernelSupport > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::DigitalShapeKernel

Definition at line 151 of file IntegralInvariantVolumeEstimator.h.

◆ Domain

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef HyperRectDomain<Space> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Domain

Definition at line 125 of file IntegralInvariantVolumeEstimator.h.

◆ EuclideanMinus

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef EuclideanShapesCSG< KernelSupport, KernelSupport > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::EuclideanMinus

Definition at line 150 of file IntegralInvariantVolumeEstimator.h.

◆ KernelSpelFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef functors::ConstValueCell<Value, Spel> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::KernelSpelFunctor

Definition at line 148 of file IntegralInvariantVolumeEstimator.h.

◆ KernelSupport

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef ImplicitBall<Space> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::KernelSupport

Definition at line 149 of file IntegralInvariantVolumeEstimator.h.

◆ KSpace

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef TKSpace DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::KSpace

Definition at line 117 of file IntegralInvariantVolumeEstimator.h.

◆ Matrix

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Convolver::CovarianceMatrix DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Matrix

Definition at line 157 of file IntegralInvariantVolumeEstimator.h.

◆ PairIterators

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Convolver::PairIterators DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::PairIterators

Definition at line 156 of file IntegralInvariantVolumeEstimator.h.

◆ Point

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Space::Point DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Point

Definition at line 126 of file IntegralInvariantVolumeEstimator.h.

◆ PointPredicate

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef TPointPredicate DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::PointPredicate

Definition at line 118 of file IntegralInvariantVolumeEstimator.h.

◆ Quantity

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef VolumeFunctor::Quantity DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Quantity

The returned type of the estimator, depends on the functor.

Definition at line 136 of file IntegralInvariantVolumeEstimator.h.

◆ RealPoint

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Space::RealPoint DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::RealPoint

Definition at line 127 of file IntegralInvariantVolumeEstimator.h.

◆ RealVector

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef Space::RealVector DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::RealVector

Definition at line 128 of file IntegralInvariantVolumeEstimator.h.

◆ Scalar

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef double DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Scalar

Definition at line 159 of file IntegralInvariantVolumeEstimator.h.

◆ Self

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Self

Definition at line 116 of file IntegralInvariantVolumeEstimator.h.

◆ ShapePointFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef functors::PointFunctorFromPointPredicateAndDomain< PointPredicate, Domain, unsigned int > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::ShapePointFunctor

A wrapper around point predicate (functor Point -> bool) that transforms it into a functor Point -> unsigned int (0 or 1).

Definition at line 142 of file IntegralInvariantVolumeEstimator.h.

◆ ShapeSpelFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef FunctorOnCells< ShapePointFunctor, KSpace > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::ShapeSpelFunctor

Adapts the a functor Point -> unsigned int (0 or 1) to a functor Cell -> unsigned int (0 ot 1), where Cell is a spel. Needed by DigitalSurfaceConvolver.

Definition at line 145 of file IntegralInvariantVolumeEstimator.h.

◆ Space

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef KSpace::Space DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Space

Definition at line 124 of file IntegralInvariantVolumeEstimator.h.

◆ Spel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef KSpace::SCell DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Spel

Definition at line 130 of file IntegralInvariantVolumeEstimator.h.

◆ Surfel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef KSpace::Surfel DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Surfel

Definition at line 131 of file IntegralInvariantVolumeEstimator.h.

◆ SurfelSet

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef KSpace::SurfelSet DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::SurfelSet

Definition at line 132 of file IntegralInvariantVolumeEstimator.h.

◆ Value

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef int DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::Value

The type used for convolutions.

Definition at line 138 of file IntegralInvariantVolumeEstimator.h.

◆ VolumeFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
typedef TVolumeFunctor DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::VolumeFunctor

Definition at line 119 of file IntegralInvariantVolumeEstimator.h.

Constructor & Destructor Documentation

◆ IntegralInvariantVolumeEstimator() [1/3]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::IntegralInvariantVolumeEstimator ( VolumeFunctor  fct = VolumeFunctor())

Default constructor. The object is invalid. The user needs to call setParams and attach.

Parameters
[in]fctthe functor for transforming the volume into some quantity. If not precised, a default object is instantiated.

◆ IntegralInvariantVolumeEstimator() [2/3]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::IntegralInvariantVolumeEstimator ( ConstAlias< KSpace K,
ConstAlias< PointPredicate aPointPredicate,
VolumeFunctor  fct = VolumeFunctor() 
)

Constructor.

Parameters
[in]Kthe cellular grid space in which the shape is defined.
[in]aPointPredicatethe shape of interest. The alias can be secured if a some counted pointer is handed.
[in]fctthe functor for transforming the volume into some quantity. If not precised, a default object is instantiated.

◆ ~IntegralInvariantVolumeEstimator()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::~IntegralInvariantVolumeEstimator ( )

Destructor.

◆ IntegralInvariantVolumeEstimator() [3/3]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::IntegralInvariantVolumeEstimator ( const Self other)

Copy constructor.

Parameters
otherthe object to clone.

Member Function Documentation

◆ attach()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
void DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::attach ( ConstAlias< KSpace K,
ConstAlias< PointPredicate aPointPredicate 
)

Attach a shape, defined as a functor spel -> boolean

Parameters
[in]Kthe cellular grid space in which the shape is defined.
aPointPredicatethe shape of interest. The alias can be secured if a some counted pointer is handed.

◆ BOOST_CONCEPT_ASSERT() [1/4]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CCellFunctor< ShapeSpelFunctor >)  )

◆ BOOST_CONCEPT_ASSERT() [2/4]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CCellularGridSpaceND< KSpace >)  )

◆ BOOST_CONCEPT_ASSERT() [3/4]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CPointPredicate< PointPredicate >)  )

◆ BOOST_CONCEPT_ASSERT() [4/4]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CUnaryFunctor< VolumeFunctor, Component, Quantity >)  )

◆ BOOST_STATIC_ASSERT()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< typename Convolver::Quantity, typename VolumeFunctor::Argument >::value)  )

◆ clear()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
void DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::clear ( )

Clears the object. It is now invalid.

◆ eval() [1/2]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
template<typename SurfelConstIterator >
Quantity DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::eval ( SurfelConstIterator  it) const

– Estimation –

Compute the integral invariant volume at surfel *it of a shape, then apply the VolumeFunctor to extract some geometric information.

Template Parameters
SurfelConstIteratortype of Iterator on a Surfel
Parameters
[in]ititerator pointing on the surfel of the shape where we wish to evaluate some geometric information.
Returns
quantity (normal vector) at surfel *it

◆ eval() [2/2]

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
template<typename OutputIterator , typename SurfelConstIterator >
OutputIterator DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::eval ( SurfelConstIterator  itb,
SurfelConstIterator  ite,
OutputIterator  result 
) const

– Estimation –

Compute the integral invariant volume for a range of surfels [itb,ite) on a shape, then apply the VolumeFunctor to extract some geometric information. Return the result on an OutputIterator (param).

Template Parameters
OutputIteratortype of Iterator of an array of Quantity
SurfelConstIteratortype of Iterator on a Surfel
Parameters
[in]itbiterator defining the start of the range of surfels where we wish to compute some geometric information.
[in]iteiterator defining the end of the range of surfels where we wish to compute some geometric information.
[in]resultoutput iterator of results of the computation.
Returns
the updated output iterator after all outputs.

◆ h()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
Scalar DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::h ( ) const
Returns
the grid step.

◆ init()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
template<typename SurfelConstIterator >
void DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::init ( const double  _h,
SurfelConstIterator  itb,
SurfelConstIterator  ite 
)

Model of CDigitalSurfaceLocalEstimator. Initialisation.

Template Parameters
SurfelConstIteratorany model of forward readable iterator on Surfel.
Parameters
[in]_hgrid size (must be >0).
[in]iteiterator on the first surfel of the surface.
[in]itbiterator after the last surfel of the surface.

◆ isValid()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
bool DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

◆ operator=()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
Self& DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::operator= ( const Self other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

◆ selfDisplay()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
void DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ setParams()

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
void DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::setParams ( const double  dRadius)

Set specific parameters: the radius of the ball.

Parameters
[in]dRadiusthe "digital" radius of the kernel (buy may be non integer).

Field Documentation

◆ myConvolver

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<Convolver> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myConvolver
private

Convolver.

Definition at line 316 of file IntegralInvariantVolumeEstimator.h.

◆ myDigKernel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<DigitalShapeKernel> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myDigKernel
private

Digital kernel.

Definition at line 311 of file IntegralInvariantVolumeEstimator.h.

◆ myFct

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
VolumeFunctor DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myFct
private

The volume functor that transforms the volume into a quantity.

Definition at line 306 of file IntegralInvariantVolumeEstimator.h.

◆ myH

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
Scalar DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myH
private

precision of the grid

Definition at line 317 of file IntegralInvariantVolumeEstimator.h.

◆ myKernel

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<KernelSupport> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myKernel
private

Euclidean kernel.

Definition at line 310 of file IntegralInvariantVolumeEstimator.h.

◆ myKernelFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
const KernelSpelFunctor DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myKernelFunctor
private

Kernel functor (on Spel)

Definition at line 307 of file IntegralInvariantVolumeEstimator.h.

◆ myKernels

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
std::vector< PairIterators > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myKernels
private

array of begin/end iterator of shifting masks.

Definition at line 308 of file IntegralInvariantVolumeEstimator.h.

◆ myKernelsSet

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
std::vector< DigitalSet * > DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myKernelsSet
private

Array of shifting masks. Size = 9 for each shifting (0-adjacent and full kernel included)

Definition at line 309 of file IntegralInvariantVolumeEstimator.h.

◆ myPointPredicate

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedConstPtrOrConstPtr<PointPredicate> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myPointPredicate
private

Smart pointer (if required) on a point predicate.

Definition at line 312 of file IntegralInvariantVolumeEstimator.h.

◆ myRadius

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
Scalar DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myRadius
private

"digital" radius of the kernel (buy may be non integer).

Definition at line 318 of file IntegralInvariantVolumeEstimator.h.

◆ myShapeDomain

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<Domain> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myShapeDomain
private

Smart pointer on domain

Definition at line 313 of file IntegralInvariantVolumeEstimator.h.

◆ myShapePointFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<ShapePointFunctor> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myShapePointFunctor
private

Smart pointer on functor point -> {0,1}.

Definition at line 314 of file IntegralInvariantVolumeEstimator.h.

◆ myShapeSpelFunctor

template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
CountedPtr<ShapeSpelFunctor> DGtal::IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor >::myShapeSpelFunctor
private

Smart pointer on functor spel -> {0,1}.

Definition at line 315 of file IntegralInvariantVolumeEstimator.h.


The documentation for this class was generated from the following file: