#include <irtkMultiLevelFreeFormTransformation.h>
This class implements 3D free form transformation using B-splines.
For more details about the implementation see Lee, Wolberg and Shin, IEEE Transactions on Visualization and Computer Graphics, Vol. 3, No. 3, 1997.
Definition at line 30 of file irtkMultiLevelFreeFormTransformation.h.
Public Member Functions | |
irtkMultiLevelFreeFormTransformation () | |
Constructor (default). | |
irtkMultiLevelFreeFormTransformation (const irtkRigidTransformation &) | |
Constructor (copy). | |
irtkMultiLevelFreeFormTransformation (const irtkAffineTransformation &) | |
Constructor (copy). | |
irtkMultiLevelFreeFormTransformation (const irtkMultiLevelFreeFormTransformation &) | |
Constructor (copy). | |
virtual | ~irtkMultiLevelFreeFormTransformation () |
Destructor. | |
virtual int | NumberOfLevels () const |
Returns the number of levels. | |
virtual irtkFreeFormTransformation * | GetLocalTransformation (int) |
Gets local transformation. | |
virtual void | PutLocalTransformation (irtkFreeFormTransformation *, int) |
Puts local transformation. | |
virtual void | PushLocalTransformation (irtkFreeFormTransformation *) |
Push local transformation on stack. | |
virtual irtkFreeFormTransformation * | PopLocalTransformation () |
Pop local transformation from stack. | |
virtual void | Transform (double &, double &, double &, double=0) |
Transforms a point. | |
virtual void | Displacement (double &x, double &y, double &z, double=0) |
Calculates displacement using global and local transformation components. | |
virtual void | GlobalTransform (double &, double &, double &, double=0) |
Transforms a single point using the global transformation component only. | |
virtual void | LocalTransform (double &, double &, double &, double=0) |
Transforms a single 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 | Transform (int, double &, double &, double &, double=0) |
Transforms a point. | |
virtual void | LocalTransform (int, double &, double &, double &, double=0) |
Transforms a single point using the local transformation component only. | |
virtual void | LocalDisplacement (int, 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 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 FreeFD which approximates these displacements. | |
virtual double | Inverse (double &, double &, double &, double=0, double=0.01) |
Inverts the transformation. | |
virtual double | Inverse (int, double &, double &, double &, double=0, double=0.01) |
Inverts the transformation. | |
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. | |
Static Public Member Functions | |
static int | CheckHeader (char *) |
Check file header. | |
Public Attributes | |
irtkFreeFormTransformation * | _localTransformation [MAX_TRANS] |
Local transformations. | |
int | _NumberOfLevels |
Number of local transformations. |
virtual double irtkMultiLevelFreeFormTransformation::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 FreeFD which approximates these displacements.
After approximatation the displacements replaced by the residual displacement errors at the points