vtkITKBSplineTransform Class Reference

A BSpline transform. More...

#include <vtkITKBSplineTransform.h>

Inheritance diagram for vtkITKBSplineTransform:
vtkWarpTransform

List of all members.

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 &param)
 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 vtkITKBSplineTransformNew ()

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

vtkITKBSplineTransformHelperHelper

Detailed Description

A BSpline transform.

See the ITK BSplineTransform documentation for details on the underlying functionality and dependencies of this class.


Member Typedef Documentation

typedef itk::AffineTransform<double,3> vtkITKBSplineTransform::BulkTransformType

Constructor & Destructor Documentation

vtkITKBSplineTransform::vtkITKBSplineTransform (  )  [protected]
vtkITKBSplineTransform::~vtkITKBSplineTransform (  )  [protected, virtual]

Member Function Documentation

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] 
)
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
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
unsigned int vtkITKBSplineTransform::GetSplineOrder (  )  const
bool vtkITKBSplineTransform::GetSwitchCoordinateSystem (  )  const
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 (  ) 
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   
)

Member Data Documentation


The documentation for this class was generated from the following files:

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1