Point Cloud Library (PCL)
1.3.1
|
BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle criterion. More...
#include <pcl/features/boundary.h>
Public Types | |
typedef Feature< PointInT, PointOutT >::PointCloudOut | PointCloudOut |
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 | |
BoundaryEstimation () | |
Empty constructor. | |
bool | isBoundaryPoint (const pcl::PointCloud< PointInT > &cloud, int q_idx, const std::vector< int > &indices, const Eigen::Vector4f &u, const Eigen::Vector4f &v, const float angle_threshold) |
Check whether a point is a boundary point in a planar patch of projected points given by indices. | |
bool | isBoundaryPoint (const pcl::PointCloud< PointInT > &cloud, const PointInT &q_point, const std::vector< int > &indices, const Eigen::Vector4f &u, const Eigen::Vector4f &v, const float angle_threshold) |
Check whether a point is a boundary point in a planar patch of projected points given by indices. | |
void | setAngleThreshold (float angle) |
Set the decision boundary (angle threshold) that marks points as boundary or regular. | |
float | getAngleThreshold () |
Get the decision boundary (angle threshold) as set by the user. | |
void | getCoordinateSystemOnPlane (const PointNT &p_coeff, Eigen::Vector4f &u, Eigen::Vector4f &v) |
Get a u-v-n coordinate system that lies on a plane defined by its normal. | |
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. |
BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle criterion.
The code makes use of the estimated surface normals at each point in the input dataset.
typedef boost::shared_ptr< const FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::ConstPtr [inherited] |
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::BoundaryEstimation::PointCloudOut |
Reimplemented from pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >.
Definition at line 71 of file boundary.h.
typedef boost::shared_ptr< FeatureFromNormals<PointInT, PointNT, PointOutT> > pcl::FeatureFromNormals::Ptr [inherited] |
pcl::BoundaryEstimation::BoundaryEstimation | ( | ) | [inline] |
Empty constructor.
Definition at line 75 of file boundary.h.
float pcl::BoundaryEstimation::getAngleThreshold | ( | ) | [inline] |
Get the decision boundary (angle threshold) as set by the user.
Definition at line 121 of file boundary.h.
void pcl::BoundaryEstimation::getCoordinateSystemOnPlane | ( | const PointNT & | p_coeff, |
Eigen::Vector4f & | u, | ||
Eigen::Vector4f & | v | ||
) | [inline] |
Get a u-v-n coordinate system that lies on a plane defined by its normal.
[in] | p_coeff | the plane coefficients (containing the plane normal) |
[out] | u | the resultant u direction |
[out] | v | the resultant v direction |
Definition at line 132 of file boundary.h.
PointCloudNConstPtr pcl::FeatureFromNormals::getInputNormals | ( | ) | [inline, inherited] |
bool pcl::BoundaryEstimation::isBoundaryPoint | ( | const pcl::PointCloud< PointInT > & | cloud, |
int | q_idx, | ||
const std::vector< int > & | indices, | ||
const Eigen::Vector4f & | u, | ||
const Eigen::Vector4f & | v, | ||
const float | angle_threshold | ||
) |
Check whether a point is a boundary point in a planar patch of projected points given by indices.
[in] | cloud | a pointer to the input point cloud |
[in] | q_idx | the index of the query point in cloud |
[in] | indices | the estimated point neighbors of the query point |
[in] | u | the u direction |
[in] | v | the v direction |
[in] | angle_threshold | the threshold angle (default ![]() |
Definition at line 48 of file boundary.hpp.
bool pcl::BoundaryEstimation::isBoundaryPoint | ( | const pcl::PointCloud< PointInT > & | cloud, |
const PointInT & | q_point, | ||
const std::vector< int > & | indices, | ||
const Eigen::Vector4f & | u, | ||
const Eigen::Vector4f & | v, | ||
const float | angle_threshold | ||
) |
Check whether a point is a boundary point in a planar patch of projected points given by indices.
[in] | cloud | a pointer to the input point cloud |
[in] | q_point | a pointer to the querry point |
[in] | indices | the estimated point neighbors of the query point |
[in] | u | the u direction |
[in] | v | the v direction |
[in] | angle_threshold | the threshold angle (default ![]() |
Definition at line 59 of file boundary.hpp.
void pcl::BoundaryEstimation::setAngleThreshold | ( | float | angle | ) | [inline] |
Set the decision boundary (angle threshold) that marks points as boundary or regular.
(default )
[in] | angle | the angle threshold |
Definition at line 114 of file boundary.h.
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. |