Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::gpu::EuclideanLabeledClusterExtraction< PointT > Class Template Reference

EuclideanLabeledClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, depending on pcl::gpu::octree More...

#include </__w/1/s/gpu/segmentation/include/pcl/gpu/segmentation/gpu_extract_labeled_clusters.h>

+ Collaboration diagram for pcl::gpu::EuclideanLabeledClusterExtraction< PointT >:

Public Types

using PointType = pcl::PointXYZ
 
using PointCloudHost = pcl::PointCloud< PointT >
 
using PointCloudHostPtr = typename PointCloudHost::Ptr
 
using PointCloudHostConstPtr = typename PointCloudHost::ConstPtr
 
using PointIndicesPtr = PointIndices::Ptr
 
using PointIndicesConstPtr = PointIndices::ConstPtr
 
using GPUTree = pcl::gpu::Octree
 
using GPUTreePtr = pcl::gpu::Octree::Ptr
 
using CloudDevice = pcl::gpu::Octree::PointCloud
 

Public Member Functions

 EuclideanLabeledClusterExtraction ()=default
 Empty constructor. More...
 
virtual ~EuclideanLabeledClusterExtraction ()=default
 Default virtual destructor. More...
 
void setSearchMethod (const GPUTreePtr &tree)
 Provide a pointer to the search object. More...
 
GPUTreePtr getSearchMethod ()
 Get a pointer to the search method used. More...
 
void setClusterTolerance (double tolerance)
 Set the spatial cluster tolerance as a measure in the L2 Euclidean space. More...
 
double getClusterTolerance ()
 Get the spatial cluster tolerance as a measure in the L2 Euclidean space. More...
 
void setMinClusterSize (int min_cluster_size)
 Set the minimum number of points that a cluster needs to contain in order to be considered valid. More...
 
int getMinClusterSize ()
 Get the minimum number of points that a cluster needs to contain in order to be considered valid. More...
 
void setMaxClusterSize (int max_cluster_size)
 Set the maximum number of points that a cluster needs to contain in order to be considered valid. More...
 
int getMaxClusterSize ()
 Get the maximum number of points that a cluster needs to contain in order to be considered valid. More...
 
void setInput (CloudDevice input)
 
void setHostCloud (PointCloudHostPtr host_cloud)
 
void extract (std::vector< PointIndices > &clusters)
 extract clusters of a PointCloud given by <setInputCloud(), setIndices()> More...
 

Protected Member Functions

virtual std::string getClassName () const
 Class getName method. More...
 

Protected Attributes

CloudDevice input_
 the input cloud on the GPU More...
 
PointCloudHostPtr host_cloud_
 the original cloud the Host More...
 
GPUTreePtr tree_
 A pointer to the spatial search object. More...
 
double cluster_tolerance_ {0.0}
 The spatial cluster tolerance as a measure in the L2 Euclidean space. More...
 
int min_pts_per_cluster_ {1}
 The minimum number of points that a cluster needs to contain in order to be considered valid (default = 1). More...
 
int max_pts_per_cluster_ {std::numeric_limits<int>::max()}
 The maximum number of points that a cluster needs to contain in order to be considered valid (default = MAXINT). More...
 

Detailed Description

template<typename PointT>
class pcl::gpu::EuclideanLabeledClusterExtraction< PointT >

EuclideanLabeledClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, depending on pcl::gpu::octree

Author
Koen Buys, Radu Bogdan Rusu

Definition at line 66 of file gpu_extract_labeled_clusters.h.

Member Typedef Documentation

◆ CloudDevice

Definition at line 79 of file gpu_extract_labeled_clusters.h.

◆ GPUTree

Definition at line 76 of file gpu_extract_labeled_clusters.h.

◆ GPUTreePtr

Definition at line 77 of file gpu_extract_labeled_clusters.h.

◆ PointCloudHost

Definition at line 69 of file gpu_extract_labeled_clusters.h.

◆ PointCloudHostConstPtr

Definition at line 71 of file gpu_extract_labeled_clusters.h.

◆ PointCloudHostPtr

Definition at line 70 of file gpu_extract_labeled_clusters.h.

◆ PointIndicesConstPtr

Definition at line 74 of file gpu_extract_labeled_clusters.h.

◆ PointIndicesPtr

Definition at line 73 of file gpu_extract_labeled_clusters.h.

◆ PointType

Definition at line 68 of file gpu_extract_labeled_clusters.h.

Constructor & Destructor Documentation

