Go to the documentation of this file.
40 #include <unordered_map>
74 return "Construct an Octree grid representation of the point cloud. Constructed either by limiting the number of point in each octant or by limiting the size of the bounding box. Down-sample by taking either the first or a random point, or compute the centroid.";
80 {
"buildParallel",
"If 1 (true), use threads to build the octree.",
"1",
"0",
"1", P::Comp<bool>},
81 {
"maxPointByNode",
"Number of point under which the octree stop dividing.",
"1",
"1",
"4294967295", &P::Comp<std::size_t>},
82 {
"maxSizeByNode",
"Size of the bounding box under which the octree stop dividing.",
"0",
"0",
"+inf", &P::Comp<T>},
83 {
"samplingMethod",
"Method to sample the Octree: First Point (0), Random (1), Centroid (2) (more accurate but costly), Medoid (3) (more accurate but costly)",
"0",
"0",
"3", &P::Comp<int>}
97 std::unordered_map<std::size_t, std::size_t>
mapidx;
102 template<std::
size_t dim>
119 template<std::
size_t dim>
134 template<std::
size_t dim>
148 template<std::
size_t dim>
PM::DataPoints DataPoints
std::size_t maxPointByNode
FirstPtsSampler(DataPoints &dp)
PointMatcherSupport::Parametrizable Parametrizable
PointMatcher< T >::DataPoints::InvalidField InvalidField
SamplingMethod samplingMethod
RandomPtsSampler(DataPoints &dp)
PM::DataPointsFilter DataPointsFilter
bool operator()(Octree_< T, dim > &oc)
Functions and classes that are dependant on scalar type are defined in this templatized class.
CentroidSampler(DataPoints &dp)
OctreeGridDataPointsFilter()
bool operator()(Octree_< T, dim > &oc)
Parametrizable::ParametersDoc ParametersDoc
An exception thrown when one tries to access features or descriptors unexisting or of wrong dimension...
Parametrizable::ParameterDoc ParameterDoc
bool operator()(Octree_< T, dim > &oc)
Data Filter based on Octree representation.
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
bool operator()(Octree_< T, dim > &oc)
std::unordered_map< std::size_t, std::size_t > mapidx
A data filter takes a point cloud as input, transforms it, and produces another point cloud as output...
static const ParametersDoc availableParameters()
An exception thrown when one tries to fetch the value of an unexisting parameter.
void sample(DataPoints &cloud)
Matrix::Index Index
An index to a row or a column.
Parametrizable::InvalidParameter InvalidParameter
virtual ~RandomPtsSampler()
The superclass of classes that are constructed using generic parameters. This class provides the para...
Parametrizable::Parameters Parameters
The documentation of a parameter.
PointMatcherSupport::Parametrizable P
virtual ~OctreeGridDataPointsFilter()
virtual ~CentroidSampler()
virtual ~FirstPtsSampler()
virtual void inPlaceFilter(DataPoints &cloud)
Apply these filters to a point cloud without copying.
virtual DataPoints filter(const DataPoints &input)
Apply filters to input point cloud. This is the non-destructive version and returns a copy.
static const std::string description()
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
MedoidSampler(DataPoints &dp)