LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::skinASM Class Reference

This is an alignment strategy for activeShapeModels (ASM), that works on a gradient channel and a skin probability channel, to trace skin colored objects. More...

#include <ltiSkinASM.h>

Inheritance diagram for lti::skinASM:
Inheritance graph
[legend]
Collaboration diagram for lti::skinASM:
Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 the parameters for the class skinASM More...

Public Member Functions

 skinASM ()
 skinASM (const skinASM &other)
virtual ~skinASM ()
virtual const char * getTypeName () const
skinASMcopy (const skinASM &other)
skinASMoperator= (const skinASM &other)
virtual functorclone () const
const parametersgetParameters () const
pointDistributionModel::shapeapply (pointDistributionModel::shape &srcdest, const channel &gradientChannel, const channel &skinProbChannel) const

Protected Member Functions

pointDistributionModel::shapeadjustShape (pointDistributionModel::shape &srcdest, const channel &gradientChannel, const channel &skinProbChannel, fvector &pointReliability) const

Detailed Description

This is an alignment strategy for activeShapeModels (ASM), that works on a gradient channel and a skin probability channel, to trace skin colored objects.

In addition to the feature selection in the class gradientASM, feature points have to be skin colored in the inside region and non-skin colored in the outside region. Points are valid, when they only contain skin points on the inside of the shape (along the normal, within a distance <= 'parameterssearchExtent'). If no such points are found, search is continued further inside the shape (see parameters::shrinkExtent). When too many points are completely surrounded by skin, search for a skin border is continued further outside the shape (see parameters::enlargeExtent).

Important note: Due to the inside/outside nature, the points of the shape must be given in clockwise order!


Constructor & Destructor Documentation

lti::skinASM::skinASM (  ) 

default constructor

lti::skinASM::skinASM ( const skinASM other  ) 

copy constructor

Parameters:
other the object to be copied
virtual lti::skinASM::~skinASM (  )  [virtual]

destructor


Member Function Documentation

pointDistributionModel::shape& lti::skinASM::adjustShape ( pointDistributionModel::shape srcdest,
const channel gradientChannel,
const channel skinProbChannel,
fvector pointReliability 
) const [protected]

iteratively align shape on the given gradient and skin probality channels.

Returns:
a reference to the srcdest.
pointDistributionModel::shape& lti::skinASM::apply ( pointDistributionModel::shape srcdest,
const channel gradientChannel,
const channel skinProbChannel 
) const

align shape on the given gradient channel.

iteratively, scan for best border as described above

virtual functor* lti::skinASM::clone (  )  const [virtual]

returns a pointer to a clone of this functor.

Reimplemented from lti::gradientASM.

skinASM& lti::skinASM::copy ( const skinASM other  ) 

copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::gradientASM.

const parameters& lti::skinASM::getParameters (  )  const

returns used parameters

Reimplemented from lti::gradientASM.

virtual const char* lti::skinASM::getTypeName (  )  const [virtual]

returns the name of this type ("skinASM")

Reimplemented from lti::gradientASM.

skinASM& lti::skinASM::operator= ( const skinASM other  ) 

alias for copy member

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::gradientASM.


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

Generated on Sat Apr 10 15:27:52 2010 for LTI-Lib by Doxygen 1.6.1