Public Types | Public Member Functions | Protected Attributes
pcl::PlaneCoefficientComparator< PointT, PointNT > Class Template Reference

PlaneCoefficientComparator 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. More...

#include <plane_coefficient_comparator.h>

Inheritance diagram for pcl::PlaneCoefficientComparator< PointT, PointNT >:
Inheritance graph
[legend]

List of all members.

Public Types

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

Public Member Functions

virtual bool compare (int idx1, int idx2) const
 Compare points at two indices by their plane equations. True if the angle between the normals is less than the angular threshold, and the difference between the d component of the normals is less than distance threshold, else false.
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.
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.
PointCloudNConstPtr getInputNormals () const
 Get the input normals.
const std::vector< float > & getPlaneCoeffD () const
 Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.
 PlaneCoefficientComparator ()
 Empty constructor for PlaneCoefficientComparator.
 PlaneCoefficientComparator (boost::shared_ptr< std::vector< float > > &plane_coeff_d)
 Constructor for PlaneCoefficientComparator.
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.
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.
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Set the input cloud for the comparator.
void setInputNormals (const PointCloudNConstPtr &normals)
 Provide a pointer to the input normals.
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. a, b, and c are provided by the normal cloud.
void setPlaneCoeffD (std::vector< float > &plane_coeff_d)
 Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. a, b, and c are provided by the normal cloud.
virtual ~PlaneCoefficientComparator ()
 Destructor for PlaneCoefficientComparator.

Protected Attributes

float angular_threshold_
bool depth_dependent_
float distance_threshold_
PointCloudNConstPtr normals_
boost::shared_ptr< std::vector
< float > > 
plane_coeff_d_
Eigen::Vector3f z_axis_

Detailed Description

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

PlaneCoefficientComparator 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:
Alex Trevor

Definition at line 55 of file plane_coefficient_comparator.h.


Member Typedef Documentation

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

Constructor & Destructor Documentation

template<typename PointT, typename PointNT>
pcl::PlaneCoefficientComparator< PointT, PointNT >::PlaneCoefficientComparator ( ) [inline]

Empty constructor for PlaneCoefficientComparator.

Definition at line 71 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
pcl::PlaneCoefficientComparator< PointT, PointNT >::PlaneCoefficientComparator ( boost::shared_ptr< std::vector< float > > &  plane_coeff_d) [inline]

Constructor for PlaneCoefficientComparator.

Parameters:
[in]plane_coeff_da reference to a vector of d coefficients of plane equations. Must be the same size as the input cloud and input normals. a, b, and c coefficients are in the input normals.

Definition at line 84 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
virtual pcl::PlaneCoefficientComparator< PointT, PointNT >::~PlaneCoefficientComparator ( ) [inline, virtual]

Destructor for PlaneCoefficientComparator.

Definition at line 96 of file plane_coefficient_comparator.h.


Member Function Documentation

template<typename PointT, typename PointNT>
virtual bool pcl::PlaneCoefficientComparator< PointT, PointNT >::compare ( int  idx1,
int  idx2 
) const [inline, virtual]

Compare points at two indices by their plane equations. True if the angle between the normals is less than the angular threshold, and the difference between the d component of the normals is less than distance threshold, else false.

Parameters:
idx1The first index for the comparison
idx2The second index for the comparison

Implements pcl::Comparator< PointT >.

Reimplemented in pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >, pcl::EdgeAwarePlaneComparator< PointT, PointNT >, pcl::EdgeAwarePlaneComparator< PointT, Normal >, pcl::EdgeAwarePlaneComparator< PointT, pcl::Normal >, pcl::RGBPlaneCoefficientComparator< PointT, PointNT >, pcl::RGBPlaneCoefficientComparator< PointT, pcl::Normal >, pcl::EuclideanPlaneCoefficientComparator< PointT, PointNT >, and pcl::EuclideanPlaneCoefficientComparator< PointT, pcl::Normal >.

