39 #ifdef SYSTEM_YAML_CPP 40 #include "yaml-cpp/yaml.h" 44 #endif // HAVE_YAML_CPP 113 const int nbPointsBeforeFilters(cloud.
features.cols());
114 LOG_INFO_STREAM(
"Applying " << this->size() <<
" DataPoints filters - " << nbPointsBeforeFilters <<
" points in");
117 const int nbPointsIn(cloud.
features.cols());
118 if (nbPointsIn == 0) {
122 (*it)->inPlaceFilter(cloud);
125 const int nbPointsOut(cloud.
features.cols());
126 LOG_INFO_STREAM(
"* " << (*it)->className <<
" - " << nbPointsOut <<
" points out (-" << (100 -
double(nbPointsOut*100.)/nbPointsIn) <<
"%)");
129 const int nbPointsAfterFilters(cloud.
features.cols());
130 LOG_INFO_STREAM(
"Applied " << this->size() <<
" filters - " << nbPointsAfterFilters <<
" points out (-" << (100 -
double(nbPointsAfterFilters*100.)/nbPointsBeforeFilters) <<
"%)");
#define LOG_INFO_STREAM(args)
void assertDescriptorConsistency() const
Assert if descriptors are not consistent with features.
Point matcher did not converge.
virtual ~DataPointsFilter()
virtual destructor
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
Functions and classes that are dependant on scalar type are defined in this templatized class...
virtual void init()
Init this filter.
static const PointMatcher & get()
Return instances.
bool GetNextDocument(Node &document)
A data filter takes a point cloud as input, transforms it, and produces another point cloud as output...
A chain of DataPointsFilter.
The superclass of classes that are constructed using generic parameters. This class provides the para...
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
DataPointsFilters::iterator DataPointsFiltersIt
alias
DataPointsFilter()
Construct without parameter.
const std::string className
name of the class
void apply(DataPoints &cloud)
Apply this chain to cloud, mutates cloud.
Matrix features
features of points in the cloud
DataPointsFilters()
Construct an empty chain.
void init()
Init the chain.