Point Cloud Library (PCL)  1.7.0
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::UniformSampling< PointInT > Class Template Reference

UniformSampling assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...

#include <pcl/keypoints/uniform_sampling.h>

+ Inheritance diagram for pcl::UniformSampling< PointInT >:

List of all members.

Classes

struct  Leaf
 Simple structure to hold an nD centroid and the number of points in a leaf. More...

Public Types

typedef boost::shared_ptr
< UniformSampling< PointInT > > 
Ptr
typedef boost::shared_ptr
< const UniformSampling
< PointInT > > 
ConstPtr

Public Member Functions

 UniformSampling ()
 Empty constructor.
virtual ~UniformSampling ()
 Destructor.
virtual void setRadiusSearch (double radius)
 Set the 3D grid leaf size.

Protected Member Functions

void detectKeypoints (PointCloudOut &output)
 Downsample a Point Cloud using a voxelized grid approach.

Protected Attributes

boost::unordered_map< size_t,
Leaf
leaves_
 The 3D grid leaves.
Eigen::Vector4f leaf_size_
 The size of a leaf.
Eigen::Array4f inverse_leaf_size_
 Internal leaf sizes stored as 1/leaf_size_ for efficiency reasons.
Eigen::Vector4i min_b_
 The minimum and maximum bin coordinates, the number of divisions, and the division multiplier.
Eigen::Vector4i max_b_
Eigen::Vector4i div_b_
Eigen::Vector4i divb_mul_

Detailed Description

template<typename PointInT>
class pcl::UniformSampling< PointInT >

UniformSampling assembles a local 3D grid over a given PointCloud, and downsamples + filters the data.

The UniformSampling class creates a *3D voxel grid* (think about a voxel grid as a set of tiny 3D boxes in space) over the input point cloud data. Then, in each *voxel* (i.e., 3D box), all the points present will be approximated (i.e., *downsampled*) with their centroid. This approach is a bit slower than approximating them with the center of the voxel, but it represents the underlying surface more accurately.

Author:
Radu Bogdan Rusu

Definition at line 61 of file uniform_sampling.h.


Member Typedef Documentation

template<typename PointInT >
typedef boost::shared_ptr<const UniformSampling<PointInT> > pcl::UniformSampling< PointInT >::ConstPtr

Reimplemented from pcl::Keypoint< PointInT, int >.

Definition at line 74 of file uniform_sampling.h.

template<typename PointInT >
typedef boost::shared_ptr<UniformSampling<PointInT> > pcl::UniformSampling< PointInT >::Ptr

Reimplemented from pcl::Keypoint< PointInT, int >.

Definition at line 73 of file uniform_sampling.h.


Constructor & Destructor Documentation

template<typename PointInT >
pcl::UniformSampling< PointInT >::UniformSampling ( ) [inline]

Empty constructor.

Definition at line 77 of file uniform_sampling.h.

References pcl::Keypoint< PointInT, int >::name_.

template<typename PointInT >
virtual pcl::UniformSampling< PointInT >::~UniformSampling ( ) [inline, virtual]

Destructor.

Definition at line 90 of file uniform_sampling.h.

References pcl::UniformSampling< PointInT >::leaves_.


Member Function Documentation

template<typename PointInT >
void pcl::UniformSampling< PointInT >::detectKeypoints ( PointCloudOut &  output) [protected]

Downsample a Point Cloud using a voxelized grid approach.

Parameters:
outputthe resultant point cloud message

Definition at line 46 of file uniform_sampling.hpp.

References pcl::UniformSampling< PointInT >::Leaf::idx.

template<typename PointInT >
virtual void pcl::UniformSampling< PointInT >::setRadiusSearch ( double  radius) [inline, virtual]

Set the 3D grid leaf size.

Parameters:
radiusthe 3D grid leaf size

Reimplemented from pcl::Keypoint< PointInT, int >.

Definition at line 99 of file uniform_sampling.h.

References pcl::UniformSampling< PointInT >::inverse_leaf_size_, pcl::UniformSampling< PointInT >::leaf_size_, and pcl::Keypoint< PointInT, int >::search_radius_.


Member Data Documentation

template<typename PointInT >
Eigen::Vector4i pcl::UniformSampling< PointInT >::div_b_ [protected]

Definition at line 128 of file uniform_sampling.h.

template<typename PointInT >
Eigen::Vector4i pcl::UniformSampling< PointInT >::divb_mul_ [protected]

Definition at line 128 of file uniform_sampling.h.

template<typename PointInT >
Eigen::Array4f pcl::UniformSampling< PointInT >::inverse_leaf_size_ [protected]

Internal leaf sizes stored as 1/leaf_size_ for efficiency reasons.

Definition at line 125 of file uniform_sampling.h.

Referenced by pcl::UniformSampling< PointInT >::setRadiusSearch().

template<typename PointInT >
Eigen::Vector4f pcl::UniformSampling< PointInT >::leaf_size_ [protected]

The size of a leaf.

Definition at line 122 of file uniform_sampling.h.

Referenced by pcl::UniformSampling< PointInT >::setRadiusSearch().

template<typename PointInT >
boost::unordered_map<size_t, Leaf> pcl::UniformSampling< PointInT >::leaves_ [protected]

The 3D grid leaves.

Definition at line 119 of file uniform_sampling.h.

Referenced by pcl::UniformSampling< PointInT >::~UniformSampling().

template<typename PointInT >
Eigen::Vector4i pcl::UniformSampling< PointInT >::max_b_ [protected]

Definition at line 128 of file uniform_sampling.h.

template<typename PointInT >
Eigen::Vector4i pcl::UniformSampling< PointInT >::min_b_ [protected]

The minimum and maximum bin coordinates, the number of divisions, and the division multiplier.

Definition at line 128 of file uniform_sampling.h.


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