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

lti::pointSetNormalization Class Reference

A parent class for normalizations of point sets. More...

#include <ltiPointSetNormalization.h>

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

List of all members.

Classes

class  parameters
 The parameters for the class pointSetNormalization. More...

Public Member Functions

 pointSetNormalization ()
 pointSetNormalization (const parameters &par)
 pointSetNormalization (const pointSetNormalization &other)
virtual ~pointSetNormalization ()
virtual const char * getTypeName () const
virtual bool apply (vector< fpoint > &srcdest) const =0
virtual bool apply (vector< fpoint > &srcdest, fpoint &scale, fpoint &shift) const =0
virtual bool apply (vector< dpoint > &srcdest) const =0
virtual bool apply (vector< dpoint > &srcdest, dpoint &scale, dpoint &shift) const =0
virtual bool apply (const vector< fpoint > &src, vector< fpoint > &dest) const =0
virtual bool apply (const vector< fpoint > &src, vector< fpoint > &dest, fpoint &scale, fpoint &shift) const =0
virtual bool apply (const vector< dpoint > &src, vector< dpoint > &dest) const =0
virtual bool apply (const vector< dpoint > &src, vector< dpoint > &dest, dpoint &scale, dpoint &shift) const =0
pointSetNormalizationcopy (const pointSetNormalization &other)
pointSetNormalizationoperator= (const pointSetNormalization &other)
virtual functorclone () const =0
const parametersgetParameters () const

Detailed Description

A parent class for normalizations of point sets.

All derived normalizations may include translation and scaling and are defined by the following formula:

 tpoint<T> normedPt;
 tpoint<T> pt;
 tpoint<T> scale;
 tpoint<T> shift;
 normedPt = scale * pt + shift

If estimating e.g. a transform by least squares it is advised to perform such a normalization. A transform between normalized data might not be the same as for the original data. Therefore it is important to follow the above definition because otherwise the undo-operations implemented for e.g. the transformEstimator will not work.

See also:
isotropicNormalization

Constructor & Destructor Documentation

lti::pointSetNormalization::pointSetNormalization (  ) 

Default constructor.

lti::pointSetNormalization::pointSetNormalization ( const parameters par  ) 

Construct a functor using the given parameters.

lti::pointSetNormalization::pointSetNormalization ( const pointSetNormalization other  ) 

Copy constructor.

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

Destructor.


Member Function Documentation

virtual bool lti::pointSetNormalization::apply ( const vector< dpoint > &  src,
vector< dpoint > &  dest,
dpoint scale,
dpoint shift 
) const [pure virtual]

Normalizes the supplied point vector as defined by normedPt = scale * pt + shift.

The parameters scale and shift are computed automatically. operates on a copy of the given parameters.

Parameters:
src vector<dpoint> with the source data.
dest vector<dpoint> where the result will be left.
scale dpoint where the applied scale will be left
shift dpoint where the applied shift will be left
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( const vector< dpoint > &  src,
vector< dpoint > &  dest 
) const [pure virtual]

Normalizes the supplied point vector.

operates on a copy of the given parameters.

Parameters:
src vector<dpoint> with the source data.
dest vector<dpoint> where the result will be left.
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( const vector< fpoint > &  src,
vector< fpoint > &  dest,
fpoint scale,
fpoint shift 
) const [pure virtual]

Normalizes the supplied point vector as defined by normedPt = scale * pt + shift.

The parameters scale and shift are computed automatically. operates on a copy of the given parameters.

Parameters:
src vector<fpoint> with the source data.
dest vector<fpoint> where the result will be left.
scale fpoint where the applied scale will be left
shift fpoint where the applied shift will be left
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( const vector< fpoint > &  src,
vector< fpoint > &  dest 
) const [pure virtual]

Normalizes the supplied point vector.

operates on a copy of the given parameters.

Parameters:
src vector<fpoint> with the source data.
dest vector<fpoint> where the result will be left.
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( vector< dpoint > &  srcdest,
dpoint scale,
dpoint shift 
) const [pure virtual]

Normalizes the supplied point vector as defined by normedPt = scale * pt + shift.

The parameters scale and shift are computed automatically. operates on the given parameter.

Parameters:
srcdest vector<dpoint> with the source data. The result will be left here too.
scale dpoint where the applied scale will be left
shift dpoint where the applied shift will be left
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( vector< dpoint > &  srcdest  )  const [pure virtual]

Normalizes the supplied point vector.

operates on the given parameter.

Parameters:
srcdest vector<dpoint> with the source data. The result will be left here too.
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( vector< fpoint > &  srcdest,
fpoint scale,
fpoint shift 
) const [pure virtual]

Normalizes the supplied point vector as defined by normedPt = scale * pt + shift.

The parameters scale and shift are computed automatically. operates on the given parameter.

Parameters:
srcdest vector<fpoint> with the source data. The result will be left here too.
scale fpoint where the applied scale will be left
shift fpoint where the applied shift will be left
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual bool lti::pointSetNormalization::apply ( vector< fpoint > &  srcdest  )  const [pure virtual]

Normalizes the supplied point vector.

operates on the given parameter.

Parameters:
srcdest vector<fpoint> with the source data. The result will be left here too.
Returns:
true if apply successful or false otherwise.

Implemented in lti::isotropicNormalization.

virtual functor* lti::pointSetNormalization::clone (  )  const [pure virtual]

Returns a pointer to a clone of this functor.

Implements lti::functor.

Implemented in lti::isotropicNormalization.

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

Copy data of "other" functor.

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

Reimplemented from lti::functor.

Reimplemented in lti::isotropicNormalization.

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

Returns used parameters.

Reimplemented from lti::functor.

Reimplemented in lti::isotropicNormalization.

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

Returns the name of this type ("pointSetNormalization").

Reimplemented from lti::functor.

Reimplemented in lti::isotropicNormalization.

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

Alias for copy member.

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

Reimplemented from lti::functor.

Reimplemented in lti::isotropicNormalization.


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

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