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

lti::geometricTransform::parameters Class Reference

The parameters for the class geometricTransform. More...

#include <ltiGeometricTransform.h>

Inheritance diagram for lti::geometricTransform::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::geometricTransform::parameters:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void invert ()
void scale (const tpoint< double > &thefPoint)
void scale (const tpoint3D< double > &thefPoint)
void scale (const double &x)
void shift (const tpoint< double > &thefPoint)
void shift (const tpoint3D< double > &thefPoint)
void rotate (const vector< double > &center, const vector< double > &axis, const double &angle)
void rotate (const tpoint3D< double > &center, const tpoint3D< double > &axis, const double &angle)
void rotate (const double &angle)
void clear (void)
 parameters ()
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)

Public Attributes

hMatrix3D< float > transMatrix
bool keepDimensions
eInterpolatorType interpolator

Detailed Description

The parameters for the class geometricTransform.


Constructor & Destructor Documentation

lti::geometricTransform::parameters::parameters (  ) 

Default constructor.

Reimplemented from lti::modifier::parameters.

lti::geometricTransform::parameters::parameters ( const parameters other  ) 

Copy constructor.

Parameters:
other the parameters object to be copied

Reimplemented from lti::modifier::parameters.

lti::geometricTransform::parameters::~parameters (  )  [virtual]

Destructor.

Reimplemented from lti::functor::parameters.


Member Function Documentation

void lti::geometricTransform::parameters::clear ( void   ) 

This function erase the tranfomation matrix,translation vector and the rotation center.

The matrix is overwriten with the unit matrix.

virtual functor::parameters* lti::geometricTransform::parameters::clone (  )  const [virtual]

Returns a pointer to a clone of the parameters.

Reimplemented from lti::modifier::parameters.

parameters& lti::geometricTransform::parameters::copy ( const parameters other  ) 

Copy the contents of a parameters object.

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

Reimplemented from lti::modifier::parameters.

const char* lti::geometricTransform::parameters::getTypeName (  )  const [virtual]

Returns name of this type.

Reimplemented from lti::modifier::parameters.

void lti::geometricTransform::parameters::invert (  ) 

Invert the homogeneous transformation matrix.

parameters& lti::geometricTransform::parameters::operator= ( const parameters other  ) 

Copy the contents of a parameters object.

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object
virtual bool lti::geometricTransform::parameters::read ( ioHandler handler,
const bool  complete = true 
) [virtual]

Write the parameters in the given ioHandler.

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::modifier::parameters.

void lti::geometricTransform::parameters::rotate ( const double &  angle  ) 

Special rotate function with the center set to the origin: The rotation axis is set to the z-axis.

void lti::geometricTransform::parameters::rotate ( const tpoint3D< double > &  center,
const tpoint3D< double > &  axis,
const double &  angle 
)

Multiply the existing matrix with a rotation matrix.

The vectors center and axis have the dimension 3.

Parameters:
center this vector is the center of the rotation.
axis this vector is the rotation-axis.
angle the rotation angle in radians.
void lti::geometricTransform::parameters::rotate ( const vector< double > &  center,
const vector< double > &  axis,
const double &  angle 
)

Multiply the existing matrix with a rotation matrix.

The vectors center and axis have the dimension 3.

Parameters:
center this vector is the center of the rotation.
axis this vector is the rotation-axis.
angle the rotation angle in radians.
void lti::geometricTransform::parameters::scale ( const double &  x  ) 

Special scale function with only one parameter for x, y and z scale

\[ \begin{bmatrix} x & 0 & 0 & 0 \\ 0 & x & 0 & 0 \\ 0 & 0 & x & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]

.

void lti::geometricTransform::parameters::scale ( const tpoint3D< double > &  thefPoint  ) 

Set the scaling factor of the homogeneous matrix.

This is achieved multiplying the existing matrix with a resize matrix. If you use this function on an unit matrix you get the following matrix:

\[ \begin{bmatrix} thefpoint.x & 0 & 0 & 0 \\ 0 & thefpoint.y & 0 & 0 \\ 0 & 0 & thefpoint.z & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]

void lti::geometricTransform::parameters::scale ( const tpoint< double > &  thefPoint  ) 

Set the scaling factor of the homogeneous matrix.

This is achieved multiplying the existing matrix with a resize matrix. If you use this function on an unit matrix you get the following matrix:

\[ \begin{bmatrix} thefpoint.x & 0 & 0 & 0 \\ 0 & thefpoint.y & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]

void lti::geometricTransform::parameters::shift ( const tpoint3D< double > &  thefPoint  ) 

This function adds the point to the translation vector.

void lti::geometricTransform::parameters::shift ( const tpoint< double > &  thefPoint  ) 

This function adds the point to the translation vector.

(z component assumed 0)

virtual bool lti::geometricTransform::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [virtual]

Write the parameters in the given ioHandler.

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::modifier::parameters.


Member Data Documentation

Interpolator to be used.

Default value: BilinearInterpolator

See also:
lti::eInterpolatorType

If keepDimensions is true, the virtual position and size of the matrix are retained unchanged.

Otherwise the position and size will be changed so that all points in the new image are displayed

Default value: true

The transMatrix stores the matrix for the geometric transformation.

The functions rotate ,scale, and invert access the matrix.

Default value: unit matrix


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

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