|
| BOOST_CONCEPT_ASSERT ((concepts::CCellFunctor< Functor >)) |
|
| BOOST_CONCEPT_ASSERT ((concepts::CCellFunctor< KernelFunctor >)) |
|
| DigitalSurfaceConvolver (ConstAlias< Functor > f, ConstAlias< KernelFunctor > g, ConstAlias< KSpace > space) |
|
| DigitalSurfaceConvolver (const DigitalSurfaceConvolver &other) |
|
| ~DigitalSurfaceConvolver () |
|
void | init (const Point &pOrigin, ConstAlias< PairIterators > fullKernel, ConstAlias< std::vector< PairIterators > > masks) |
|
void | init (const Point &pOrigin, ConstAlias< DigitalKernel > fullKernel, ConstAlias< std::vector< PairIterators > > masks) |
|
template<typename SurfelIterator > |
Quantity | eval (const SurfelIterator &it) const |
|
template<typename SurfelIterator , typename EvalFunctor > |
EvalFunctor::Value | eval (const SurfelIterator &it, EvalFunctor functor) const |
|
template<typename SurfelIterator , typename OutputIterator > |
void | eval (const SurfelIterator &itbegin, const SurfelIterator &itend, OutputIterator &result) const |
|
template<typename SurfelIterator , typename OutputIterator , typename EvalFunctor > |
void | eval (const SurfelIterator &itbegin, const SurfelIterator &itend, OutputIterator &result, EvalFunctor functor) const |
|
template<typename SurfelIterator > |
CovarianceMatrix | evalCovarianceMatrix (const SurfelIterator &it) const |
|
template<typename SurfelIterator , typename EvalFunctor > |
EvalFunctor::Value | evalCovarianceMatrix (const SurfelIterator &it, EvalFunctor functor) const |
|
template<typename SurfelIterator , typename OutputIterator > |
void | evalCovarianceMatrix (const SurfelIterator &itbegin, const SurfelIterator &itend, OutputIterator &result) const |
|
template<typename SurfelIterator , typename OutputIterator , typename EvalFunctor > |
void | evalCovarianceMatrix (const SurfelIterator &itbegin, const SurfelIterator &itend, OutputIterator &result, EvalFunctor functor) const |
|
bool | isValid () const |
|
|
void | computeCovarianceMatrix (const Quantity *aMomentMatrix, CovarianceMatrix &aCovarianceMatrix) const |
| computeCovarianceMatrix compute the covariance matrix from matrix of moments.
|
|
void | fillMoments (Quantity *aMomentMatrix, const Spel &aSpel, double direction) const |
| fillMoments fill the matrix of moments with a given spel.
|
|
template<typename SurfelIterator > |
bool | core_eval (const SurfelIterator &it, Quantity &innerSum, Quantity &outerSum, bool useLastResults=false, Spel &lastInnerSpel=defaultInnerSpel, Spel &lastOuterSpel=defaultOuterSpel, Quantity &lastInnerSum=defaultInnerSum, Quantity &lastOuterSum=defaultOuterSum) const |
| core_eval method used ( in intern by eval() ) to compute the Quantity on a given surfel (*it)
|
|
template<typename SurfelIterator > |
bool | core_evalCovarianceMatrix (const SurfelIterator &it, CovarianceMatrix &innerMatrix, CovarianceMatrix &outerMatrix, bool useLastResults=false, Spel &lastInnerSpel=defaultInnerSpel, Spel &lastOuterSpel=defaultOuterSpel, Quantity *lastInnerMoments=defaultInnerMoments, Quantity *lastOuterMoments=defaultOuterMoments) const |
| core_evalCovarianceMatrix method used ( in intern by evalCovarianceMatrix() ) to compute the covariance matrix on a given surfel (*it)
|
|
| DigitalSurfaceConvolver () |
|
|
static const int | nbMoments |
| the number of moments is dependent to the dimension. In 3D, they are 10 moments such that p+q+s <= 2 (see method fillMoments())
|
|
static Spel | defaultInnerSpel |
| default Spel, used as default parameter in core_eval and core_evalCovarianceMatrix functions
|
|
static Spel | defaultOuterSpel |
| default Spel, used as default parameter in core_eval and core_evalCovarianceMatrix functions
|
|
static Quantity | defaultInnerMoments [10] |
| default array of Quantity, used as default parameter in core_evalCovarianceMatrix function
|
|
static Quantity | defaultOuterMoments [10] |
| default array of Quantity, used as default parameter in core_evalCovarianceMatrix function
|
|
static Quantity | defaultInnerSum |
| default Quantity, used as default parameter in core_eval function
|
|
static Quantity | defaultOuterSum |
| default Quantity, used as default parameter in core_eval function
|
|
template<typename TFunctor, typename TKernelFunctor, typename TKSpace, typename TDigitalKernel>
class DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >
Definition at line 806 of file DigitalSurfaceConvolver.h.
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename EvalFunctor >
EvalFunctor::Value DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::eval |
( |
const SurfelIterator & | it, |
|
|
EvalFunctor | functor ) const |
Convolve the kernel at a position it and applies the functor functor on the result.
- Parameters
-
[in] | it | (iterator of a) surfel of the shape where the convolution is computed. |
[in] | functor | functor called with the result of the convolution. |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
EvalFunctor | type of functor on Quantity. |
- Returns
- the return quantity of functor after giving in parameter the result of the convolution at *it
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename OutputIterator >
void DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::eval |
( |
const SurfelIterator & | itbegin, |
|
|
const SurfelIterator & | itend, |
|
|
OutputIterator & | result ) const |
Convolve the kernel at all positions of the range [itBegin, itEnd[ and outputs results sequentially with result iterator.
- Parameters
-
[in] | itbegin | (iterator of the) first surfel of the shape where the convolution is computed. |
[in] | itend | (iterator of the) last (excluded) surfel of the shape where the convolution is computed. |
[out] | result | iterator of an array where estimates quantities are set ( the estimated quantity from *itbegin till *itend (excluded)). |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
OutputIterator | type of iterator on an array when Quantity are stored. |
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename OutputIterator , typename EvalFunctor >
void DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::eval |
( |
const SurfelIterator & | itbegin, |
|
|
const SurfelIterator & | itend, |
|
|
OutputIterator & | result, |
|
|
EvalFunctor | functor ) const |
Convolve the kernel at all positions of the range [itBegin, itEnd[ and applies the functor functor on results outputed sequentially with result iterator.
- Parameters
-
[in] | itbegin | (iterator of the) first surfel of the shape where the convolution is computed. |
[in] | itend | (iterator of the) last (excluded) surfel of the shape where the convolution is computed. |
[out] | result | iterator of an array where estimates quantities are set ( the estimated quantity from *itbegin till *itend (excluded)). |
[in] | functor | functor called with the result of the convolution. |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
OutputIterator | type of iterator on an array when Quantity are stored. |
EvalFunctor | type of functor on Quantity. |
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename EvalFunctor >
EvalFunctor::Value DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::evalCovarianceMatrix |
( |
const SurfelIterator & | it, |
|
|
EvalFunctor | functor ) const |
Convolve the kernel at a position it and applies the functor functor on the result.
- Parameters
-
[in] | it | (iterator of a) surfel of the shape where the covariance matrix is computed. |
[in] | functor | functor called with the result of the convolution. |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
EvalFunctor | type of functor on CovarianceMatrix. |
- Returns
- the result of the functor with the covariance matrix.
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename OutputIterator >
void DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::evalCovarianceMatrix |
( |
const SurfelIterator & | itbegin, |
|
|
const SurfelIterator & | itend, |
|
|
OutputIterator & | result ) const |
Convolve the kernel at all positions of the range [itBegin, itEnd[ and outputs results sequentially with result iterator.
- Parameters
-
[in] | itbegin | (iterator of the) first surfel of the shape where the covariance matrix is computed. |
[in] | itend | (iterator of the) last (excluded) surfel of the shape where the covariance matrix is computed. |
[out] | result | iterator of an array where estimates covariance matrix are set ( the covariance matrix from *itbegin till *itend (excluded)). |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
OutputIterator | type of iterator on an array when Quantity are stored. |
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
template<typename SurfelIterator , typename OutputIterator , typename EvalFunctor >
void DGtal::DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >::evalCovarianceMatrix |
( |
const SurfelIterator & | itbegin, |
|
|
const SurfelIterator & | itend, |
|
|
OutputIterator & | result, |
|
|
EvalFunctor | functor ) const |
Convolve the kernel at all positions of the range [itBegin, itEnd[ and applies the functor functor on results outputed sequentially with result iterator.
- Parameters
-
[in] | itbegin | (iterator of the) first surfel of the shape where the covariance matrix is computed. |
[in] | itend | (iterator of the) last (excluded) surfel of the shape where the covariance matrix is computed. |
[out] | result | iterator of an array where results of functor are set. |
[in] | functor | functor called with the result of the convolution. |
- Template Parameters
-
SurfelIterator | type of iterator of a surfel on the shape. |
OutputIterator | type of iterator on an array when Quantity are stored. |
EvalFunctor | type of functor on CovarianceMatrix. |
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
Intitialize the convolver using masks - allow to use the optimization with adjacent cells.
Stores the kernel implicitly: choose this init if you have not a lot of memory available or if your kernel size is big.
- Parameters
-
[in] | pOrigin | center (digital point) of the kernel support. |
[in] | fullKernel | pointer of the digital (full) kernel. |
[in] | masks | Vector of iterators (of spel) of the first and last spel of each masks. They must be ordered using a trit ({0,1,2}) encoded array. trit 0 => shifting_coord = -1 trit 1 => shifting_coord = 0 trit 2 => shifting_coord = 1 Example in 3D : zyx x y z mask[0] : base3(0) = 000 => shifting = {-1,-1,-1} mask[5] : base3(5) = 012 => shifting = { 1, 0,-1} |
template<typename TFunctor , typename TKernelFunctor , typename TKSpace , typename TDigitalKernel >
Initialize the convolver using masks - allow to use the optimization with adjacent cells.
Stores the full kernel explicitly: choose this init if you have a lot of memory or if your kernel is small
- Parameters
-
[in] | pOrigin | center (digital point) of the kernel support. |
[in] | fullKernel | pair of iterators of the full kernel. first is the first iterator (of spel) of the kernel support, second is the last iterator (of spel, excluded). |
[in] | masks | Vector of iterators (of spel) of the first and last spel of each masks. They must be ordered using a trit ({0,1,2}) encoded array. trit 0 => shifting_coord = -1 trit 1 => shifting_coord = 0 trit 2 => shifting_coord = 1 Example in 3D : zyx x y z mask[0] : base3(0) = 000 => shifting = {-1,-1,-1} mask[5] : base3(5) = 012 => shifting = { 1, 0,-1} |