Public Types | Public Member Functions | Protected Attributes

pcl::VFHEstimation< PointInT, PointNT, PointOutT > Class Template Reference
[Module features]

VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals. More...

#include <pcl/features/vfh.h>

Inheritance diagram for pcl::VFHEstimation< PointInT, PointNT, PointOutT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::VFHEstimation< PointInT, PointNT, PointOutT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut

Public Member Functions

 VFHEstimation ()
 Empty constructor.
void computePointSPFHSignature (const Eigen::Vector4f &centroid_p, const Eigen::Vector4f &centroid_n, const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const std::vector< int > &indices)
 Estimate the SPFH (Simple Point Feature Histograms) signatures of the angular (f1, f2, f3) and distance (f4) features for a given point from its neighborhood.
void setViewPoint (float vpx, float vpy, float vpz)
 Set the viewpoint.
void getViewPoint (float &vpx, float &vpy, float &vpz)
 Get the viewpoint.
void setUseGivenNormal (bool use)
 Set use_given_normal_ param use Set to true if you want to use the normal passed to setNormalUse(normal).
void setNormalToUse (Eigen::Vector3f normal)
 Set normal_to_use_ param normal Sets the normal to be used in the VFH computation.
void setUseGivenCentroid (bool use)
 Set use_given_centroid_ param use Set to true if you want to use the centroid passed through setCentroidToUse(centroid).
void setCentroidToUse (Eigen::Vector3f centroid)
 Set centroid_to_use_ param centroid Centroid to be used in the VFH computation.
void setNormalizeBins (bool normalize)
 set normalize_bins_
void setNormalizeDistance (bool normalize)
 set normalize_distances_
void setFillSizeComponent (bool fill_size)
 set size_component_

Protected Attributes

Eigen::VectorXf hist_f1_
 Placeholder for the f1 histogram.
Eigen::VectorXf hist_f2_
 Placeholder for the f2 histogram.
Eigen::VectorXf hist_f3_
 Placeholder for the f3 histogram.
Eigen::VectorXf hist_f4_
 Placeholder for the f4 histogram.
Eigen::VectorXf hist_vp_
 Placeholder for the vp histogram.
Eigen::Vector4f normal_to_use_
 Normal to be used to computed VFH.
Eigen::Vector4f centroid_to_use_
 Centroid to be used to computed VFH.
bool use_given_normal_
 Use the normal_to_use_.
bool use_given_centroid_
 Use the centroid_to_use_.
bool normalize_bins_
 Normalize bins by the number the total number of points.
bool normalize_distances_
 Normalize the shape distribution component of VFH.
bool size_component_
 Activate or deactivate the size component of VFH.

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT>
class pcl::VFHEstimation< PointInT, PointNT, PointOutT >

VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals.

Note:
If you use this code in any academic work, please cite:
Note:
The code is stateful as we do not expect this class to be multicore parallelized. Please look at FPFHEstimationOMP for examples on parallel implementations of the FPFH (Fast Point Feature Histogram).
Author:
Radu Bogdan Rusu

Definition at line 64 of file vfh.h.


Member Typedef Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::VFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut

Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.

Definition at line 75 of file vfh.h.


Constructor & Destructor Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
pcl::VFHEstimation< PointInT, PointNT, PointOutT >::VFHEstimation (  )  [inline]

Empty constructor.

Definition at line 78 of file vfh.h.


Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature ( const Eigen::Vector4f &  centroid_p,
const Eigen::Vector4f &  centroid_n,
const pcl::PointCloud< PointInT > &  cloud,
const pcl::PointCloud< PointNT > &  normals,
const std::vector< int > &  indices 
)

Estimate the SPFH (Simple Point Feature Histograms) signatures of the angular (f1, f2, f3) and distance (f4) features for a given point from its neighborhood.

Parameters:
centroid_p the centroid point
centroid_n the centroid normal
cloud the dataset containing the XYZ Cartesian coordinates of the two points
normals the dataset containing the surface normals at each point in cloud
indices the k-neighborhood point indices in the dataset

Definition at line 47 of file vfh.hpp.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::getViewPoint ( float &  vpx,
float &  vpy,
float &  vpz 
) [inline]

Get the viewpoint.

Definition at line 127 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse ( Eigen::Vector3f  centroid  )  [inline]

Set centroid_to_use_ param centroid Centroid to be used in the VFH computation.

It is used to compute the distances from all points to this centroid.

Definition at line 167 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent ( bool  fill_size  )  [inline]

set size_component_

Parameters:
fill_size True if the 4th component of VFH (shape distribution component) needs to be filled. Otherwise, it is set to zero.

Definition at line 196 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins ( bool  normalize  )  [inline]

set normalize_bins_

Parameters:
normalize If true, the VFH bins are normalized using the total number of points

Definition at line 176 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance ( bool  normalize  )  [inline]

set normalize_distances_

Parameters:
normalize If true, the 4th component of VFH (shape distribution component) get normalized by the maximum size between the centroid and the point cloud

Definition at line 186 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse ( Eigen::Vector3f  normal  )  [inline]

Set normal_to_use_ param normal Sets the normal to be used in the VFH computation.

It is is used to build the Darboux Coordinate system.

Definition at line 148 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid ( bool  use  )  [inline]

Set use_given_centroid_ param use Set to true if you want to use the centroid passed through setCentroidToUse(centroid).

Definition at line 157 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal ( bool  use  )  [inline]

Set use_given_normal_ param use Set to true if you want to use the normal passed to setNormalUse(normal).

Definition at line 138 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setViewPoint ( float  vpx,
float  vpy,
float  vpz 
) [inline]

Set the viewpoint.

Parameters:
vpx the X coordinate of the viewpoint
vpy the Y coordinate of the viewpoint
vpz the Z coordinate of the viewpoint

Definition at line 118 of file vfh.h.


Member Data Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::centroid_to_use_ [protected]

Centroid to be used to computed VFH.

Default, the centroid of the whole point cloud

Definition at line 233 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f1_ [protected]

Placeholder for the f1 histogram.

Definition at line 220 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f2_ [protected]

Placeholder for the f2 histogram.

Definition at line 222 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f3_ [protected]

Placeholder for the f3 histogram.

Definition at line 224 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f4_ [protected]

Placeholder for the f4 histogram.

Definition at line 226 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_vp_ [protected]

Placeholder for the vp histogram.

Definition at line 228 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normal_to_use_ [protected]

Normal to be used to computed VFH.

Default, the average normal of the whole point cloud

Definition at line 231 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_bins_ [protected]

Normalize bins by the number the total number of points.

Definition at line 242 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_distances_ [protected]

Normalize the shape distribution component of VFH.

Definition at line 244 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::size_component_ [protected]

Activate or deactivate the size component of VFH.

Definition at line 246 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_centroid_ [protected]

Use the centroid_to_use_.

Definition at line 240 of file vfh.h.

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_normal_ [protected]

Use the normal_to_use_.

Definition at line 238 of file vfh.h.


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