Definition at line 188 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
float pcl::PlaneCoefficientComparator< PointT, PointNT >::getAngularThreshold ( ) const [inline]

Get the angular threshold in radians for difference in normal direction between neighboring points, to be considered part of the same plane.

Definition at line 158 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
float pcl::PlaneCoefficientComparator< PointT, PointNT >::getDistanceThreshold ( ) const [inline]

Get the distance threshold in meters (d component of plane equation) between neighboring points, to be considered part of the same plane.

Definition at line 177 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
PointCloudNConstPtr pcl::PlaneCoefficientComparator< PointT, PointNT >::getInputNormals ( ) const [inline]

Get the input normals.

Definition at line 117 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
const std::vector<float>& pcl::PlaneCoefficientComparator< PointT, PointNT >::getPlaneCoeffD ( ) const [inline]

Get a pointer to the vector of the d-coefficient of the planes' hessian normal form.

Definition at line 142 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
virtual void pcl::PlaneCoefficientComparator< PointT, PointNT >::setAngularThreshold ( float  angular_threshold) [inline, virtual]

Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane.

Parameters:
[in]angular_thresholdthe tolerance in radians

Definition at line 151 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setDistanceThreshold ( float  distance_threshold,
bool  depth_dependent = false 
) [inline]

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.

Parameters:
[in]distance_thresholdthe tolerance in meters (at 1m)
[in]depth_dependentwhether to scale the threshold based on range from the sensor (default: false)

Definition at line 168 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
virtual void pcl::PlaneCoefficientComparator< PointT, PointNT >::setInputCloud ( const PointCloudConstPtr cloud) [inline, virtual]

Set the input cloud for the comparator.

Parameters:
[in]cloudthe point cloud this comparator will operate on

Reimplemented from pcl::Comparator< PointT >.

Definition at line 101 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setInputNormals ( const PointCloudNConstPtr normals) [inline]

Provide a pointer to the input normals.

Parameters:
[in]normalsthe input normal cloud

Definition at line 110 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setPlaneCoeffD ( boost::shared_ptr< std::vector< float > > &  plane_coeff_d) [inline]

Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. a, b, and c are provided by the normal cloud.

Parameters:
[in]plane_coeff_da pointer to the plane coefficients.

Definition at line 126 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
void pcl::PlaneCoefficientComparator< PointT, PointNT >::setPlaneCoeffD ( std::vector< float > &  plane_coeff_d) [inline]

Provide a pointer to a vector of the d-coefficient of the planes' hessian normal form. a, b, and c are provided by the normal cloud.

Parameters:
[in]plane_coeff_da pointer to the plane coefficients.

Definition at line 135 of file plane_coefficient_comparator.h.


Member Data Documentation

template<typename PointT, typename PointNT>
float pcl::PlaneCoefficientComparator< PointT, PointNT >::angular_threshold_ [protected]

Definition at line 205 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
bool pcl::PlaneCoefficientComparator< PointT, PointNT >::depth_dependent_ [protected]
template<typename PointT, typename PointNT>
float pcl::PlaneCoefficientComparator< PointT, PointNT >::distance_threshold_ [protected]

Definition at line 206 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
PointCloudNConstPtr pcl::PlaneCoefficientComparator< PointT, PointNT >::normals_ [protected]

Definition at line 203 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
boost::shared_ptr<std::vector<float> > pcl::PlaneCoefficientComparator< PointT, PointNT >::plane_coeff_d_ [protected]

Definition at line 204 of file plane_coefficient_comparator.h.

template<typename PointT, typename PointNT>
Eigen::Vector3f pcl::PlaneCoefficientComparator< PointT, PointNT >::z_axis_ [protected]

Definition at line 208 of file plane_coefficient_comparator.h.


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


pcl
Author(s): Open Perception
autogenerated on Mon Oct 6 2014 03:19:51