DGtal
0.6.devel
|
#include <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 ((CConvolutionWeights< TKernelFunctor >)) | |
LocalConvolutionNormalVectorEstimator (const DigitalSurface &aSurface, const 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 |
bool | myFlagIsInit |
unsigned int | myRadius |
const DigitalSurface & | mySurface |
const KernelFunctor & | myKernelFunctor |
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 78 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::ConstIterator DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::ConstIterator |
Definition at line 87 of file LocalConvolutionNormalVectorEstimator.h.
typedef TDigitalSurface DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::DigitalSurface |
Definition at line 84 of file LocalConvolutionNormalVectorEstimator.h.
typedef TKernelFunctor DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::KernelFunctor |
Definition at line 85 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::KSpace::Space::RealVector DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::Quantity |
Definition at line 88 of file LocalConvolutionNormalVectorEstimator.h.
typedef Surface::SCell DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::SCell |
Definition at line 89 of file LocalConvolutionNormalVectorEstimator.h.
typedef DigitalSurface DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::Surface |
Definition at line 86 of file LocalConvolutionNormalVectorEstimator.h.
DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::LocalConvolutionNormalVectorEstimator | ( | const DigitalSurface & | aSurface, |
const KernelFunctor & | aFunctor | ||
) |
Constructor.
aSurface | surface for which the normal vector are estimated. |
aFunctor | convolution kernel functor. |
|
inline |
|
inlineprotected |
Default constructor.
Definition at line 164 of file LocalConvolutionNormalVectorEstimator.h.
References DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::myFlagIsInit.
|
private |
Copy constructor.
other | the object to clone. Forbidden by default. |
DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::BOOST_CONCEPT_ASSERT | ( | (CConvolutionWeights< TKernelFunctor >) | ) |
|
inline |
scell | any signed cell. |
Definition at line 132 of file LocalConvolutionNormalVectorEstimator.ih.
|
inline |
Definition at line 123 of file LocalConvolutionNormalVectorEstimator.ih.
|
inline |
Definition at line 76 of file LocalConvolutionNormalVectorEstimator.ih.
|
inline |
Writes on result the estimated quantity at all surfels of the digital surface.
result | any model of boost::OutputIterator on Quantity. |
Definition at line 105 of file LocalConvolutionNormalVectorEstimator.ih.
|
inline |
Initialisation.
h | grid size (must be >0). |
radius | topological radius used to specify the size of the convolution. |
Init.
Definition at line 59 of file LocalConvolutionNormalVectorEstimator.ih.
|
inline |
Checks the validity/consistency of the object.
Definition at line 177 of file LocalConvolutionNormalVectorEstimator.ih.
|
private |
Assignment.
other | the object to copy. |
|
inline |
Definition at line 94 of file LocalConvolutionNormalVectorEstimator.ih.
|
private |
True if the init() has been called.
Definition at line 177 of file LocalConvolutionNormalVectorEstimator.h.
Referenced by DGtal::LocalConvolutionNormalVectorEstimator< TDigitalSurface, TKernelFunctor >::LocalConvolutionNormalVectorEstimator().
|
private |
Grid size.
Definition at line 174 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Reference of the kernel convolution functor.
Definition at line 186 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Radius of the convolution.
Definition at line 180 of file LocalConvolutionNormalVectorEstimator.h.
|
private |
Reference to the digital surface.
Definition at line 183 of file LocalConvolutionNormalVectorEstimator.h.