DGtal
1.5.beta
|
Aim: Computes the normal vector at a surface element by convolution of elementary normal vector to adjacent surfel. More...
#include <DGtal/geometry/surfaces/estimation/LocalConvolutionNormalVectorEstimator.h>
Public Types | |
typedef TDigitalSurface | DigitalSurface |
typedef TKernelFunctor | KernelFunctor |
typedef DigitalSurface | Surface |
typedef Surface::ConstIterator | ConstIterator |
typedef Surface::KSpace::Space::RealVector | Quantity |
typedef Surface::SCell | SCell |
Public Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CConvolutionWeights< TKernelFunctor >)) | |
LocalConvolutionNormalVectorEstimator (ConstAlias< DigitalSurface > aSurface, ConstAlias< KernelFunctor > aFunctor) | |
~LocalConvolutionNormalVectorEstimator () | |
const Surface & | surface () const |
void | init (const double h, const unsigned int radius) |
Quantity | eval (const SCell &scell) const |
Quantity | eval (const ConstIterator &it) const |
template<typename OutputIterator > | |
OutputIterator | eval (const ConstIterator &itb, const ConstIterator &ite, OutputIterator result) const |
template<typename OutputIterator > | |
OutputIterator | evalAll (OutputIterator result) const |
bool | isValid () const |
Protected Member Functions | |
LocalConvolutionNormalVectorEstimator () | |
Private Member Functions | |
LocalConvolutionNormalVectorEstimator (const LocalConvolutionNormalVectorEstimator &other) | |
LocalConvolutionNormalVectorEstimator & | operator= (const LocalConvolutionNormalVectorEstimator &other) |
Private Attributes | |
double | myH |
Grid size. More... | |
bool | myFlagIsInit |
True if the init() has been called. More... | |
unsigned int | myRadius |
Radius of the convolution. More... | |
const DigitalSurface & | mySurface |
Reference to the digital surface. More... | |
const KernelFunctor & | myKernelFunctor |
Reference of the kernel convolution functor. More... | |
Aim: Computes the normal vector at a surface element by convolution of elementary normal vector to adjacent surfel.
Description of template class 'LocalConvolutionNormalVectorEstimator'
A model of CNormalVectorEstimator.
To each $n-1$ signed surfel, an elementary inward normal vector can be defined. At a given surfel, this estimator will compute the convolution of elementary normal vector of neighboring surfels using a breadth-first propagation around the given surfel.
The neighboring is parametrized by a given topological radius R. The weight kernel function maps displacment vectors to a continuous weights.
TDigitalSurface | type of digital surface on which we would like to compute vector field.. |
TKernelFunctor | type of Functor used to represent convolution kernel functor (see BasicConvolutionKernels.h). |
Definition at line 84 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::ConstIterator DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::ConstIterator |
Definition at line 93 of file LocalConvolutionNormalVectorEstimator.h.
typedef TDigitalSurface DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::DigitalSurface |
Definition at line 90 of file LocalConvolutionNormalVectorEstimator.h.
typedef TKernelFunctor DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::KernelFunctor |
Definition at line 91 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::KSpace::Space::RealVector DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::Quantity |
Definition at line 94 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::SCell DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::SCell |
Definition at line 95 of file LocalConvolutionNormalVectorEstimator.h.
typedef DigitalSurface DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::Surface |
Definition at line 92 of file LocalConvolutionNormalVectorEstimator.h.
DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::LocalConvolutionNormalVectorEstimator | ( | ConstAlias< DigitalSurface > | aSurface, |
ConstAlias< KernelFunctor > | aFunctor | ||
) |
Constructor.
aSurface | surface for which the normal vector are estimated. |
aFunctor | convolution kernel functor. |
|
inline |
|
inlineprotected |
Default constructor.
Definition at line 170 of file LocalConvolutionNormalVectorEstimator.h.
References DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::myFlagIsInit.
|
private |
Copy constructor.
other | the object to clone. Forbidden by default. |
DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::BOOST_CONCEPT_ASSERT | ( | (concepts::CConvolutionWeights< TKernelFunctor >) | ) |
Quantity DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::eval | ( | const ConstIterator & | it | ) | const |
OutputIterator DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::eval | ( | const ConstIterator & | itb, |
const ConstIterator & | ite, | ||
OutputIterator | result | ||
) | const |
Quantity DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::eval | ( | const SCell & | scell | ) | const |
scell | any signed cell. |
OutputIterator DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::evalAll | ( | OutputIterator | result | ) | const |
Writes on result the estimated quantity at all surfels of the digital surface.
result | any model of boost::OutputIterator on Quantity. |
void DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::init | ( | const double | h, |
const unsigned int | radius | ||
) |
Initialisation.
h | grid size (must be >0). |
radius | topological radius used to specify the size of the convolution. |
bool DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
private |
Assignment.
other | the object to copy. |
const Surface& DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::surface | ( | ) | const |
|
private |
True if the init() has been called.
Definition at line 183 of file LocalConvolutionNormalVectorEstimator.h.
Referenced by DGtal::deprecated::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::LocalConvolutionNormalVectorEstimator().
|
private |
Grid size.
Definition at line 180 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Reference of the kernel convolution functor.
Definition at line 192 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Radius of the convolution.
Definition at line 186 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Reference to the digital surface.
Definition at line 189 of file LocalConvolutionNormalVectorEstimator.h.