Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference
[Transforms]

Deformable transform using a BSpline representation. More...

#include <itkBSplineDeformableTransform.h>

Inheritance diagram for itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >:

Inheritance graph
[legend]
Collaboration diagram for itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef BSplineDeformableTransform Self
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef ParametersType::ValueType PixelType
typedef Image< PixelType,
itkGetStaticConstMacro(SpaceDimension) 
ImageType )
typedef ImageType::Pointer ImagePointer
typedef Array< unsigned long > ParameterIndexArrayType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputVectorType )
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputVectorType )
typedef CovariantVector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputCovariantVectorType )
typedef CovariantVector< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputCovariantVectorType )
typedef vnl_vector_fixed<
TScalarType, itkGetStaticConstMacro(SpaceDimension) 
InputVnlVectorType )
typedef vnl_vector_fixed<
TScalarType, itkGetStaticConstMacro(SpaceDimension) 
OutputVnlVectorType )
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
InputPointType )
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension) 
OutputPointType )
typedef ImageRegion< itkGetStaticConstMacro(SpaceDimension) RegionType )
typedef RegionType::IndexType IndexType
typedef RegionType::SizeType SizeType
typedef FixedArray< double,
itkGetStaticConstMacro(SpaceDimension) 
SpacingType )
typedef FixedArray< double,
itkGetStaticConstMacro(SpaceDimension) 
OriginType )
typedef Transform< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SpaceDimension) 
BulkTransformType )
typedef BulkTransformType::ConstPointer BulkTransformPointer
typedef BSplineInterpolationWeightFunction<
ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) 
WeightsFunctionType )
typedef WeightsFunctionType::WeightsType WeightsType
typedef WeightsFunctionType::ContinuousIndexType ContinuousIndexType

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
void SetParameters (const ParametersType &parameters)
virtual const ParametersTypeGetParameters (void) const
virtual ImagePointerGetCoefficientImage ()
virtual void SetCoefficientImage (ImagePointer images[])
OutputPointType TransformPoint (const InputPointType &point) const
void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const
unsigned long GetNumberOfWeights () const
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
virtual unsigned int GetNumberOfParameters (void) const
unsigned int GetNumberOfParametersPerDimension (void) const
virtual RegionType GetValidRegion () const
virtual void SetGridRegion (const RegionType &region)
virtual RegionType GetGridRegion ()
virtual void SetGridSpacing (const SpacingType &spacing)
virtual SpacingType GetGridSpacing ()
virtual void SetGridOrigin (const OriginType &origin)
virtual OriginType GetGridOrigin ()
virtual void SetBulkTransform (const BulkTransformType *_arg)
virtual const BulkTransformTypeGetBulkTransform ()
virtual OutputVectorType TransformVector (const InputVectorType &) const
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const

Static Public Member Functions

Pointer New ()

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const
 BSplineDeformableTransform ()
 ~BSplineDeformableTransform ()

Detailed Description

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
class itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >

Deformable transform using a BSpline representation.

This class encapsulates a deformable transform of points from one N-dimensional one space to another N-dimensional space. The deformation field is modeled using B-splines. A deformation is defined on a sparse regular grid of control points $ \vec{\lambda}_j $ and is varied by defining a deformation $ \vec{g}(\vec{\lambda}_j) $ of each control point. The deformation $ D(\vec{x}) $ at any point $ \vec{x} $ is obtained by using a B-spline interpolation kernel.

The deformation field grid is defined by a user specified GridRegion, GridSpacing and GridOrigin. Each grid/control point has associated with it N deformation coefficients $ \vec{\delta}_j $, representing the N directional components of the deformation. Deformation outside the grid plus support region for the BSpline interpolation is assumed to be zero.

Additionally, the user can specified an addition bulk transform $ B $ such that the transformed point is given by:

\[ \vec{y} = B(\vec{x}) + D(\vec{x}) \]

The parameters for this transform is N x N-D grid of spline coefficients. The user specifies the parameters as one flat array: each N-D grid is represented by an array in the same way an N-D image is represented in the buffer; the N arrays are then concatentated together on form a single array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters and assumes that the memory is managed by the caller.

