Go to the documentation of this file.
   57     return "Gestalt descriptors filter.";
 
   62                 {
"ratio", 
"ratio of points to keep with random subsampling. Matrix (normal, density, etc.) will be associated to all points in the same bin.", 
"0.1", 
"0.0000001", 
"0.9999999", &P::Comp<T>},
 
   63                 {
"radius", 
"is the radius of the gestalt descriptor, will be divided into 4 circular and 8 radial bins = 32 bins", 
"5", 
"0.1", 
"2147483647", &P::Comp<T>},
 
   64                 {
"knn", 
"determined how many points are used to compute the normals. Direct link with the rapidity of the computation (large = fast). Technically, limit over which a box is splitted in two", 
"7", 
"3", 
"2147483647", &P::Comp<unsigned>},
 
   65                 {
"vSizeX", 
"Dimension of each voxel cell in x direction", 
"1.0", 
"-inf", 
"inf", &P::Comp<T>},
 
   66                 {
"vSizeY", 
"Dimension of each voxel cell in y direction", 
"1.0", 
"-inf", 
"inf", &P::Comp<T>},
 
   67                 {
"vSizeZ", 
"Dimension of each voxel cell in z direction", 
"1.0", 
"-inf", 
"inf", &P::Comp<T>},
 
   68                 {
"keepMeans", 
"whether the means should be added as descriptors to the resulting cloud", 
"0"},
 
   69                 {
"maxBoxDim", 
"maximum length of a box above which the box is discarded", 
"inf"},
 
   70                 {
"averageExistingDescriptors", 
"whether the filter keep the existing point descriptors and average them or should it drop them", 
"1"},
 
   71                 {
"maxTimeWindow", 
"maximum spread of times in a surfel", 
"inf"},
 
   72                 {
"keepNormals", 
"whether the normals should be added as descriptors to the resulting cloud", 
"1"},
 
   73                 {
"keepEigenValues", 
"whether the eigen values should be added as descriptors to the resulting cloud", 
"0"},
 
   74                 {
"keepEigenVectors", 
"whether the eigen vectors should be added as descriptors to the resulting cloud", 
"0"},
 
   75                 {
"keepCovariances", 
"whether the covariances should be added as descriptors to the resulting cloud", 
"0"},
 
   76                 {
"keepGestaltFeatures", 
"whether the Gestalt features shall be added to the resulting cloud", 
"1"}
 
  113     typedef typename Eigen::Matrix<std::int64_t, Eigen::Dynamic, Eigen::Dynamic> 
Int64Matrix;
 
  114     typedef typename Eigen::Matrix<std::int64_t, 1, Eigen::Dynamic> 
Int64Vector;
 
  139       const int pointsCount(
features.cols());
 
  141       for (
int i = 0; i < pointsCount; ++i)
 
  159   void buildNew(BuildData& data, 
const int first, 
const int last, 
Vector&& minValues, 
Vector&& maxValues) 
const;
 
  
bool operator()(const int &p0, const int &p1)
Eigen::Matrix< std::int64_t, Eigen::Dynamic, Eigen::Dynamic > Int64Matrix
const bool keepGestaltFeatures
void fuseRange(BuildData &data, DataPoints &input, const int first, const int last) const
Parametrizable::ParameterDoc ParameterDoc
static const ParametersDoc availableParameters()
const bool keepCovariances
PointMatcher< T >::Matrix Matrix
PointMatcher< T >::Vector calculateRadii(const Matrix &points, const Eigen::Matrix< T, 3, 1 > &) const
const bool keepEigenValues
std::vector< int > Indices
boost::optional< View > gestaltMeans
Functions and classes that are dependant on scalar type are defined in this templatized class.
boost::optional< View > gestaltShapes
boost::optional< View > eigenVectors
GestaltDataPointsFilter(const Parameters ¶ms=Parameters())
boost::optional< View > warpedXYZ
Eigen::Matrix< std::int64_t, 1, Eigen::Dynamic > Int64Vector
Gestalt descriptors filter as described in Bosse & Zlot ICRA 2013.
virtual ~GestaltDataPointsFilter()
An exception thrown when one tries to access features or descriptors unexisting or of wrong dimension...
PointMatcherSupport::Parametrizable Parametrizable
virtual DataPoints filter(const DataPoints &input)
boost::optional< View > normals
PointMatcher< T >::Vector serializeGestaltMatrix(const Matrix &gestaltFeatures) const
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
boost::optional< View > gestaltVariances
PointMatcher< T >::DataPoints::InvalidField InvalidField
DataPointsFilter()
Construct without parameter.
const bool averageExistingDescriptors
PointMatcherSupport::Parametrizable P
PointMatcher< T >::DataPoints DataPoints
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dense matrix over ScalarType.
Parametrizable::ParametersDoc ParametersDoc
virtual void inPlaceFilter(DataPoints &cloud)
PointMatcher< T >::Vector calculateAngles(const Matrix &points, const Eigen::Matrix< T, 3, 1 > &) const
An exception thrown when one tries to fetch the value of an unexisting parameter.
Eigen::Matrix< T, Eigen::Dynamic, 1 > Vector
A vector over ScalarType.
Parametrizable::Parameters Parameters
boost::optional< View > eigenValues
void buildNew(BuildData &data, const int first, const int last, Vector &&minValues, Vector &&maxValues) const
boost::optional< View > covariance
The superclass of classes that are constructed using generic parameters. This class provides the para...
The documentation of a parameter.
const bool keepEigenVectors
Eigen::Block< Matrix > View
A view on a feature or descriptor.
BuildData(Matrix &features, Matrix &descriptors, Int64Matrix ×)
boost::optional< View > means
const BuildData & buildData
PointMatcher< T >::Vector Vector
static const std::string description()
CompareDim(const int dim, const BuildData &buildData)
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
Parametrizable::InvalidParameter InvalidParameter
mp2p_icp
Author(s): 
autogenerated on Mon May 26 2025 02:45:48