Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
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 </builddir/build/BUILD/pcl-1.15.0-build/pcl-pcl-1.15.0/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.
virtual ~EuclideanLabeledClusterExtraction ()=default
 Default virtual destructor.
void setSearchMethod (const GPUTreePtr &tree)
 Provide a pointer to the search object.
GPUTreePtr getSearchMethod ()
 Get a pointer to the search method used.
void setClusterTolerance (double tolerance)
 Set the spatial cluster tolerance as a measure in the L2 Euclidean space.
double getClusterTolerance ()
 Get the spatial cluster tolerance as a measure in the L2 Euclidean space.
void setMinClusterSize (int min_cluster_size)
 Set the minimum number of points that a cluster needs to contain in order to be considered valid.
int getMinClusterSize ()
 Get the minimum number of points that a cluster needs to contain in order to be considered valid.
void setMaxClusterSize (int max_cluster_size)
 Set the maximum number of points that a cluster needs to contain in order to be considered valid.
int getMaxClusterSize ()
 Get the maximum number of points that a cluster needs to contain in order to be considered valid.
void setInput (CloudDevice input)
void setHostCloud (PointCloudHostPtr host_cloud)
void extract (std::vector< PointIndices > &clusters)
 extract clusters of a PointCloud given by <setInputCloud(), setIndices()>

Protected Member Functions

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

Protected Attributes

CloudDevice input_
 the input cloud on the GPU
PointCloudHostPtr host_cloud_
 the original cloud the Host
GPUTreePtr tree_
 A pointer to the spatial search object.
double cluster_tolerance_ {0.0}
 The spatial cluster tolerance as a measure in the L2 Euclidean space.
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).
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).

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

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointCloudHost = pcl::PointCloud<PointT>

Definition at line 69 of file gpu_extract_labeled_clusters.h.

◆ PointCloudHostConstPtr

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointCloudHostConstPtr = typename PointCloudHost::ConstPtr

Definition at line 71 of file gpu_extract_labeled_clusters.h.

◆ PointCloudHostPtr

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointCloudHostPtr = typename PointCloudHost::Ptr

Definition at line 70 of file gpu_extract_labeled_clusters.h.

◆ PointIndicesConstPtr

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointIndicesConstPtr = PointIndices::ConstPtr

Definition at line 74 of file gpu_extract_labeled_clusters.h.

◆ PointIndicesPtr

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointIndicesPtr = PointIndices::Ptr

Definition at line 73 of file gpu_extract_labeled_clusters.h.

◆ PointType

template<typename PointT>
using pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::PointType = pcl::PointXYZ

Definition at line 68 of file gpu_extract_labeled_clusters.h.

Constructor & Destructor Documentation

◆ EuclideanLabeledClusterExtraction()

template<typename PointT>
pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::EuclideanLabeledClusterExtraction ( )
default

Empty constructor.

◆ ~EuclideanLabeledClusterExtraction()

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 cluster_tolerance_, pcl::gpu::compareLabeledPointClusters(), pcl::gpu::extractLabeledEuclideanClusters(), host_cloud_, input_, max_pts_per_cluster_, min_pts_per_cluster_, and tree_.

◆ 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 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 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 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 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 cluster_tolerance_.

◆ setHostCloud()

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

Definition at line 166 of file gpu_extract_labeled_clusters.h.

References host_cloud_.

◆ setInput()

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

Definition at line 160 of file gpu_extract_labeled_clusters.h.

References input_.

◆ 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 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 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 tree_.

Member Data Documentation

◆ cluster_tolerance_

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

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

Definition at line 188 of file gpu_extract_labeled_clusters.h.

Referenced by extract(), getClusterTolerance(), and setClusterTolerance().

◆ 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 extract(), and 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 extract(), and 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 extract(), getMaxClusterSize(), and 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 extract(), getMinClusterSize(), and setMinClusterSize().

◆ tree_

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

A pointer to the spatial search object.

Definition at line 185 of file gpu_extract_labeled_clusters.h.

Referenced by extract(), getSearchMethod(), and setSearchMethod().


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