#include <irtkLinearFreeFormTransformation.h>
This class implements 3D free form transformation
Definition at line 25 of file irtkLinearFreeFormTransformation.h.
Public Member Functions | |
irtkLinearFreeFormTransformation () | |
Constructor. | |
irtkLinearFreeFormTransformation (irtkBaseImage &, double=1, double=1, double=1) | |
Constructor. | |
irtkLinearFreeFormTransformation (double x1, double y1, double z1, double x2, double y2, double z2, double dx, double dy, double dz, double *xaxis, double *yaxis, double *zaxis) | |
Constructor. | |
irtkLinearFreeFormTransformation (const class irtkLinearFreeFormTransformation &) | |
Copy Constructor. | |
irtkLinearFreeFormTransformation (const class irtkBSplineFreeFormTransformation3D &) | |
Copy Constructor. | |
virtual | ~irtkLinearFreeFormTransformation () |
Destructor. | |
virtual double | Approximate (double *, double *, double *, double *, double *, double *, int) |
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) |
Interpolates displacements: This function takes a set of displacements defined at the control points and finds a FFD which interpolates these displacements. | |
virtual void | Subdivide () |
Subdivide FFD. | |
virtual void | FFD1 (double &, double &, double &) const |
Calculates the FFD (for a point in FFD coordinates) with checks. | |
virtual void | FFD2 (double &, double &, double &) const |
Calculates the FFD (for a point in FFD coordinates) without checks. | |
virtual void | Transform (double &, double &, double &, double=0) |
Transforms a point. | |
virtual void | Transform2 (double &, double &, double &, double=0) |
Transforms a point. | |
virtual void | GlobalTransform (double &, double &, double &, double=0) |
Transforms a point using the global transformation component only. | |
virtual void | LocalTransform (double &, double &, double &, double=0) |
Transforms a point using the local transformation component only. | |
virtual void | GlobalDisplacement (double &, double &, double &, double=0) |
Calculates displacement using the global transformation component only. | |
virtual void | LocalDisplacement (double &, double &, double &, double=0) |
Calculates displacement using the local transformation component only. | |
virtual void | Jacobian (irtkMatrix &, double, double, double, double=0) |
Calculate the Jacobian of the transformation. | |
virtual void | LocalJacobian (irtkMatrix &, double, double, double, double=0) |
Calculate the Jacobian of the local transformation. | |
virtual void | GlobalJacobian (irtkMatrix &, double, double, double, double=0) |
Calculate the Jacobian of the global transformation. | |
virtual double | Bending (double x, double y, double z) |
Calculate the bending energy of the transformation. | |
virtual void | BoundingBox (int, irtkPoint &, irtkPoint &, double=1) const |
Returns the bounding box for a control point (in mm). | |
virtual void | BoundingBox (int, double &, double &, double &, double &, double &, double &, double=1) const |
Returns the bounding box for a control point (in mm). | |
virtual void | BoundingBox (irtkGreyImage *, int, int &, int &, int &, int &, int &, int &, double=1) const |
Returns the bounding box for a control point (in pixels). | |
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. | |
Static Public Member Functions | |
static int | CheckHeader (char *) |
Check file header. |
virtual double irtkLinearFreeFormTransformation::Approximate | ( | double * | , | |
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
double * | , | |||
int | ||||
) | [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
Implements irtkFreeFormTransformation3D.
virtual void irtkLinearFreeFormTransformation::Interpolate | ( | double * | dxs, | |
double * | dys, | |||
double * | dzs | |||
) | [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. |
Implements irtkFreeFormTransformation3D.
virtual void irtkLinearFreeFormTransformation::BoundingBox | ( | int | , | |
irtkPoint & | , | |||
irtkPoint & | , | |||
double | = 1 | |||
) | const [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.
Implements irtkFreeFormTransformation3D.
virtual void irtkLinearFreeFormTransformation::BoundingBox | ( | int | , | |
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double & | , | |||
double | = 1 | |||
) | const [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.
Implements irtkFreeFormTransformation3D.
virtual void irtkLinearFreeFormTransformation::BoundingBox | ( | irtkGreyImage * | , | |
int | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
int & | , | |||
double | = 1 | |||
) | const [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.
Implements irtkFreeFormTransformation3D.