The following illustrates the typical usage of this class:

 * typedef BSplineDeformableTransform<double,2,3> TransformType;
 * TransformType::Pointer transform = TransformType::New();
 *
 * transform->SetGridRegion( region );
 * transform->SetGridSpacing( spacing );
 * transform->SetGridOrigin( origin );
 *
 * // NB: the region must be set first before setting the parameters
 *
 * TransformType::ParametersType parameters( transform->GetNumberOfParameters() );
 *
 * // Fill the parameters with values
 *
 * transform->SetParameters( parameters )
 *
 * outputPoint = transform->TransformPoint( inputPoint );
 *
 * 

An alternative way to set the B-spline coefficients is via array of images. The grid region, spacing and origin information is taken directly from the first image. It is assumed that the subsequent images are the same buffered region. The following illustrates the API:

 *
 * TransformType::ImageConstPointer images[2];
 *
 * // Fill the images up with values
 *
 * transform->SetCoefficientImages( images ); 
 * outputPoint = transform->TransformPoint( inputPoint );
 *
 * 

Warning: use either the SetParameters() or SetCoefficientImage() API. Mixing the two modes may results in unexpected results.

The class is templated coordinate representation type (float or double), the space dimension and the spline order.

Definition at line 110 of file itkBSplineDeformableTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BulkTransformType::ConstPointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformPointer
 

Typedef of the bulk transform. Definition at line 241 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Transform<ScalarType,itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BulkTransformType)
 

Typedef of the bulk transform. Definition at line 240 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<const Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ConstPointer
 

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 118 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::ContinuousIndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType
 

Interpolation weights function type. Definition at line 259 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageType::Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImagePointer
 

Definition at line 195 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Image<PixelType,itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImageType)
 

Definition at line 194 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::IndexType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IndexType
 

Typedefs for specifying the extend to the grid. Definition at line 217 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputCovariantVectorType)
 

Standard covariant vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 150 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputPointType)
 

Standard coordinate point type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 164 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVectorType)
 

Standard vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 143 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVnlVectorType)
 

Standard vnl_vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 157 of file itkBSplineDeformableTransform.h.

Referenced by itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights().

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::JacobianType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::JacobianType
 

Standard Jacobian container.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 139 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef FixedArray<double,itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OriginType)
 

Typedefs for specifying the extend to the grid. Definition at line 220 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputCovariantVectorType)
 

Standard covariant vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 152 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputPointType)
 

Standard coordinate point type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 166 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVectorType)
 

Standard vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 145 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType)
 

Standard vnl_vector type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 159 of file itkBSplineDeformableTransform.h.

Referenced by itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights().

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Array<unsigned long> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType
 

Parameter index array type. Definition at line 263 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ParametersType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParametersType
 

Standard parameters container.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 136 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ParametersType::ValueType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PixelType
 

Parameters as SpaceDimension number of images. Definition at line 193 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef SmartPointer<Self> itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Pointer
 

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 117 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef ImageRegion<itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::RegionType)
 

Typedefs for specifying the extend to the grid. Definition at line 216 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ScalarType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ScalarType
 

Standard scalar type for this class.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 133 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineDeformableTransform itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Self
 

Standard class typedefs.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 115 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef RegionType::SizeType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SizeType
 

Typedefs for specifying the extend to the grid. Definition at line 218 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef FixedArray<double,itkGetStaticConstMacro(SpaceDimension) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpacingType)
 

Typedefs for specifying the extend to the grid. Definition at line 219 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Transform< TScalarType, NDimensions, NDimensions > itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Superclass
 

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 116 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunction<ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType)
 

Interpolation weights function type. Definition at line 257 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef WeightsFunctionType::WeightsType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType
 

Interpolation weights function type. Definition at line 258 of file itkBSplineDeformableTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::BSplineDeformableTransform  )  [protected]
 

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::~BSplineDeformableTransform  )  [protected]
 


