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:

- [1/16 1/4 3/8 1/4 1/16] slower but produces finer result;
- [1/4 1/2 1/2] the more conventional binomial kernel which is faster. We use a memory efficient algorithm so the convolving and subsampling are combined in a single step.

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] | output | the constructed pyramid. It is resized to the number of levels.

Remarks
  input_ is copied to output[0] for consistency reasons.

Definition at line 98 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 | ) |

Definition at line 204 of file pyramid.hpp.

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

## compute() [3/4]

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

Definition at line 329 of file pyramid.hpp.

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

## compute() [4/4]

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

Definition at line 464 of file pyramid.hpp.

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

## getClassName()

template<typename PointT >

const std::string& pcl::filters::Pyramid< PointT >::getClassName | ( |  | ) | const

inline

Definition at line 131 of file pyramid.h.

## getDistanceThreshold()

template<typename PointT >

float pcl::filters::Pyramid< PointT >::getDistanceThreshold | ( |  | ) | const

inline

Returns
  the distance threshold

Definition at line 121 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 87 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 97 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] | threshold | maximum allowed distance between center and neighbor.

Definition at line 117 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

  cloud | the const boost shared pointer to a PointCloud message

Definition at line 83 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

  large | if true large smoothng kernel will be used.

Definition at line 109 of file pyramid.h.

## setNumberOfLevels()

template<typename PointT >

void pcl::filters::Pyramid< PointT >::setNumberOfLevels | ( | int | levels | ) |

inline

Set the number of pyramid levels.

Parameters

  levels | desired number of pyramid levels

Definition at line 93 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_threads | the number of hardware threads to use (0 sets the value back to automatic).

Definition at line 103 of file pyramid.h.

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

- pcl/filters/pyramid.h
- pcl/filters/impl/pyramid.hpp