#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.