UniformSampling assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
#include <uniform_sampling.h>
Classes | |
struct | Leaf |
Simple structure to hold an nD centroid and the number of points in a leaf. More... | |
Public Member Functions | |
virtual void | setRadiusSearch (double radius) |
Set the 3D grid leaf size. | |
UniformSampling () | |
Empty constructor. | |
virtual | ~UniformSampling () |
Destructor. | |
Protected Member Functions | |
void | detectKeypoints (PointCloudOut &output) |
Downsample a Point Cloud using a voxelized grid approach. | |
Protected Attributes | |
Eigen::Vector4i | div_b_ |
Eigen::Vector4i | divb_mul_ |
Eigen::Array4f | inverse_leaf_size_ |
Internal leaf sizes stored as 1/leaf_size_ for efficiency reasons. | |
Eigen::Vector4f | leaf_size_ |
The size of a leaf. | |
boost::unordered_map< size_t, Leaf > | leaves_ |
The 3D grid leaves. | |
Eigen::Vector4i | max_b_ |
Eigen::Vector4i | min_b_ |
The minimum and maximum bin coordinates, the number of divisions, and the division multiplier. | |
Private Types | |
typedef Keypoint< PointInT, int >::PointCloudIn | PointCloudIn |
typedef Keypoint< PointInT, int >::PointCloudOut | PointCloudOut |
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.
Definition at line 61 of file uniform_sampling.h.
typedef Keypoint<PointInT, int>::PointCloudIn pcl::UniformSampling< PointInT >::PointCloudIn [private] |
Reimplemented from pcl::Keypoint< PointInT, int >.
Definition at line 63 of file uniform_sampling.h.
typedef Keypoint<PointInT, int>::PointCloudOut pcl::UniformSampling< PointInT >::PointCloudOut [private] |
Reimplemented from pcl::Keypoint< PointInT, int >.
Definition at line 64 of file uniform_sampling.h.
pcl::UniformSampling< PointInT >::UniformSampling | ( | ) | [inline] |
Empty constructor.
Definition at line 74 of file uniform_sampling.h.
virtual pcl::UniformSampling< PointInT >::~UniformSampling | ( | ) | [inline, virtual] |
Destructor.
Definition at line 87 of file uniform_sampling.h.
void pcl::UniformSampling< PointInT >::detectKeypoints | ( | PointCloudOut & | output | ) | [protected] |
Downsample a Point Cloud using a voxelized grid approach.
output | the resultant point cloud message |
Definition at line 46 of file uniform_sampling.hpp.
virtual void pcl::UniformSampling< PointInT >::setRadiusSearch | ( | double | radius | ) | [inline, virtual] |
Set the 3D grid leaf size.
radius | the 3D grid leaf size |
Reimplemented from pcl::Keypoint< PointInT, int >.
Definition at line 96 of file uniform_sampling.h.
Eigen::Vector4i pcl::UniformSampling< PointInT >::div_b_ [protected] |
Definition at line 125 of file uniform_sampling.h.
Eigen::Vector4i pcl::UniformSampling< PointInT >::divb_mul_ [protected] |
Definition at line 125 of file uniform_sampling.h.
Eigen::Array4f pcl::UniformSampling< PointInT >::inverse_leaf_size_ [protected] |
Internal leaf sizes stored as 1/leaf_size_ for efficiency reasons.
Definition at line 122 of file uniform_sampling.h.
Eigen::Vector4f pcl::UniformSampling< PointInT >::leaf_size_ [protected] |
The size of a leaf.
Definition at line 119 of file uniform_sampling.h.
boost::unordered_map<size_t, Leaf> pcl::UniformSampling< PointInT >::leaves_ [protected] |
The 3D grid leaves.
Definition at line 116 of file uniform_sampling.h.
Eigen::Vector4i pcl::UniformSampling< PointInT >::max_b_ [protected] |
Definition at line 125 of file uniform_sampling.h.
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 125 of file uniform_sampling.h.