Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
pcl::gpu::EuclideanClusterExtraction< PointT > Class Template Reference

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

#include </build/pcl-uIWyNl/pcl-1.15.1+dfsg/gpu/segmentation/include/pcl/gpu/segmentation/gpu_extract_clusters.h>

Public Types

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

 EuclideanClusterExtraction ()=default
 Empty constructor.
virtual ~EuclideanClusterExtraction ()=default
 Default virtual destructor.
void setSearchMethod (GPUTreePtr &tree)
 the destructor
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< pcl::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::EuclideanClusterExtraction< PointT >

EuclideanClusterExtraction 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_clusters.h.

Member Typedef Documentation

◆ CloudDevice

template<typename PointT>
using pcl::gpu::EuclideanClusterExtraction< PointT >::CloudDevice = pcl::gpu::Octree::PointCloud

Definition at line 78 of file gpu_extract_clusters.h.

◆ GPUTree

template<typename PointT>
using pcl::gpu::EuclideanClusterExtraction< PointT >::GPUTree = pcl::gpu::Octree

Definition at line 75 of file gpu_extract_clusters.h.

◆ GPUTreePtr

template<typename PointT>
using pcl::gpu::EuclideanClusterExtraction< PointT >::GPUTreePtr = pcl::gpu::Octree::Ptr

Definition at line 76 of file gpu_extract_clusters.h.

◆ PointCloudHost

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

Definition at line 68 of file gpu_extract_clusters.h.

◆ PointCloudHostConstPtr

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

Definition at line 70 of file gpu_extract_clusters.h.

◆ PointCloudHostPtr

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

Definition at line 69 of file gpu_extract_clusters.h.

◆ PointIndicesConstPtr

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

Definition at line 73 of file gpu_extract_clusters.h.

◆ PointIndicesPtr

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

Definition at line 72 of file gpu_extract_clusters.h.

Constructor & Destructor Documentation

◆ EuclideanClusterExtraction()

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

Empty constructor.

◆ ~EuclideanClusterExtraction()

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

Default virtual destructor.

Member Function Documentation

◆ extract()

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

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

Parameters
clustersthe resultant point clusters

Definition at line 189 of file gpu_extract_clusters.hpp.

References cluster_tolerance_, pcl::gpu::extractEuclideanClusters(), host_cloud_, max_pts_per_cluster_, min_pts_per_cluster_, and tree_.

◆ getClassName()

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

Class getName method.

Definition at line 206 of file gpu_extract_clusters.h.

◆ getClusterTolerance()

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

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

Definition at line 124 of file gpu_extract_clusters.h.

References cluster_tolerance_.

◆ getMaxClusterSize()

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

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

Definition at line 160 of file gpu_extract_clusters.h.

References max_pts_per_cluster_.

◆ getMinClusterSize()

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

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

Definition at line 142 of file gpu_extract_clusters.h.

References min_pts_per_cluster_.

◆ getSearchMethod()

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

Get a pointer to the search method used.

Todo
fix this for a generic search tree

Definition at line 106 of file gpu_extract_clusters.h.

References tree_.

◆ setClusterTolerance()

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

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

Parameters
tolerancethe spatial cluster tolerance as a measure in the L2 Euclidean space

Definition at line 116 of file gpu_extract_clusters.h.

References cluster_tolerance_.

◆ setHostCloud()

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

Definition at line 172 of file gpu_extract_clusters.h.

References host_cloud_.

◆ setInput()

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

Definition at line 166 of file gpu_extract_clusters.h.

References input_.

◆ setMaxClusterSize()

template<typename PointT>
void pcl::gpu::EuclideanClusterExtraction< 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 152 of file gpu_extract_clusters.h.

References max_pts_per_cluster_.

◆ setMinClusterSize()

template<typename PointT>
void pcl::gpu::EuclideanClusterExtraction< 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 134 of file gpu_extract_clusters.h.

References min_pts_per_cluster_.

◆ setSearchMethod()

template<typename PointT>
void pcl::gpu::EuclideanClusterExtraction< PointT >::setSearchMethod ( GPUTreePtr & tree)
inline

the destructor

Provide a pointer to the search object.

Parameters
treea pointer to the spatial search object.

Definition at line 97 of file gpu_extract_clusters.h.

References tree_.

Member Data Documentation

◆ cluster_tolerance_

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

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

Definition at line 194 of file gpu_extract_clusters.h.

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

◆ host_cloud_

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

the original cloud the Host

Definition at line 188 of file gpu_extract_clusters.h.

Referenced by extract(), and setHostCloud().

◆ input_

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

the input cloud on the GPU

Definition at line 185 of file gpu_extract_clusters.h.

Referenced by setInput().

◆ max_pts_per_cluster_

template<typename PointT>
int pcl::gpu::EuclideanClusterExtraction< 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 202 of file gpu_extract_clusters.h.

Referenced by extract(), getMaxClusterSize(), and setMaxClusterSize().

◆ min_pts_per_cluster_

template<typename PointT>
int pcl::gpu::EuclideanClusterExtraction< 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 198 of file gpu_extract_clusters.h.

Referenced by extract(), getMinClusterSize(), and setMinClusterSize().

◆ tree_

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

A pointer to the spatial search object.

Definition at line 191 of file gpu_extract_clusters.h.

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


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