Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Public Attributes
icl::markers::FiducialImpl Struct Reference

Hidden implemetation for fiduical classes. More...

#include <FiducialImpl.h>

List of all members.

Classes

struct  Info2D
 set of 2D features More...
struct  Info3D
 set of 3D features More...

Public Member Functions

 FiducialImpl ()
 base constructor initializing index with -1 and all other stuff with 0
 FiducialImpl (FiducialDetectorPlugin *parent, Fiducial::FeatureSet supported, Fiducial::FeatureSet computed, int id, int index, const utils::Size32f &realSizeMM)
 2nd constructor with given parameters
 FiducialImpl (const FiducialImpl &o)
 explicitly implemented deep copy constructor
FiducialImploperator= (const FiducialImpl &o)
 explicitly implemented assignment operator (deep copy)
 ~FiducialImpl ()
 Destructor (also deletes info2D and info3D if not null)
Info2Densure2D ()
 ensures that the info2D pointer is initialized
Info3Densure3D ()
 ensures that the info3D pointer is initialized

Public Attributes

FiducialDetectorPluginparent
 parent Fiducial Detector instance
Fiducial::FeatureSet supported
 list of generally available features
Fiducial::FeatureSet computed
 list of already computed features
int id
 Fiduical ID.
int index
 Internally used index.
utils::Size32f realSizeMM
 real marker size in millimeters
cv::ImageRegion imageRegion
 most plugins can provide an image region
struct
icl::markers::FiducialImpl::Info2D
info2D
struct
icl::markers::FiducialImpl::Info3D
info3D

Detailed Description

Hidden implemetation for fiduical classes.

The FiducialImpl class works as data storage for the public Fiducial class. It also holds a back-reference to it's parent FiducialDetectorPlugin that is used to compute features on demand if not alread available

Developers

The FiduicalImpl should not be visible for the FiduicalDetector user who accesses Fiducial information via the public Fiduical class. The Fiduical class implementation contains smart methods for querying Fiducial-Features. If a feature has been computed once, further calls will just return the automatically buffered result.

Precomputed vs. Deferred Feature Extraction

The feature Extraction is implemented in the FiducialDetectorPlugin class that defines how Fiducials are detected what features are supported how certain features are computed.

The FiducialDetectorPlugin can initialize the FiduicalImpl instances with precomputed values. Most of the time, at least some of the Fiducial feature values are already estimated within the detection step. If e.g. a region based fiducial detector needs to estimate a regions 2D-center for the detection itself, it can initialize the FiducialInstances with these values. Of course, it has to set up the 'computed' mask in the FiduicalImpl instances according to the set of precomputed features.
Other features, that are supported, but perhaps more difficult to compute can in contrast be supported in a deferred manner. The FiducialDetectorPlugin will the leave the 'computed' mask empty for this feature and provide an appropriate getter-method implementation. This is in particular useful to speed up the detection step itself since usually most complex features dont have to be computed for each detected Fiducial.


Constructor & Destructor Documentation

base constructor initializing index with -1 and all other stuff with 0

icl::markers::FiducialImpl::FiducialImpl ( FiducialDetectorPlugin parent,
Fiducial::FeatureSet  supported,
Fiducial::FeatureSet  computed,
int  id,
int  index,
const utils::Size32f realSizeMM 
) [inline]

2nd constructor with given parameters

explicitly implemented deep copy constructor

Destructor (also deletes info2D and info3D if not null)


Member Function Documentation

ensures that the info2D pointer is initialized

ensures that the info3D pointer is initialized

FiducialImpl& icl::markers::FiducialImpl::operator= ( const FiducialImpl o)

explicitly implemented assignment operator (deep copy)


Member Data Documentation

list of already computed features

Fiduical ID.

most plugins can provide an image region

Internally used index.

The index can be estimate a FiducialImpl instances index from the getFeature-methods in the FiducialDetectorPlugin class

parent Fiducial Detector instance

real marker size in millimeters

This information is neccessary for creation of feature points and for most 3D pose detection stuff

list of generally available features


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines