pcl::GFPFHEstimation< PointInT, PointLT, PointOutT > Class Template Reference
Module features

GFPFHEstimation estimates the Global Fast Point Feature Histogram (GFPFH) descriptor for a given point cloud dataset containing points and labels. More...

`#include <pcl/features/gfpfh.h>`

Inheritance diagram for pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >:

## Public Types

typedef boost::shared_ptr< GFPFHEstimation< PointInT, PointLT, PointOutT > > | Ptr
typedef boost::shared_ptr< const GFPFHEstimation< PointInT, PointLT, PointOutT > > | ConstPtr
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut
typedef Feature< PointInT, PointOutT >::PointCloudIn | PointCloudIn
Public Types inherited from pcl::FeatureFromLabels< PointInT, PointLT, PointOutT >
typedef boost::shared_ptr< FeatureFromLabels< PointInT, PointLT, PointOutT > > | Ptr
typedef boost::shared_ptr< const FeatureFromLabels< PointInT, PointLT, PointOutT > > | ConstPtr
Public Types inherited from pcl::Feature< PointInT, PointOutT >
typedef PCLBase< PointInT > | BaseClass
typedef boost::shared_ptr< Feature< PointInT, PointOutT > > | Ptr
typedef boost::shared_ptr< const Feature< PointInT, PointOutT > > | ConstPtr
typedef pcl::search::Search< PointInT > | KdTree
typedef pcl::search::Search< PointInT >::Ptr | KdTreePtr
typedef pcl::PointCloud< PointInT > | PointCloudIn
typedef PointCloudIn::Ptr | PointCloudInPtr
typedef PointCloudIn::ConstPtr | PointCloudInConstPtr
typedef pcl::PointCloud< PointOutT > | PointCloudOut
typedef boost::function< int(size_t, double, std::vector< int > &, std::vector< float > &)> | SearchMethod
typedef boost::function< int(const PointCloudIn &cloud, size_t index, double, std::vector< int > &, std::vector< float > &)> | SearchMethodSurface
Public Types inherited from pcl::PCLBase< PointInT >
typedef pcl::PointCloud< PointInT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr

## Public Member Functions

