Point Cloud Library (PCL)  1.9.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

typedef PointCloud< PointT >::Ptr PointCloudPtr
 
typedef PointCloud< PointT >::ConstPtr PointCloudConstPtr
 
typedef boost::shared_ptr< Pyramid< PointT > > Ptr
 
typedef boost::shared_ptr< const Pyramid< PointT > > ConstPtr
 

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
 
template<>
void compute (std::vector< Pyramid< pcl::PointXYZRGB >::PointCloudPtr > &output)
 
template<>
void compute (std::vector< Pyramid< pcl::PointXYZRGBA >::PointCloudPtr > &output)
 
template<>
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 61 of file pyramid.h.

Member Typedef Documentation

template<typename PointT>
typedef boost::shared_ptr< const Pyramid<PointT> > pcl::filters::Pyramid< PointT >::ConstPtr

Definition at line 67 of file pyramid.h.

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

Definition at line 65 of file pyramid.h.

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

Definition at line 64 of file pyramid.h.

template<typename PointT>
typedef boost::shared_ptr< Pyramid<PointT> > pcl::filters::Pyramid< PointT >::Ptr

Definition at line 66 of file pyramid.h.

Constructor & Destructor Documentation

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

Definition at line 69 of file pyramid.h.

Member Function Documentation

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 90 of file pyramid.hpp.

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

Referenced by pcl::filters::Pyramid< PointT >::getDistanceThreshold().

template<>
void pcl::filters::Pyramid< pcl::PointXYZRGB >::compute ( std::vector< Pyramid< pcl::PointXYZRGB >::PointCloudPtr > &  output)
template<>
void pcl::filters::Pyramid< pcl::PointXYZRGBA >::compute ( std::vector< Pyramid< pcl::PointXYZRGBA >::PointCloudPtr > &  output)
template<>
void pcl::filters::Pyramid< pcl::RGB >::compute ( std::vector< Pyramid< pcl::RGB >::PointCloudPtr > &  output)
template<typename PointT>
const std::string& pcl::filters::Pyramid< PointT >::getClassName ( ) const
inline

Definition at line 130 of file pyramid.h.

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

Definition at line 120 of file pyramid.h.

References pcl::filters::Pyramid< PointT >::compute().

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

Get a pointer to the input point cloud dataset.

Definition at line 86 of file pyramid.h.

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

Definition at line 96 of file pyramid.h.

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 116 of file pyramid.h.

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 82 of file pyramid.h.

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 108 of file pyramid.h.

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 92 of file pyramid.h.

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 102 of file pyramid.h.


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