Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::EdgeAwarePlaneComparator< PointT, PointNT > Class Template Reference

EdgeAwarePlaneComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. More...

#include <pcl/segmentation/edge_aware_plane_comparator.h>

+ Inheritance diagram for pcl::EdgeAwarePlaneComparator< PointT, PointNT >:
+ Collaboration diagram for pcl::EdgeAwarePlaneComparator< PointT, PointNT >:

Public Types

using PointCloud = typename Comparator< PointT >::PointCloud
 
using PointCloudConstPtr = typename Comparator< PointT >::PointCloudConstPtr
 
using PointCloudN = pcl::PointCloud< PointNT >
 
using PointCloudNPtr = typename PointCloudN::Ptr
 
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
 
using Ptr = shared_ptr< EdgeAwarePlaneComparator< PointT, PointNT > >
 
using ConstPtr = shared_ptr< const EdgeAwarePlaneComparator< PointT, PointNT > >
 
- Public Types inherited from pcl::PlaneCoefficientComparator< PointT, PointNT >
using PointCloud = typename Comparator< PointT >::PointCloud
 
using PointCloudConstPtr = typename Comparator< PointT >::PointCloudConstPtr
 
using PointCloudN = pcl::PointCloud< PointNT >
 
using PointCloudNPtr = typename PointCloudN::Ptr
 
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
 
using Ptr = shared_ptr< PlaneCoefficientComparator< PointT, PointNT > >
 
using ConstPtr = shared_ptr< const PlaneCoefficientComparator< PointT, PointNT > >
 
- Public Types inherited from pcl::Comparator< PointT >
using PointCloud = pcl::PointCloud< PointT >
 
using PointCloudPtr = typename PointCloud::Ptr
 
using PointCloudConstPtr = typename PointCloud::ConstPtr
 
using Ptr = shared_ptr< Comparator< PointT > >
 
using ConstPtr = shared_ptr< const Comparator< PointT > >
 

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_
 

Detailed Description

template<typename PointT, typename PointNT>
class pcl::EdgeAwarePlaneComparator< PointT, PointNT >

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.

Author
Stefan Holzer, Alex Trevor

Definition at line 53 of file edge_aware_plane_comparator.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::ConstPtr = shared_ptr<const EdgeAwarePlaneComparator<PointT, PointNT> >

Definition at line 64 of file edge_aware_plane_comparator.h.

◆ PointCloud

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloud = typename Comparator<PointT>::PointCloud

Definition at line 56 of file edge_aware_plane_comparator.h.

◆ PointCloudConstPtr

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudConstPtr = typename Comparator<PointT>::PointCloudConstPtr

Definition at line 57 of file edge_aware_plane_comparator.h.

◆ PointCloudN

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudN = pcl::PointCloud<PointNT>

Definition at line 59 of file edge_aware_plane_comparator.h.

◆ PointCloudNConstPtr

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr

Definition at line 61 of file edge_aware_plane_comparator.h.

◆ PointCloudNPtr

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNPtr = typename PointCloudN::Ptr

Definition at line 60 of file edge_aware_plane_comparator.h.

◆ Ptr

template<typename PointT , typename PointNT >
using pcl::EdgeAwarePlaneComparator< PointT, PointNT >::Ptr = shared_ptr<EdgeAwarePlaneComparator<PointT, PointNT> >

Definition at line 63 of file edge_aware_plane_comparator.h.

Constructor & Destructor Documentation

◆ EdgeAwarePlaneComparator() [1/2]

template<typename PointT , typename PointNT >
pcl::EdgeAwarePlaneComparator< PointT, PointNT >::EdgeAwarePlaneComparator ( )
inline

Empty constructor for PlaneCoefficientComparator.

Definition at line 75 of file edge_aware_plane_comparator.h.

◆ EdgeAwarePlaneComparator() [2/2]

template<typename PointT , typename PointNT >
pcl::EdgeAwarePlaneComparator< PointT, PointNT >::EdgeAwarePlaneComparator ( const float *  distance_map)
inline

Empty constructor for PlaneCoefficientComparator.

Parameters
[in]distance_mapthe distance map to use

Definition at line 85 of file edge_aware_plane_comparator.h.

◆ ~EdgeAwarePlaneComparator()

template<typename PointT , typename PointNT >
pcl::EdgeAwarePlaneComparator< PointT, PointNT >::~EdgeAwarePlaneComparator ( )
overridedefault

Destructor for PlaneCoefficientComparator.

Member Function Documentation

◆ compare()

template<typename PointT , typename PointNT >
bool pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare ( int  idx1,
int  idx2 
) const
inlineoverrideprotectedvirtual

◆ getCurvatureThreshold()

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getCurvatureThreshold ( ) const
inline

Get the curvature threshold.

Definition at line 126 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_.

◆ getDistanceMap()

template<typename PointT , typename PointNT >
const float* pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getDistanceMap ( ) const
inline

Return the distance map used.

Definition at line 110 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_.

◆ getDistanceMapThreshold()

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getDistanceMapThreshold ( ) const
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_.

◆ getEuclideanDistanceThreshold()

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getEuclideanDistanceThreshold ( ) const
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_.

◆ setCurvatureThreshold()

template<typename PointT , typename PointNT >
void pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setCurvatureThreshold ( float  curvature_threshold)
inline

Set the curvature threshold for creating a new segment.

Parameters
[in]curvature_thresholda threshold for the curvature

Definition at line 119 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_.

◆ setDistanceMap()

template<typename PointT , typename PointNT >
void pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setDistanceMap ( const float *  distance_map)
inline

Set a distance map to use.

For an example of a valid distance map see IntegralImageNormalEstimation::getDistanceMap

Parameters
[in]distance_mapthe distance map to use

Definition at line 103 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_.

◆ setDistanceMapThreshold()

template<typename PointT , typename PointNT >
void pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setDistanceMapThreshold ( float  distance_map_threshold)
inline

Set the distance map threshold – the number of pixel away from a border / nan.

Parameters
[in]distance_map_thresholdthe distance map threshold

Definition at line 135 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_.

◆ setEuclideanDistanceThreshold()

template<typename PointT , typename PointNT >
void pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setEuclideanDistanceThreshold ( float  euclidean_distance_threshold)
inline

Set the euclidean distance threshold.

Parameters
[in]euclidean_distance_thresholdthe euclidean distance threshold in meters

Definition at line 151 of file edge_aware_plane_comparator.h.

References pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_.

Member Data Documentation

◆ curvature_threshold_

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_
protected

◆ distance_map_

template<typename PointT , typename PointNT >
const float* pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_
protected

◆ distance_map_threshold_

template<typename PointT , typename PointNT >
int pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_
protected

◆ euclidean_distance_threshold_

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_
protected

The documentation for this class was generated from the following file: