68 throw InvalidParameter((boost::format(
"MinDistDataPointsFilter: Error, filtering on dimension number %1%, larger than feature dimensionality %2%") %
dim % (cloud.
features.rows() - 2)).str());
70 const int nbPointsIn = cloud.
features.cols();
71 const int nbRows = cloud.
features.rows();
77 for (
int i = 0; i < nbPointsIn; ++i)
79 if (cloud.
features.col(i).head(nbRows-1).norm() > absMinDist)
88 for (
int i = 0; i < nbPointsIn; ++i)
Parametrizable::InvalidParameter InvalidParameter
Parametrizable::Parameters Parameters
void setColFrom(Index thisCol, const DataPoints &that, Index thatCol)
Set column thisCol equal to column thatCol of that, copy features and descriptors if any...
Functions and classes that are not dependant on scalar type are defined in this namespace.
Functions and classes that are dependant on scalar type are defined in this templatized class...
const M::mapped_type & get(const M &m, const typename M::key_type &k)
virtual void inPlaceFilter(DataPoints &cloud)
Apply these filters to a point cloud without copying.
The superclass of classes that are constructed using generic parameters. This class provides the para...
void conservativeResize(Index pointCount)
Resize the cloud to pointCount points, conserving existing ones.
Subsampling. Filter points before a minimum distance measured on a specific axis. ...
Matrix features
features of points in the cloud
PM::DataPointsFilter DataPointsFilter
virtual DataPoints filter(const DataPoints &input)
Apply filters to input point cloud. This is the non-destructive version and returns a copy...
static T anyabs(const T &v)
MinDistDataPointsFilter(const Parameters ¶ms=Parameters())
Constructor, uses parameter interface.