#include <irtkFreeFormTransformation3D.h>
This class implements a 3D free form transformation
Definition at line 28 of file irtkFreeFormTransformation3D.h.
Public Member Functions | |
virtual int | GetX () const |
Returns the of control points in x. | |
virtual int | GetY () const |
Returns the of control points in y. | |
virtual int | GetZ () const |
Returns the of control points in z. | |
virtual int | NumberOfDOFs () const |
Returns the number of parameters of the transformation. | |
virtual void | GetSpacing (double &, double &, double &) const |
Get the control point spacing (in mm). | |
virtual void | PutOrientation (double *, double *, double *) |
Put orientation of free-form deformation. | |
virtual void | GetOrientation (double *, double *, double *) const |
Get orientation of free-form deformation. | |
virtual void | Put (int, double) |
Puts a control point value. | |
virtual void | Put (int, int, int, double, double, double) |
Gets a control point value. | |
virtual double | Get (int) const |
Gets a control point value. | |
virtual void | Get (int, int, int, double &, double &, double &) const |
Gets a control point value. | |
virtual void | PutStatus (int, int, int, _Status) |
Puts a control point status. | |
virtual void | PutStatus (int, int, int, _Status, _Status, _Status) |
Puts a control point status. | |
virtual void | PutStatus (int, _Status) |
Puts a control point status. | |
virtual void | GetStatus (int, int, int, _Status &, _Status &, _Status &) |
Gets a control point status. | |
virtual _Status | GetStatus (int) |
Gets a control point status. | |
virtual double | Bending (double x, double y, double z)=0 |
Calculate the bending energy of the transformation. | |
virtual void | WorldToLattice (double &, double &, double &) const |
Transforms world coordinates (in mm) to FFD coordinates. | |
virtual void | WorldToLattice (irtkPoint &) const |
Transforms world coordinates (in mm) to FFD coordinates. | |
virtual void | LatticeToWorld (double &, double &, double &) const |
Transforms FFD coordinates to world coordinates (in mm). | |
virtual void | LatticeToWorld (irtkPoint &) const |
Transforms FFD coordinates to world coordinates (in mm). | |
virtual void | IndexToLattice (int index, int &i, int &j, int &k) const |
Transforms index of control points to FFD coordinates. | |
virtual int | LatticeToIndex (int i, int j, int k) const |
Transforms FFD coordinates to index of control point. | |
virtual void | ControlPointLocation (int, double &, double &, double &) const |
Returns the control point location (in mm). | |
virtual irtkPoint | ControlPointLocation (int) const |
Returns the control point location (in mm). | |
virtual void | PutBoundingBox (irtkPoint, irtkPoint) |
Put the bounding box for FFD (in mm). | |
virtual void | PutBoundingBox (double, double, double, double, double, double) |
Put the bounding box for FFD (in mm). | |
virtual void | BoundingBox (irtkPoint &, irtkPoint &) const |
Returns the bounding box for FFD (in mm). | |
virtual void | BoundingBox (double &, double &, double &, double &, double &, double &) const |
Returns the bounding box for FFD (in mm). | |
virtual void | BoundingBox (int, irtkPoint &, irtkPoint &, double=1) const =0 |
Returns the bounding box for a control point (in mm). | |
virtual void | BoundingBox (int, double &, double &, double &, double &, double &, double &, double=1) const =0 |
Returns the bounding box for a control point (in mm). | |
virtual void | BoundingBox (irtkGreyImage *, int, int &, int &, int &, int &, int &, int &, double=1) const =0 |
Returns the bounding box for a control point (in pixels). | |
virtual double | Approximate (double *, double *, double *, double *, double *, double *, int)=0 |
Approximate displacements: This function takes a set of points and a set of displacements and find a FFD which approximates these displacements. | |
virtual void | Interpolate (double *dxs, double *dys, double *dzs)=0 |
Interpolates displacements: This function takes a set of displacements defined at the control points and finds a FFD which interpolates these displacements. | |
virtual double | Inverse (double &, double &, double &, double, double=0.01) |
Inverts the transformation (abstract). | |
virtual Bool | IsIdentity () |
Checks whether transformation is an identity mapping. | |
virtual const char * | NameOfClass () |
Returns a string with the name of the instantiated class. | |
Protected Member Functions | |
virtual void | UpdateMatrix () |
Update transformation matrix. | |
Static Protected Member Functions | |
static double *** | Allocate (double ***, int, int, int) |
Allocate memory for control points. | |
static double *** | Deallocate (double ***, int, int, int) |
Deallocate memory for control points. | |
Protected Attributes | |
int | _x |
Number of control points in x. | |
int | _y |
Number of control points in y. | |
int | _z |
Number of control points in z. | |
double | _dx |
Spacing of control points in x (in mm). | |
double | _dy |
Spacing of control points in y (in mm). | |
double | _dz |
Spacing of control points in z (in mm). | |
double | _xaxis [3] |
Direction of x-axis. | |
double | _yaxis [3] |
Direction of y-axis. | |
double | _zaxis [3] |
Direction of z-axis. | |
irtkPoint | _origin |
Origin. | |
irtkMatrix | _matL2W |
Transformation matrix from lattice coordinates to world coordinates. | |
irtkMatrix | _matW2L |
Transformation matrix from world coordinates to lattice coordinates. | |
double *** | _xdata |
Displacement in the x-direction at the control points (in mm). | |
double *** | _ydata |
Displacement in the y-direction at the control points (in mm). | |
double *** | _zdata |
Displacement in the z-direction at the control points (in mm). |
virtual void irtkFreeFormTransformation3D::BoundingBox | ( | int | , | |
irtkPoint & | , | |||
irtkPoint & | , | |||
double | = 1 | |||
) | const [pure virtual] |
Returns the bounding box for a control point (in mm).
The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Implemented in irtkBSplineFreeFormTransformation3D, and irtkLinearFreeFormTransformation.
virtual void irtkFreeFormTransformation3D::BoundingBox | ( | int | , | |
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double | = 1 | |||
) | const [pure virtual] |
Returns the bounding box for a control point (in mm).
The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Implemented in irtkBSplineFreeFormTransformation3D, and irtkLinearFreeFormTransformation.
virtual void irtkFreeFormTransformation3D::BoundingBox | ( | irtkGreyImage * | , | |
int | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
double | = 1 | |||
) | const [pure virtual] |
Returns the bounding box for a control point (in pixels).
The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Implemented in irtkBSplineFreeFormTransformation3D, and irtkLinearFreeFormTransformation.
virtual double irtkFreeFormTransformation3D::Approximate | ( | double * | , | |
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
int | ||||
) | [pure virtual] |
Approximate displacements: This function takes a set of points and a set of displacements and find a FFD which approximates these displacements.
After approximatation the displacements replaced by the residual displacement errors at the points
Implemented in irtkBSplineFreeFormTransformation3D, and irtkLinearFreeFormTransformation.
virtual void irtkFreeFormTransformation3D::Interpolate | ( | double * | dxs, | |
double * | dys, | |||
double * | dzs | |||
) | [pure virtual] |
Interpolates displacements: This function takes a set of displacements defined at the control points and finds a FFD which interpolates these displacements.
dxs | The x-displacements at each control point. | |
dys | The y-displacements at each control point. | |
dzs | The z-displacements at each control point. |
Implemented in irtkBSplineFreeFormTransformation3D, and irtkLinearFreeFormTransformation.