34#if defined(TensorVotingFeatureExtraction_RECURSES)
35#error Recursive header files inclusion detected in TensorVotingFeatureExtraction.h
38#define TensorVotingFeatureExtraction_RECURSES
40#if !defined TensorVotingFeatureExtraction_h
42#define TensorVotingFeatureExtraction_h
47#include <DGtal/base/Common.h>
48#include <DGtal/topology/SCellsFunctors.h>
50#include "DGtal/math/linalg/SimpleMatrix.h"
51#include "DGtal/math/linalg/EigenDecomposition.h"
80 template <
typename TSurfel,
typename TEmbedder>
87 typedef typename SCellEmbedder::RealPoint
RealPoint;
114 const double aDistance)
128 double matnorm = 0.0;
137 if (std::abs(v(i)*v(j)) > maxcol)
138 maxcol = std::abs(v(i)*v(j));
163 for(
Dimension i_dim = 1; i_dim < 3; ++i_dim )
164 ASSERT ( std::abs(eigenvalues[i_dim - 1]) <= std::abs(eigenvalues[i_dim]) );
167 return ((eigenvalues[0] + eigenvalues[1])/(eigenvalues[2]));
212#undef TensorVotingFeatureExtraction_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
static void getEigenDecomposition(const Matrix &matrix, Matrix &eigenVectors, Vector &eigenValues)
Compute both eigen vectors and eigen values from an input matrix.
Aim: implements basic MxN Matrix services (M,N>=1).
void setComponent(const DGtal::Dimension i, const DGtal::Dimension j, const Component &aValue)
void constant(const Component &aScalar)
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension