#include <itkBSplineDeformableTransform.h>
Inheritance diagram for itk::BSplineDeformableTransform:
Public Types | |
typedef BSplineDeformableTransform | Self |
typedef Transform< TScalarType, NDimensions, NDimensions > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::ScalarType | ScalarType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::JacobianType | JacobianType |
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 Methods | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder) | |
void | SetParameters (const ParametersType ¶meters) |
virtual const ParametersType & | GetParameters (void) const |
OutputPointType | TransformPoint (const InputPointType &point) const |
void | TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const |
unsigned long | GetNumberOfWeights () const |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual const JacobianType & | GetJacobian (const InputPointType &point) const |
virtual unsigned int | GetNumberOfParameters (void) const |
unsigned int | GetNumberOfParametersPerDimension (void) const |
virtual RegionType | GetValidRegion () const |
virtual void | SetGridRegion (const RegionType ®ion) |
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 BulkTransformType * | GetBulkTransform () |
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
BSplineDeformableTransform () | |
~BSplineDeformableTransform () |
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 and is varied by defining a deformation of each control point. The deformation at any point 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 , 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 such that the transformed point is given by:
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 class is templated coordinate representation type (float or double), the space dimension and the spline order.
Definition at line 71 of file itkBSplineDeformableTransform.h.
|
Typedef of the bulk transform. Definition at line 179 of file itkBSplineDeformableTransform.h. |
|
Typedef of the bulk transform. Definition at line 178 of file itkBSplineDeformableTransform.h. |
|
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 79 of file itkBSplineDeformableTransform.h. |
|
Interpolation weights function type. Definition at line 197 of file itkBSplineDeformableTransform.h. |
|
Typedefs for specifying the extend to the grid. Definition at line 155 of file itkBSplineDeformableTransform.h. |
|
Standard covariant vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 111 of file itkBSplineDeformableTransform.h. |
|
Standard coordinate point type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 125 of file itkBSplineDeformableTransform.h. |
|
Standard vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 104 of file itkBSplineDeformableTransform.h. |
|
Standard vnl_vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 118 of file itkBSplineDeformableTransform.h. |
|
Standard Jacobian container. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 100 of file itkBSplineDeformableTransform.h. |
|
Typedefs for specifying the extend to the grid. Definition at line 158 of file itkBSplineDeformableTransform.h. |
|
Standard covariant vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 113 of file itkBSplineDeformableTransform.h. |
|
Standard coordinate point type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 127 of file itkBSplineDeformableTransform.h. |
|
Standard vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 106 of file itkBSplineDeformableTransform.h. |
|
Standard vnl_vector type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 120 of file itkBSplineDeformableTransform.h. Referenced by itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights(). |
|
Parameter index array type. Definition at line 201 of file itkBSplineDeformableTransform.h. |
|
Standard parameters container. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 97 of file itkBSplineDeformableTransform.h. |
|
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 78 of file itkBSplineDeformableTransform.h. |
|
Typedefs for specifying the extend to the grid. Definition at line 154 of file itkBSplineDeformableTransform.h. |
|
Standard scalar type for this class. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 94 of file itkBSplineDeformableTransform.h. |
|
Standard class typedefs. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 76 of file itkBSplineDeformableTransform.h. |
|
Typedefs for specifying the extend to the grid. Definition at line 156 of file itkBSplineDeformableTransform.h. |
|
Typedefs for specifying the extend to the grid. Definition at line 157 of file itkBSplineDeformableTransform.h. |
|
Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 77 of file itkBSplineDeformableTransform.h. |
|
Interpolation weights function type. Definition at line 195 of file itkBSplineDeformableTransform.h. |
|
Interpolation weights function type. Definition at line 196 of file itkBSplineDeformableTransform.h. |
|
|
|
|
|
This method specifies the bulk transform to be applied. The default is the identity transform. |
|
Run-time type information (and related methods). Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
This method specifies the grid origin. |
|
This method specifies the region over which the grid resides. |
|
This method specifies the grid spacing or resolution. |
|
Compute the Jacobian Matrix of the transformation at one point Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
Return the number of parameters that completely define the Transfom Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
Return the number of parameters per dimension |
|
Get number of weights. Definition at line 217 of file itkBSplineDeformableTransform.h. References itkExceptionMacro, and itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OutputVnlVectorType. |
|
Get the Transformation Parameters. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
Return the region of the grid wholly within the support region |
|
The BSpline order. |
|
Dimension of the domain space. |
|
New macro for creation of through the object factory. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
Print contents of an BSplineDeformableTransform. Reimplemented from itk::Object. |
|
This method specifies the bulk transform to be applied. The default is the identity transform. |
|
This method specifies the grid origin. |
|
This method specifies the region over which the grid resides. |
|
This method specifies the grid spacing or resolution. |
|
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 >. |
|
Method to transform a CovariantVector - not applicable for this type of transform Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 237 of file itkBSplineDeformableTransform.h. |
|
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. |
|
Transform points by a BSpline deformable transformation. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. |
|
Method to transform a vnl_vector - not applicable for this type of transform Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 229 of file itkBSplineDeformableTransform.h. |
|
Method to transform a vector - not applicable for this type of transform. Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >. Definition at line 221 of file itkBSplineDeformableTransform.h. |