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

#include <pcl/segmentation/euclidean_cluster_comparator.h>

+ Inheritance diagram for pcl::experimental::EuclideanClusterComparator< PointT, PointLT >:

Public Types

using PointCloudL = pcl::PointCloud< PointLT >
 
using PointCloudLPtr = typename PointCloudL::Ptr
 
using PointCloudLConstPtr = typename PointCloudL::ConstPtr
 
using Ptr = shared_ptr< EuclideanClusterComparator< PointT, PointLT > >
 
using ConstPtr = shared_ptr< const EuclideanClusterComparator< PointT, PointLT > >
 
using ExcludeLabelSet = std::set< std::uint32_t >
 
using ExcludeLabelSetPtr = shared_ptr< ExcludeLabelSet >
 
using ExcludeLabelSetConstPtr = shared_ptr< const ExcludeLabelSet >
 
- 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

 EuclideanClusterComparator ()
 Default constructor for EuclideanClusterComparator. More...
 
void setInputCloud (const PointCloudConstPtr &cloud) override
 Set the input cloud for the comparator. More...
 
void setDistanceThreshold (float distance_threshold, bool depth_dependent)
 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...
 
void setLabels (const PointCloudLPtr &labels)
 Set label cloud. More...
 
const ExcludeLabelSetConstPtrgetExcludeLabels () const
 
void setExcludeLabels (const ExcludeLabelSetConstPtr &exclude_labels)
 Set labels in the label cloud to exclude. More...
 
bool compare (int idx1, int idx2) const override
 Compare points at two indices by their euclidean distance. 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

PointCloudLPtr labels_
 Set of labels with similar size as the input point cloud, aggregating points into groups based on a similar label identifier. More...
 
ExcludeLabelSetConstPtr exclude_labels_
 Specifies which labels should be excluded com being clustered. More...
 
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 PointLT = pcl::Label>
class pcl::experimental::EuclideanClusterComparator< PointT, PointLT >

Definition at line 54 of file euclidean_cluster_comparator.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::ConstPtr = shared_ptr<const EuclideanClusterComparator<PointT, PointLT> >

Definition at line 69 of file euclidean_cluster_comparator.h.

◆ ExcludeLabelSet

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::ExcludeLabelSet = std::set<std::uint32_t>

Definition at line 71 of file euclidean_cluster_comparator.h.

◆ ExcludeLabelSetConstPtr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::ExcludeLabelSetConstPtr = shared_ptr<const ExcludeLabelSet>

Definition at line 73 of file euclidean_cluster_comparator.h.

◆ ExcludeLabelSetPtr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::ExcludeLabelSetPtr = shared_ptr<ExcludeLabelSet>

Definition at line 72 of file euclidean_cluster_comparator.h.

◆ PointCloudL

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::PointCloudL = pcl::PointCloud<PointLT>

Definition at line 64 of file euclidean_cluster_comparator.h.

◆ PointCloudLConstPtr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::PointCloudLConstPtr = typename PointCloudL::ConstPtr

Definition at line 66 of file euclidean_cluster_comparator.h.

◆ PointCloudLPtr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::PointCloudLPtr = typename PointCloudL::Ptr

Definition at line 65 of file euclidean_cluster_comparator.h.

◆ Ptr

template<typename PointT , typename PointLT = pcl::Label>
using pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::Ptr = shared_ptr<EuclideanClusterComparator<PointT, PointLT> >

Definition at line 68 of file euclidean_cluster_comparator.h.

Constructor & Destructor Documentation

◆ EuclideanClusterComparator()

template<typename PointT , typename PointLT = pcl::Label>
pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::EuclideanClusterComparator ( )
inline

Default constructor for EuclideanClusterComparator.

Definition at line 76 of file euclidean_cluster_comparator.h.

Member Function Documentation

◆ compare()

template<typename PointT , typename PointLT = pcl::Label>
bool pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::compare ( int  idx1,
int  idx2 
) const
inlineoverridevirtual

Compare points at two indices by their euclidean distance.

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

Implements pcl::Comparator< PointT >.

Definition at line 136 of file euclidean_cluster_comparator.h.

◆ getDistanceThreshold()

template<typename PointT , typename PointLT = pcl::Label>
float pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::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 102 of file euclidean_cluster_comparator.h.

◆ getExcludeLabels()

template<typename PointT , typename PointLT = pcl::Label>
const ExcludeLabelSetConstPtr& pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::getExcludeLabels ( ) const
inline

Definition at line 117 of file euclidean_cluster_comparator.h.

◆ setDistanceThreshold()

template<typename PointT , typename PointLT = pcl::Label>
void pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::setDistanceThreshold ( float  distance_threshold,
bool  depth_dependent 
)
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
depth_dependent

Definition at line 94 of file euclidean_cluster_comparator.h.

◆ setExcludeLabels()

template<typename PointT , typename PointLT = pcl::Label>
void pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::setExcludeLabels ( const ExcludeLabelSetConstPtr exclude_labels)
inline

Set labels in the label cloud to exclude.

Parameters
exclude_labelsa vector of bools corresponding to whether or not a given label should be considered

Definition at line 126 of file euclidean_cluster_comparator.h.

◆ setInputCloud()

template<typename PointT , typename PointLT = pcl::Label>
void pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::setInputCloud ( const PointCloudConstPtr cloud)
inlineoverridevirtual

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 82 of file euclidean_cluster_comparator.h.

◆ setLabels()

template<typename PointT , typename PointLT = pcl::Label>
void pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::setLabels ( const PointCloudLPtr labels)
inline

Set label cloud.

Parameters
[in]labelsThe label cloud

Definition at line 111 of file euclidean_cluster_comparator.h.

Member Data Documentation

◆ depth_dependent_

template<typename PointT , typename PointLT = pcl::Label>
bool pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::depth_dependent_
protected

◆ distance_threshold_

template<typename PointT , typename PointLT = pcl::Label>
float pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::distance_threshold_
protected

◆ exclude_labels_

template<typename PointT , typename PointLT = pcl::Label>
ExcludeLabelSetConstPtr pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::exclude_labels_
protected

Specifies which labels should be excluded com being clustered.

If a label is not specified, it's assumed by default that it's intended be excluded

Definition at line 182 of file euclidean_cluster_comparator.h.

Referenced by pcl::experimental::EuclideanClusterComparator< PointT, deprecated::T >::compare(), pcl::experimental::EuclideanClusterComparator< PointT, deprecated::T >::getExcludeLabels(), and pcl::experimental::EuclideanClusterComparator< PointT, deprecated::T >::setExcludeLabels().

◆ labels_

template<typename PointT , typename PointLT = pcl::Label>
PointCloudLPtr pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::labels_
protected

Set of labels with similar size as the input point cloud, aggregating points into groups based on a similar label identifier.

It needs to be set in conjunction with the exclude_labels_ member in order to provided a masking functionality.

Definition at line 175 of file euclidean_cluster_comparator.h.

Referenced by pcl::experimental::EuclideanClusterComparator< PointT, deprecated::T >::compare(), and pcl::experimental::EuclideanClusterComparator< PointT, deprecated::T >::setLabels().

◆ z_axis_

template<typename PointT , typename PointLT = pcl::Label>
Eigen::Vector3f pcl::experimental::EuclideanClusterComparator< PointT, PointLT >::z_axis_
protected

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