Point Cloud Library (PCL)
1.3.1
|
PrincipalCurvaturesEstimation estimates the directions (eigenvectors) and magnitudes (eigenvalues) of principal surface curvatures for a given point cloud dataset containing points and normals. More...
#include <pcl/features/principal_curvatures.h>
Public Types | |
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
typedef pcl::PointCloud< PointInT > | 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 | |
PrincipalCurvaturesEstimation () | |
Empty constructor. | |
void | computePointPrincipalCurvatures (const pcl::PointCloud< PointNT > &normals, int p_idx, const std::vector< int > &indices, float &pcx, float &pcy, float &pcz, float &pc1, float &pc2) |
Perform Principal Components Analysis (PCA) on the point normals of a surface patch in the tangent plane of the given point normal, and return the principal curvature (eigenvector of the max eigenvalue), along with both the max (pc1) and min (pc2) eigenvalues. | |
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. |
PrincipalCurvaturesEstimation estimates the directions (eigenvectors) and magnitudes (eigenvalues) of principal surface curvatures for a given point cloud dataset containing points and normals.
typedef boost::shared_ptr< const FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::ConstPtr [inherited] |
typedef pcl::PointCloud<PointInT> pcl::PrincipalCurvaturesEstimation::PointCloudIn |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 68 of file principal_curvatures.h.
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::PrincipalCurvaturesEstimation::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 67 of file principal_curvatures.h.
typedef boost::shared_ptr< FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::Ptr [inherited] |
pcl::PrincipalCurvaturesEstimation::PrincipalCurvaturesEstimation | ( | ) | [inline] |
Empty constructor.
Definition at line 71 of file principal_curvatures.h.
void pcl::PrincipalCurvaturesEstimation::computePointPrincipalCurvatures | ( | const pcl::PointCloud< PointNT > & | normals, |
int | p_idx, | ||
const std::vector< int > & | indices, | ||
float & | pcx, | ||
float & | pcy, | ||
float & | pcz, | ||
float & | pc1, | ||
float & | pc2 | ||
) |
Perform Principal Components Analysis (PCA) on the point normals of a surface patch in the tangent plane of the given point normal, and return the principal curvature (eigenvector of the max eigenvalue), along with both the max (pc1) and min (pc2) eigenvalues.
normals | the point cloud normals |
p_idx | the query point at which the least-squares plane was estimated |
indices | the point cloud indices that need to be used |
pcx | the principal curvature X direction |
pcy | the principal curvature Y direction |
pcz | the principal curvature Z direction |
pc1 | the max eigenvalue of curvature |
pc2 | the min eigenvalue of curvature |
Definition at line 45 of file principal_curvatures.hpp.
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. |