#include <BSplineFreeFormTransformation4D.h>


Public Member Functions | |
| virtual void | ApproximateDOFs (const double *, const double *, const double *, const double *, const double *, const double *, const double *, int) |
| virtual void | ApproximateDOFsGradient (const double *, const double *, const double *, const double *, const double *, const double *, const double *, int, double *, double=1.0) const |
| virtual double | BendingEnergy (double, double, double, double=0, double=NaN, bool=true) const |
| Calculates the bending of the transformation. | |
| virtual double | BendingEnergy (bool=false, bool=true) const |
| Approximates the bending energy on the control point lattice. | |
| virtual double | BendingEnergy (const ImageAttributes &, double=NaN, bool=true) const |
| Approximates the bending energy on the specified discrete domain. | |
| virtual void | BendingEnergyGradient (double *, double=1.0, bool=false, bool=true, bool=true) const |
| virtual void | BoundingBox (int, double &, double &, double=1) const |
| virtual void | BoundingBox (int, double &, double &, double &, double &, double &, double &, double=1) const |
| virtual void | BoundingBox (int, double &, double &, double &, double &, double &, double &, double &, double &, double=1) const |
| BSplineFreeFormTransformation4D () | |
| Default constructor. | |
| BSplineFreeFormTransformation4D (double, double, double, double, double, double, double, double, double, double, double, double, double *, double *, double *) | |
| Construct free-form transformation for given image domain and lattice spacing. | |
| BSplineFreeFormTransformation4D (const ImageAttributes &, double=-1, double=-1, double=-1, double=-1) | |
| Construct free-form transformation for given image domain and lattice spacing. | |
| BSplineFreeFormTransformation4D (const BaseImage &, double, double, double, double) | |
| Construct free-form transformation for given target image and lattice spacing. | |
| BSplineFreeFormTransformation4D (const BSplineFreeFormTransformation4D &) | |
| Copy Constructor. | |
| virtual bool | CanRead (TransformationType) const |
| Whether this transformation can read a file of specified type (i.e. format) | |
| void | Evaluate (double &, double &, double &, double) const |
| Calculates the FFD (for a point in FFD coordinates) | |
| void | EvaluateHessian (Matrix [3], int, int, int, int) const |
| Calculates the Hessian of the FFD at a point in lattice coordinates. | |
| void | EvaluateHessian (Matrix [3], double, double, double, double) const |
| Calculates the Hessian of the FFD at a point in lattice coordinates. | |
| void | EvaluateHessianWorld (Matrix [3], double, double, double, double) const |
| void | EvaluateInside (double &, double &, double &, double) const |
| Evaluates the FFD at a point in lattice coordinates inside the FFD domain. | |
| void | EvaluateJacobian (Matrix &, int, int, int, int) const |
| Calculates the spatial Jacobian of the FFD at a point in lattice coordinates. | |
| void | EvaluateJacobian (Matrix &, double, double, double, double) const |
| Calculates the spatial Jacobian of the FFD at a point in lattice coordinates. | |
| void | EvaluateJacobianDOFs (double [3], int, int, int, int, double, double, double, double) const |
| void | EvaluateJacobianDOFs (TransformationJacobian &jac, double, double, double, double) const |
| void | EvaluateJacobianWorld (Matrix &, double, double, double, double) const |
| void | EvaluateLaplacian (double [3], int, int, int, int) const |
| Calculates the Laplacian of the FFD at a point in lattice coordinates. | |
| void | EvaluateLaplacian (double [3], int, int, int, double) const |
| Calculates the Laplacian of the FFD at a point in lattice coordinates. | |
| void | EvaluateLaplacian (double [3], double, double, double, double) const |
| Calculates the Laplacian of the FFD at a point in lattice coordinates. | |
| void | EvaluateLaplacian (double &, double &, double &, double) const |
| Calculates the Laplacian of the FFD at a point in lattice coordinates. | |
| virtual int | GetTAfterSubdivision () const |
| Number of control points in t after subdivision. | |
| virtual double | GetTSpacingAfterSubdivision () const |
| Returns the control point spacing in t after the subdivision. | |
| virtual int | GetXAfterSubdivision () const |
| Number of control points in x after subdivision. | |
| virtual double | GetXSpacingAfterSubdivision () const |
| Returns the control point spacing in x after the subdivision. | |
| virtual int | GetYAfterSubdivision () const |
| Number of control points in y after subdivision. | |
| virtual double | GetYSpacingAfterSubdivision () const |
| Returns the control point spacing in y after the subdivision. | |
| virtual int | GetZAfterSubdivision () const |
| Number of control points in z after subdivision. | |
| virtual double | GetZSpacingAfterSubdivision () const |
| Returns the control point spacing in z after the subdivision. | |
| virtual void | Interpolate (const double *, const double *, const double *) |
| virtual void | JacobianDOFs (Matrix &, int, int, int, int, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t the transformation parameters. | |
| virtual void | JacobianDOFs (double [3], int, int, int, int, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t the transformation parameters. | |
| virtual void | JacobianDOFs (TransformationJacobian &, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t the transformation parameters. | |
| virtual int | KernelSize () const |
| Size of support region of the used kernel. | |
| virtual void | LocalHessian (Matrix [3], double, double, double, double, double=NaN) const |
| Calculates the Hessian for each component of the local transformation w.r.t world coordinates. | |
| virtual void | LocalJacobian (Matrix &, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the local transformation w.r.t world coordinates. | |
| virtual void | LocalTransform (double &, double &, double &, double, double=NaN) const |
| Transforms a single point using the local transformation component only. | |
| virtual void | ParametricGradient (const GenericImage< double > *, double *, const WorldCoordsImage *, const WorldCoordsImage *, double=NaN, double=1.0) const |
| virtual void | Print (ostream &, Indent=0) const |
| Prints the parameters of the transformation. | |
| virtual void | Subdivide (bool=true, bool=true, bool=true, bool=true) |
| Subdivide FFD lattice in the specified dimensions. | |
| virtual | ~BSplineFreeFormTransformation4D () |
| Destructor. | |
Public Member Functions inherited from mirtk::FreeFormTransformation4D | |
| void | BoundingBoxCP (int, Point &, Point &, double=1) const |
| void | BoundingBoxImage (const GreyImage *, int, int &, int &, int &, int &, int &, int &, double=1) const |
| void | GetStatusCP (int, int, int, int, DOFStatus &, DOFStatus &, DOFStatus &) const |
| virtual void | Initialize (const ImageAttributes &) |
| Initialize free-form transformation. | |
| virtual void | JacobianDOFs (Matrix &, int, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t a control point. | |
| virtual void | JacobianDOFs (double [3], int, double, double, double, double, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t a transformation parameter. | |
| void | PutStatusCP (int, int, int, int, DOFStatus, DOFStatus, DOFStatus) |
| virtual | ~FreeFormTransformation4D () |
| Destructor. | |
Public Member Functions inherited from mirtk::FreeFormTransformation | |
| int | ActualNumberOfDOFs () const |
| virtual double | Approximate (const Transformation *, int=1, double=.0) |
| virtual double | Approximate (const ImageAttributes &, double *, double *, double *, int=1, double=.0) |
| virtual double | Approximate (const double *, const double *, const double *, double *, double *, double *, int, int=1, double=.0) |
| virtual double | Approximate (const double *, const double *, const double *, const double *, double *, double *, double *, int, int=1, double=.0) |
| virtual double | ApproximateAsNew (const Transformation *, int=1, double=.0) |
| Approximate another transformation and return approximation error. | |
| virtual double | ApproximateAsNew (const ImageAttributes &, double *, double *, double *, int=1, double=.0) |
| virtual ImageAttributes | ApproximationDomain (const ImageAttributes &, const Transformation *) |
| const ImageAttributes & | Attributes () const |
| Returns attributes of control point grid. | |
| void | BoundingBox (double &, double &) const |
| Gets the temporal bounding box of the free-form deformation (in ms) | |
| void | BoundingBox (double &, double &, double &, double &, double &, double &) const |
| Gets the spatial bounding box of the free-form deformation (in mm) | |
| void | BoundingBox (Point &, Point &) const |
| Gets the spatial bounding box of the free-form deformation (in mm) | |
| void | BoundingBox (double &, double &, double &, double &, double &, double &, double &, double &) const |
| Gets the spatio-temporal bounding box of the free-form deformation (in mm and ms) | |
| void | BoundingBox (Point &, double &, Point &, double &) const |
| Gets the spatio-temporal bounding box of the free-form deformation (in mm and ms) | |
| void | BoundingBox (int, Point &, Point &, double=1) const |
| bool | BoundingBox (const ImageAttributes &, int, int &, int &, int &, int &, int &, int &, double=1) const |
| bool | BoundingBox (const ImageAttributes &, int, int &, int &, int &, int &, int &, int &, int &, int &, double=1) const |
| bool | BoundingBox (const Image *, int, int &, int &, int &, int &, int &, int &, double=1) const |
| bool | BoundingBox (const Image *, int, int &, int &, int &, int &, int &, int &, int &, int &, double=1) const |
| void | ControlPointLocation (int, double &, double &) const |
| Gets the location of the given control point (in mm) | |
| void | ControlPointLocation (int, double &, double &, double &) const |
| Gets the location of the given control point (in mm) | |
| Point | ControlPointLocation (int) const |
| Returns the location of the given control point (in mm) | |
| virtual bool | CopyFrom (const Transformation *) |
| bool | CropPadPassiveCPs (int=0, bool=false) |
| virtual bool | CropPadPassiveCPs (int, int, int=0, int=0, bool=false) |
| bool | DOFBoundingBox (const ImageAttributes &, int, int &, int &, int &, int &, int &, int &, double=1) const |
| bool | DOFBoundingBox (const Image *, int, int &, int &, int &, int &, int &, int &, double=1) const |
| virtual double | DOFGradientNorm (const double *) const |
| Get norm of the gradient vector. | |
| int | DOFToDimension (int) const |
| Get index of dimension corresponding to transformation parameter (DoFs) | |
| int | DOFToIndex (int) const |
| Get index of control point corresponding to transformation parameter (DoFs) | |
| double | EvaluateRMSError (const Transformation *) const |
| Evaluates RMS error of transformation at control points compared to another. | |
| virtual void | ExtrapolationMode (enum ExtrapolationMode) |
| Set extrapolation mode. | |
| const CPExtrapolator * | Extrapolator () const |
| virtual void | FFDJacobianDetDerivative (double dJ[3], const Matrix &adj, int cp, double x, double y, double z, double=0, double=NaN, bool wrt_world=true, bool use_spacing=true) const |
| virtual void | FFDJacobianWorld (Matrix &, double, double, double, double=0, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t either control point displacements or velocities. | |
| void | Get (int, Vector &) const |
| Gets values of the parameters at a control point. | |
| void | Get (int, double &, double &, double &) const |
| Gets values of the parameters at a control point. | |
| void | Get (int, int, int, double &, double &, double &) const |
| Gets values of the parameters at a control point. | |
| void | Get (int, int, int, int, double &, double &, double &) const |
| Gets values of the parameters at a control point. | |
| void | GetOrientation (double *, double *, double *) const |
| Gets the orientation of the free-form deformation lattice. | |
| void | GetSpacing (double &, double &, double &) const |
| Gets the control point spacing (in mm) | |
| void | GetSpacing (double &, double &, double &, double &) const |
| Gets the control point spacing (in mm) | |
| void | GetStatus (int, CPStatus &) const |
| Gets status of the parameters at a control point. | |
| void | GetStatus (int, int, int, DOFStatus &, DOFStatus &, DOFStatus &) const |
| Gets status of the parameters at a control point. | |
| void | GetStatus (int, int, int, int, DOFStatus &, DOFStatus &, DOFStatus &) const |
| Gets status of the parameters at a control point. | |
| int | GetT () const |
| Returns the number of control points in t. | |
| double | GetTSpacing () const |
| Returns the of control point spacing in t. | |
| int | GetX () const |
| Returns the number of control points in x. | |
| double | GetXSpacing () const |
| Returns the of control point spacing in x. | |
| int | GetY () const |
| Returns the number of control points in y. | |
| double | GetYSpacing () const |
| Returns the of control point spacing in y. | |
| int | GetZ () const |
| Returns the number of control points in z. | |
| double | GetZSpacing () const |
| Returns the of control point spacing in z. | |
| virtual void | GlobalHessian (Matrix [3], double, double, double, double=0, double=NaN) const |
| Calculates the Hessian for each component of the global transformation w.r.t world coordinates. | |
| virtual void | GlobalInverse (double &, double &, double &, double=0, double=NaN) const |
| Transforms a single point using the inverse of the global transformation only. | |
| virtual void | GlobalJacobian (Matrix &, double, double, double, double=0, double=NaN) const |
| Calculates the Jacobian of the global transformation w.r.t world coordinates. | |
| virtual void | GlobalTransform (double &, double &, double &, double=0, double=NaN) const |
| Transforms a single point using the global transformation component only. | |
| virtual void | Hessian (Matrix [3], double, double, double, double=0, double=NaN) const |
| Calculates the Hessian for each component of the transformation w.r.t world coordinates. | |
| void | HessianToWorld (double &, double &, double &) const |
| void | HessianToWorld (double &, double &, double &, double &, double &, double &) const |
| void | HessianToWorld (Matrix &) const |
| void | HessianToWorld (Matrix [3]) const |
| void | IndexToDOFs (int, int &, int &) const |
| Get indices of transformation parameters (DoFs) | |
| void | IndexToDOFs (int, int &, int &, int &) const |
| Get indices of transformation parameters (DoFs) | |
| void | IndexToLattice (int, int &, int &) const |
| Get control point lattice coordinates from index. | |
| void | IndexToLattice (int, int &, int &, int &) const |
| Get control point lattice coordinates from index. | |
| void | IndexToLattice (int, int &, int &, int &, int &) const |
| Get control point lattice coordinates from index. | |
| void | IndexToWorld (int, double &, double &) const |
| Get world coordinates (in mm) of control point. | |
| void | IndexToWorld (int, double &, double &, double &) const |
| Get world coordinates (in mm) of control point. | |
| void | IndexToWorld (int, Point &) const |
| Get world coordinates (in mm) of control point. | |
| Point | IndexToWorld (int) const |
| Get world coordinates (in mm) of control point. | |
| void | Initialize (const ImageAttributes &, double, double, double=-1.0, double=-1.0) |
| Initialize free-form transformation. | |
| void | Initialize (const CPImage &, bool=false) |
| Initialize transformation from existing vector field. | |
| void | Initialize (const GenericImage< double > &, bool=false) |
| Initialize transformation from existing 3D+t vector field. | |
| virtual bool | Inverse (double &, double &, double &, double=0, double=NaN) const |
| Transforms a single point using the inverse of the transformation. | |
| virtual bool | IsActive (int) const |
| Whether the control point at given lattice index is active. | |
| virtual bool | IsActive (int, int, int=0, int=0) const |
| Whether the control point at given lattice coordinates is active. | |
| virtual void | Jacobian (Matrix &, double, double, double, double=0, double=NaN) const |
| Calculates the Jacobian of the transformation w.r.t world coordinates. | |
| virtual void | JacobianDetDerivative (double dJ[3], const Matrix &adj, int cp, double x, double y, double z, double t=0, double t0=NaN, bool wrt_world=true, bool use_spacing=true) const |
| void | JacobianToWorld (double &, double &) const |
| void | JacobianToWorld (double &, double &, double &) const |
| void | JacobianToWorld (Matrix &) const |
| void | JacobianToWorldOrientation (double &, double &) const |
| Reorient 1st order derivatives computed w.r.t 2D lattice coordinates. | |
| void | JacobianToWorldOrientation (double &, double &, double &) const |
| Reorient 1st order derivatives computed w.r.t 2D lattice coordinates. | |
| int | KernelRadius () const |
| Radius of support region of the used kernel. | |
| int | LatticeToIndex (int, int, int=0, int=0) const |
| Get control point index from lattice coordinates. | |
| virtual double | LatticeToTime (double) const |
| Transforms temporal lattice coordinate to time (in ms) | |
| virtual void | LatticeToWorld (double &, double &) const |
| Transforms lattice coordinates to world coordinates (in mm) | |
| virtual void | LatticeToWorld (double &, double &, double &) const |
| Transforms lattice coordinates to world coordinates (in mm) | |
| virtual void | LatticeToWorld (Point &) const |
| Transforms lattice coordinates to world coordinates (in mm) | |
| mirtkPublicAttributeMacro (double, SpeedupFactor) | |
| Speedup factor for gradient computation. | |
| mirtkReadOnlyAttributeMacro (enum ExtrapolationMode, ExtrapolationMode) | |
| Mode used for extrapolation of control point image. | |
| int | NumberOfActiveCPs () const |
| Number of active control points. | |
| int | NumberOfCPs () const |
| Number of control points. | |
| int | NumberOfPassiveCPs () const |
| Number of non-active control points. | |
| virtual ParameterList | Parameter () const |
| Get (non-DoF) parameters as key/value as string map. | |
| virtual void | ParametricGradient (const PointSet &, const Vector3D< double > *, double *, double=0, double=NaN, double=1) const |
| void | Put (int, const Vector &) |
| Puts values of the parameters at a control point. | |
| void | Put (int, double, double, double) |
| Puts values of the parameters at a control point. | |
| void | Put (int, int, int, double, double, double) |
| Puts values of the parameters at a control point. | |
| void | Put (int, int, int, int, double, double, double) |
| Puts values of the parameters at a control point. | |
| void | PutBoundingBox (double, double, double, double, double, double) |
| Puts the spatial bounding box for the free-form deformation (in mm) | |
| void | PutBoundingBox (const Point &, const Point &) |
| Puts the temporal bounding box for the free-form deformation (in mm) | |
| void | PutBoundingBox (double, double) |
| Puts the temporal bounding box of the free-form deformation (in ms) | |
| void | PutBoundingBox (double, double, double, double, double, double, double, double) |
| Puts the spatio-temporal bounding box for the free-form deformation (in mm) | |
| void | PutOrientation (double *, double *, double *) |
| Puts the orientation of the free-form deformation lattice. | |
| void | PutStatus (int, const CPStatus &) |
| Puts status of the parameters at a control point. | |
| void | PutStatus (int, int, int, DOFStatus, DOFStatus, DOFStatus) |
| Puts status of the parameters at a control point. | |
| void | PutStatus (int, int, int, int, DOFStatus, DOFStatus, DOFStatus) |
| Puts status of the parameters at a control point. | |
| virtual bool | Set (const char *, const char *) |
| Set named (non-DoF) parameter from value as string. | |
| void | Subdivide2D () |
| Subdivide lattice in first two dimensions. | |
| void | Subdivide3D () |
| Subdivide lattice in first three dimensions. | |
| void | Subdivide4D () |
| Subdivide lattice in all four dimensions. | |
| int | T () const |
| Returns the number of control points in t. | |
| virtual double | TimeToLattice (double) const |
| Transforms time (in ms) to temporal lattice coordinate. | |
| virtual void | Transform (double &, double &, double &, double=0, double=NaN) const |
| Transforms a single point. | |
| virtual void | WorldToLattice (double &, double &) const |
| Transforms world coordinates (in mm) to lattice coordinates. | |
| virtual void | WorldToLattice (double &, double &, double &) const |
| Transforms world coordinates (in mm) to lattice coordinates. | |
| virtual void | WorldToLattice (Point &) const |
| Transforms world coordinates (in mm) to lattice coordinates. | |
| int | X () const |
| Returns the number of control points in x. | |
| int | Y () const |
| Returns the number of control points in y. | |
| int | Z () const |
| Returns the number of control points in z. | |
| virtual | ~FreeFormTransformation () |
| Destructor. | |
Public Member Functions inherited from mirtk::Transformation | |
| virtual void | Add (const DOFValue *) |
| Add change to transformation parameters. | |
| virtual double | Approximate (const ImageAttributes &, const Transformation *, int=1, double=.0) |
| Approximate another transformation and return approximation error. | |
| virtual double | Approximate (GenericImage< double > &, int=1, double=.0) |
| virtual double | ApproximateAsNew (const ImageAttributes &, const Transformation *, int=1, double=.0) |
| Approximate another transformation and return approximation error. | |
| virtual double | ApproximateAsNew (GenericImage< double > &, int=1, double=.0) |
| virtual double | ApproximateAsNew (const double *, const double *, const double *, double *, double *, double *, int, int=1, double=.0) |
| virtual double | ApproximateAsNew (const double *, const double *, const double *, const double *, double *, double *, double *, int, int=1, double=.0) |
| virtual void | ApproximateGradient (const ImageAttributes &, const double *, const double *, const double *, double *, double=1.0) const |
| virtual void | ApproximateGradient (const double *, const double *, const double *, const double *, const double *, const double *, int, double *, double=1.0) const |
| virtual void | ApproximateGradient (const double *, const double *, const double *, const double *, const double *, const double *, const double *, int, double *, double=1.0) const |
| virtual bool | CanModifyDisplacement (int=-1) const |
| virtual void | DeriveJacobianWrtDOF (Matrix &, int, double, double, double, double=0, double=NaN) const |
| Calculates the derivative of the Jacobian of the transformation (w.r.t. world coordinates) w.r.t. a transformation parameter. | |
| virtual void | Displacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point. | |
| virtual void | Displacement (const ImageAttributes &, double *, double *, double *) const |
| virtual void | Displacement (GenericImage< double > &, double=NaN, const WorldCoordsImage *=NULL) const |
| Calculates the displacement vectors for a whole image domain. | |
| virtual void | Displacement (GenericImage< float > &, double=NaN, const WorldCoordsImage *=NULL) const |
| Calculates the displacement vectors for a whole image domain. | |
| virtual void | Displacement (GenericImage< double > &, double, double, const WorldCoordsImage *=NULL) const |
| virtual void | Displacement (GenericImage< float > &, double, double, const WorldCoordsImage *=NULL) const |
| virtual void | DisplacementAfterDOFChange (int dof, double dv, GenericImage< double > &dx, double t, double t0=NaN, const WorldCoordsImage *i2w=NULL) const |
| double | EvaluateRMSError (const ImageAttributes &, const Transformation *) const |
| Evaluates RMS error of transformation compared to another. | |
| double | EvaluateRMSError (const ImageAttributes &, double *, double *) const |
| double | EvaluateRMSError (const ImageAttributes &, double *, double *, double *) const |
| double | EvaluateRMSError (const double *, const double *, const double *, double, double *, double *, double *, int no) const |
| Evaluates RMS error of transformation compared to displacement field. | |
| double | EvaluateRMSError (const double *, const double *, const double *, const double *, double *, double *, double *, int no) const |
| Evaluates RMS error of transformation compared to given displacement field. | |
| virtual double | Get (int) const |
| Get value of transformation parameter. | |
| virtual void | Get (DOFValue *) const |
| Get values of transformation parameters. | |
| virtual DOFStatus | GetStatus (int) const |
| Get status of transformation parameter. | |
| virtual void | GlobalDisplacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point using the global transformation component only. | |
| virtual void | GlobalInverseDisplacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point using the inverse of the global transformation only. | |
| virtual double | GlobalJacobian (double, double, double, double=0, double=NaN) const |
| Calculates the determinant of the Jacobian of the global transformation w.r.t world coordinates. | |
| virtual bool | HasSameDOFsAs (const Transformation *) const |
| Checks whether transformation depends on the same vector of parameters. | |
| virtual bool | Inverse (Point &, double=0, double=NaN) const |
| Transforms a single point using the inverse of the transformation. | |
| virtual int | Inverse (PointSet &, double=0, double=NaN) const |
| virtual bool | InverseDisplacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point using the inverse of the transformation. | |
| virtual int | InverseDisplacement (const ImageAttributes &, double *, double *, double *) const |
| virtual int | InverseDisplacement (GenericImage< double > &, double=NaN, const WorldCoordsImage *=NULL) const |
| virtual int | InverseDisplacement (GenericImage< float > &, double=NaN, const WorldCoordsImage *=NULL) const |
| virtual int | InverseDisplacement (GenericImage< double > &, double, double, const WorldCoordsImage *=NULL) const |
| virtual int | InverseDisplacement (GenericImage< float > &, double, double, const WorldCoordsImage *=NULL) const |
| virtual bool | IsIdentity () const |
| Checks whether the transformation is an identity mapping. | |
| virtual double | Jacobian (double, double, double, double=0, double=NaN) const |
| Calculates the determinant of the Jacobian of the transformation w.r.t world coordinates. | |
| virtual void | LocalDisplacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point using the local transformation component only. | |
| virtual bool | LocalInverse (double &, double &, double &, double=0, double=NaN) const |
| Transforms a single point using the inverse of the local transformation only. | |
| virtual bool | LocalInverseDisplacement (double &, double &, double &, double=0, double=NaN) const |
| Calculates the displacement of a single point using the inverse of the local transformation only. | |
| virtual double | LocalJacobian (double, double, double, double=0, double=NaN) const |
| Calculates the determinant of the Jacobian of the local transformation w.r.t world coordinates. | |
| int | NumberOfActiveDOFs () const |
| Get number of active transformation parameters. | |
| virtual int | NumberOfDOFs () const |
| Get number of transformation parameters. | |
| int | NumberOfPassiveDOFs () const |
| Get number of passive transformation parameters. | |
| void | ParametricGradient (const GenericImage< double > *, double *, const WorldCoordsImage *, double=NaN, double=1) const |
| void | ParametricGradient (const GenericImage< double > *, double *, double=NaN, double=1) const |
| virtual void | ParametricGradient (const GenericImage< double > **, int, double *, const WorldCoordsImage *, const WorldCoordsImage *, const double *=NULL, double=1) const |
| void | ParametricGradient (const GenericImage< double > **, int, double *, const WorldCoordsImage *, const double *=NULL, double=1) const |
| void | ParametricGradient (const GenericImage< double > **, int, double *, const double *=NULL, double=1) const |
| void | Print (Indent=0) const |
| Prints information about the transformation. | |
| virtual void | Put (int, double) |
| Put value of transformation parameter. | |
| virtual void | Put (const DOFValue *) |
| Put values of transformation parameters. | |
| virtual void | PutStatus (int, DOFStatus) |
| Put status of transformation parameter. | |
| virtual void | Read (const char *) |
| Reads a transformation from a file. | |
| virtual Cifstream & | Read (Cifstream &) |
| Reads a transformation from a file stream. | |
| virtual bool | RequiresCachingOfDisplacements () const |
| virtual void | Reset () |
| Reset transformation. | |
| virtual void | Transform (Point &, double=0, double=NaN) const |
| Transforms a single point. | |
| virtual void | Transform (PointSet &, double=0, double=NaN) const |
| Transforms a set of points. | |
| virtual void | Transform (int, double *, double *, double *, double=0, double=NaN) const |
| Transforms a set of points. | |
| virtual void | Transform (int, double *, double *, double *, const double *, double=NaN) const |
| Transforms a set of points. | |
| virtual void | Transform (WorldCoordsImage &, double=NaN) const |
| Transforms world coordinates of image voxels. | |
| virtual TransformationType | TypeOfClass () const |
| Returns type ID of the instantiated transformation class. | |
| virtual double | Update (const DOFValue *) |
| Update transformation parameters given parametric gradient. | |
| virtual void | Verify () |
| virtual void | Write (const char *) const |
| Writes a transformation to a file. | |
| virtual Cofstream & | Write (Cofstream &) const |
| Writes a transformation to a file stream. | |
| virtual | ~Transformation () |
| Default destructor. | |
Public Member Functions inherited from mirtk::Observable | |
| void | AddObserver (Observer &) |
| Add observer. | |
| void | Broadcast (Event, const void *=NULL) |
| Broadcast event to observers. | |
| void | ClearObservers () |
| Delete all observers. | |
| void | DeleteObserver (Observer &) |
| Delete observer. | |
| void | NotifyObservers (Event, const void *=NULL) |
| Notify all observers about given event if this object has changed. | |
| int | NumberOfObservers () const |
| Number of current observers. | |
| virtual | ~Observable () |
| Destructor. | |
Public Member Functions inherited from mirtk::Object | |
| virtual const char * | NameOfClass () const =0 |
| Get name of class, which this object is an instance of. | |
| bool | Parameter (const ParameterList &) |
| Set parameters from name/value pairs. | |
| virtual | ~Object () |
| Destructor. | |
Protected Attributes | |
| Interpolator | _FFD |
| Interpolates control point values at arbitrary lattice locations. | |
Protected Attributes inherited from mirtk::FreeFormTransformation | |
| const ImageAttributes & | _attr |
| Control point lattice attributes. | |
| CPInterpolator * | _CPFunc |
| CPImage | _CPImage |
| CPStatus **** | _CPStatus |
| CPExtrapolator * | _CPValue |
| Infinite discrete representation of free-form transformation coefficients. | |
| const double & | _dt |
| Read-only reference to _dt attribute of _CPImage. | |
| const double & | _dx |
| Read-only reference to _dx attribute of _CPImage. | |
| const double & | _dy |
| Read-only reference to _dy attribute of _CPImage. | |
| const double & | _dz |
| Read-only reference to _dz attribute of _CPImage. | |
| const Matrix & | _matL2W |
| Read-only reference to _matI2W of _CPImage. | |
| const Matrix & | _matW2L |
| Read-only reference to _matW2I of _CPImage. | |
| const int & | _t |
| Read-only reference to _t attribute of _CPImage. | |
| const int & | _x |
| Read-only reference to _x attribute of _CPImage. | |
| const int & | _y |
| Read-only reference to _y attribute of _CPImage. | |
| const int & | _z |
| Read-only reference to _z attribute of _CPImage. | |
Protected Attributes inherited from mirtk::Transformation | |
| int | _NumberOfDOFs |
| Number of transformation parameters. | |
| DOFValue * | _Param |
| Value of each transformation parameter. | |
| DOFStatus * | _Status |
| Status of each transformation parameter (Active or Passive) | |
Additional Inherited Members | |
Public Types inherited from mirtk::FreeFormTransformation | |
| typedef GenericExtrapolateImageFunction< CPImage > | CPExtrapolator |
| Base type used for extrapolation of control point data. | |
| typedef GenericImage< CPValue > | CPImage |
| Type of image representation of free-form transformation. | |
| typedef GenericInterpolateImageFunction< CPImage > | CPInterpolator |
| typedef Vector3D< DOFStatus > | CPStatus |
| Type of vector storing status of control point coefficients. | |
| typedef Vector3D< DOFValue > | CPValue |
| Type of vector storing the coefficients at a control point. | |
| typedef CPValue | Vector |
Public Types inherited from mirtk::Transformation | |
| typedef Status | DOFStatus |
| Type of transforamtion parameter status. | |
| typedef double | DOFValue |
| Type of transformation parameter value. | |
Static Public Member Functions inherited from mirtk::FreeFormTransformation | |
| static double | Bending3D (const Matrix [3]) |
| Calculates the bending of the transformation given the 2nd order derivatives. | |
| static ImageAttributes | DefaultAttributes (const ImageAttributes &attr, double dx=-1.0, double dy=-1.0, double dz=-1.0, double dt=-1.0) |
| static ImageAttributes | DefaultAttributes (double, double, double, double, double, double, double, double, double, double, double, double, const double *, const double *, const double *) |
| Default attributes of free-form transformation lattice. | |
Static Public Member Functions inherited from mirtk::Transformation | |
| static bool | CheckHeader (const char *) |
| Whether magic number in header of given file. | |
| static Transformation * | New (TransformationType) |
| static Transformation * | New (const Transformation *) |
| static Transformation * | New (const char *) |
| static TransformationType | TypeOfClass (const char *) |
| Returns type ID corresponding to transformations of the named class. | |
Static Public Member Functions inherited from mirtk::Object | |
| static const char * | NameOfType () |
| Get name of this class type. | |
Protected Member Functions inherited from mirtk::FreeFormTransformation4D | |
| FreeFormTransformation4D (CPInterpolator &) | |
| Default constructor. | |
| FreeFormTransformation4D (const FreeFormTransformation4D &, CPInterpolator &) | |
| Copy Constructor. | |
| virtual Cifstream & | ReadDOFs (Cifstream &, TransformationType) |
| Reads transformation parameters from a file stream. | |
| virtual Cofstream & | WriteDOFs (Cofstream &) const |
| Writes transformation parameters to a file stream. | |
Protected Member Functions inherited from mirtk::FreeFormTransformation | |
| FreeFormTransformation (CPInterpolator &, CPInterpolator *=NULL) | |
| Default constructor. | |
| FreeFormTransformation (const FreeFormTransformation &, CPInterpolator &, CPInterpolator *=NULL) | |
| Copy constructor. | |
| void | InitializeCPs (const ImageAttributes &, bool=true) |
| Initialize control points. | |
| void | InitializeCPs (const FreeFormTransformation &, bool=true) |
| Copy control points from other transformation. | |
| void | InitializeInterpolator () |
| Initialize interpolator of control points. | |
| void | InitializeStatus () |
| Initialize status of control points. | |
| Cofstream & | WriteCPs (Cofstream &) const |
| Writes the control point and status information to a file stream. | |
Protected Member Functions inherited from mirtk::Transformation | |
| void | InitializeDOFs (int) |
| Initialize transformation parameters. | |
| void | InitializeDOFs (const Transformation &, int=-1) |
| Copy transformation parameters (DoFs) and their status. | |
| Transformation (int=0) | |
| Default constructor. | |
| Transformation (const Transformation &) | |
| Copy constructor. | |
| Transformation (const Transformation &, int) | |
| Copy constructor. | |
Protected Member Functions inherited from mirtk::Observable | |
| Observable () | |
| Default constructor. | |
| Observable (const Observable &) | |
| Copy constructor. | |
| Observable & | operator= (const Observable &) |
| Assignment operator. | |
Protected Member Functions inherited from mirtk::Object | |
| template<typename... Args> | |
| void | Throw (ErrorType err, const char *func, Args... args) const |
Static Protected Member Functions inherited from mirtk::Object | |
| template<typename... Args> | |
| static void | ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args) |
Class for free-form transformations based on tensor product B-splines.
This class implements 4D 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 41 of file BSplineFreeFormTransformation4D.h.
|
virtual |
Approximate displacements: This function takes a set of points and a set of displacements and finds !new! parameters such that the resulting transformation approximates the displacements as good as possible.
Reimplemented from mirtk::Transformation.
Reimplemented in mirtk::BSplineFreeFormTransformationTD.
|
virtual |
Finds gradient of approximation error: This function takes a set of points and a set of errors. It finds a gradient w.r.t. the transformation parameters which minimizes the L2 norm of the approximation error and adds it to the input gradient with the given weight.
Reimplemented from mirtk::Transformation.
Reimplemented in mirtk::BSplineFreeFormTransformationTD.
|
virtual |
Approximates the gradient of the bending energy on the control point lattice w.r.t the transformation parameters and adds it with the given weight
Reimplemented from mirtk::FreeFormTransformation.
|
virtual |
Gets the temporal bounding box for a control point. The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Reimplemented from mirtk::FreeFormTransformation.
|
virtual |
Gets the spatial bounding box for a control point. The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Implements mirtk::FreeFormTransformation.
|
virtual |
Gets the spatio-temporal bounding box for a control point. The last parameter specifies what fraction of the bounding box to return. The default is 1 which equals 100% of the bounding box.
Reimplemented from mirtk::FreeFormTransformation.
|
inline |
Calculates the Hessian of the FFD at a point in lattice coordinates and converts the resulting Hessian to derivatives w.r.t world coordinates
Definition at line 374 of file BSplineFreeFormTransformation4D.h.
|
inline |
Calculates the Jacobian of the FFD at a point in lattice coordinates w.r.t the control point with lattice coordinates (i, j, k, l)
Definition at line 314 of file BSplineFreeFormTransformation4D.h.
|
inline |
Calculates the Jacobian of the FFD at a point in lattice coordinates w.r.t the parameters. The resulting Jacobian matrix contains one column for each parameter, but only non-zero columns, i.e., of control points for whom the point is in the local support region, are actually stored.
Definition at line 325 of file BSplineFreeFormTransformation4D.h.
|
inline |
Calculates the spatial Jacobian of the FFD at a point in lattice coordinates and converts the resulting Jacobian to derivatives w.r.t world coordinates
Definition at line 306 of file BSplineFreeFormTransformation4D.h.
|
virtual |
Interpolates displacements: This function takes a set of displacements defined at the control points and finds a FFD which interpolates these displacements.
Implements mirtk::FreeFormTransformation.
Reimplemented in mirtk::BSplineFreeFormTransformationTD.
|
virtual |
Applies the chain rule to convert spatial non-parametric gradient to a gradient w.r.t the parameters of this transformation
Reimplemented from mirtk::FreeFormTransformation4D.
Reimplemented in mirtk::BSplineFreeFormTransformationTD.