Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::VFHEstimation Class Reference

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:
Inheritance graph
[legend]
Collaboration diagram for pcl::VFHEstimation:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut
typedef pcl::PointCloud< PointNT > PointCloudN
typedef PointCloudN::Ptr PointCloudNPtr
typedef PointCloudN::ConstPtr PointCloudNConstPtr
typedef boost::shared_ptr
< FeatureFromNormals< PointInT,
PointNT, PointOutT > > 
Ptr
typedef boost::shared_ptr
< const FeatureFromNormals
< PointInT, PointNT, PointOutT > > 
ConstPtr

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_
void setInputNormals (const PointCloudNConstPtr &normals)
 Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
PointCloudNConstPtr getInputNormals ()
 Get a pointer to the normals of the input XYZ point cloud dataset.

Detailed Description

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

Member Typedef Documentation

typedef boost::shared_ptr< const FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::ConstPtr [inherited]

Definition at line 290 of file feature.h.

Reimplemented in pcl::SpinImageEstimation.

Definition at line 285 of file feature.h.

Reimplemented in pcl::SpinImageEstimation.

Definition at line 287 of file feature.h.

Reimplemented in pcl::SpinImageEstimation.

Definition at line 286 of file feature.h.

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

Definition at line 75 of file vfh.h.

typedef boost::shared_ptr< FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::Ptr [inherited]

Definition at line 289 of file feature.h.


Constructor & Destructor Documentation

pcl::VFHEstimation::VFHEstimation ( ) [inline]

Empty constructor.

Definition at line 78 of file vfh.h.


Member Function Documentation

void pcl::VFHEstimation::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_pthe centroid point
centroid_nthe centroid normal
cloudthe dataset containing the XYZ Cartesian coordinates of the two points
normalsthe dataset containing the surface normals at each point in cloud
indicesthe k-neighborhood point indices in the dataset

Definition at line 47 of file vfh.hpp.

PointCloudNConstPtr pcl::FeatureFromNormals::getInputNormals ( ) [inline, inherited]

Get a pointer to the normals of the input XYZ point cloud dataset.

Definition at line 312 of file feature.h.

void pcl::VFHEstimation::getViewPoint ( float &  vpx,
float &  vpy,
float &  vpz 
) [inline]

Get the viewpoint.

Definition at line 127 of file vfh.h.

void pcl::VFHEstimation::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.

void pcl::VFHEstimation::setFillSizeComponent ( bool  fill_size) [inline]

set size_component_

Parameters:
fill_sizeTrue 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.

void pcl::FeatureFromNormals::setInputNormals ( const PointCloudNConstPtr normals) [inline, inherited]

Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.

In case of search surface is set to be different from the input cloud, normals should correspond to the search surface, not the input cloud!

Parameters:
normalsthe const boost shared pointer to a PointCloud of normals. By convention, L2 norm of each normal should be 1.

Definition at line 308 of file feature.h.

void pcl::VFHEstimation::setNormalizeBins ( bool  normalize) [inline]

set normalize_bins_

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

Definition at line 176 of file vfh.h.

void pcl::VFHEstimation::setNormalizeDistance ( bool  normalize) [inline]

set normalize_distances_

Parameters:
normalizeIf 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.

void pcl::VFHEstimation::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.

void pcl::VFHEstimation::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.

void pcl::VFHEstimation::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.

void pcl::VFHEstimation::setViewPoint ( float  vpx,
float  vpy,
float  vpz 
) [inline]

Set the viewpoint.

Parameters:
vpxthe X coordinate of the viewpoint
vpythe Y coordinate of the viewpoint
vpzthe Z coordinate of the viewpoint

Definition at line 118 of file vfh.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines