NormalSpaceSampling samples the input point cloud in the space of normal directions computed at every point. More...
#include <normal_space.h>
Public Member Functions | |
void | getBins (unsigned int &binsx, unsigned int &binsy, unsigned int &binsz) const |
Get the number of bins in x, y and z direction. | |
NormalsPtr | getNormals () const |
Get the normals computed on the input point cloud. | |
unsigned int | getSample () const |
Get the value of the internal sample parameter. | |
unsigned int | getSeed () const |
Get the value of the internal seed parameter. | |
NormalSpaceSampling () | |
Empty constructor. | |
void | setBins (unsigned int binsx, unsigned int binsy, unsigned int binsz) |
Set the number of bins in x, y and z direction. | |
void | setNormals (const NormalsPtr &normals) |
Set the normals computed on the input point cloud. | |
void | setSample (unsigned int sample) |
Set number of indices to be sampled. | |
void | setSeed (unsigned int seed) |
Set seed of random function. | |
Protected Member Functions | |
void | applyFilter (PointCloud &output) |
Sample of point indices into a separate PointCloud. | |
void | applyFilter (std::vector< int > &indices) |
Sample of point indices. | |
Protected Attributes | |
unsigned int | binsx_ |
Number of bins in x direction. | |
unsigned int | binsy_ |
Number of bins in y direction. | |
unsigned int | binsz_ |
Number of bins in z direction. | |
NormalsPtr | input_normals_ |
The normals computed at each point in the input cloud. | |
unsigned int | sample_ |
Number of indices that will be returned. | |
unsigned int | seed_ |
Random number seed. | |
Private Types | |
typedef pcl::PointCloud < NormalT >::Ptr | NormalsPtr |
typedef FilterIndices< PointT > ::PointCloud | PointCloud |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
typedef PointCloud::Ptr | PointCloudPtr |
Private Member Functions | |
unsigned int | findBin (float *normal, unsigned int nbins) |
Finds the bin number of the input normal, returns the bin number. | |
bool | isEntireBinSampled (boost::dynamic_bitset<> &array, unsigned int start_index, unsigned int length) |
Checks of the entire bin is sampled, returns true or false. |
NormalSpaceSampling samples the input point cloud in the space of normal directions computed at every point.
Definition at line 53 of file normal_space.h.
typedef pcl::PointCloud<NormalT>::Ptr pcl::NormalSpaceSampling< PointT, NormalT >::NormalsPtr [private] |
Definition at line 63 of file normal_space.h.
typedef FilterIndices<PointT>::PointCloud pcl::NormalSpaceSampling< PointT, NormalT >::PointCloud [private] |
Reimplemented from pcl::FilterIndices< PointT >.
Definition at line 60 of file normal_space.h.
typedef PointCloud::ConstPtr pcl::NormalSpaceSampling< PointT, NormalT >::PointCloudConstPtr [private] |
Reimplemented from pcl::Filter< PointT >.
Definition at line 62 of file normal_space.h.
typedef PointCloud::Ptr pcl::NormalSpaceSampling< PointT, NormalT >::PointCloudPtr [private] |
Reimplemented from pcl::Filter< PointT >.
Definition at line 61 of file normal_space.h.
pcl::NormalSpaceSampling< PointT, NormalT >::NormalSpaceSampling | ( | ) | [inline] |
Empty constructor.
Definition at line 67 of file normal_space.h.
void pcl::NormalSpaceSampling< PointT, NormalT >::applyFilter | ( | PointCloud & | output | ) | [protected, virtual] |
Sample of point indices into a separate PointCloud.
[out] | output | the resultant point cloud |
Implements pcl::Filter< PointT >.
Definition at line 48 of file normal_space.hpp.
void pcl::NormalSpaceSampling< PointT, NormalT >::applyFilter | ( | std::vector< int > & | indices | ) | [protected, virtual] |
Sample of point indices.
[out] | indices | the resultant point cloud indices |
Implements pcl::FilterIndices< PointT >.
Definition at line 222 of file normal_space.hpp.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::findBin | ( | float * | normal, |
unsigned int | nbins | ||
) | [private] |
Finds the bin number of the input normal, returns the bin number.
[in] | normal | the input normal |
[in] | nbins | total number of bins |
Definition at line 160 of file normal_space.hpp.
void pcl::NormalSpaceSampling< PointT, NormalT >::getBins | ( | unsigned int & | binsx, |
unsigned int & | binsy, | ||
unsigned int & | binsz | ||
) | const [inline] |
Get the number of bins in x, y and z direction.
[out] | binsx | number of bins in x direction |
[out] | binsy | number of bins in y direction |
[out] | binsz | number of bins in z direction |
Definition at line 124 of file normal_space.h.
NormalsPtr pcl::NormalSpaceSampling< PointT, NormalT >::getNormals | ( | ) | const [inline] |
Get the normals computed on the input point cloud.
Definition at line 139 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::getSample | ( | ) | const [inline] |
Get the value of the internal sample parameter.
Definition at line 84 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::getSeed | ( | ) | const [inline] |
Get the value of the internal seed parameter.
Definition at line 100 of file normal_space.h.
bool pcl::NormalSpaceSampling< PointT, NormalT >::isEntireBinSampled | ( | boost::dynamic_bitset<> & | array, |
unsigned int | start_index, | ||
unsigned int | length | ||
) | [private] |
Checks of the entire bin is sampled, returns true or false.
[out] | array | flag which says whether a point is sampled or not |
[in] | start_index | the index to the first point of the bin in array. |
[in] | length | number of points in the bin |
Definition at line 148 of file normal_space.hpp.
void pcl::NormalSpaceSampling< PointT, NormalT >::setBins | ( | unsigned int | binsx, |
unsigned int | binsy, | ||
unsigned int | binsz | ||
) | [inline] |
Set the number of bins in x, y and z direction.
[in] | binsx | number of bins in x direction |
[in] | binsy | number of bins in y direction |
[in] | binsz | number of bins in z direction |
Definition at line 111 of file normal_space.h.
void pcl::NormalSpaceSampling< PointT, NormalT >::setNormals | ( | const NormalsPtr & | normals | ) | [inline] |
Set the normals computed on the input point cloud.
[in] | normals | the normals computed for the input cloud |
Definition at line 135 of file normal_space.h.
void pcl::NormalSpaceSampling< PointT, NormalT >::setSample | ( | unsigned int | sample | ) | [inline] |
Set number of indices to be sampled.
[in] | sample | the number of sample indices |
Definition at line 77 of file normal_space.h.
void pcl::NormalSpaceSampling< PointT, NormalT >::setSeed | ( | unsigned int | seed | ) | [inline] |
Set seed of random function.
[in] | seed | the input seed |
Definition at line 93 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::binsx_ [protected] |
Number of bins in x direction.
Definition at line 148 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::binsy_ [protected] |
Number of bins in y direction.
Definition at line 150 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::binsz_ [protected] |
Number of bins in z direction.
Definition at line 152 of file normal_space.h.
NormalsPtr pcl::NormalSpaceSampling< PointT, NormalT >::input_normals_ [protected] |
The normals computed at each point in the input cloud.
Definition at line 155 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::sample_ [protected] |
Number of indices that will be returned.
Definition at line 143 of file normal_space.h.
unsigned int pcl::NormalSpaceSampling< PointT, NormalT >::seed_ [protected] |
Random number seed.
Definition at line 145 of file normal_space.h.