Image Component Library (ICL)
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
icl::geom::ConfigurableDepthImageSegmenter Class Reference

#include <ConfigurableDepthImageSegmenter.h>

Inheritance diagram for icl::geom::ConfigurableDepthImageSegmenter:
icl::utils::Configurable

Public Types

enum  Mode { BEST, GPU, CPU }
 
- Public Types inherited from icl::utils::Configurable
typedef Function< void, const Property & > Callback
 Function type for changed properties. More...
 

Public Member Functions

 ConfigurableDepthImageSegmenter (Mode mode, Camera depthCam, icl::geom::PointCloudCreator::DepthImageMode depth_mode=icl::geom::PointCloudCreator::KinectRAW11Bit)
 Constructor. More...
 
 ConfigurableDepthImageSegmenter (Mode mode, Camera depthCam, Camera colorCam, icl::geom::PointCloudCreator::DepthImageMode depth_mode=icl::geom::PointCloudCreator::KinectRAW11Bit)
 
 ~ConfigurableDepthImageSegmenter ()
 Destructor. More...
 
void apply (const core::Img32f &depthImage, PointCloudObject &obj)
 One line call for the whole segmentation pipeline. More...
 
std::vector< geom::SurfaceFeatureExtractor::SurfaceFeaturegetSurfaceFeatures ()
 
const core::Img8u getNormalImage ()
 Returns the colored normal image. More...
 
const core::Img8u getEdgeImage ()
 Returns the edge image. More...
 
core::Img32s getLabelImage ()
 Returns the label image. More...
 
const core::DataSegment< float, 4 > getNormalSegment ()
 
core::Img8u getColoredLabelImage ()
 Returns the colored label image. More...
 
*const core::Img32f getAngleImage ()
 
core::Img8u getMappedColorImage (const core::Img8u &image)
 Returns the mapped image (the last passed depth image is used for mapping) assumed to be grabbed by the camera cam. More...
 
void mapImageToDepth (const core::ImgBase *src, core::ImgBase **dst)
 
std::vector< std::vector< int > > getSurfaces ()
 Returns the surface cluster from the pre-segmentation. More...
 
std::vector< std::vector< int > > getSegments ()
 Returns the segment blobs. More...
 
void setNormals (core::DataSegment< float, 4 > &normals)
 
void setEdgeSegData (core::Img8u &edges, core::Img8u &normal_img)
 
void setUseExternalEdges (bool use_external_edges)
 
- Public Member Functions inherited from icl::utils::Configurable
virtual ~Configurable ()
 virtual destructor More...
 
 Configurable (const Configurable &other)
 Copy constructor. More...
 
Configurableoperator= (const Configurable &other)
 Assignment operator. More...
 
void setConfigurableID (const std::string &ID)
 sets the ID of this configurable More...
 
const std::string & getConfigurableID () const
 returns the configurables static ID More...
 
bool isOrderedFlagSet () const
 returns whether the ordered flag is set More...
 
void deactivateProperty (const std::string &pattern)
 adds an additional deativation pattern More...
 
void deleteDeactivationPattern (const std::string &pattern)
 removed a formerly added deactivation pattern More...
 
std::vector< std::string > getPropertyListWithoutDeactivated () const
 this returns a filtered list of properties (using all filters added by deactivateProperty) More...
 
virtual void adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip)
 this function can be used to adapt a specific property afterwards More...
 
void registerCallback (const Callback &cb)
 add a callback for changed properties More...
 
void removedCallback (const Callback &cb)
 removes a callback that was registered before More...
 
void syncChangesTo (Configurable *others, int num=1)
 this can be used to let this instance also apply property changes to others More...
 
virtual void setPropertyValue (const std::string &propertyName, const Any &value)
 sets a property value More...
 
virtual std::vector< std::string > getPropertyList () const
 returns a list of All properties, that can be set using setProperty More...
 
virtual bool supportsProperty (const std::string &propertyName) const
 base implementation for property check (seaches in the property list) More...
 
virtual void saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const
 writes all available properties into a file More...
 
virtual void loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC)
 reads a camera config file from disc More...
 
virtual std::string getPropertyType (const std::string &propertyName) const
 get type of property More...
 
virtual std::string getPropertyInfo (const std::string &propertyName) const
 get information of a properties valid values More...
 
virtual Any getPropertyValue (const std::string &propertyName) const
 returns the current value of a property or a parameter More...
 
virtual std::string getPropertyToolTip (const std::string &propertyName) const
 returns the tooltip description for a given property More...
 
virtual int getPropertyVolatileness (const std::string &propertyName) const
 Returns whether this property may be changed internally. More...
 

Private Member Functions

void initProperties ()
 

Private Attributes

Data * m_data
 internal data type More...
 

Additional Inherited Members

- Static Public Member Functions inherited from icl::utils::Configurable
static std::string create_default_ID (const std::string &prefix)
 this function can be used in subclasses to create a default ID More...
 
static Configurableget (const std::string &id)
 returns configurable by given ID More...
 
static void register_configurable_type (const std::string &classname, Function< Configurable * > creator)
 registers a configurable type More...
 
static std::vector< std::string > get_registered_configurables ()
 returns a list of all registered configurable classnames More...
 
static Configurablecreate_configurable (const std::string &classname)
 creates a configurable by given name More...
 
- Static Public Attributes inherited from icl::utils::Configurable
static const std::vector< std::string > EMPTY_VEC
 used as shortcut – just an empty vector of std::strings More...
 
