irtkAffineTransformation Class Reference

#include <irtkAffineTransformation.h>

Inheritance diagram for irtkAffineTransformation:

Inheritance graph
[legend]
Collaboration diagram for irtkAffineTransformation:

Collaboration graph
[legend]

List of all members.


Detailed Description

Class for affine transformations.

This class defines and implements affine transformations. In addition to the rigid body transformation parameters, affine transformations are parameterized by three scaling and and six skewing parameters. The three scaling parameters define the scaling along the axis of the coordinate transformations. The six skewing parameters define the skewing angles in different planes. Note that the six skewing parameters are not independent. In total, the transformation can be parameterized by up to 15 degrees of freedom of which only 12 are linearly independent. The class in its current implementation supports 9, 12 or 15 degrees of freedom. The number of degrees of freedom can be specified when constructing the transformation. The default is 15 degrees of freedom.

Definition at line 34 of file irtkAffineTransformation.h.


Public Member Functions

 irtkAffineTransformation ()
 Constructor (default).
 irtkAffineTransformation (const irtkRigidTransformation &)
 Constructor (copy).
 irtkAffineTransformation (const irtkAffineTransformation &)
 Constructor (copy).
virtual ~irtkAffineTransformation ()
 Destructor.
virtual void PutScaleX (double)
 Puts scaling factor along the x-axis.
virtual double GetScaleX ()
 Gets scaling factor along the x-axis.
virtual void PutScaleY (double)
 Puts scaling factor along the y-axis.
virtual double GetScaleY ()
 Gets scaling factor along the y-axis.
virtual void PutScaleZ (double)
 Puts scaling factor along the z-axis.
virtual double GetScaleZ ()
 Gets scaling factor along the z-axis.
virtual void PutShearXY (double)
 Puts y-dependent skewing angle in the x direction (in degrees).
virtual double GetShearXY ()
 Gets y-dependent skewing angle in the x direction (in degrees).
virtual void PutShearYZ (double)
 Puts z-dependent skewing angle in the y direction (in degrees).
virtual double GetShearYZ ()
 Gets z-dependent skewing angle in the y direction (in degrees).
virtual void PutShearXZ (double)
 Puts z-dependent skewing angle in the x direction (in degrees).
virtual double GetShearXZ ()
 Gets z-dependent skewing angle in the x direction (in degrees).
virtual int NumberOfDOFs () const
 Returns the number of parameters of the transformation.
virtual void Put (int, double)
 Puts a transformation parameter (transformation matrix is updated).
virtual double Get (int) const
 Gets a transformation parameter.
virtual Bool IsIdentity ()
 Checks whether transformation is an identity mapping.
virtual void Print ()
 Prints the parameters of the transformation.
virtual const char * NameOfClass ()
 Returns a string with the name of the instantiated class.
virtual irtkCifstreamRead (irtkCifstream &)
 Reads a transformation from a file.
virtual irtkCofstreamWrite (irtkCofstream &)
 Writes a transformation to a file.
virtual istream & Import (istream &)
 Imports a transformation from a file.
virtual ostream & Export (ostream &)
 Exports a transformation to a file.
virtual void PutMatrix (const irtkMatrix &)
 Puts the transformation matrix (transformation parameters are updated).
virtual void UpdateMatrix ()
 Update transformation matrix.
virtual void UpdateParameter ()
 Updates transformation parameters based on current matrix.

Static Public Member Functions

static int CheckHeader (char *)
 Check file header.

Protected Member Functions

virtual irtkMatrix Parameters2Matrix (double *) const
 Construct a matrix based on parameters passed in the array.
virtual irtkMatrix Parameters2Matrix_15DOFs (double *) const
 Construct a matrix based on old style parameters.
virtual void SetParameters (double *)
 Assign the parameters passed in the array to the current object and update the matrix.

Protected Attributes

double _sx
 Scaling along the x-axis.
double _sy
 Scaling along the y-axis.
double _sz
 Scaling along the z-axis.
double _sxy
 Skew angle in the x direction based on y component (in degrees).
double _syz
 Skew angle in the y direction based on z component (in degrees).
double _sxz
 Skew angle in the x direction based on z component (in degrees).

Member Function Documentation

void irtkAffineTransformation::SetParameters ( double *  params  )  [inline, protected, virtual]

Assign the parameters passed in the array to the current object and update the matrix.

Reimplemented from irtkRigidTransformation.

Definition at line 348 of file irtkAffineTransformation.h.

References _sx, _sxy, _sxz, _sy, _syz, _sz, irtkRigidTransformation::SetParameters(), and UpdateMatrix().


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