Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions | Protected Attributes
pcl::CVFHEstimation< PointInT, PointNT, PointOutT > Class Template Reference

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 >:

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:

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)

Overloaded computed method from pcl::Feature.

Parameters:
[out]outputthe 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::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 
)

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

Parameters:
[in]cloudpointcloud to be filtered
[out]indices_outthe indices of the points with higher curvature than threshold
[out]indices_inthe indices of the remaining points after filtering
[in]thresholdthreshold 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]centroidsvector 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]centroidsvector 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]vpxthe X coordinate of the viewpoint
[out]vpythe Y coordinate of the viewpoint
[out]vpzthe 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]dthe 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]dthe 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]dthe 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]minthe 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]normalizetrue 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_normalsthe 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]vpxthe X coordinate of the viewpoint
[in]vpythe Y coordinate of the viewpoint
[in]vpzthe 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: