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

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

#include <pcl/segmentation/plane_refinement_comparator.h>

+ Inheritance diagram for pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >:

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 pcl::PointCloud< PointLT > PointCloudL
 
typedef PointCloudL::Ptr PointCloudLPtr
 
typedef PointCloudL::ConstPtr PointCloudLConstPtr
 
typedef boost::shared_ptr< PlaneRefinementComparator< PointT, PointNT, PointLT > > Ptr
 
typedef boost::shared_ptr< const PlaneRefinementComparator< PointT, PointNT, PointLT > > 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< PointTPointCloud
 
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

 PlaneRefinementComparator ()
 Empty constructor for PlaneCoefficientComparator. More...
 
 PlaneRefinementComparator (boost::shared_ptr< std::vector< pcl::ModelCoefficients > > &models, boost::shared_ptr< std::vector< bool > > &refine_labels)
 Empty constructor for PlaneCoefficientComparator. More...
 
virtual ~PlaneRefinementComparator ()
 Destructor for PlaneCoefficientComparator. More...
 
void setModelCoefficients (boost::shared_ptr< std::vector< pcl::ModelCoefficients > > &models)
 Set the vector of model coefficients to which we will compare. More...
 
void setModelCoefficients (std::vector< pcl::ModelCoefficients > &models)
 Set the vector of model coefficients to which we will compare. More...
 
void setRefineLabels (boost::shared_ptr< std::vector< bool > > &refine_labels)
 Set which labels should be refined. More...
 
void setRefineLabels (std::vector< bool > &refine_labels)
 Set which labels should be refined. More...
 
void setLabelToModel (boost::shared_ptr< std::vector< int > > &label_to_model)
 A mapping from label to index in the vector of models, allowing the model coefficients of a label to be accessed. More...
 
void setLabelToModel (std::vector< int > &label_to_model)
 A mapping from label to index in the vector of models, allowing the model coefficients of a label to be accessed. More...
 
boost::shared_ptr< std::vector< pcl::ModelCoefficients > > getModelCoefficients () const
 Get the vector of model coefficients to which we will compare. More...
 
void setLabels (PointCloudLPtr &labels)
 ... More...
 
virtual bool compare (int idx1, int idx2) const
 Compare two neighboring points. 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 Attributes

boost::shared_ptr< std::vector< pcl::ModelCoefficients > > models_
 
PointCloudLPtr labels_
 
boost::shared_ptr< std::vector< bool > > refine_labels_
 
boost::shared_ptr< std::vector< int > > label_to_model_
 
bool depth_dependent_
 
- 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, typename PointLT>
class pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >

PlaneRefinementComparator 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, Suat Gedikli

Definition at line 54 of file plane_refinement_comparator.h.

Member Typedef Documentation

template<typename PointT , typename PointNT , typename PointLT >
typedef boost::shared_ptr<const PlaneRefinementComparator<PointT, PointNT, PointLT> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::ConstPtr

Definition at line 69 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef Comparator<PointT>::PointCloud pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloud

Definition at line 57 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef Comparator<PointT>::PointCloudConstPtr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudConstPtr

Definition at line 58 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef pcl::PointCloud<PointLT> pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudL

Definition at line 64 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef PointCloudL::ConstPtr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudLConstPtr

Definition at line 66 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef PointCloudL::Ptr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudLPtr

Definition at line 65 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef pcl::PointCloud<PointNT> pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudN

Definition at line 60 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef PointCloudN::ConstPtr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudNConstPtr

Definition at line 62 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef PointCloudN::Ptr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PointCloudNPtr

Definition at line 61 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
typedef boost::shared_ptr<PlaneRefinementComparator<PointT, PointNT, PointLT> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::Ptr

Definition at line 68 of file plane_refinement_comparator.h.

Constructor & Destructor Documentation

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

Empty constructor for PlaneCoefficientComparator.

Definition at line 78 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::PlaneRefinementComparator ( boost::shared_ptr< std::vector< pcl::ModelCoefficients > > &  models,
boost::shared_ptr< std::vector< bool > > &  refine_labels 
)
inline

Empty constructor for PlaneCoefficientComparator.

Parameters
[in]models
[in]refine_labels

Definition at line 91 of file plane_refinement_comparator.h.

template<typename PointT , typename PointNT , typename PointLT >
virtual pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::~PlaneRefinementComparator ( )
inlinevirtual

Destructor for PlaneCoefficientComparator.

Definition at line 103 of file plane_refinement_comparator.h.

Member Function Documentation

template<typename PointT , typename PointNT , typename PointLT >
virtual bool pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::compare ( int  idx1,
int  idx2 
) const
inlinevirtual
template<typename PointT , typename PointNT , typename PointLT >
boost::shared_ptr<std::vector<pcl::ModelCoefficients> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::getModelCoefficients ( ) const
inline

Get the vector of model coefficients to which we will compare.

Definition at line 163 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::models_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setLabels ( PointCloudLPtr labels)
inline

...

Parameters
[in]labels

Definition at line 172 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::labels_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setLabelToModel ( boost::shared_ptr< std::vector< int > > &  label_to_model)
inline

A mapping from label to index in the vector of models, allowing the model coefficients of a label to be accessed.

Parameters
[in]label_to_modelA vector of size max_label, with the index of each corresponding model in models

Definition at line 147 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::label_to_model_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setLabelToModel ( std::vector< int > &  label_to_model)
inline

A mapping from label to index in the vector of models, allowing the model coefficients of a label to be accessed.

Parameters
[in]label_to_modelA vector of size max_label, with the index of each corresponding model in models

Definition at line 156 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::label_to_model_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setModelCoefficients ( boost::shared_ptr< std::vector< pcl::ModelCoefficients > > &  models)
inline

Set the vector of model coefficients to which we will compare.

Parameters
[in]modelsa vector of model coefficients produced by the initial segmentation step.

Definition at line 111 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::models_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setModelCoefficients ( std::vector< pcl::ModelCoefficients > &  models)
inline

Set the vector of model coefficients to which we will compare.

Parameters
[in]modelsa vector of model coefficients produced by the initial segmentation step.

Definition at line 120 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::models_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setRefineLabels ( boost::shared_ptr< std::vector< bool > > &  refine_labels)
inline

Set which labels should be refined.

This is a vector of bools 0-max_label, true if the label should be refined.

Parameters
[in]refine_labelsA vector of bools 0-max_label, true if the label should be refined.

Definition at line 129 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::refine_labels_.

template<typename PointT , typename PointNT , typename PointLT >
void pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::setRefineLabels ( std::vector< bool > &  refine_labels)
inline

Set which labels should be refined.

This is a vector of bools 0-max_label, true if the label should be refined.

Parameters
[in]refine_labelsA vector of bools 0-max_label, true if the label should be refined.

Definition at line 138 of file plane_refinement_comparator.h.

References pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::refine_labels_.

Member Data Documentation

template<typename PointT , typename PointNT , typename PointLT >
bool pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::depth_dependent_
protected
template<typename PointT , typename PointNT , typename PointLT >
boost::shared_ptr<std::vector<int> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::label_to_model_
protected
template<typename PointT , typename PointNT , typename PointLT >
PointCloudLPtr pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::labels_
protected
template<typename PointT , typename PointNT , typename PointLT >
boost::shared_ptr<std::vector<pcl::ModelCoefficients> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::models_
protected
template<typename PointT , typename PointNT , typename PointLT >
boost::shared_ptr<std::vector<bool> > pcl::PlaneRefinementComparator< PointT, PointNT, PointLT >::refine_labels_
protected

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