#include <irtkAffineTransformation.h>
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 irtkCifstream & | Read (irtkCifstream &) |
Reads a transformation from a file. | |
virtual irtkCofstream & | Write (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). |
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().