- Protected Member Functions inherited from icl::utils::Configurable
void addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string())
 This can be used by derived classes to store supported properties in the internal list. More...
 
void addChildConfigurable (Configurable *configurable, const std::string &childPrefix="")
 This adds another configurable as child. More...
 
void removeChildConfigurable (Configurable *configurable)
 removes the given child configurable More...
 
Propertyprop (const std::string &propertyName)
 this CAN be used e.g. to store a property value in internal property-list More...
 
const Propertyprop (const std::string &propertyName) const
 this CAN be used e.g. to store a property value in internal property-list More...
 
 Configurable (const std::string &ID="", bool ordered=true)
 create this configurable with given ID More...
 
void call_callbacks (const std::string &propertyName, const Configurable *caller) const
 calls all registered callbacks More...
 
- Protected Attributes inherited from icl::utils::Configurable
std::vector< Callbackcallbacks
 internally managed list of callbacks More...
 

Detailed Description

This class computes the whole segmentation pipeline of the feature graph based segmentation. The configurable class provides the GUI with all paramters: Prop("segmentation")

Member Enumeration Documentation

◆ Mode

Enumerator
BEST 
GPU 
CPU 

Constructor & Destructor Documentation

◆ ConfigurableDepthImageSegmenter() [1/2]

icl::geom::ConfigurableDepthImageSegmenter::ConfigurableDepthImageSegmenter ( Mode  mode,
Camera  depthCam,
icl::geom::PointCloudCreator::DepthImageMode  depth_mode = icl::geom::PointCloudCreator::KinectRAW11Bit 
)

Constructor.

Constructs an object of this class.

Parameters
modeGPU, CPU and BEST (default)
depthCamthe depth camera

◆ ConfigurableDepthImageSegmenter() [2/2]

icl::geom::ConfigurableDepthImageSegmenter::ConfigurableDepthImageSegmenter ( Mode  mode,
Camera  depthCam,
Camera  colorCam,
icl::geom::PointCloudCreator::DepthImageMode  depth_mode = icl::geom::PointCloudCreator::KinectRAW11Bit 
)

◆ ~ConfigurableDepthImageSegmenter()

icl::geom::ConfigurableDepthImageSegmenter::~ConfigurableDepthImageSegmenter ( )

Destructor.

Member Function Documentation

◆ apply()

void icl::geom::ConfigurableDepthImageSegmenter::apply ( const core::Img32f depthImage,
PointCloudObject obj 
)

One line call for the whole segmentation pipeline.

Parameters
depthImagethe input depth image
objthe empty pointcloud object for the results (computed in the method)

◆ getAngleImage()

* const core::Img32f icl::geom::ConfigurableDepthImageSegmenter::getAngleImage ( )

Returns the angle image of the object edge detector /**

Returns
the angle image

◆ getColoredLabelImage()

core::Img8u icl::geom::ConfigurableDepthImageSegmenter::getColoredLabelImage ( )

Returns the colored label image.

Returns
the colored label image

◆ getEdgeImage()

const core::Img8u icl::geom::ConfigurableDepthImageSegmenter::getEdgeImage ( )

Returns the edge image.

Returns
the edge image

◆ getLabelImage()

core::Img32s icl::geom::ConfigurableDepthImageSegmenter::getLabelImage ( )

Returns the label image.

Returns
the label image

◆ getMappedColorImage()

core::Img8u icl::geom::ConfigurableDepthImageSegmenter::getMappedColorImage ( const core::Img8u image)

Returns the mapped image (the last passed depth image is used for mapping) assumed to be grabbed by the camera cam.

Returns
the mapped image

◆ getNormalImage()

const core::Img8u icl::geom::ConfigurableDepthImageSegmenter::getNormalImage ( )

Returns the colored normal image.

Returns
the colored normal image

◆ getNormalSegment()

const core::DataSegment<float,4> icl::geom::ConfigurableDepthImageSegmenter::getNormalSegment ( )

◆ getSegments()

std::vector<std::vector<int> > icl::geom::ConfigurableDepthImageSegmenter::getSegments ( )

Returns the segment blobs.

Returns
a vector of segments. Every entry contains a vector with the surface indices

◆ getSurfaceFeatures()

std::vector<geom::SurfaceFeatureExtractor::SurfaceFeature> icl::geom::ConfigurableDepthImageSegmenter::getSurfaceFeatures ( )

◆ getSurfaces()

std::vector<std::vector<int> > icl::geom::ConfigurableDepthImageSegmenter::getSurfaces ( )

Returns the surface cluster from the pre-segmentation.

Returns
a vector of surfaces. Every entry contains a vector with the point indices

◆ initProperties()

void icl::geom::ConfigurableDepthImageSegmenter::initProperties ( )
private

◆ mapImageToDepth()

void icl::geom::ConfigurableDepthImageSegmenter::mapImageToDepth ( const core::ImgBase src,
core::ImgBase **  dst 
)

◆ setEdgeSegData()

void icl::geom::ConfigurableDepthImageSegmenter::setEdgeSegData ( core::Img8u edges,
core::Img8u normal_img 
)

◆ setNormals()

void icl::geom::ConfigurableDepthImageSegmenter::setNormals ( core::DataSegment< float, 4 > &  normals)

◆ setUseExternalEdges()

void icl::geom::ConfigurableDepthImageSegmenter::setUseExternalEdges ( bool  use_external_edges)

Member Data Documentation

◆ m_data

Data* icl::geom::ConfigurableDepthImageSegmenter::m_data
private

internal data type

internal data pointer


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