44 #include <pcl/point_cloud.h>
45 #include <pcl/pcl_config.h>
61 template <
typename Po
intT>
67 using Ptr = shared_ptr< Pyramid<PointT> >;
68 using ConstPtr = shared_ptr< const Pyramid<PointT> >;
83 inline PointCloudConstPtr
const
125 compute (std::vector<PointCloudPtr>& output);
127 inline const std::string&
142 p.x = p.y = p.z = std::numeric_limits<float>::quiet_NaN ();
146 PointCloudConstPtr input_;
154 Eigen::MatrixXf kernel_;
156 float threshold_{0.01f};
158 unsigned int threads_{0};
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
Pyramid constructs a multi-scale representation of an organised point cloud.
int getNumberOfLevels() const
void setNumberOfLevels(int levels)
Set the number of pyramid levels.
void compute(std::vector< PointCloudPtr > &output)
compute the pyramid levels.
float getDistanceThreshold() const
typename PointCloud< PointT >::Ptr PointCloudPtr
PointCloudConstPtr const getInputCloud()
Get a pointer to the input point cloud dataset.
void setDistanceThreshold(float threshold)
Only points such us distance (center,point) < threshold are accounted for to prevent ghost points.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void setLargeSmoothingKernel(bool large)
Choose a larger smoothing kernel for enhanced smoothing.
const std::string & getClassName() const
void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
shared_ptr< const Pyramid< PointT > > ConstPtr
shared_ptr< Pyramid< PointT > > Ptr
typename PointCloud< PointT >::ConstPtr PointCloudConstPtr
#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.
Defines all the PCL and non-PCL macros used.
A point structure representing Euclidean xyz coordinates, and the RGB color.