Point Cloud Library (PCL)  1.7.0
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 >:

List of all members.

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 Member Functions

 EdgeAwarePlaneComparator ()
 Empty constructor for PlaneCoefficientComparator.
 EdgeAwarePlaneComparator (const float *distance_map)
 Empty constructor for PlaneCoefficientComparator.
virtual ~EdgeAwarePlaneComparator ()
 Destructor for PlaneCoefficientComparator.
void setDistanceMap (const float *distance_map)
 Set a distance map to use.
const float * getDistanceMap () const
 Return the distance map used.
void setCurvatureThreshold (float curvature_threshold)
 Set the curvature threshold for creating a new segment.
float getCurvatureThreshold () const
 Get the curvature threshold.
void setDistanceMapThreshold (float distance_map_threshold)
 Set the distance map threshold -- the number of pixel away from a border / nan.
float getDistanceMapThreshold () const
 Get the distance map threshold (in pixels).
void setEuclideanDistanceThreshold (float euclidean_distance_threshold)
 Set the euclidean distance threshold.
float getEuclideanDistanceThreshold () const
 Get the euclidean distance threshold.

Protected Member Functions

bool compare (int idx1, int idx2) const
 Compare two neighboring points, by using normal information, curvature, and euclidean distance information.

Protected Attributes

const float * distance_map_
int distance_map_threshold_
float curvature_threshold_
float euclidean_distance_threshold_

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

template<typename PointT , typename PointNT >
typedef boost::shared_ptr<const EdgeAwarePlaneComparator<PointT, PointNT> > pcl::EdgeAwarePlaneComparator< PointT, PointNT >::ConstPtr
template<typename PointT , typename PointNT >
typedef Comparator<PointT>::PointCloud pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloud
template<typename PointT , typename PointNT >
typedef Comparator<PointT>::PointCloudConstPtr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudConstPtr
template<typename PointT , typename PointNT >
typedef pcl::PointCloud<PointNT> pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudN
template<typename PointT , typename PointNT >
typedef PointCloudN::ConstPtr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNConstPtr
template<typename PointT , typename PointNT >
typedef PointCloudN::Ptr pcl::EdgeAwarePlaneComparator< PointT, PointNT >::PointCloudNPtr
template<typename PointT , typename PointNT >
typedef boost::shared_ptr<EdgeAwarePlaneComparator<PointT, PointNT> > pcl::EdgeAwarePlaneComparator< PointT, PointNT >::Ptr

Constructor & Destructor Documentation

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.

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 87 of file edge_aware_plane_comparator.h.

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

template<typename PointT , typename PointNT >
bool pcl::EdgeAwarePlaneComparator< PointT, PointNT >::compare ( int  idx1,
int  idx2 
) const [inline, protected, virtual]
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_.

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_.

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_.

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_.

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 122 of file edge_aware_plane_comparator.h.

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

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_mapthe distance map to use

Definition at line 106 of file edge_aware_plane_comparator.h.

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

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 138 of file edge_aware_plane_comparator.h.

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

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 154 of file edge_aware_plane_comparator.h.

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


Member Data Documentation

template<typename PointT , typename PointNT >
float pcl::EdgeAwarePlaneComparator< PointT, PointNT >::curvature_threshold_ [protected]
template<typename PointT , typename PointNT >
const float* pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_ [protected]
template<typename PointT , typename PointNT >
int pcl::EdgeAwarePlaneComparator< PointT, PointNT >::distance_map_threshold_ [protected]
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: