DGtal 1.4.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 [95])
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 DGtal::SimpleMatrix< TComponent, TM, TN >::constant(), DGtal::SimpleMatrix< TComponent, TM, TN >::identity(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myAccum, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myArea, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myFirstSurfel, and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::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(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myAccum, and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::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 DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myAccum, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myArea, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myEmbedder, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myFirstSurfel, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myId, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myReceiver, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myVote, and DGtal::SimpleMatrix< TComponent, TM, TN >::setComponent().
|
inline |
Reset the point list.
Definition at line 174 of file TensorVotingFeatureExtraction.h.
References DGtal::SimpleMatrix< TComponent, TM, TN >::constant(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myAccum, DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myArea, and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::myFirstSurfel.
|
private |
Covariance accumulator.
Definition at line 197 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::eval(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::reset(), and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::TensorVotingFeatureExtraction().
|
private |
Convolution kernel area.
Definition at line 200 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::eval(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::reset(), and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::TensorVotingFeatureExtraction().
|
private |
Alias of the geometrical embedder.
Definition at line 188 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel().
|
private |
First surfel flag.
Definition at line 185 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel(), DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::reset(), and DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::TensorVotingFeatureExtraction().
|
private |
Definition at line 191 of file TensorVotingFeatureExtraction.h.
|
private |
|
private |
Receiver (embedding of the starting surfel)
Definition at line 194 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel().
|
private |
Definition at line 197 of file TensorVotingFeatureExtraction.h.
Referenced by DGtal::functors::TensorVotingFeatureExtraction< TSurfel, TEmbedder >::pushSurfel().