|
DGtal 2.0.0
|
Aim: Implements a functor to detect feature points from normal tensor voting strategy. More...
#include <DGtal/geometry/surfaces/estimation/estimationFunctors/TensorVotingFeatureExtraction.h>
Public Types | |
| typedef TSurfel | Surfel |
| typedef TEmbedder | SCellEmbedder |
| typedef SCellEmbedder::RealPoint | RealPoint |
| typedef double | Quantity |
Public Member Functions | |
| TensorVotingFeatureExtraction (ConstAlias< SCellEmbedder > anEmbedder, const double h) | |
| void | pushSurfel (const Surfel &aSurf, const double aDistance) |
| Quantity | eval () |
| void | reset () |
Private Attributes | |
| bool | myFirstSurfel |
| First surfel flag. | |
| const SCellEmbedder * | myEmbedder |
| Alias of the geometrical embedder. | |
| double | myH |
| RealPoint | myReceiver |
| Receiver (embedding of the starting surfel) | |
| SimpleMatrix< double, 3, 3 > | myAccum |
| Covariance accumulator. | |
| SimpleMatrix< double, 3, 3 > | myId |
| SimpleMatrix< double, 3, 3 > | myVote |
| double | myArea |
| Convolution kernel area. | |
Aim: Implements a functor to detect feature points from normal tensor voting strategy.
Description of template class 'TensorVotingFeatureExtraction'
More precisely, the functor accumulates tensor votes \(I - vv^T/\|vv^T\|\) for each surfel added during the scan ( \(v\) being the vector from the center of the neighborhood to the added surfel). Then, the eval() method returns the ratio \(\frac{\lambda_1+\lambda_2}{\lambda_3}\) of the eigenvalues ( \( \lambda_1\leq\lambda_2\leq\lambda_3\)) of the accumulated tensor votes.
(see [98])
model of concepts::CLocalEstimatorFromSurfelFunctor
| TSurfel | type of surfels |
| TEmbedder | type of functors which embed surfel to \( \mathbb{R}^3\) |
Definition at line 81 of file TensorVotingFeatureExtraction.h.
| typedef double DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::Quantity |
Definition at line 88 of file TensorVotingFeatureExtraction.h.
| typedef SCellEmbedder::RealPoint DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::RealPoint |
Definition at line 87 of file TensorVotingFeatureExtraction.h.
| typedef TEmbedder DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::SCellEmbedder |
Definition at line 86 of file TensorVotingFeatureExtraction.h.
| typedef TSurfel DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::Surfel |
Definition at line 85 of file TensorVotingFeatureExtraction.h.
|
inline |
Constructor.
| anEmbedder | embedder to map surfel to R^n. |
| h | grid step |
Definition at line 96 of file TensorVotingFeatureExtraction.h.
References myAccum, myArea, myEmbedder, myFirstSurfel, myH, and myId.
|
inline |
Evaluate the feature score.
I.e. (l_1+l_2)/l_3 of the tensor eigenvalues (l_1<l_2<l_3).
Definition at line 154 of file TensorVotingFeatureExtraction.h.
References DGtal::EigenDecomposition< TN, TComponent, TMatrix >::getEigenDecomposition(), myAccum, and myArea.
|
inline |
Add the geometrical embedding of a surfel to the point list and update the tensor voting.
| aSurf | a surfel to add |
| aDistance | distance of aSurf to the neighborhood boundary |
Definition at line 113 of file TensorVotingFeatureExtraction.h.
References myAccum, myArea, myEmbedder, myFirstSurfel, myId, myReceiver, and myVote.
|
inline |
Reset the point list.
Definition at line 174 of file TensorVotingFeatureExtraction.h.
References myAccum, myArea, and myFirstSurfel.
|
private |
Covariance accumulator.
Definition at line 197 of file TensorVotingFeatureExtraction.h.
Referenced by eval(), pushSurfel(), reset(), and TensorVotingFeatureExtraction().
|
private |
Convolution kernel area.
Definition at line 200 of file TensorVotingFeatureExtraction.h.
Referenced by eval(), pushSurfel(), reset(), and TensorVotingFeatureExtraction().
|
private |
Alias of the geometrical embedder.
Definition at line 188 of file TensorVotingFeatureExtraction.h.
Referenced by pushSurfel(), and TensorVotingFeatureExtraction().
|
private |
First surfel flag.
Definition at line 185 of file TensorVotingFeatureExtraction.h.
Referenced by pushSurfel(), reset(), and TensorVotingFeatureExtraction().
|
private |
Definition at line 191 of file TensorVotingFeatureExtraction.h.
Referenced by TensorVotingFeatureExtraction().
|
private |
Definition at line 197 of file TensorVotingFeatureExtraction.h.
Referenced by pushSurfel(), and TensorVotingFeatureExtraction().
|
private |
Receiver (embedding of the starting surfel)
Definition at line 194 of file TensorVotingFeatureExtraction.h.
Referenced by pushSurfel().
|
private |
Definition at line 197 of file TensorVotingFeatureExtraction.h.
Referenced by pushSurfel().