Point Cloud Library (PCL)
1.14.1-dev
|
EdgeAwarePlaneComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. More...
#include <pcl/segmentation/edge_aware_plane_comparator.h>
Public Member Functions | |
EdgeAwarePlaneComparator () | |
Empty constructor for PlaneCoefficientComparator. More... | |
EdgeAwarePlaneComparator (const float *distance_map) | |
Empty constructor for PlaneCoefficientComparator. More... | |
~EdgeAwarePlaneComparator () override=default | |
Destructor for PlaneCoefficientComparator. More... | |
void | setDistanceMap (const float *distance_map) |
Set a distance map to use. More... | |
const float * | getDistanceMap () const |
Return the distance map used. More... | |
void | setCurvatureThreshold (float curvature_threshold) |
Set the curvature threshold for creating a new segment. More... | |
float | getCurvatureThreshold () const |
Get the curvature threshold. More... | |
void | setDistanceMapThreshold (float distance_map_threshold) |
Set the distance map threshold – the number of pixel away from a border / nan. More... | |
float | getDistanceMapThreshold () const |
Get the distance map threshold (in pixels). More... | |
void | setEuclideanDistanceThreshold (float euclidean_distance_threshold) |
Set the euclidean distance threshold. More... | |
float | getEuclideanDistanceThreshold () const |
Get the euclidean distance threshold. More... | |
Public Member Functions inherited from pcl::PlaneCoefficientComparator< PointT, PointNT > | |
PlaneCoefficientComparator () | |
Empty constructor for PlaneCoefficientComparator. More... | |
PlaneCoefficientComparator (shared_ptr< std::vector< float > > &plane_coeff_d) | |
Constructor for PlaneCoefficientComparator. More... | |
~PlaneCoefficientComparator () override=default | |
Destructor for PlaneCoefficientComparator. More... | |
void | setInputCloud (const PointCloudConstPtr &cloud) override |
Set the input cloud for the comparator. More... | |
void | setInputNormals (const PointCloudNConstPtr &normals) |
Provide a pointer to the input normals. More... | |
PointCloudNConstPtr | getInputNormals () const |
Get the input normals. More... | |
void | setPlaneCoeffD (shared_ptr< std::vector< float > > &plane_coeff_d) |
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. More... | |
void | setPlaneCoeffD (std::vector< float > &plane_coeff_d) |
Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. More... | |
const std::vector< float > & | getPlaneCoeffD () const |
Get a pointer to the vector of the d-coefficient of the planes' hessian normal form. More... | |
virtual void | setAngularThreshold (float angular_threshold) |
Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane. More... | |
float | getAngularThreshold () const |
Get the angular threshold in radians for difference in normal direction between neighboring points, to be considered part of the same plane. More... | |
void | setDistanceThreshold (float distance_threshold, bool depth_dependent=false) |
Set the tolerance in meters for difference in perpendicular distance (d component of plane equation) to the plane between neighboring points, to be considered part of the same plane. More... | |
float | getDistanceThreshold () const |
Get the distance threshold in meters (d component of plane equation) between neighboring points, to be considered part of the same plane. More... | |
bool | compare (int idx1, int idx2) const override |
Compare points at two indices by their plane equations. More... | |
Public Member Functions inherited from pcl::Comparator< PointT > | |
Comparator () | |
Empty constructor for comparator. More... | |
virtual | ~Comparator ()=default |
Empty destructor for comparator. More... | |
virtual PointCloudConstPtr | getInputCloud () const |
Get the input cloud this comparator operates on. More... | |
Protected Member Functions | |
bool | compare (int idx1, int idx2) const override |
Compare two neighboring points, by using normal information, curvature, and euclidean distance information. More... | |
Protected Attributes | |
const float * | distance_map_ |
int | distance_map_threshold_ |
float | curvature_threshold_ |
float | euclidean_distance_threshold_ |
Protected Attributes inherited from pcl::PlaneCoefficientComparator< PointT, PointNT > | |
PointCloudNConstPtr | normals_ |
shared_ptr< std::vector< float > > | plane_coeff_d_ |
float | angular_threshold_ |
float | distance_threshold_ |
bool | depth_dependent_ |
Eigen::Vector3f | z_axis_ |
Protected Attributes inherited from pcl::Comparator< PointT > | |
PointCloudConstPtr | input_ |
EdgeAwarePlaneComparator is a Comparator that operates on plane coefficients, for use in planar segmentation.
In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data.
Definition at line 53 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::ConstPtr = shared_ptr<const EdgeAwarePlaneComparator<PointT, PointNT> > |
Definition at line 64 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloud = typename Comparator<PointT>::PointCloud |
Definition at line 56 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudConstPtr = typename Comparator<PointT>::PointCloudConstPtr |
Definition at line 57 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudN = pcl::PointCloud<PointNT> |
Definition at line 59 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr |
Definition at line 61 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNPtr = typename PointCloudN::Ptr |
Definition at line 60 of file edge_aware_plane_comparator.h.
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::Ptr = shared_ptr<EdgeAwarePlaneComparator<PointT, PointNT> > |
Definition at line 63 of file edge_aware_plane_comparator.h.
|
inline |
Empty constructor for PlaneCoefficientComparator.
Definition at line 75 of file edge_aware_plane_comparator.h.
|
inline |
Empty constructor for PlaneCoefficientComparator.
[in] | distance_map | the distance map to use |
Definition at line 85 of file edge_aware_plane_comparator.h.
|
overridedefault |
Destructor for PlaneCoefficientComparator.
|
inlineoverrideprotectedvirtual |
Compare two neighboring points, by using normal information, curvature, and euclidean distance information.
[in] | idx1 | The index of the first point. |
[in] | idx2 | The index of the second point. |
Implements pcl::Comparator< PointT >.
Definition at line 169 of file edge_aware_plane_comparator.h.
References pcl::PlaneCoefficientComparator< PointT, PointNT >::angular_threshold_, pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_, pcl::PlaneCoefficientComparator< PointT, PointNT >::depth_dependent_, pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_, pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_, pcl::PlaneCoefficientComparator< PointT, PointNT >::distance_threshold_, pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_, pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_, pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_, and pcl::PlaneCoefficientComparator< PointT, PointNT >::z_axis_.
|
inline |
Get the curvature threshold.
Definition at line 126 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_.
|
inline |
Return the distance map used.
Definition at line 110 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_.
|
inline |
Get the distance map threshold (in pixels).
Definition at line 142 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_.
|
inline |
Get the euclidean distance threshold.
Definition at line 158 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_.
|
inline |
Set the curvature threshold for creating a new segment.
[in] | curvature_threshold | a threshold for the curvature |
Definition at line 119 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_.
|
inline |
Set a distance map to use.
For an example of a valid distance map see IntegralImageNormalEstimation::getDistanceMap
[in] | distance_map | the distance map to use |
Definition at line 103 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_.
|
inline |
Set the distance map threshold – the number of pixel away from a border / nan.
[in] | distance_map_threshold | the distance map threshold |
Definition at line 135 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_.
|
inline |
Set the euclidean distance threshold.
[in] | euclidean_distance_threshold | the euclidean distance threshold in meters |
Definition at line 151 of file edge_aware_plane_comparator.h.
References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_.
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 207 of file edge_aware_plane_comparator.h.
Referenced by pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare(), pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getEuclideanDistanceThreshold(), and pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setEuclideanDistanceThreshold().