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 ImageRegion< itkGetStaticConstMacro(SpaceDimension) RegionType )
typedef RegionType::IndexType IndexType
typedef RegionType::SizeType SizeType
typedef ImageType::SpacingType SpacingType
typedef ImageType::PointType OriginType
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 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 * GetNameOfClass () const
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
void SetParameters (const ParametersType &parameters)
void SetParametersByValue (const ParametersType &parameters)
void SetIdentity ()
virtual const ParametersTypeGetParameters (void) const
virtual const ParametersTypeGetFixedParameters (void) const
virtual ImagePointerGetCoefficientImage ()
virtual void SetCoefficientImage (ImagePointer images[])
OutputPointType TransformPoint (const InputPointType &point) const
virtual 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 const RegionTypeGetValidRegion ()
void SetFixedParameters (const ParametersType &parameters)
virtual void SetGridRegion (const RegionType &region)
virtual RegionType GetGridRegion ()
virtual RegionType GetGridRegion () const
virtual void SetGridSpacing (const SpacingType &spacing)
virtual SpacingType GetGridSpacing ()
virtual SpacingType GetGridSpacing () const
virtual void SetGridOrigin (const OriginType &origin)
virtual OriginType GetGridOrigin ()
virtual OriginType GetGridOrigin () const
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 ()
virtual ~BSplineDeformableTransform ()
void WrapAsImages ()
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
virtual WeightsFunctionTypeGetWeightsFunction ()

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 293 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 292 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 311 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 245 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 244 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
 

Definition at line 267 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 ImageType::PointType itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OriginType
 

Definition at line 270 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 315 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 243 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 266 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
 

Definition at line 268 of file itkBSplineDeformableTransform.h.

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

Definition at line 269 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 309 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 310 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>
virtual itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::~BSplineDeformableTransform  )  [protected, virtual]
 


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 ImagePointer* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetCoefficientImage  )  [inline, virtual]
 

Get the array of coefficient images.

Definition at line 248 of file itkBSplineDeformableTransform.h.

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

Get the Transformation Fixed Parameters.

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

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

This method specifies the grid origin.

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  )  const [virtual]
 

This method specifies the region over which the grid resides.

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  )  const [virtual]
 

This method specifies the grid spacing or resolution.

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 const char* itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNameOfClass  )  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 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 331 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 const RegionType& itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetValidRegion  )  [virtual]
 

Return the region of the grid wholly within the support region

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

Allow subclasses to access and manipulate the weights function.

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>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetFixedParameters const ParametersType parameters  )  [virtual]
 

This method sets the fixed parameters of the transform. For a BSpline deformation transform, the parameters are the following: Grid Size, Grid Origin, and Grid Spacing

The fixed parameters are the three times the size of the templated dimensions. This function has the effect of make the following calls: transform->SetGridSpacing( spacing ); transform->SetGridOrigin( origin ); transform->SetGridRegion( bsplineRegion );

This function was added to allow the transform to work with the itkTransformReader/Writer I/O filters.

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

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 >::SetIdentity  ) 
 

This method can ONLY be invoked AFTER calling SetParameters(). This restriction is due to the fact that the BSplineDeformableTransform does not copy the array of paramters internally, instead it keeps a pointer to the user-provided array of parameters. This method is also in violation of the const-correctness of the parameters since the parameter array has been passed to the transform on a 'const' basis but the values get modified when the user invokes SetIdentity().

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. Use SetParametersByValue to force the transform to call copy the parameters.

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>
void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetParametersByValue 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.

This methods makes a copy of the parameters while for efficiency the SetParameters method does not.

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 void itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction WeightsFunctionType _arg  )  [protected, virtual]
 

Allow subclasses to access and manipulate the weights function.

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 351 of file itkBSplineDeformableTransform.h.

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

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 343 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 335 of file itkBSplineDeformableTransform.h.

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

Wrap flat array into images of coefficients.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:30:59 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000