Point Cloud Library (PCL)
1.3.1
|
PFHEstimation estimates the Point Feature Histogram (PFH) descriptor for a given point cloud dataset containing points and normals. More...
#include <pcl/features/pfh.h>
Public Types | |
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
typedef Feature< PointInT, PointOutT >::PointCloudIn | PointCloudIn |
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 | |
PFHEstimation () | |
Empty constructor. | |
bool | computePairFeatures (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, int p_idx, int q_idx, float &f1, float &f2, float &f3, float &f4) |
Compute the 4-tuple representation containing the three angles and one distance between two points represented by Cartesian coordinates and normals. | |
void | computePointPFHSignature (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const std::vector< int > &indices, int nr_split, Eigen::VectorXf &pfh_histogram) |
Estimate the PFH (Point Feature Histograms) individual signatures of the three angular (f1, f2, f3) features for a given point based on its spatial neighborhood of 3D points with normals. | |
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. |
PFHEstimation estimates the Point Feature Histogram (PFH) descriptor for a given point cloud dataset containing points and normals.
typedef boost::shared_ptr< const FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::ConstPtr [inherited] |
typedef Feature<PointInT, PointOutT>::PointCloudIn pcl::PFHEstimation::PointCloudIn |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
typedef pcl::PointCloud<PointNT> pcl::FeatureFromNormals::PointCloudN [inherited] |
Reimplemented in pcl::SpinImageEstimation.
typedef PointCloudN::ConstPtr pcl::FeatureFromNormals::PointCloudNConstPtr [inherited] |
Reimplemented in pcl::SpinImageEstimation.
typedef PointCloudN::Ptr pcl::FeatureFromNormals::PointCloudNPtr [inherited] |
Reimplemented in pcl::SpinImageEstimation.
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::PFHEstimation::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
typedef boost::shared_ptr< FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::Ptr [inherited] |
pcl::PFHEstimation::PFHEstimation | ( | ) | [inline] |
bool pcl::PFHEstimation::computePairFeatures | ( | const pcl::PointCloud< PointInT > & | cloud, |
const pcl::PointCloud< PointNT > & | normals, | ||
int | p_idx, | ||
int | q_idx, | ||
float & | f1, | ||
float & | f2, | ||
float & | f3, | ||
float & | f4 | ||
) |
Compute the 4-tuple representation containing the three angles and one distance between two points represented by Cartesian coordinates and normals.
cloud | the dataset containing the XYZ Cartesian coordinates of the two points |
normals | the dataset containing the surface normals (assuming normalized vectors) at each point in cloud |
p_idx | the index of the first point (source) |
q_idx | the index of the second point (target) |
f1 | the first angular feature (angle between the projection of nq_idx and u) |
f2 | the second angular feature (angle between nq_idx and v) |
f3 | the third angular feature (angle between np_idx and |p_idx - q_idx|) |
f4 | the distance feature (p_idx - q_idx) |
void pcl::PFHEstimation::computePointPFHSignature | ( | const pcl::PointCloud< PointInT > & | cloud, |
const pcl::PointCloud< PointNT > & | normals, | ||
const std::vector< int > & | indices, | ||
int | nr_split, | ||
Eigen::VectorXf & | pfh_histogram | ||
) |
Estimate the PFH (Point Feature Histograms) individual signatures of the three angular (f1, f2, f3) features for a given point based on its spatial neighborhood of 3D points with normals.
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 |
nr_split | the number of subdivisions for each angular feature interval |
pfh_histogram | the resultant (combinatorial) PFH histogram representing the feature at the query point |
PointCloudNConstPtr pcl::FeatureFromNormals::getInputNormals | ( | ) | [inline, inherited] |
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!
normals | the const boost shared pointer to a PointCloud of normals. By convention, L2 norm of each normal should be 1. |