segments.h File Reference
#include <map>
#include <vector>
#include <pcl/point_cloud.h>
#include <pcl/PointIndices.h>
#include <VisionX/interface/core/DataTypes.h>
#include <SimoxUtility/shapes/AxisAlignedBoundingBox.h>
#include "AABB.h"
+ Include dependency graph for segments.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 visionx
 ArmarX headers.
 
 visionx::tools
 
 visionx::tools::detail
 

Functions

void addSegmentIndex (std::map< uint32_t, pcl::PointIndices > &segmentIndices, uint32_t label, std::size_t index)
 
void addSegmentIndex (std::map< uint32_t, pcl::PointIndices::Ptr > &segmentIndices, uint32_t label, std::size_t index)
 
template<class LabeledPointT , class MapValueT >
void addSegmentIndices (const pcl::PointCloud< LabeledPointT > &labeledCloud, std::map< uint32_t, MapValueT > &segmentIndices, bool excludeZero=false)
 
template<class LabeledPointT >
void addSegmentIndices (std::map< uint32_t, pcl::PointIndices > &segmentIndices, const pcl::PointCloud< LabeledPointT > &labeledCloud, bool excludeZero=false)
 Add indices of each segment's points to segmentIndices. More...
 
template<class LabeledPointT >
void addSegmentIndices (std::map< uint32_t, pcl::PointIndices::Ptr > &segmentIndices, const pcl::PointCloud< LabeledPointT > &labeledCloud, bool excludeZero=false)
 
template<typename LabeledPointT >
std::set< uint32_t > getLabelSet (const pcl::PointCloud< LabeledPointT > &pointCloud)
 Return the set of labels in pointCloud. More...
 
template<class ValueT >
std::set< uint32_t > getLabelSet (const std::map< uint32_t, ValueT > &segmentIndices)
 Return the labels in segmentIndices as std::set. More...
 
template<class PointT , class IndicesT = pcl::PointIndices>
std::map< uint32_t, simox::AxisAlignedBoundingBox > getSegmentAABBs (const pcl::PointCloud< PointT > &pointCloud, const std::map< uint32_t, IndicesT > &segmentIndices)
 
template<class PointT , class IndicesT = pcl::PointIndices>
std::vector< simox::AxisAlignedBoundingBox > getSegmentAABBs (const pcl::PointCloud< PointT > &pointCloud, const std::vector< IndicesT > &segmentIndices)
 
template<class LabeledPointT >
std::map< uint32_t, pcl::PointIndices > getSegmentIndices (const pcl::PointCloud< LabeledPointT > &labeledCloud, bool excludeZero=false)
 Get a map from segment labels to indices of segments' points. More...
 
template<class LabeledPointT >
std::map< uint32_t, pcl::PointIndices::Ptr > getSegmentIndicesPtr (const pcl::PointCloud< LabeledPointT > &labeledCloud, bool excludeZero=false)
 Version of addSegmentIndices() containing pcl::PointIndices::Ptr. More...
 
template<class ValueT >
std::vector< uint32_t > getUniqueLabels (const std::map< uint32_t, ValueT > &segmentIndices)
 Return the labels in segmentIndices as std::vector. More...
 
template<class PointT >
void relabel (pcl::PointCloud< PointT > &pointCloud, const std::map< uint32_t, pcl::PointIndices > &segmentIndices)
 
template<class PointT >
void relabel (pcl::PointCloud< PointT > &pointCloud, const std::map< uint32_t, pcl::PointIndices::Ptr > &segmentIndices)