Member Function Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const BulkTransformType* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetBulkTransform  )  [virtual]
 

This method specifies the bulk transform to be applied. The default is the identity transform.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const char* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage  )  [inline, virtual]
 

Get the array of coefficient images. Definition at line 198 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OriginType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridOrigin  )  [virtual]
 

This method specifies the grid origin.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual RegionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridRegion  )  [virtual]
 

This method specifies the region over which the grid resides.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual SpacingType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetGridSpacing  )  [virtual]
 

This method specifies the grid spacing or resolution.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const JacobianType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian const InputPointType point  )  const [virtual]
 

Compute the Jacobian Matrix of the transformation at one point

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParameters void   )  const [virtual]
 

Return the number of parameters that completely define the Transfom

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension void   )  const
 

Return the number of parameters per dimension

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned long itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights  )  const [inline]
 

Get number of weights. Definition at line 279 of file itkBSplineDeformableTransform.h.

References itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::InputVnlVectorType, itkExceptionMacro, and itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const ParametersType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetParameters void   )  const [virtual]
 

Get the Transformation Parameters.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual RegionType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetValidRegion  )  const [virtual]
 

Return the region of the grid wholly within the support region

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro SplineOrder  ,
unsigned  int,
VSplineOrder 
 

The BSpline order.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
NDimensions 
 

Dimension of the domain space.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
Pointer itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::New  )  [static]
 

New macro for creation of through the object factory.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Print contents of an BSplineDeformableTransform.

Reimplemented from itk::Object.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetBulkTransform const BulkTransformType _arg  )  [virtual]
 

This method specifies the bulk transform to be applied. The default is the identity transform.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetCoefficientImage ImagePointer  images[]  )  [virtual]
 

Set the array of coefficient images.

This is an alternative API for setting the BSpline coefficients as an array of SpaceDimension images. The grid region spacing and origin is taken from the first image. It is assume that the buffered region of all the subsequent images are the same as the first image. Note that no error checking is done.

Warning: use either the SetParameters() or SetCoefficientImage() API. Mixing the two modes may results in unexpected results.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridOrigin const OriginType origin  )  [virtual]
 

This method specifies the grid origin.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion const RegionType region  )  [virtual]
 

This method specifies the region over which the grid resides.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridSpacing const SpacingType spacing  )  [virtual]
 

This method specifies the grid spacing or resolution.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParameters const ParametersType parameters  )  [virtual]
 

This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the BSpline coefficients on a sparse grid.

The parameters are N number of N-D grid of coefficients. Each N-D grid is represented as a flat array of doubles (in the same configuration as an itk::Image). The N arrays are then concatenated to form one parameter array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters. It assumes that the memory is managed by the caller.

This method wraps each grid as itk::Image's using the user specified grid region, spacing and origin. NOTE: The grid region, spacing and origin must be set first.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputCovariantVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformCovariantVector const InputCovariantVectorType  )  const [inline, virtual]
 

Method to transform a CovariantVector - not applicable for this type of transform

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 299 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint const InputPointType inputPoint,
OutputPointType outputPoint,
WeightsType weights,
ParameterIndexArrayType indices,
bool &  inside
const
 

Transform points by a BSpline deformable transformation. On return, weights contains the interpolation weights used to compute the deformation and indices of the x (zeroth) dimension coefficient parameters in the support region used to compute the deformation. Parameter indices for the i-th dimension can be obtained by adding ( i * this->GetNumberOfParametersPerDimension() ) to the indices array.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
OutputPointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint const InputPointType point  )  const [virtual]
 

Transform points by a BSpline deformable transformation.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVnlVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector const InputVnlVectorType  )  const [inline, virtual]
 

Method to transform a vnl_vector - not applicable for this type of transform

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 291 of file itkBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual OutputVectorType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformVector const InputVectorType  )  const [inline, virtual]
 

Method to transform a vector - not applicable for this type of transform.

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 283 of file itkBSplineDeformableTransform.h.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:51:29 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000