| GFPFHEstimation ()
| Empty constructor. More...
void | setOctreeLeafSize (double size)
| Set the size of the octree leaves. More...
double | getOctreeLeafSize ()
| Get the sphere radius used for determining the neighbors. More...
uint32_t | emptyLabel () const
| Return the empty label value. More...
uint32_t | getNumberOfClasses () const
| Return the number of different classes. More...
void | setNumberOfClasses (uint32_t n)
| Set the number of different classes. More...
int | descriptorSize () const
| Return the size of the descriptor. More...
void | compute (PointCloudOut &output)
| Overloaded computed method from pcl::Feature. More...
Public Member Functions inherited from pcl::FeatureFromLabels< PointInT, PointLT, PointOutT >
| FeatureFromLabels ()
| Empty constructor. More...
virtual | ~FeatureFromLabels ()
| Empty destructor. More...
void | setInputLabels (const PointCloudLConstPtr &labels)
| Provide a pointer to the input dataset that contains the point labels of the XYZ dataset. More...
PointCloudLConstPtr | getInputLabels () const
| Get a pointer to the labels of the input XYZ point cloud dataset. More...
Public Member Functions inherited from pcl::Feature< PointInT, PointOutT >
| Feature ()
| Empty constructor. More...
virtual | ~Feature ()
| Empty destructor. More...
void | setSearchSurface (const PointCloudInConstPtr &cloud)
| Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. More...
PointCloudInConstPtr | getSearchSurface () const
| Get a pointer to the surface point cloud dataset. More...
void | setSearchMethod (const KdTreePtr &tree)
| Provide a pointer to the search object. More...
KdTreePtr | getSearchMethod () const
| Get a pointer to the search method used. More...
double | getSearchParameter () const
| Get the internal search parameter. More...
void | setKSearch (int k)
| Set the number of k nearest neighbors to use for the feature estimation. More...
int | getKSearch () const
| get the number of k nearest neighbors used for the feature estimation. More...
void | setRadiusSearch (double radius)
| Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. More...
double | getRadiusSearch () const
| Get the sphere radius used for determining the neighbors. More...
void | compute (PointCloudOut &output)
| Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () More...
Public Member Functions inherited from pcl::PCLBase< PointInT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()
| Destructor. More...
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset. More...
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
virtual void | setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr const | getIndices ()
| Get a pointer to the vector of indices used. More...
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used. More...
const PointInT & | operator[] (size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Member Functions

void | computeFeature (PointCloudOut &output)
| Estimate the Point Feature Histograms (PFH) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () More...
uint32_t | getDominantLabel (const std::vector< int > &indices)
| Return the dominant label of a set of points. More...
void | computeTransitionHistograms (const std::vector< std::vector< int > > &label_histograms, std::vector< std::vector< int > > &transition_histograms)
| Compute the fixed-length histograms of transitions. More...
void | computeDistancesToMean (const std::vector< std::vector< int > > &transition_histograms, std::vector< float > &distances)
| Compute the distance of each transition histogram to the mean. More...
float | computeHIKDistance (const std::vector< int > &histogram, const std::vector< float > &mean_histogram)
| Return the Intersection Kernel distance between two histograms. More...
void | computeDistanceHistogram (const std::vector< float > &distances, std::vector< float > &histogram)
| Compute the binned histogram of distance values. More...
void | computeMeanHistogram (const std::vector< std::vector< int > > &histograms, std::vector< float > &mean_histogram)
| Compute the mean histogram of the given set of histograms. More...
Protected Member Functions inherited from pcl::FeatureFromLabels< PointInT, PointLT, PointOutT >
virtual bool | initCompute ()
| This method should get called before starting the actual computation. More...
Protected Member Functions inherited from pcl::Feature< PointInT, PointOutT >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
virtual bool | deinitCompute ()
| This method should get called after ending the actual computation. More...
int | searchForNeighbors (size_t index, double parameter, std::vector< int > &indices, std::vector< float > &distances) const
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
int | searchForNeighbors (const PointCloudIn &cloud, size_t index, double parameter, std::vector< int > &indices, std::vector< float > &distances) const
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
Protected Member Functions inherited from pcl::PCLBase< PointInT >
bool | initCompute ()
| This method should get called before starting the actual computation. More...
bool | deinitCompute ()
| This method should get called after finishing the actual computation. More...

## Additional Inherited Members

Protected Attributes inherited from pcl::FeatureFromLabels< PointInT, PointLT, PointOutT >
PointCloudLConstPtr | labels_
| A pointer to the input dataset that contains the point labels of the XYZ dataset. More...
Protected Attributes inherited from pcl::Feature< PointInT, PointOutT >
std::string | feature_name_
| The feature name. More...
SearchMethodSurface | search_method_surface_
| The search method template for points. More...
PointCloudInConstPtr | surface_
| An input point cloud describing the surface that is to be used for nearest neighbors estimation. More...
KdTreePtr | tree_
| A pointer to the spatial search object. More...
double | search_parameter_
| The actual search parameter (from either search_radius_ or k_). More...
double | search_radius_
| The nearest neighbors search radius for each point. More...
int | k_
| The number of K nearest neighbors to use for each point. More...
bool | fake_surface_
| If no surface is given, we use the input PointCloud as the surface. More...
Protected Attributes inherited from pcl::PCLBase< PointInT >
PointCloudConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

## Detailed Description

### template<typename PointInT, typename PointLT, typename PointOutT>
class pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >

GFPFHEstimation estimates the Global Fast Point Feature Histogram (GFPFH) descriptor for a given point cloud dataset containing points and labels.

Note
  If you use this code in any academic work, please cite:

- R.B. Rusu, A. Holzbach, M. Beetz. Detecting and Segmenting Objects for Mobile Manipulation. In the S3DV Workshop of the 12th International Conference on Computer Vision (ICCV), 2009.

Author
  Radu B. Rusu

Definition at line 65 of file gfpfh.h.

## Member Typedef Documentation

template<typename PointInT , typename PointLT , typename PointOutT >

typedef boost::shared_ptr<const GFPFHEstimation<PointInT, PointLT, PointOutT> > pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::ConstPtr

Definition at line 69 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

typedef Feature<PointInT, PointOutT>::PointCloudIn pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::PointCloudIn

Definition at line 81 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::PointCloudOut

Definition at line 80 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

typedef boost::shared_ptr<GFPFHEstimation<PointInT, PointLT, PointOutT> > pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::Ptr

Definition at line 68 of file gfpfh.h.

## Constructor & Destructor Documentation

template<typename PointInT , typename PointLT , typename PointOutT >

pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::GFPFHEstimation | ( |  | ) |

inline

Empty constructor.

Definition at line 84 of file gfpfh.h.

References pcl::Feature< PointInT, PointOutT >::feature_name_.

## Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::compute | ( | PointCloudOut & | output | ) |

Overloaded computed method from pcl::Feature.

Parameters

  [out] | output | the resultant point cloud model dataset containing the estimated features

Definition at line 54 of file gfpfh.hpp.

References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeDistanceHistogram | ( | const std::vector< float > & | distances,
|  | std::vector< float > & | histogram
| ) |  |

protected

Compute the binned histogram of distance values.

Definition at line 197 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeDistancesToMean | ( | const std::vector< std::vector< int > > & | transition_histograms,
|  | std::vector< float > & | distances
| ) |  |

protected

Compute the distance of each transition histogram to the mean.

Definition at line 180 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeFeature | ( | PointCloudOut & | output | ) |

protected virtual

Estimate the Point Feature Histograms (PFH) descriptors at a set of points given by <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()

Parameters

  output | the resultant point cloud model dataset that contains the PFH feature estimates

Implements pcl::Feature< PointInT, PointOutT >.

Definition at line 81 of file gfpfh.hpp.

References pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::addPointsFromInputCloud(), pcl::PointCloud< PointT >::clear(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::getApproxIntersectedVoxelCentersBySegment(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::getOccupiedVoxelCenters(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::points, pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT >::setInputCloud(), pcl::PointCloud< PointT >::size(), pcl::octree::OctreePointCloudSearch< PointT, LeafContainerT, BranchContainerT >::voxelSearch(), and pcl::PointCloud< PointT >::width.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

float pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeHIKDistance | ( | const std::vector< int > & | histogram,
|  | const std::vector< float > & | mean_histogram
| ) |  |

protected

Return the Intersection Kernel distance between two histograms.

Definition at line 238 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeMeanHistogram | ( | const std::vector< std::vector< int > > & | histograms,
|  | std::vector< float > & | mean_histogram
| ) |  |

protected

Compute the mean histogram of the given set of histograms.

Definition at line 222 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointNT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::computeTransitionHistograms | ( | const std::vector< std::vector< int > > & | label_histograms,
|  | std::vector< std::vector< int > > & | transition_histograms
| ) |  |

protected

Compute the fixed-length histograms of transitions.

Definition at line 139 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointLT , typename PointOutT >

int pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize | ( |  | ) | const

inline

Return the size of the descriptor.

Definition at line 117 of file gfpfh.h.

References pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::compute(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeDistanceHistogram(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeDistancesToMean(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeFeature(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeHIKDistance(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeMeanHistogram(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeTransitionHistograms(), and pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::getDominantLabel().

template<typename PointInT , typename PointLT , typename PointOutT >

uint32_t pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::emptyLabel | ( |  | ) | const

inline

Return the empty label value.

Definition at line 103 of file gfpfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >

boost::uint32_t pcl::GFPFHEstimation< PointInT, PointNT, PointOutT >::getDominantLabel | ( | const std::vector< int > & | indices | ) |

protected

Return the dominant label of a set of points.

Definition at line 253 of file gfpfh.hpp.

Referenced by pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::descriptorSize().

template<typename PointInT , typename PointLT , typename PointOutT >

uint32_t pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::getNumberOfClasses | ( |  | ) | const

inline

Return the number of different classes.

Definition at line 107 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

double pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::getOctreeLeafSize | ( |  | ) |

inline

Get the sphere radius used for determining the neighbors.

Definition at line 99 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::setNumberOfClasses | ( | uint32_t | n | ) |

inline

Set the number of different classes.

Parameters

  n | number of different classes.

Definition at line 113 of file gfpfh.h.

template<typename PointInT , typename PointLT , typename PointOutT >

void pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::setOctreeLeafSize | ( | double | size | ) |

inline

Set the size of the octree leaves.

Definition at line 95 of file gfpfh.h.

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

- /build/pcl-6_P28C/pcl-1.7.2/features/include/pcl/features/gfpfh.h
- /build/pcl-6_P28C/pcl-1.7.2/features/include/pcl/features/impl/gfpfh.hpp