◆ EuclideanLabeledClusterExtraction()

Empty constructor.

◆ ~EuclideanLabeledClusterExtraction()

template<typename PointT >
virtual pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::~EuclideanLabeledClusterExtraction ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ extract()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::extract ( std::vector< PointIndices > &  clusters)

extract clusters of a PointCloud given by <setInputCloud(), setIndices()>

Parameters
clustersthe resultant point clusters
Todo:
what do we do if input isn't a PointXYZ cloud?

Definition at line 152 of file gpu_extract_labeled_clusters.hpp.

References pcl::gpu::compareLabeledPointClusters().

◆ getClassName()

template<typename PointT >
virtual std::string pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getClassName ( ) const
inlineprotectedvirtual

Class getName method.

Definition at line 200 of file gpu_extract_labeled_clusters.h.

◆ getClusterTolerance()

template<typename PointT >
double pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getClusterTolerance ( )
inline

Get the spatial cluster tolerance as a measure in the L2 Euclidean space.

Definition at line 118 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::cluster_tolerance_.

◆ getMaxClusterSize()

template<typename PointT >
int pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getMaxClusterSize ( )
inline

Get the maximum number of points that a cluster needs to contain in order to be considered valid.

Definition at line 154 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::max_pts_per_cluster_.

◆ getMinClusterSize()

template<typename PointT >
int pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getMinClusterSize ( )
inline

Get the minimum number of points that a cluster needs to contain in order to be considered valid.

Definition at line 136 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::min_pts_per_cluster_.

◆ getSearchMethod()

template<typename PointT >
GPUTreePtr pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getSearchMethod ( )
inline

Get a pointer to the search method used.

Todo:
fix this for a generic search tree

Definition at line 101 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::tree_.

◆ setClusterTolerance()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setClusterTolerance ( double  tolerance)
inline

Set the spatial cluster tolerance as a measure in the L2 Euclidean space.

Parameters
tolerancethe spatial cluster tolerance measured by L2 distance

Definition at line 110 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::cluster_tolerance_.

◆ setHostCloud()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setHostCloud ( PointCloudHostPtr  host_cloud)
inline

◆ setInput()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setInput ( CloudDevice  input)
inline

◆ setMaxClusterSize()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setMaxClusterSize ( int  max_cluster_size)
inline

Set the maximum number of points that a cluster needs to contain in order to be considered valid.

Parameters
max_cluster_sizethe maximum cluster size

Definition at line 146 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::max_pts_per_cluster_.

◆ setMinClusterSize()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setMinClusterSize ( int  min_cluster_size)
inline

Set the minimum number of points that a cluster needs to contain in order to be considered valid.

Parameters
min_cluster_sizethe minimum cluster size

Definition at line 128 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::min_pts_per_cluster_.

◆ setSearchMethod()

template<typename PointT >
void pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setSearchMethod ( const GPUTreePtr tree)
inline

Provide a pointer to the search object.

Parameters
treea pointer to the spatial search object.

Definition at line 92 of file gpu_extract_labeled_clusters.h.

References pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::tree_.

Member Data Documentation

◆ cluster_tolerance_

template<typename PointT >
double pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::cluster_tolerance_ {0.0}
protected

◆ host_cloud_

template<typename PointT >
PointCloudHostPtr pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::host_cloud_
protected

the original cloud the Host

Definition at line 182 of file gpu_extract_labeled_clusters.h.

Referenced by pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setHostCloud().

◆ input_

template<typename PointT >
CloudDevice pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::input_
protected

the input cloud on the GPU

Definition at line 179 of file gpu_extract_labeled_clusters.h.

Referenced by pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setInput().

◆ max_pts_per_cluster_

template<typename PointT >
int pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::max_pts_per_cluster_ {std::numeric_limits<int>::max()}
protected

The maximum number of points that a cluster needs to contain in order to be considered valid (default = MAXINT).

Definition at line 196 of file gpu_extract_labeled_clusters.h.

Referenced by pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getMaxClusterSize(), and pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setMaxClusterSize().

◆ min_pts_per_cluster_

template<typename PointT >
int pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::min_pts_per_cluster_ {1}
protected

The minimum number of points that a cluster needs to contain in order to be considered valid (default = 1).

Definition at line 192 of file gpu_extract_labeled_clusters.h.

Referenced by pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getMinClusterSize(), and pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::setMinClusterSize().

◆ tree_

template<typename PointT >
GPUTreePtr pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::tree_
protected

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