A BSpline transform. More...
#include <vtkITKBSplineTransform.h>
Public Types | |
| typedef itk::AffineTransform < double, 3 > | BulkTransformType |
Public Member Functions | |
| BulkTransformType const * | GetBulkTransform () const |
| void | GetBulkTransform (double linear[3][3], double offset[3]) |
| const double * | GetFixedParameters () const |
| Return a pointer to the fixed parameter array. | |
| itk::Transform< double, 3, 3 > ::Pointer | GetITKTransform () const |
| unsigned int | GetNumberOfFixedParameters () const |
| The number of fixed parameters. | |
| unsigned int | GetNumberOfParameters () const |
| The number of elements in the parameter vector. | |
| const double * | GetParameters () const |
| unsigned int | GetSplineOrder () const |
| bool | GetSwitchCoordinateSystem () const |
| vtkAbstractTransform * | MakeTransform () |
| virtual void | PrintSelf (ostream &os, vtkIndent indent) |
| void | SetBulkTransform (const double linear[3][3], const double offset[3]) |
| BulkTransform should be in the ITK coordinate system, which is LPS. | |
| void | SetFixedParameters (const double *param, unsigned N) |
| Set the fixed parameters. | |
| void | SetGridOrigin (const double origin[3]) |
| void | SetGridSize (const unsigned int size[3]) |
| Number of grid nodes in each dimension. | |
| void | SetGridSpacing (const double spacing[3]) |
| The spacing between grid nodes. | |
| void | SetParameters (const double *param) |
| Set the BSpline parameters. | |
| void | SetParameters (vtkDoubleArray ¶m) |
| See the documentation of SetParameters(double[]). | |
| void | SetSplineOrder (unsigned int) |
| SetOrder MUST be called first before other set functions. | |
| void | SetSwitchCoordinateSystem (bool v) |
| Sets whether a LPS->RAS conversion should be done. | |
| vtkTypeRevisionMacro (vtkITKBSplineTransform, vtkWarpTransform) | |
Static Public Member Functions | |
| static vtkITKBSplineTransform * | New () |
Protected Member Functions | |
| void | ForwardTransformDerivative (const double in[3], double out[3], double derivative[3][3]) |
| void | ForwardTransformDerivative (const float in[3], float out[3], float derivative[3][3]) |
| void | ForwardTransformPoint (const double in[3], double out[3]) |
| void | ForwardTransformPoint (const float in[3], float out[3]) |
| void | InverseTransformDerivative (const double in[3], double out[3], double derivative[3][3]) |
| void | InverseTransformDerivative (const float in[3], float out[3], float derivative[3][3]) |
| void | InverseTransformPoint (const double in[3], double out[3]) |
| void | InverseTransformPoint (const float in[3], float out[3]) |
| vtkITKBSplineTransform () | |
| virtual | ~vtkITKBSplineTransform () |
Private Attributes | |
| vtkITKBSplineTransformHelper * | Helper |
A BSpline transform.
See the ITK BSplineTransform documentation for details on the underlying functionality and dependencies of this class.
| typedef itk::AffineTransform<double,3> vtkITKBSplineTransform::BulkTransformType |
| vtkITKBSplineTransform::vtkITKBSplineTransform | ( | ) | [protected] |
| vtkITKBSplineTransform::~vtkITKBSplineTransform | ( | ) | [protected, virtual] |
| void vtkITKBSplineTransform::ForwardTransformDerivative | ( | const double | in[3], | |
| double | out[3], | |||
| double | derivative[3][3] | |||
| ) | [protected] |
References j.
| void vtkITKBSplineTransform::ForwardTransformDerivative | ( | const float | in[3], | |
| float | out[3], | |||
| float | derivative[3][3] | |||
| ) | [protected] |
References j.
| void vtkITKBSplineTransform::ForwardTransformPoint | ( | const double | in[3], | |
| double | out[3] | |||
| ) | [protected] |
| void vtkITKBSplineTransform::ForwardTransformPoint | ( | const float | in[3], | |
| float | out[3] | |||
| ) | [protected] |
| vtkITKBSplineTransform::BulkTransformType const * vtkITKBSplineTransform::GetBulkTransform | ( | ) | const |
| void vtkITKBSplineTransform::GetBulkTransform | ( | double | linear[3][3], | |
| double | offset[3] | |||
| ) |
Referenced by vtkMRMLTransformStorageNode::WriteData(), and vtkMRMLBSplineTransformNode::WriteXML().
| const double * vtkITKBSplineTransform::GetFixedParameters | ( | void | ) | const |
Return a pointer to the fixed parameter array.
This is a pointer to internal data; the class still owns it.
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| itk::Transform< double, 3, 3 >::Pointer vtkITKBSplineTransform::GetITKTransform | ( | ) | const |
Referenced by vtkMRMLTransformStorageNode::WriteData().
| unsigned int vtkITKBSplineTransform::GetNumberOfFixedParameters | ( | ) | const |
The number of fixed parameters.
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| unsigned int vtkITKBSplineTransform::GetNumberOfParameters | ( | void | ) | const |
The number of elements in the parameter vector.
See SetParameters(double[]).
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| double const * vtkITKBSplineTransform::GetParameters | ( | void | ) | const |
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| unsigned int vtkITKBSplineTransform::GetSplineOrder | ( | ) | const |
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| bool vtkITKBSplineTransform::GetSwitchCoordinateSystem | ( | ) | const |
Referenced by vtkMRMLBSplineTransformNode::WriteXML().
| void vtkITKBSplineTransform::InverseTransformDerivative | ( | const double | in[3], | |
| double | out[3], | |||
| double | derivative[3][3] | |||
| ) | [protected] |
References j.
| void vtkITKBSplineTransform::InverseTransformDerivative | ( | const float | in[3], | |
| float | out[3], | |||
| float | derivative[3][3] | |||
| ) | [protected] |
References j.
| void vtkITKBSplineTransform::InverseTransformPoint | ( | const double | in[3], | |
| double | out[3] | |||
| ) | [protected] |
| void vtkITKBSplineTransform::InverseTransformPoint | ( | const float | in[3], | |
| float | out[3] | |||
| ) | [protected] |
| vtkAbstractTransform * vtkITKBSplineTransform::MakeTransform | ( | ) |
References SetFixedParameters(), SetParameters(), SetSplineOrder(), and SetSwitchCoordinateSystem().
| static vtkITKBSplineTransform* vtkITKBSplineTransform::New | ( | ) | [static] |
Referenced by main().
| void vtkITKBSplineTransform::PrintSelf | ( | ostream & | os, | |
| vtkIndent | indent | |||
| ) | [virtual] |
| void vtkITKBSplineTransform::SetBulkTransform | ( | const double | linear[3][3], | |
| const double | offset[3] | |||
| ) |
BulkTransform should be in the ITK coordinate system, which is LPS.
| void vtkITKBSplineTransform::SetFixedParameters | ( | const double * | param, | |
| unsigned | N | |||
| ) |
Set the fixed parameters.
These are the grid spacing, the grid origin, etc.
Referenced by MakeTransform().
| void vtkITKBSplineTransform::SetGridOrigin | ( | const double | origin[3] | ) |
The origin of the B-spline grid must be set at one grid position away from the origin of the desired output image.
| void vtkITKBSplineTransform::SetGridSize | ( | const unsigned int | size[3] | ) |
Number of grid nodes in each dimension.
Note that there need to be extra nodes "outside" the valid input region. The number of such extra nodes depends on the order of the BSpline; for a cubic (order 3) BSpline, there needs to be 3 extra nodes in each dimension.
| void vtkITKBSplineTransform::SetGridSpacing | ( | const double | spacing[3] | ) |
The spacing between grid nodes.
| void vtkITKBSplineTransform::SetParameters | ( | const double * | param | ) |
Set the BSpline parameters.
There should be this->GetNumberOfParameters() parameters in this vector. The parameters can be thought of as the required displacement each node in each dimension. Suppose the grid (set by SetGridSize) is LxNxM. Then, the first LxNxM values represent the x-displacement, the next LxNxM values represent the y-displacement, and finally, the last LxNxM values represent the z-displacement. For each space dimension, the LxNxM values are the values at the corresponding grid points, vectorized by traversing the grid in the x-dimension first, then the y-dimension, and finally the z-dimension. That is, if param[17] is for grid node (1,2,3), then param[18] is for grid node (2,2,3). The parameter values in param are copied, and hence can be released after this call.
| void vtkITKBSplineTransform::SetParameters | ( | vtkDoubleArray & | param | ) |
See the documentation of SetParameters(double[]).
Referenced by MakeTransform().
| void vtkITKBSplineTransform::SetSplineOrder | ( | unsigned int | order | ) |
SetOrder MUST be called first before other set functions.
Referenced by MakeTransform().
| void vtkITKBSplineTransform::SetSwitchCoordinateSystem | ( | bool | v | ) |
Sets whether a LPS->RAS conversion should be done.
When the BSpline is created, it is assumed to be in an LPS coordinate system, as is typical for ITK BSplines. If this switch is set to true, then this class will assume that the input and output points are in an RAS coordinate system, and will first convert them to LPS, call the ITK BSpline, and convert the result back to RAS. By default, this switch is is FALSE. Thus, by default, this class will behave exactly like the wrapped ITK BSpline.
Referenced by MakeTransform().
| vtkITKBSplineTransform::vtkTypeRevisionMacro | ( | vtkITKBSplineTransform | , | |
| vtkWarpTransform | ||||
| ) |
1.6.1