Image Component Library (ICL)
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
icl::markers::FiducialDetectorPluginICL1 Class Reference

FiducialDetectorPlugin for ARToolkit+ like markers using BCH coded IDs. More...

#include <FiducialDetectorPluginICL1.h>

Inheritance diagram for icl::markers::FiducialDetectorPluginICL1:
icl::markers::FiducialDetectorPluginHierarchical icl::markers::FiducialDetectorPlugin icl::utils::Configurable

Public Member Functions

 ~FiducialDetectorPluginICL1 ()
 Destructor. More...
 
virtual void getCorners2D (std::vector< utils::Point32f > &dst, FiducialImpl &impl)
 this is the only feature that is computed in a deferred way More...
 
virtual void getRotation2D (float &dst, FiducialImpl &impl)
 deferred rotation calculation More...
 
virtual void getFeatures (Fiducial::FeatureSet &dst)
 defines which features are supported More...
 
virtual void detect (std::vector< FiducialImpl * > &dst, const std::vector< cv::ImageRegion > &regions)
 defines how to find makers in the given vector of regions More...
 
virtual void addOrRemoveMarkers (bool add, const utils::Any &which, const utils::ParamList &params)
 defines how to load/remove marker definitions More...
 
virtual void getKeyPoints2D (std::vector< Fiducial::KeyPoint > &dst, FiducialImpl &impl)
 returns how to compute a list of image-position/marker-position correspondences More...
 
virtual core::Img8u createMarker (const utils::Any &whichOne, const utils::Size &size, const utils::ParamList &params)
 creates an image of a given marker More...
 
- Public Member Functions inherited from icl::markers::FiducialDetectorPluginHierarchical
 ~FiducialDetectorPluginHierarchical ()
 destructor More...
 
virtual void detect (std::vector< FiducialImpl * > &dst, const core::Img8u &image)
 defines how to detect markers from a given image More...
 
- Public Member Functions inherited from icl::markers::FiducialDetectorPlugin
 FiducialDetectorPlugin ()
 initializes the plugin with a 0-camera More...
 
virtual ~FiducialDetectorPlugin ()
 virtual Destructor More...
 
virtual void getCenter2D (utils::Point32f &dst, FiducialImpl &impl)
 returns how to compute the markers 2D center More...
 
virtual void getCenter3D (geom::Vec &dst, FiducialImpl &impl)
 computes a markers 3D center More...
 
virtual void getRotation3D (geom::Vec &dst, FiducialImpl &impl)
 computes a markers 3D rotation euler angles More...
 
virtual void getPose3D (geom::Mat &dst, FiducialImpl &impl)
 computes a markers 3D position and rotation euler angles More...
 
virtual SourceImageType getPreProcessing () const
 returns Binary (as default) More...
 
virtual std::string getName (const FiducialImpl *impl)
 creates a human readable name for the given impl More...
 
virtual std::string getIntermediateImageNames () const
 optionall returns a (comma separated) list of intermediate images More...
 
virtual const core::ImgBasegetIntermediateImage (const std::string &name) const
 returns the intermediate image, that is associated with the given name More...
 
- 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

 FiducialDetectorPluginICL1 ()
 only the FiducialDetector can instantiate this class More...
 

Private Attributes

Data * data
 

Friends

class icl::markers::FiducialDetector
 This class cannot be used. More...
 

Additional Inherited Members

- Public Types inherited from icl::markers::FiducialDetectorPlugin
enum  SourceImageType { Binary, Gray, Color }
 Enumeration for differnt source image types. More...
 
- Public Types inherited from icl::utils::Configurable
typedef Function< void, const Property & > Callback
 Function type for changed properties. More...
 
- Static Public Member Functions inherited from icl::markers::FiducialDetectorPlugin
static std::vector< int > parse_list_str (const utils::Any &s)
 parses an any instance that is either an int-value, or a range or a list of int-values More...
 
- 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...
 
- Public Attributes inherited from icl::markers::FiducialDetectorPlugin
geom::Cameracamera
 Camera structure for 3D feature estimation. More...
 
geom::CoplanarPointPoseEstimator poseEst
 for 3D pose estimation 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::markers::FiducialDetectorPluginHierarchical
 FiducialDetectorPluginHierarchical ()
 Constructor. 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

FiducialDetectorPlugin for ARToolkit+ like markers using BCH coded IDs.

This is just a plugin class that is used by the FiducialDetector. Please refer the icl::markers::FiducialDetector class documentation for more details.

Constructor & Destructor Documentation

◆ FiducialDetectorPluginICL1()

icl::markers::FiducialDetectorPluginICL1::FiducialDetectorPluginICL1 ( )
private

only the FiducialDetector can instantiate this class

◆ ~FiducialDetectorPluginICL1()

icl::markers::FiducialDetectorPluginICL1::~FiducialDetectorPluginICL1 ( )

Destructor.

Member Function Documentation

◆ addOrRemoveMarkers()

virtual void icl::markers::FiducialDetectorPluginICL1::addOrRemoveMarkers ( bool  add,
const utils::Any which,
const utils::ParamList params 
)
virtual

defines how to load/remove marker definitions

The Any paramter 'which' can either be a filename to a file that contains TwoLevelRegionStructure codes per row, or a newline or comma or space separated list of TwoLevelRegionStructure codes. The ParamList params is not used here.

Implements icl::markers::FiducialDetectorPluginHierarchical.

◆ createMarker()

virtual core::Img8u icl::markers::FiducialDetectorPluginICL1::createMarker ( const utils::Any whichOne,
const utils::Size size,
const utils::ParamList params 
)
virtual

creates an image of a given marker

Reimplemented from icl::markers::FiducialDetectorPlugin.

◆ detect()

virtual void icl::markers::FiducialDetectorPluginICL1::detect ( std::vector< FiducialImpl * > &  dst,
const std::vector< cv::ImageRegion > &  regions 
)
virtual

defines how to find makers in the given vector of regions

Implements icl::markers::FiducialDetectorPluginHierarchical.

◆ getCorners2D()

virtual void icl::markers::FiducialDetectorPluginICL1::getCorners2D ( std::vector< utils::Point32f > &  dst,
FiducialImpl impl 
)
virtual

this is the only feature that is computed in a deferred way

Returns the region boundary

Reimplemented from icl::markers::FiducialDetectorPlugin.

◆ getFeatures()

virtual void icl::markers::FiducialDetectorPluginICL1::getFeatures ( Fiducial::FeatureSet dst)
virtual

defines which features are supported

Implements icl::markers::FiducialDetectorPluginHierarchical.

◆ getKeyPoints2D()

virtual void icl::markers::FiducialDetectorPluginICL1::getKeyPoints2D ( std::vector< Fiducial::KeyPoint > &  dst,
FiducialImpl impl 
)
virtual

returns how to compute a list of image-position/marker-position correspondences

The 2D-keypoints are the most common information that is use to compute a markers 3D information. Each keypoint defines a 2D marker location in [mm] and a corresponding image location

Reimplemented from icl::markers::FiducialDetectorPlugin.

◆ getRotation2D()

virtual void icl::markers::FiducialDetectorPluginICL1::getRotation2D ( float &  dst,
FiducialImpl impl 
)
virtual

deferred rotation calculation

Reimplemented from icl::markers::FiducialDetectorPlugin.

Friends And Related Function Documentation

◆ icl::markers::FiducialDetector

friend class icl::markers::FiducialDetector
friend

This class cannot be used.

Member Data Documentation

◆ data

Data* icl::markers::FiducialDetectorPluginICL1::data
private

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