Go to the documentation of this file.
37 #include <Eigen/Eigenvalues>
61 using Tensor = Eigen::Matrix<T, 3, 3>;
63 using Field = Eigen::Matrix< Tensor, Eigen::Dynamic, 1>;
64 using Tensors = Eigen::Matrix< Tensor, Eigen::Dynamic, 1>;
77 enum Encoding : std::uint8_t {
ZERO,
UBALL,
BALL,
SBALL,
UPLATE,
PLATE,
SPLATE,
USTICK,
STICK,
SSTICK,
AWARE_TENSOR};
123 void ballVote(
const DP& pts,
bool doKnn =
true);
127 void cfvote(
const DP& pts,
bool doKnn =
true);
151 return std::pow(std::cos(theta), 8);
171 return cij(vv,
sigma) * (1. - vvn * vvn);
typename PM::DataPoints DP
static T angular(const T theta)
void vote(const DP &pts)
Voting methods.
Eigen::Matrix< T, 3, 1 > Vector3
static T sradial(const T z)
PM::DataPoints DataPoints
Eigen::Matrix< T, 3, 3 > Tensor
void plateVote(const DP &pts, bool doKnn=true)
void cfvote(const DP &pts, bool doKnn=true)
Functions and classes that are dependant on scalar type are defined in this templatized class.
typename NNS::IndexMatrix IndexMatrix
Eigen::Matrix< Index, Eigen::Dynamic, Eigen::Dynamic > IndexMatrix
Eigen::Matrix< T, 3, 3 > Matrix33
SparseTensors sparseStick
Eigen::Matrix< Tensor, Eigen::Dynamic, 1 > Field
SparseTensors sparsePlate
Eigen::Matrix< Tensor, Eigen::Dynamic, 1 > Tensors
static T cij(const T vv, const T sigma)
static T eta(const T vv, const T sigma, const T vvn)
An exception thrown when one tries to access features or descriptors unexisting or of wrong dimension...
Eigen::Matrix< SparseTensor, Eigen::Dynamic, 1 > SparseTensors
Eigen::Matrix< T, 4, 1 > SparseTensor
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dense matrix over ScalarType.
void refine(const DP &pts)
static T diabolo(const T s, const T c, const T k, const T sigma)
void ballVote(const DP &pts, bool doKnn=true)
void disableBallComponent()
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector over ScalarType.
void encode(const DP &pts, Encoding encoding=Encoding::UBALL)
TensorVoting(T sigma_=T(0.2), std::size_t k_=50)
typename DP::InvalidField InvalidField
static T radial(const T z)
void stickVote(const DP &pts, bool doKnn=true)
typename PM::Vector Vector
constexpr T pow(const T base, const std::size_t exponent)
typename PM::Matrix Matrix
void computeKnn(const DP &pts)
typename NNS::Index Index