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

CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given point cloud dataset containing XYZ data and normals, as presented in:

More...

#include <pcl/features/cvfh.h>

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

List of all members.

Public Types

typedef boost::shared_ptr
< CVFHEstimation< PointInT,
PointNT, PointOutT > > 
Ptr
typedef boost::shared_ptr
< const CVFHEstimation
< PointInT, PointNT, PointOutT > > 
ConstPtr
typedef Feature< PointInT,
PointOutT >::PointCloudOut 
PointCloudOut
typedef pcl::search::Search
< PointNormal >::Ptr 
KdTreePtr
typedef pcl::VFHEstimation
< PointInT, PointNT,
pcl::VFHSignature308
VFHEstimator

Public Member Functions

 CVFHEstimation ()
 Empty constructor.
void filterNormalsWithHighCurvature (const pcl::PointCloud< PointNT > &cloud, std::vector< int > &indices_to_use, std::vector< int > &indices_out, std::vector< int > &indices_in, float threshold)
 Removes normals with high curvature caused by real edges or noisy data.
void setViewPoint (float vpx, float vpy, float vpz)
 Set the viewpoint.
void setRadiusNormals (float radius_normals)
 Set the radius used to compute normals.
void getViewPoint (float &vpx, float &vpy, float &vpz)
 Get the viewpoint.
void getCentroidClusters (std::vector< Eigen::Vector3f > &centroids)
 Get the centroids used to compute different CVFH descriptors.
void getCentroidNormalClusters (std::vector< Eigen::Vector3f > &centroids)
 Get the normal centroids used to compute different CVFH descriptors.
void setClusterTolerance (float d)
 Sets max.
void setEPSAngleThreshold (float d)
 Sets max.
void setCurvatureThreshold (float d)
 Sets curvature threshold for removing normals.
void setMinPoints (size_t min)
 Set minimum amount of points for a cluster to be considered.
void setNormalizeBins (bool normalize)
 Sets wether if the CVFH signatures should be normalized or not.
void compute (PointCloudOut &output)
 Overloaded computed method from pcl::Feature.

Protected Attributes

std::vector< Eigen::Vector3f > centroids_dominant_orientations_
 Centroids that were used to compute different CVFH descriptors.
std::vector< Eigen::Vector3f > dominant_normals_
 Normal centroids that were used to compute different CVFH descriptors.

Detailed Description

template<typename PointInT, typename PointNT, typename PointOutT = pcl::VFHSignature308>
class pcl::CVFHEstimation< PointInT, PointNT, PointOutT >

CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given point cloud dataset containing XYZ data and normals, as presented in:

Aldoma, N. Blodow, D. Gossow, S. Gedikli, R.B. Rusu, M. Vincze and G. Bradski ICCV 2011, 3D Representation and Recognition (3dRR11) workshop Barcelona, Spain, (2011)

The suggested PointOutT is pcl::VFHSignature308.

Author:
Aitor Aldoma

Definition at line 64 of file cvfh.h.


Member Typedef Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
typedef boost::shared_ptr<const CVFHEstimation<PointInT, PointNT, PointOutT> > pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::ConstPtr

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

Definition at line 68 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
typedef pcl::search::Search<PointNormal>::Ptr pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::KdTreePtr

Reimplemented from pcl::Feature< PointInT, PointOutT >.

Definition at line 79 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut

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

Definition at line 78 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
typedef boost::shared_ptr<CVFHEstimation<PointInT, PointNT, PointOutT> > pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::Ptr

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

Definition at line 67 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
typedef pcl::VFHEstimation<PointInT, PointNT, pcl::VFHSignature308> pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::VFHEstimator

Definition at line 80 of file cvfh.h.


Constructor & Destructor Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::CVFHEstimation (  )  [inline]

Member Function Documentation

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::compute ( PointCloudOut output  )  [inline]

Overloaded computed method from pcl::Feature.

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

Reimplemented from pcl::Feature< PointInT, PointOutT >.

Definition at line 51 of file cvfh.hpp.

References pcl::Feature< PointInT, PointOutT >::deinitCompute(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::filterNormalsWithHighCurvature ( const pcl::PointCloud< PointNT > &  cloud,
std::vector< int > &  indices_to_use,
std::vector< int > &  indices_out,
std::vector< int > &  indices_in,
float  threshold 
) [inline]

Removes normals with high curvature caused by real edges or noisy data.

Parameters:
[in] cloud pointcloud to be filtered
[out] indices_out the indices of the points with higher curvature than threshold
[out] indices_in the indices of the remaining points after filtering
[in] threshold threshold value for curvature

Definition at line 162 of file cvfh.hpp.

References pcl::PointCloud< PointT >::points.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::getCentroidClusters ( std::vector< Eigen::Vector3f > &  centroids  )  [inline]

Get the centroids used to compute different CVFH descriptors.

Parameters:
[out] centroids vector to hold the centroids

Definition at line 150 of file cvfh.h.

References pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::centroids_dominant_orientations_.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::getCentroidNormalClusters ( std::vector< Eigen::Vector3f > &  centroids  )  [inline]

Get the normal centroids used to compute different CVFH descriptors.

Parameters:
[out] centroids vector to hold the normal centroids

Definition at line 160 of file cvfh.h.

References pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::dominant_normals_.

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

Get the viewpoint.

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

Definition at line 139 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::setClusterTolerance ( float  d  )  [inline]

Sets max.

Euclidean distance between points to be added to the cluster

Parameters:
[in] d the maximum Euclidean distance

Definition at line 171 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::setCurvatureThreshold ( float  d  )  [inline]

Sets curvature threshold for removing normals.

Parameters:
[in] d the curvature threshold

Definition at line 189 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::setEPSAngleThreshold ( float  d  )  [inline]

Sets max.

deviation of the normals between two points so they can be clustered together

Parameters:
[in] d the maximum deviation

Definition at line 180 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::setMinPoints ( size_t  min  )  [inline]

Set minimum amount of points for a cluster to be considered.

Parameters:
[in] min the minimum amount of points to be set

Definition at line 198 of file cvfh.h.

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

Sets wether if the CVFH signatures should be normalized or not.

Parameters:
[in] normalize true if normalization is required, false otherwise

Definition at line 207 of file cvfh.h.

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::setRadiusNormals ( float  radius_normals  )  [inline]

Set the radius used to compute normals.

Parameters:
[in] radius_normals the radius

Definition at line 128 of file cvfh.h.

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

Set the viewpoint.

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

Definition at line 117 of file cvfh.h.


Member Data Documentation

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
std::vector<Eigen::Vector3f> pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::centroids_dominant_orientations_ [protected]

Centroids that were used to compute different CVFH descriptors.

Definition at line 282 of file cvfh.h.

Referenced by pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::getCentroidClusters().

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
std::vector<Eigen::Vector3f> pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::dominant_normals_ [protected]

Normal centroids that were used to compute different CVFH descriptors.

Definition at line 284 of file cvfh.h.

Referenced by pcl::CVFHEstimation< PointInT, PointNT, PointOutT >::getCentroidNormalClusters().


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