Point Cloud Library (PCL)
1.7.0
|
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 boost::shared_ptr < PrincipalCurvaturesEstimation < PointInT, PointNT, PointOutT > > | Ptr |
typedef boost::shared_ptr < const PrincipalCurvaturesEstimation < PointInT, PointNT, PointOutT > > | ConstPtr |
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
typedef pcl::PointCloud< PointInT > | PointCloudIn |
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. | |
Protected Member Functions | |
void | computeFeature (PointCloudOut &output) |
Estimate the principal curvature (eigenvector of the max eigenvalue), along with both the max (pc1) and min (pc2) eigenvalues for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () |
PrincipalCurvaturesEstimation estimates the directions (eigenvectors) and magnitudes (eigenvalues) of principal surface curvatures for a given point cloud dataset containing points and normals.
The recommended PointOutT is pcl::PrincipalCurvatures.
Definition at line 61 of file principal_curvatures.h.
typedef boost::shared_ptr<const PrincipalCurvaturesEstimation<PointInT, PointNT, PointOutT> > pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::ConstPtr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 65 of file principal_curvatures.h.
typedef pcl::PointCloud<PointInT> pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PointCloudIn |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 76 of file principal_curvatures.h.
typedef Feature<PointInT, PointOutT>::PointCloudOut pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 75 of file principal_curvatures.h.
typedef boost::shared_ptr<PrincipalCurvaturesEstimation<PointInT, PointNT, PointOutT> > pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::Ptr |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 64 of file principal_curvatures.h.
pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PrincipalCurvaturesEstimation | ( | ) | [inline] |
Empty constructor.
Definition at line 79 of file principal_curvatures.h.
References pcl::Feature< PointInT, PointOutT >::feature_name_.
void pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::computeFeature | ( | PointCloudOut & | output | ) | [protected, virtual] |
Estimate the principal curvature (eigenvector of the max eigenvalue), along with both the max (pc1) and min (pc2) eigenvalues for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
[out] | output | the resultant point cloud model dataset that contains the principal curvature estimates |
Implements pcl::Feature< PointInT, PointOutT >.
Definition at line 114 of file principal_curvatures.hpp.
References pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), and pcl::PointCloud< PointT >::points.
void pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::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.
[in] | normals | the point cloud normals |
[in] | p_idx | the query point at which the least-squares plane was estimated |
[in] | indices | the point cloud indices that need to be used |
[out] | pcx | the principal curvature X direction |
[out] | pcy | the principal curvature Y direction |
[out] | pcz | the principal curvature Z direction |
[out] | pc1 | the max eigenvalue of curvature |
[out] | pc2 | the min eigenvalue of curvature |
Definition at line 48 of file principal_curvatures.hpp.
References pcl::computeCorrespondingEigenVector(), pcl::eigen33(), pcl::EIGEN_ALIGN16, and pcl::PointCloud< PointT >::points.