point_cloud_library / 1.12.1 / classpcl_1_1_l_c_c_p_segmentation.html /

A simple segmentation algorithm partitioning a supervoxel graph into groups of locally convex connected supervoxels separated by concave borders. More...

#include <pcl/segmentation/lccp_segmentation.h>

Public Types

using SupervoxelAdjacencyList = boost::adjacency_list< boost::setS, boost::setS, boost::undirectedS, std::uint32_t, EdgeProperties >
using VertexIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::vertex_iterator
using AdjacencyIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::adjacency_iterator
using VertexID = typename boost::graph_traits< SupervoxelAdjacencyList >::vertex_descriptor
using EdgeIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::edge_iterator
using OutEdgeIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::out_edge_iterator
using EdgeID = typename boost::graph_traits< SupervoxelAdjacencyList >::edge_descriptor

Public Member Functions

LCCPSegmentation ()
virtual ~LCCPSegmentation ()
void reset ()
Reset internal memory. More...
void setInputSupervoxels (const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< std::uint32_t, std::uint32_t > &label_adjacency_arg)
Set the supervoxel clusters as well as the adjacency graph for the segmentation.Those parameters are generated by using the SupervoxelClustering class. More...
void segment ()
Merge supervoxels using local convexity. More...
void relabelCloud (pcl::PointCloud< pcl::PointXYZL > &labeled_cloud_arg)
Relabels cloud with supervoxel labels with the computed segment labels. More...
void getSegmentToSupervoxelMap (std::map< std::uint32_t, std::set< std::uint32_t > > &segment_supervoxel_map_arg) const
Get map<SegmentID, std::set<SuperVoxel IDs> > More...
void getSupervoxelToSegmentMap (std::map< std::uint32_t, std::uint32_t > &supervoxel_segment_map_arg) const
Get map<Supervoxel_ID, Segment_ID> More...
void getSegmentAdjacencyMap (std::map< std::uint32_t, std::set< std::uint32_t > > &segment_adjacency_map_arg)
Get map <SegmentID, std::set<Neighboring SegmentIDs> > More...
float getConcavityToleranceThreshold () const
Get normal threshold. More...
void getSVAdjacencyList (SupervoxelAdjacencyList &adjacency_list_arg) const
Get the supervoxel adjacency graph with classified edges (boost::adjacency_list). More...
void setConcavityToleranceThreshold (float concavity_tolerance_threshold_arg)
Set normal threshold. More...
void setSmoothnessCheck (bool use_smoothness_check_arg, float voxel_res_arg, float seed_res_arg, float smoothness_threshold_arg=0.1)
Determines if a smoothness check is done during segmentation, trying to invalidate edges of non-smooth connected edges (steps). More...
void setSanityCheck (const bool use_sanity_criterion_arg)
Determines if we want to use the sanity criterion to invalidate singular connected patches. More...
void setKFactor (const std::uint32_t k_factor_arg)
Set the value used for k convexity. More...
void setMinSegmentSize (const std::uint32_t min_segment_size_arg)
Set the value min_segment_size_ used in mergeSmallSegments. More...

Protected Member Functions

void mergeSmallSegments ()
Segments smaller than min_segment_size_ are merged to the label of largest neighbor. More...
void computeSegmentAdjacency ()
Compute the adjacency of the segments. More...
void prepareSegmentation (const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< std::uint32_t, std::uint32_t > &label_adjacency_arg)
Is called within setInputSupervoxels mainly to reserve required memory. More...
void doGrouping ()
Perform depth search on the graph and recursively group all supervoxels with convex connections. More...
void recursiveSegmentGrowing (const VertexID &queryPointID, const unsigned int group_label)
Assigns neighbors of the query point to the same group as the query point. More...
void calculateConvexConnections (SupervoxelAdjacencyList &adjacency_list_arg)
Calculates convexity of edges and saves this to the adjacency graph. More...
void applyKconvexity (const unsigned int k_arg)
Connections are only convex if this is true for at least k_arg common neighbors of the two patches. More...
bool connIsConvex (const std::uint32_t source_label_arg, const std::uint32_t target_label_arg, float &normal_angle)
Returns true if the connection between source and target is convex. More...

Protected Attributes

float concavity_tolerance_threshold_
*** Parameters *** /// More...
bool grouping_data_valid_
Marks if valid grouping data (sv_adjacency_list_, sv_label_to_seg_label_map_, processed_) is available. More...
bool supervoxels_set_
Marks if supervoxels have been set by calling setInputSupervoxels. More...
bool use_smoothness_check_
Determines if the smoothness check is used during segmentation. More...
float smoothness_threshold_
Two supervoxels are unsmooth if their plane-to-plane distance DIST > (expected_distance + smoothness_threshold_*voxel_resolution_). More...
bool use_sanity_check_
Determines if we use the sanity check which tries to find and invalidate singular connected patches. More...
float seed_resolution_
Seed resolution of the supervoxels (used only for smoothness check) More...
float voxel_resolution_
Voxel resolution used to build the supervoxels (used only for smoothness check) More...
std::uint32_t k_factor_
Factor used for k-convexity. More...
std::uint32_t min_segment_size_
Minimum segment size. More...
std::map< std::uint32_t, bool > processed_
Stores which supervoxel labels were already visited during recursive grouping. More...
SupervoxelAdjacencyList sv_adjacency_list_
Adjacency graph with the supervoxel labels as nodes and edges between adjacent supervoxels. More...
std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > sv_label_to_supervoxel_map_
map from the supervoxel labels to the supervoxel objects
More...
std::map< std::uint32_t, std::uint32_t > sv_label_to_seg_label_map_
Storing relation between original SuperVoxel Labels and new segmantion labels. More...
std::map< std::uint32_t, std::set< std::uint32_t > > seg_label_to_sv_list_map_
map Segment Label to a set of Supervoxel Labels More...
std::map< std::uint32_t, std::set< std::uint32_t > > seg_label_to_neighbor_set_map_
map < SegmentID, std::set< Neighboring segment labels> > More...

Detailed Description

template<typename PointT>
class pcl::LCCPSegmentation< PointT >

A simple segmentation algorithm partitioning a supervoxel graph into groups of locally convex connected supervoxels separated by concave borders.

Note
If you use this in a scientific work please cite the following paper: S. C. Stein, M. Schoeler, J. Papon, F. Woergoetter Object Partitioning using Local Convexity In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2014
Author
Simon Christoph Stein and Markus Schoeler ( mscho.nosp@m.eler.nosp@m.@gwdg.nosp@m..de)

Definition at line 57 of file lccp_segmentation.h.

Member Typedef Documentation

AdjacencyIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::AdjacencyIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::adjacency_iterator

Definition at line 85 of file lccp_segmentation.h.

EdgeID

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::EdgeID = typename boost::graph_traits<SupervoxelAdjacencyList>::edge_descriptor

Definition at line 90 of file lccp_segmentation.h.

EdgeIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::EdgeIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::edge_iterator

Definition at line 88 of file lccp_segmentation.h.

OutEdgeIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::OutEdgeIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::out_edge_iterator

Definition at line 89 of file lccp_segmentation.h.

SupervoxelAdjacencyList

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::SupervoxelAdjacencyList = boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, std::uint32_t, EdgeProperties>

Definition at line 83 of file lccp_segmentation.h.

VertexID

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::VertexID = typename boost::graph_traits<SupervoxelAdjacencyList>::vertex_descriptor

Definition at line 87 of file lccp_segmentation.h.

VertexIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::VertexIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::vertex_iterator

Definition at line 84 of file lccp_segmentation.h.

Constructor & Destructor Documentation

LCCPSegmentation()

template<typename PointT >
pcl::LCCPSegmentation< PointT >::LCCPSegmentation

Definition at line 54 of file lccp_segmentation.hpp.

~LCCPSegmentation()

template<typename PointT >
pcl::LCCPSegmentation< PointT >::~LCCPSegmentation
virtual

Definition at line 69 of file lccp_segmentation.hpp.

Member Function Documentation

applyKconvexity()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::applyKconvexity ( const unsigned int k_arg )
protected

Connections are only convex if this is true for at least k_arg common neighbors of the two patches.

Call setKFactor before segment to use this.

Parameters
[in] k_arg Factor used for extended convexity check

Definition at line 355 of file lccp_segmentation.hpp.

calculateConvexConnections()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::calculateConvexConnections ( SupervoxelAdjacencyList & adjacency_list_arg )
protected

Calculates convexity of edges and saves this to the adjacency graph.

Parameters
[in,out] adjacency_list_arg The supervoxel adjacency list

Definition at line 412 of file lccp_segmentation.hpp.

computeSegmentAdjacency()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::computeSegmentAdjacency
protected

Compute the adjacency of the segments.

Definition at line 137 of file lccp_segmentation.hpp.

Referenced by pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap().

connIsConvex()

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::connIsConvex ( const std::uint32_t source_label_arg,
const std::uint32_t target_label_arg,
float & normal_angle
)
protected

Returns true if the connection between source and target is convex.

Parameters
[in] source_label_arg Label of one supervoxel connected to the edge that should be checked
[in] target_label_arg Label of the other supervoxel connected to the edge that should be checked
[out] normal_angle The angle between source and target
Returns
True if connection is convex

Definition at line 432 of file lccp_segmentation.hpp.

References pcl::Supervoxel< PointT >::centroid_, pcl::getAngle3D(), and pcl::Supervoxel< PointT >::normal_.

doGrouping()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::doGrouping
protected

Perform depth search on the graph and recursively group all supervoxels with convex connections.

Note
The vertices in the supervoxel adjacency list are the supervoxel centroids

Definition at line 294 of file lccp_segmentation.hpp.

getConcavityToleranceThreshold()

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::getConcavityToleranceThreshold ( ) const
inline

Get normal threshold.

Returns
The concavity tolerance angle in [deg] that is currently set

Definition at line 177 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_.

getSegmentAdjacencyMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap ( std::map< std::uint32_t, std::set< std::uint32_t > > & segment_adjacency_map_arg )
inline

Get map <SegmentID, std::set<Neighboring SegmentIDs> >

Parameters
[out] segment_adjacency_map_arg map < SegmentID, std::set< Neighboring SegmentIDs> >. On error the map is empty.

Definition at line 159 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::computeSegmentAdjacency(), pcl::LCCPSegmentation< PointT >::grouping_data_valid_, and pcl::LCCPSegmentation< PointT >::seg_label_to_neighbor_set_map_.

getSegmentToSupervoxelMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSegmentToSupervoxelMap ( std::map< std::uint32_t, std::set< std::uint32_t > > & segment_supervoxel_map_arg ) const
inline

Get map<SegmentID, std::set<SuperVoxel IDs> >

Parameters
[out] segment_supervoxel_map_arg The output container. On error the map is empty.

Definition at line 127 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::grouping_data_valid_, and pcl::LCCPSegmentation< PointT >::seg_label_to_sv_list_map_.

getSupervoxelToSegmentMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSupervoxelToSegmentMap ( std::map< std::uint32_t, std::uint32_t > & supervoxel_segment_map_arg ) const
inline

Get map<Supervoxel_ID, Segment_ID>

Parameters
[out] supervoxel_segment_map_arg The output container. On error the map is empty.

Definition at line 143 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::grouping_data_valid_, and pcl::LCCPSegmentation< PointT >::sv_label_to_seg_label_map_.

getSVAdjacencyList()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSVAdjacencyList ( SupervoxelAdjacencyList & adjacency_list_arg ) const
inline

Get the supervoxel adjacency graph with classified edges (boost::adjacency_list).

Parameters
[out] adjacency_list_arg The supervoxel adjacency list with classified (convex/concave) edges. On error the list is empty.

Definition at line 185 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::grouping_data_valid_, and pcl::LCCPSegmentation< PointT >::sv_adjacency_list_.

mergeSmallSegments()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::mergeSmallSegments
protected

Segments smaller than min_segment_size_ are merged to the label of largest neighbor.

Definition at line 168 of file lccp_segmentation.hpp.

prepareSegmentation()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::prepareSegmentation ( const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > & supervoxel_clusters_arg,
const std::multimap< std::uint32_t, std::uint32_t > & label_adjacency_arg
)
protected

Is called within setInputSupervoxels mainly to reserve required memory.

Parameters
[in] supervoxel_clusters_arg map of < supervoxel labels, supervoxels >
[in] label_adjacency_arg The graph defining the supervoxel adjacency relations

Definition at line 244 of file lccp_segmentation.hpp.

Referenced by pcl::LCCPSegmentation< PointT >::setInputSupervoxels().

recursiveSegmentGrowing()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::recursiveSegmentGrowing ( const VertexID & queryPointID,
const unsigned int group_label
)
protected

Assigns neighbors of the query point to the same group as the query point.

Recursive part of doGrouping. Grouping is done by a depth-search of nodes in the adjacency-graph.

Parameters
[in] queryPointID ID of point whose neighbors will be considered for grouping
[in] group_label ID of the group/segment the queried point belongs to

Definition at line 325 of file lccp_segmentation.hpp.

relabelCloud()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::relabelCloud ( pcl::PointCloud< pcl::PointXYZL > & labeled_cloud_arg )

Relabels cloud with supervoxel labels with the computed segment labels.

labeled_cloud_arg should be created using SupervoxelClustering::getLabeledCloud.

Parameters
[in,out] labeled_cloud_arg Cloud to relabel

Definition at line 112 of file lccp_segmentation.hpp.

reset()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::reset

Reset internal memory.


Definition at line 74 of file lccp_segmentation.hpp.

segment()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::segment

Merge supervoxels using local convexity.

The input parameters are generated by using the SupervoxelClustering class. To retrieve the output use the relabelCloud method.

Note
There are three ways to retrieve the segmentation afterwards: relabelCloud, getSegmentToSupervoxelMap and getSupervoxelToSegmentMap.

Definition at line 87 of file lccp_segmentation.hpp.

setConcavityToleranceThreshold()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setConcavityToleranceThreshold ( float concavity_tolerance_threshold_arg )
inline

Set normal threshold.

Parameters
[in] concavity_tolerance_threshold_arg the concavity tolerance angle in [deg] to set

Definition at line 201 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_.

setInputSupervoxels()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setInputSupervoxels ( const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > & supervoxel_clusters_arg,
const std::multimap< std::uint32_t, std::uint32_t > & label_adjacency_arg
)
inline

Set the supervoxel clusters as well as the adjacency graph for the segmentation.Those parameters are generated by using the SupervoxelClustering class.

To retrieve the output use the segment method.

Parameters
[in] supervoxel_clusters_arg Map of < supervoxel labels, supervoxels >
[in] label_adjacency_arg The graph defining the supervoxel adjacency relations
Note
Implicitly calls reset

Definition at line 106 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::prepareSegmentation(), and pcl::LCCPSegmentation< PointT >::supervoxels_set_.

setKFactor()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setKFactor ( const std::uint32_t k_factor_arg )
inline

Set the value used for k convexity.

For k>0 convex connections between p_i and p_j require k common neighbors of these patches that have a convex connection to both.

Parameters
[in] k_factor_arg factor used for extended convexity check

Definition at line 234 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::k_factor_.

setMinSegmentSize()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setMinSegmentSize ( const std::uint32_t min_segment_size_arg )
inline

Set the value min_segment_size_ used in mergeSmallSegments.

Parameters
[in] min_segment_size_arg Segments smaller than this size will be merged

Definition at line 242 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::min_segment_size_.

setSanityCheck()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setSanityCheck ( const bool use_sanity_criterion_arg )
inline

Determines if we want to use the sanity criterion to invalidate singular connected patches.

Parameters
[in] use_sanity_criterion_arg Determines if the sanity check is performed

Definition at line 226 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::use_sanity_check_.

setSmoothnessCheck()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setSmoothnessCheck ( bool use_smoothness_check_arg,
float voxel_res_arg,
float seed_res_arg,
float smoothness_threshold_arg = 0.1
)
inline

Determines if a smoothness check is done during segmentation, trying to invalidate edges of non-smooth connected edges (steps).

Two supervoxels are unsmooth if their plane-to-plane distance DIST > (expected_distance + smoothness_threshold_*voxel_resolution_). For parallel supervoxels, the expected_distance is zero.

Parameters
[in] use_smoothness_check_arg Determines if the smoothness check is used
[in] voxel_res_arg The voxel resolution used for the supervoxels that are segmented
[in] seed_res_arg The seed resolution used for the supervoxels that are segmented
[in] smoothness_threshold_arg Threshold (/fudging factor) for smoothness constraint according to the above formula.

Definition at line 212 of file lccp_segmentation.h.

References pcl::LCCPSegmentation< PointT >::seed_resolution_, pcl::LCCPSegmentation< PointT >::smoothness_threshold_, pcl::LCCPSegmentation< PointT >::use_smoothness_check_, and pcl::LCCPSegmentation< PointT >::voxel_resolution_.

Member Data Documentation

concavity_tolerance_threshold_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_
protected

*** Parameters *** ///

Normal Threshold in degrees [0,180] used for merging

Definition at line 300 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::getConcavityToleranceThreshold(), and pcl::LCCPSegmentation< PointT >::setConcavityToleranceThreshold().

grouping_data_valid_

k_factor_

template<typename PointT >
std::uint32_t pcl::LCCPSegmentation< PointT >::k_factor_
protected

Factor used for k-convexity.

Definition at line 324 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setKFactor().

min_segment_size_

template<typename PointT >
std::uint32_t pcl::LCCPSegmentation< PointT >::min_segment_size_
protected

Minimum segment size.

Definition at line 327 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setMinSegmentSize().

processed_

template<typename PointT >
std::map<std::uint32_t, bool> pcl::LCCPSegmentation< PointT >::processed_
protected

Stores which supervoxel labels were already visited during recursive grouping.

Note
processed_[sv_Label] = false (default)/true (already processed)

Definition at line 331 of file lccp_segmentation.h.

seed_resolution_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::seed_resolution_
protected

Seed resolution of the supervoxels (used only for smoothness check)

Definition at line 318 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

seg_label_to_neighbor_set_map_

template<typename PointT >
std::map<std::uint32_t, std::set<std::uint32_t> > pcl::LCCPSegmentation< PointT >::seg_label_to_neighbor_set_map_
protected

map < SegmentID, std::set< Neighboring segment labels> >

Definition at line 347 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap().

seg_label_to_sv_list_map_

template<typename PointT >
std::map<std::uint32_t, std::set<std::uint32_t> > pcl::LCCPSegmentation< PointT >::seg_label_to_sv_list_map_
protected

map Segment Label to a set of Supervoxel Labels

Definition at line 344 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::getSegmentToSupervoxelMap().

smoothness_threshold_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::smoothness_threshold_
protected

Two supervoxels are unsmooth if their plane-to-plane distance DIST > (expected_distance + smoothness_threshold_*voxel_resolution_).

For parallel supervoxels, the expected_distance is zero.

Definition at line 312 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

supervoxels_set_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::supervoxels_set_
protected

Marks if supervoxels have been set by calling setInputSupervoxels.

Definition at line 306 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setInputSupervoxels().

sv_adjacency_list_

template<typename PointT >
SupervoxelAdjacencyList pcl::LCCPSegmentation< PointT >::sv_adjacency_list_
protected

Adjacency graph with the supervoxel labels as nodes and edges between adjacent supervoxels.

Definition at line 334 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::getSVAdjacencyList().

sv_label_to_seg_label_map_

template<typename PointT >
std::map<std::uint32_t, std::uint32_t> pcl::LCCPSegmentation< PointT >::sv_label_to_seg_label_map_
protected

Storing relation between original SuperVoxel Labels and new segmantion labels.

Note
sv_label_to_seg_label_map_[old_labelID] = new_labelID

Definition at line 341 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::getSupervoxelToSegmentMap().

sv_label_to_supervoxel_map_

template<typename PointT >
std::map<std::uint32_t, typename pcl::Supervoxel<PointT>::Ptr> pcl::LCCPSegmentation< PointT >::sv_label_to_supervoxel_map_
protected

map from the supervoxel labels to the supervoxel objects

Definition at line 337 of file lccp_segmentation.h.

use_sanity_check_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::use_sanity_check_
protected

Determines if we use the sanity check which tries to find and invalidate singular connected patches.

Definition at line 315 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setSanityCheck().

use_smoothness_check_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::use_smoothness_check_
protected

Determines if the smoothness check is used during segmentation.

Definition at line 309 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

voxel_resolution_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::voxel_resolution_
protected

Voxel resolution used to build the supervoxels (used only for smoothness check)

Definition at line 321 of file lccp_segmentation.h.

Referenced by pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_l_c_c_p_segmentation.html