42 #ifndef PCL_FILTERS_COVARIANCE_SAMPLING_H_
43 #define PCL_FILTERS_COVARIANCE_SAMPLING_H_
45 #include <pcl/filters/filter_indices.h>
61 template <
typename Po
intT,
typename Po
intNT>
76 typedef boost::shared_ptr< CovarianceSampling<PointT, PointNT> >
Ptr;
77 typedef boost::shared_ptr< const CovarianceSampling<PointT, PointNT> >
ConstPtr;
103 inline NormalsConstPtr
159 std::pair<int, double> b)
160 {
return (a.second > b.second); }
163 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
167 #ifdef PCL_NO_PRECOMPILE
168 #include <pcl/filters/impl/covariance_sampling.hpp>
static bool sort_dot_list_function(std::pair< int, double > a, std::pair< int, double > b)
double computeConditionNumber()
Compute the condition number of the input point cloud.
void setNumberOfSamples(unsigned int samples)
Set number of indices to be sampled.
CovarianceSampling()
Empty constructor.
std::string filter_name_
The filter name.
void setNormals(const NormalsConstPtr &normals)
Set the normals computed on the input point cloud.
boost::shared_ptr< CovarianceSampling< PointT, PointNT > > Ptr
bool computeCovarianceMatrix(Eigen::Matrix< double, 6, 6 > &covariance_matrix)
Computes the covariance matrix of the input cloud.
NormalsConstPtr getNormals() const
Get the normals computed on the input point cloud.
unsigned int getNumberOfSamples() const
Get the value of the internal num_samples_ parameter.
unsigned int num_samples_
Number of indices that will be returned.
FilterIndices represents the base class for filters that are about binary point removal.
void applyFilter(Cloud &output)
Sample of point indices into a separate PointCloud.
boost::shared_ptr< PointCloud< PointT > > Ptr
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
std::vector< Eigen::Vector3f > scaled_points_
boost::shared_ptr< const CovarianceSampling< PointT, PointNT > > ConstPtr
NormalsConstPtr input_normals_
The normals computed at each point in the input cloud.
Point Cloud sampling based on the 6D covariances.