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 >:

## Public Types

typedef Comparator< PointT >::PointCloud | PointCloud
typedef Comparator< PointT >::PointCloudConstPtr | PointCloudConstPtr
typedef pcl::PointCloud< PointNT > | PointCloudN
typedef PointCloudN::Ptr | PointCloudNPtr
typedef PointCloudN::ConstPtr | PointCloudNConstPtr
typedef boost::shared_ptr< EdgeAwarePlaneComparator< PointT, PointNT > > | Ptr
typedef boost::shared_ptr< const EdgeAwarePlaneComparator< PointT, PointNT > > | ConstPtr
Public Types inherited from pcl::PlaneCoefficientComparator< PointT, PointNT >
typedef Comparator< PointT >::PointCloud | PointCloud
typedef Comparator< PointT >::PointCloudConstPtr | PointCloudConstPtr
typedef pcl::PointCloud< PointNT > | PointCloudN
typedef PointCloudN::Ptr | PointCloudNPtr
typedef PointCloudN::ConstPtr | PointCloudNConstPtr
typedef boost::shared_ptr< PlaneCoefficientComparator< PointT, PointNT > > | Ptr
typedef boost::shared_ptr< const PlaneCoefficientComparator< PointT, PointNT > > | ConstPtr
Public Types inherited from pcl::Comparator< PointT >
typedef pcl::PointCloud< PointT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< Comparator< PointT > > | Ptr
typedef boost::shared_ptr< const Comparator< PointT > > | ConstPtr

## Public Member Functions

| EdgeAwarePlaneComparator ()
| Empty constructor for PlaneCoefficientComparator. More...
| EdgeAwarePlaneComparator (const float *distance_map)
| Empty constructor for PlaneCoefficientComparator. More...
virtual | ~EdgeAwarePlaneComparator ()
| 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 (boost::shared_ptr< std::vector< float > > &plane_coeff_d)
| Constructor for PlaneCoefficientComparator. More...
virtual | ~PlaneCoefficientComparator ()
| Destructor for PlaneCoefficientComparator. More...
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| 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 (boost::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...
Public Member Functions inherited from pcl::Comparator< PointT >
| Comparator ()
| Empty constructor for comparator. More...
virtual | ~Comparator ()
| 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
| 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_
boost::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 55 of file edge_aware_plane_comparator.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT , typename PointNT >

typedef boost::shared_ptr<const EdgeAwarePlaneComparator<PointT, PointNT> > pcl::EdgeAwarePlaneComparator< PointT, PointNT >::ConstPtr

Definition at line 66 of file edge_aware_plane_comparator.h.

## PointCloud

template<typename PointT , typename PointNT >

typedef Comparator<PointT>::PointCloud pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloud

Definition at line 58 of file edge_aware_plane_comparator.h.

## PointCloudConstPtr

template<typename PointT , typename PointNT >

typedef Comparator<PointT>::PointCloudConstPtr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudConstPtr

Definition at line 59 of file edge_aware_plane_comparator.h.

## PointCloudN

template<typename PointT , typename PointNT >

typedef pcl::PointCloud<PointNT> pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudN

Definition at line 61 of file edge_aware_plane_comparator.h.

## PointCloudNConstPtr

template<typename PointT , typename PointNT >

typedef PointCloudN::ConstPtr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNConstPtr

Definition at line 63 of file edge_aware_plane_comparator.h.

## PointCloudNPtr

template<typename PointT , typename PointNT >

typedef PointCloudN::Ptr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNPtr

Definition at line 62 of file edge_aware_plane_comparator.h.

## Ptr

template<typename PointT , typename PointNT >

typedef boost::shared_ptr<EdgeAwarePlaneComparator<PointT, PointNT> > pcl::EdgeAwarePlaneComparator< PointT, PointNT >::Ptr

Definition at line 65 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 77 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_map | the distance map to use

Definition at line 87 of file edge_aware_plane_comparator.h.

## ~EdgeAwarePlaneComparator()

template<typename PointT , typename PointNT >

virtual pcl::EdgeAwarePlaneComparator< PointT, PointNT >::~EdgeAwarePlaneComparator | ( |  | ) |

inline virtual

Destructor for PlaneCoefficientComparator.

Definition at line 97 of file edge_aware_plane_comparator.h.

## Member Function Documentation

## compare()

template<typename PointT , typename PointNT >

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

inline protected virtual

Compare two neighboring points, by using normal information, curvature, and euclidean distance information.

Parameters

  [in] | idx1 | The index of the first point.
  [in] | idx2 | The index of the second point.

Reimplemented from pcl::PlaneCoefficientComparator< PointT, PointNT >.

Definition at line 172 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::Comparator< PointT >::input_, pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_, pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_, and pcl::PlaneCoefficientComparator< PointT, PointNT >::z_axis_.

## getCurvatureThreshold()

template<typename PointT , typename PointNT >

float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getCurvatureThreshold | ( |  | ) | const

inline

Get the curvature threshold.

Definition at line 129 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 113 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 145 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 161 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_threshold | a threshold for the curvature

Definition at line 122 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 OrganizedIntegralImageNormalEstimation

Parameters

  [in] | distance_map | the distance map to use

Definition at line 106 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_threshold | the distance map threshold

Definition at line 138 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_threshold | the euclidean distance threshold in meters

Definition at line 154 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

Definition at line 209 of file edge_aware_plane_comparator.h.

Referenced by pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare(), pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getCurvatureThreshold(), and pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setCurvatureThreshold().

## distance_map_

template<typename PointT , typename PointNT >

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

protected

Definition at line 207 of file edge_aware_plane_comparator.h.

Referenced by pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare(), pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getDistanceMap(), and pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setDistanceMap().

## distance_map_threshold_

template<typename PointT , typename PointNT >

int pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_

protected

Definition at line 208 of file edge_aware_plane_comparator.h.

Referenced by pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare(), pcl::EdgeAwarePlaneComparator< PointT, PointNT >::getDistanceMapThreshold(), and pcl::EdgeAwarePlaneComparator< PointT, PointNT >::setDistanceMapThreshold().

## euclidean_distance_threshold_

template<typename PointT , typename PointNT >

float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::euclidean_distance_threshold_

protected

Definition at line 210 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().

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/segmentation/include/pcl/segmentation/edge_aware_plane_comparator.h