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>
171 virtual DataPoints
filter(
const DataPoints& input);
175 template<std::
size_t dim>
void sample(DataPoints& cloud);
PointMatcherSupport::Parametrizable P
OctreeGridDataPointsFilter()
PointMatcherSupport::Parametrizable Parametrizable
Parametrizable::ParametersDoc ParametersDoc
virtual ~OctreeGridDataPointsFilter()
Matrix::Index Index
An index to a row or a column.
virtual ~FirstPtsSampler()
Parametrizable::ParameterDoc ParameterDoc
SamplingMethod samplingMethod
virtual ~RandomPtsSampler()
virtual DataPoints filter(const DataPoints &input)
Apply filters to input point cloud. This is the non-destructive version and returns a copy...
PointMatcher< T >::DataPoints::InvalidField InvalidField
static const ParametersDoc availableParameters()
std::size_t maxPointByNode
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
FirstPtsSampler(DataPoints &dp)
Functions and classes that are dependant on scalar type are defined in this templatized class...
static const std::string description()
virtual ~CentroidSampler()
A data filter takes a point cloud as input, transforms it, and produces another point cloud as output...
Parametrizable::Parameters Parameters
PM::DataPoints DataPoints
The documentation of a parameter.
Data Filter based on Octree representation.
Parametrizable::InvalidParameter InvalidParameter
The superclass of classes that are constructed using generic parameters. This class provides the para...
An exception thrown when one tries to fetch the value of an unexisting parameter. ...
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
virtual void inPlaceFilter(DataPoints &cloud)
Apply these filters to a point cloud without copying.
An exception thrown when one tries to access features or descriptors unexisting or of wrong dimension...
bool operator()(Octree_< T, dim > &oc)
std::unordered_map< std::size_t, std::size_t > mapidx
void sample(DataPoints &cloud)
PM::DataPointsFilter DataPointsFilter