45#include <pcl/filters/filter_indices.h>
61 template <
typename Po
intT,
typename Po
intNT>
71 using CloudPtr =
typename Cloud::Ptr;
72 using CloudConstPtr =
typename Cloud::ConstPtr;
76 using Ptr = shared_ptr< CovarianceSampling<PointT, PointNT> >;
77 using ConstPtr = shared_ptr< const CovarianceSampling<PointT, PointNT> >;
103 inline NormalsConstPtr
140 std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> >
scaled_points_;
159 std::pair<int, double> b)
160 {
return (a.second > b.second); }
167#ifdef PCL_NO_PRECOMPILE
168#include <pcl/filters/impl/covariance_sampling.hpp>
Point Cloud sampling based on the 6D covariances.
NormalsConstPtr input_normals_
The normals computed at each point in the input cloud.
CovarianceSampling()
Empty constructor.
void setNormals(const NormalsConstPtr &normals)
Set the normals computed on the input point cloud.
shared_ptr< const CovarianceSampling< PointT, PointNT > > ConstPtr
double computeConditionNumber()
Compute the condition number of the input point cloud.
shared_ptr< CovarianceSampling< PointT, PointNT > > Ptr
NormalsConstPtr getNormals() const
Get the normals computed on the input point cloud.
bool computeCovarianceMatrix(Eigen::Matrix< double, 6, 6 > &covariance_matrix)
Computes the covariance matrix of the input cloud.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > scaled_points_
void setNumberOfSamples(unsigned int samples)
Set number of indices to be sampled.
static bool sort_dot_list_function(std::pair< int, double > a, std::pair< int, double > b)
unsigned int num_samples_
Number of indices that will be returned.
unsigned int getNumberOfSamples() const
Get the value of the internal num_samples_ parameter.
void applyFilter(Cloud &output) override
Sample of point indices into a separate PointCloud.
const std::string & getClassName() const
Get a string representation of the name of this class.
std::string filter_name_
The filter name.
FilterIndices represents the base class for filters that are about binary point removal.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< const PointCloud< PointT > > ConstPtr
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
IndicesAllocator<> Indices
Type used for indices in PCL.
Defines all the PCL and non-PCL macros used.
A point structure representing Euclidean xyz coordinates, and the RGB color.