Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Types | Public Member Functions
pcl::filters::Pyramid< PointT > Class Template Reference

Pyramid constructs a multi-scale representation of an organised point cloud. More...

#include <pcl/filters/pyramid.h>

Public Types

using PointCloudPtr = typename PointCloud< PointT >::Ptr
 
using PointCloudConstPtr = typename PointCloud< PointT >::ConstPtr
 
using Ptr = shared_ptr< Pyramid< PointT > >
 
using ConstPtr = shared_ptr< const Pyramid< PointT > >
 

Public Member Functions

 Pyramid (int levels=4)
 
void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset. More...
 
PointCloudConstPtr const getInputCloud ()
 Get a pointer to the input point cloud dataset. More...
 
void setNumberOfLevels (int levels)
 Set the number of pyramid levels. More...
 
int getNumberOfLevels () const
 
void setNumberOfThreads (unsigned int nr_threads=0)
 Initialize the scheduler and set the number of threads to use. More...
 
void setLargeSmoothingKernel (bool large)
 Choose a larger smoothing kernel for enhanced smoothing. More...
 
void setDistanceThreshold (float threshold)
 Only points such us distance (center,point) < threshold are accounted for to prevent ghost points. More...
 
float getDistanceThreshold () const
 
void compute (std::vector< PointCloudPtr > &output)
 compute the pyramid levels. More...
 
const std::string & getClassName () const
 
void compute (std::vector< Pyramid< pcl::PointXYZRGB >::PointCloudPtr > &output)
 
void compute (std::vector< Pyramid< pcl::PointXYZRGBA >::PointCloudPtr > &output)
 
void compute (std::vector< Pyramid< pcl::RGB >::PointCloudPtr > &output)
 

Detailed Description

template<typename PointT>
class pcl::filters::Pyramid< PointT >

Pyramid constructs a multi-scale representation of an organised point cloud.

It is an iterative smoothing subsampling algorithm. The subsampling is fixed to 2. Two smoothing kernels may be used:

Author
Nizar Sallem

Definition at line 62 of file pyramid.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointT >
using pcl::filters::Pyramid< PointT >::ConstPtr = shared_ptr< const Pyramid<PointT> >

Definition at line 68 of file pyramid.h.

◆ PointCloudConstPtr

template<typename PointT >
using pcl::filters::Pyramid< PointT >::PointCloudConstPtr = typename PointCloud<PointT>::ConstPtr

Definition at line 66 of file pyramid.h.

◆ PointCloudPtr

template<typename PointT >
using pcl::filters::Pyramid< PointT >::PointCloudPtr = typename PointCloud<PointT>::Ptr

Definition at line 65 of file pyramid.h.

◆ Ptr

template<typename PointT >
using pcl::filters::Pyramid< PointT >::Ptr = shared_ptr< Pyramid<PointT> >

Definition at line 67 of file pyramid.h.

Constructor & Destructor Documentation

◆ Pyramid()

template<typename PointT >
pcl::filters::Pyramid< PointT >::Pyramid ( int  levels = 4)
inline

Definition at line 70 of file pyramid.h.

Member Function Documentation

◆ compute() [1/4]

template<typename PointT >
void pcl::filters::Pyramid< PointT >::compute ( std::vector< PointCloudPtr > &  output)

compute the pyramid levels.

Parameters
[out]outputthe constructed pyramid. It is resized to the number of levels.
Remarks
input_ is copied to output[0] for consistency reasons.

Definition at line 100 of file pyramid.hpp.

References pcl::PointCloud< PointT >::at(), pcl::PointCloud< PointT >::height, pcl::isFinite(), pcl::squaredEuclideanDistance(), and pcl::PointCloud< PointT >::width.

◆ compute() [2/4]

void pcl::filters::Pyramid< pcl::PointXYZRGB >::compute ( std::vector< Pyramid< pcl::PointXYZRGB >::PointCloudPtr > &  output)

◆ compute() [3/4]

void pcl::filters::Pyramid< pcl::PointXYZRGBA >::compute ( std::vector< Pyramid< pcl::PointXYZRGBA >::PointCloudPtr > &  output)

◆ compute() [4/4]

void pcl::filters::Pyramid< pcl::RGB >::compute ( std::vector< Pyramid< pcl::RGB >::PointCloudPtr > &  output)

◆ getClassName()

template<typename PointT >
const std::string& pcl::filters::Pyramid< PointT >::getClassName ( ) const
inline

Definition at line 128 of file pyramid.h.

◆ getDistanceThreshold()

template<typename PointT >
float pcl::filters::Pyramid< PointT >::getDistanceThreshold ( ) const
inline
Returns
the distance threshold

Definition at line 118 of file pyramid.h.

◆ getInputCloud()

template<typename PointT >
PointCloudConstPtr const pcl::filters::Pyramid< PointT >::getInputCloud ( )
inline

Get a pointer to the input point cloud dataset.

Definition at line 84 of file pyramid.h.

◆ getNumberOfLevels()

template<typename PointT >
int pcl::filters::Pyramid< PointT >::getNumberOfLevels ( ) const
inline
Returns
the number of pyramid levels

Definition at line 94 of file pyramid.h.

◆ setDistanceThreshold()

template<typename PointT >
void pcl::filters::Pyramid< PointT >::setDistanceThreshold ( float  threshold)
inline

Only points such us distance (center,point) < threshold are accounted for to prevent ghost points.

Default value is 0.01, to disable set to std::numeric<float>::infinity ().

Parameters
[in]thresholdmaximum allowed distance between center and neighbor.

Definition at line 114 of file pyramid.h.

◆ setInputCloud()

template<typename PointT >
void pcl::filters::Pyramid< PointT >::setInputCloud ( const PointCloudConstPtr cloud)
inline

Provide a pointer to the input dataset.

Parameters
cloudthe const boost shared pointer to a PointCloud message

Definition at line 80 of file pyramid.h.

◆ setLargeSmoothingKernel()

template<typename PointT >
void pcl::filters::Pyramid< PointT >::setLargeSmoothingKernel ( bool  large)
inline

Choose a larger smoothing kernel for enhanced smoothing.

Parameters
largeif true large smoothng kernel will be used.

Definition at line 106 of file pyramid.h.

◆ setNumberOfLevels()

template<typename PointT >
void pcl::filters::Pyramid< PointT >::setNumberOfLevels ( int  levels)
inline

Set the number of pyramid levels.

Parameters
levelsdesired number of pyramid levels

Definition at line 90 of file pyramid.h.

◆ setNumberOfThreads()

template<typename PointT >
void pcl::filters::Pyramid< PointT >::setNumberOfThreads ( unsigned int  nr_threads = 0)
inline

Initialize the scheduler and set the number of threads to use.

Parameters
nr_threadsthe number of hardware threads to use (0 sets the value back to automatic).

Definition at line 100 of file pyramid.h.


The documentation for this class was generated from the following files: