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

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>

+ Inheritance diagram for pcl::LCCPSegmentation< PointT >:

Public Types

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

Public Member Functions

 LCCPSegmentation ()
 
virtual ~LCCPSegmentation ()
 
void reset ()
 Reset internal memory. More...
 
void setInputSupervoxels (const std::map< uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< uint32_t, 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< uint32_t, std::set< uint32_t > > &segment_supervoxel_map_arg) const
 Get map<SegmentID, std::set<SuperVoxel IDs> > More...
 
void getSupervoxelToSegmentMap (std::map< uint32_t, uint32_t > &supervoxel_segment_map_arg) const
 Get map<Supervoxel_ID, Segment_ID> More...
 
void getSegmentAdjacencyMap (std::map< uint32_t, std::set< 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 uint32_t k_factor_arg)
 Set the value used for k convexity. More...
 
void setMinSegmentSize (const 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< uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< uint32_t, 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 uint32_t source_label_arg, const 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 avaiable. 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...
 
uint32_t k_factor_
 Factor used for k-convexity. More...
 
uint32_t min_segment_size_
 Minimum segment size. More...
 
std::map< 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< uint32_t, typename
pcl::Supervoxel< PointT >::Ptr > 
sv_label_to_supervoxel_map_
 map from the supervoxel labels to the supervoxel objects More...
 
std::map< uint32_t, uint32_t > sv_label_to_seg_label_map_
 Storing relation between original SuperVoxel Labels and new segmantion labels. More...
 
std::map< uint32_t, std::set
< uint32_t > > 
seg_label_to_sv_list_map_
 map <Segment Label, std::set <SuperVoxel labels>=""> > More...
 
std::map< uint32_t, std::set
< 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 59 of file lccp_segmentation.h.

Member Typedef Documentation

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

Definition at line 87 of file lccp_segmentation.h.

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

Definition at line 92 of file lccp_segmentation.h.

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

Definition at line 90 of file lccp_segmentation.h.

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

Definition at line 91 of file lccp_segmentation.h.

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

Definition at line 85 of file lccp_segmentation.h.

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

Definition at line 89 of file lccp_segmentation.h.

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

Definition at line 86 of file lccp_segmentation.h.

Constructor & Destructor Documentation

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

Definition at line 54 of file lccp_segmentation.hpp.

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

Definition at line 69 of file lccp_segmentation.hpp.

Member Function Documentation

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_argFactor used for extended convexity check

Definition at line 371 of file lccp_segmentation.hpp.

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_argThe supervoxel adjacency list

Definition at line 437 of file lccp_segmentation.hpp.

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

Compute the adjacency of the segments.

Definition at line 138 of file lccp_segmentation.hpp.

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

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

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

Parameters
[in]source_label_argLabel of one supervoxel connected to the edge that should be checked
[in]target_label_argLabel of the other supervoxel connected to the edge that should be checked
[out]normal_angleThe angle between source and target
Returns
True if connection is convex

Definition at line 460 of file lccp_segmentation.hpp.

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

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 308 of file lccp_segmentation.hpp.

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 179 of file lccp_segmentation.h.

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

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

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

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

Definition at line 161 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_.

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

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

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

Definition at line 129 of file lccp_segmentation.h.

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

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

Get map<Supervoxel_ID, Segment_ID>

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

Definition at line 145 of file lccp_segmentation.h.

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

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_argThe supervoxel adjacency list with classified (convex/concave) edges. On error the list is empty.

Definition at line 187 of file lccp_segmentation.h.

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

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 171 of file lccp_segmentation.hpp.

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

Is called within setInputSupervoxels mainly to reserve required memory.

Parameters
[in]supervoxel_clusters_argmap of < supervoxel labels, supervoxels >
[in]label_adjacency_argThe graph defining the supervoxel adjacency relations

Definition at line 257 of file lccp_segmentation.hpp.

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

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]queryPointIDID of point whose neighbors will be considered for grouping
[in]group_labelID of the group/segment the queried point belongs to

Definition at line 341 of file lccp_segmentation.hpp.

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 the getLabeledCloud method of the SupervoxelClustering class.

Parameters
[in,out]labeled_cloud_argCloud to relabel

Definition at line 112 of file lccp_segmentation.hpp.

References pcl::PointCloud< T >::begin(), and pcl::PointCloud< T >::end().

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

Reset internal memory.

Definition at line 74 of file lccp_segmentation.hpp.

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, getSegmentSupervoxelMap and getSupervoxelSegmentMap

Definition at line 87 of file lccp_segmentation.hpp.

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

Set normal threshold.

Parameters
[in]concavity_tolerance_threshold_argthe concavity tolerance angle in [deg] to set

Definition at line 203 of file lccp_segmentation.h.

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

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setInputSupervoxels ( const std::map< uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &  supervoxel_clusters_arg,
const std::multimap< uint32_t, 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_argMap of < supervoxel labels, supervoxels >
[in]label_adjacency_argThe graph defining the supervoxel adjacency relations
Note
Implicitly calls reset

Definition at line 108 of file lccp_segmentation.h.

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

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setKFactor ( const 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_argfactor used for extended convexity check

Definition at line 236 of file lccp_segmentation.h.

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

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

Set the value min_segment_size_ used in mergeSmallSegments.

Parameters
[in]min_segment_size_argSegments smaller than this size will be merged

Definition at line 244 of file lccp_segmentation.h.

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

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_argDetermines if the sanity check is performed

Definition at line 228 of file lccp_segmentation.h.

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

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_argDetermines if the smoothness check is used
[in]voxel_res_argThe voxel resolution used for the supervoxels that are segmented
[in]seed_res_argThe seed resolution used for the supervoxels that are segmented
[in]smoothness_threshold_argThreshold (/fudging factor) for smoothness constraint according to the above formula.

Definition at line 214 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

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

*** Parameters *** ///

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

Definition at line 302 of file lccp_segmentation.h.

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

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::grouping_data_valid_
protected
template<typename PointT >
uint32_t pcl::LCCPSegmentation< PointT >::k_factor_
protected

Factor used for k-convexity.

Definition at line 326 of file lccp_segmentation.h.

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

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

Minimum segment size.

Definition at line 329 of file lccp_segmentation.h.

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

template<typename PointT >
std::map<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 333 of file lccp_segmentation.h.

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

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

Definition at line 320 of file lccp_segmentation.h.

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

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

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

Definition at line 349 of file lccp_segmentation.h.

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

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

map <Segment Label, std::set <SuperVoxel labels>=""> >

Definition at line 346 of file lccp_segmentation.h.

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

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 314 of file lccp_segmentation.h.

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

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

Marks if supervoxels have been set by calling setInputSupervoxels.

Definition at line 308 of file lccp_segmentation.h.

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

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 336 of file lccp_segmentation.h.

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

template<typename PointT >
std::map<uint32_t, 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 343 of file lccp_segmentation.h.

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

template<typename PointT >
std::map<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 339 of file lccp_segmentation.h.

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 317 of file lccp_segmentation.h.

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

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

Determines if the smoothness check is used during segmentation.

Definition at line 311 of file lccp_segmentation.h.

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

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 323 of file lccp_segmentation.h.

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


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