go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::DeformationVectorFieldTransform< TScalarType, NDimensions > Class Template Reference

#include <itkDeformationVectorFieldTransform.h>

Detailed Description

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

An itk transform based on a DeformationVectorField.

This class makes it easy to set a deformation vector field as a Transform-object.

The class inherits from the 0th-order AdvancedBSplineDeformableTransform, and converts a VectorImage to the B-spline CoefficientImage.

This is useful if you know for example how to deform each voxel in an image and want to apply it to that image.

Note
Better use the DeformationFieldInterpolatingTransform. It is more flexible, since it allows runtime specification of the spline order.

Definition at line 46 of file itkDeformationVectorFieldTransform.h.

Inheritance diagram for itk::DeformationVectorFieldTransform< TScalarType, NDimensions >:

Public Types

using CoefficientImagePointer = typename Superclass::ImagePointer
 
using CoefficientImageType = typename Superclass::ImageType
 
using CoefficientPixelType = typename Superclass::PixelType
 
using CoefficientVectorImagePointer = typename CoefficientVectorImageType::Pointer
 
using CoefficientVectorImageType = Image<CoefficientVectorPixelType, Self::SpaceDimension>
 
using CoefficientVectorPixelType = Vector<float, Self::SpaceDimension>
 
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = DeformationVectorFieldTransform
 
using Superclass = AdvancedBSplineDeformableTransform<TScalarType, NDimensions, 0>
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
using ConstPointer
 
using ContinuousIndexType
 
using DerivativeWeightsFunctionPointer
 
using DerivativeWeightsFunctionType
 
using DirectionType
 
using GridOffsetType
 
using ImagePointer
 
using ImageType
 
using IndexType
 
using OriginType
 
using ParameterIndexArrayType
 
using Pointer
 
using RegionType
 
using Self
 
using SizeType
 
using SODerivativeWeightsFunctionPointer
 
using SODerivativeWeightsFunctionType
 
using SpacingType
 
using Superclass
 
using WeightsFunctionPointer
 
using WeightsFunctionType
 
using WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
using ConstPointer
 
using ContinuousIndexType
 
using DirectionType
 
using GridOffsetType
 
using ImagePointer
 
using ImageType
 
using IndexType
 
using OriginType
 
using ParameterIndexArrayType
 
using Pointer
 
using RegionType
 
using Self
 
using SizeType
 
using SpacingType
 
using Superclass
 
- Public Types inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
using ConstPointer
 
using InternalMatrixType
 
using InverseTransformBaseType
 
using JacobianOfSpatialHessianType
 
using JacobianOfSpatialJacobianType
 
using MovingImageGradientType
 
using MovingImageGradientValueType
 
using NonZeroJacobianIndicesType
 
using Pointer
 
using Self
 
using SpatialHessianType
 
using SpatialJacobianType
 
using Superclass
 
using TransformType
 
using TransformTypeConstPointer
 
using TransformTypePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void GetCoefficientVectorImage (CoefficientVectorImagePointer &vecImage) const
 
 ITK_DISALLOW_COPY_AND_MOVE (DeformationVectorFieldTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, Superclass::SplineOrder)
 
virtual void SetCoefficientVectorImage (const CoefficientVectorImageType *vecImage)
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nzji) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
unsigned int GetNumberOfAffectedWeights () const override
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override
 
void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
void SetGridRegion (const RegionType &region) override
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
virtual const ImagePointerGetCoefficientImages () const
 
const FixedParametersType & GetFixedParameters () const override
 
virtual DirectionType GetGridDirection () const
 
virtual OriginType GetGridOrigin () const
 
virtual RegionType GetGridRegion () const
 
virtual SpacingType GetGridSpacing () const
 
NumberOfParametersType GetNumberOfParameters () const override
 
virtual NumberOfParametersType GetNumberOfParametersPerDimension () const
 
const ParametersType & GetParameters () const override
 
unsigned GetSplineOrder () const
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual const RegionTypeGetValidRegion ()
 
bool IsLinear () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransformBase)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCoefficientImages (ImagePointer images[])
 
void SetFixedParameters (const FixedParametersType &parameters) override
 
virtual void SetGridDirection (const DirectionType &direction)
 
virtual void SetGridOrigin (const OriginType &origin)
 
virtual void SetGridSpacing (const SpacingType &spacing)
 
void SetIdentity ()
 
void SetParameters (const ParametersType &parameters) override
 
void SetParametersByValue (const ParametersType &parameters) override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
- Public Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
static Pointer Create (const unsigned splineOrder)
 

Protected Member Functions

 DeformationVectorFieldTransform ()
 
 ~DeformationVectorFieldTransform () override
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
 AdvancedBSplineDeformableTransform ()
 
void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const override
 
 itkGetModifiableObjectMacro (WeightsFunction, WeightsFunctionType)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
 AdvancedBSplineDeformableTransformBase ()=delete
 
 AdvancedBSplineDeformableTransformBase (const unsigned splineOrder)
 
virtual bool InsideValidRegion (const ContinuousIndexType &index) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
ContinuousIndexType TransformPointToContinuousGridIndex (const InputPointType &point) const
 
void UpdateGridOffsetTable ()
 
void UpdatePointIndexConversions ()
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransformBase () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Attributes

CoefficientImagePointer m_Images [SpaceDimension] {}
 

Additional Inherited Members

- Static Public Attributes inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
static constexpr unsigned NumberOfWeights
 
- Static Public Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
static constexpr unsigned int NumberOfFixedParameters
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
using JacobianImageType
 
using JacobianPixelType
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
using JacobianImageType
 
using JacobianPixelType
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >
std::vector< DerivativeWeightsFunctionPointerm_DerivativeWeightsFunctions
 
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > m_SODerivativeWeightsFunctions
 
WeightsFunctionPointer m_WeightsFunction
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
ImagePointer m_CoefficientImages [NDimensions]
 
DirectionType m_GridDirection
 
GridOffsetType m_GridOffsetTable
 
OriginType m_GridOrigin
 
RegionType m_GridRegion
 
SpacingType m_GridSpacing
 
DirectionType m_IndexToPoint
 
const ParametersType * m_InputParametersPointer
 
ParametersType m_InternalParametersBuffer
 
JacobianImageType::Pointer m_JacobianImage [NDimensions]
 
IndexType m_LastJacobianIndex
 
unsigned long m_Offset
 
DirectionType m_PointToIndexMatrix
 
SpatialJacobianType m_PointToIndexMatrix2
 
FixedArray< ScalarType, NDimensions > m_PointToIndexMatrixDiagonal
 
FixedArray< ScalarType, NDimensions *NDimensions > m_PointToIndexMatrixDiagonalProducts
 
bool m_PointToIndexMatrixIsDiagonal
 
DirectionType m_PointToIndexMatrixTransposed
 
SpatialJacobianType m_PointToIndexMatrixTransposed2
 
RegionType m_ValidRegion
 
ContinuousIndexType m_ValidRegionBegin
 
ContinuousIndexType m_ValidRegionEnd
 
ImagePointer m_WrappedImage [NDimensions]
 
- Protected Attributes inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Member Typedef Documentation

◆ CoefficientImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientImagePointer = typename Superclass::ImagePointer

Definition at line 84 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientImageType = typename Superclass::ImageType

Definition at line 83 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientPixelType = typename Superclass::PixelType

Parameters as SpaceDimension number of images.

Definition at line 82 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorImagePointer = typename CoefficientVectorImageType::Pointer

Definition at line 89 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorImageType = Image<CoefficientVectorPixelType, Self::SpaceDimension>

Definition at line 88 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorPixelType = Vector<float, Self::SpaceDimension>

Typedef's for VectorImage.

Definition at line 87 of file itkDeformationVectorFieldTransform.h.

◆ ConstPointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 56 of file itkDeformationVectorFieldTransform.h.

◆ Pointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 55 of file itkDeformationVectorFieldTransform.h.

◆ Self

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::Self = DeformationVectorFieldTransform

Standard class typedefs.

Definition at line 53 of file itkDeformationVectorFieldTransform.h.

◆ Superclass

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::Superclass = AdvancedBSplineDeformableTransform<TScalarType, NDimensions, 0>

Definition at line 54 of file itkDeformationVectorFieldTransform.h.

Constructor & Destructor Documentation

◆ DeformationVectorFieldTransform()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::DeformationVectorFieldTransform ( )
protected

The constructor.

◆ ~DeformationVectorFieldTransform()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::~DeformationVectorFieldTransform ( )
overrideprotected

The destructor.

Member Function Documentation

◆ GetClassName()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char * itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedBSplineDeformableTransform< double, 3, 0 >.

◆ GetCoefficientVectorImage()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::GetCoefficientVectorImage ( CoefficientVectorImagePointer & vecImage) const
virtual

Get the coefficient image as a vector image. The vector image is created only on demand. The caller is expected to provide a smart pointer to the resulting image; this stresses the fact that this method does not return a member variable, like most Get... methods.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE ( DeformationVectorFieldTransform< TScalarType, NDimensions > )

◆ itkStaticConstMacro() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension ,
unsigned int ,
NDimensions  )

Dimension of the domain space.

◆ itkStaticConstMacro() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::itkStaticConstMacro ( SplineOrder ,
unsigned int ,
Superclass::SplineOrder  )

◆ New()

template<class TScalarType = double, unsigned int NDimensions = 3>
static Pointer itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::New ( )
static

Method for creation through the object factory.

◆ SetCoefficientVectorImage()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::SetCoefficientVectorImage ( const CoefficientVectorImageType * vecImage)
virtual

Set the coefficient image as a deformation field. The superclass provides a similar function (SetCoeffficientImage), but this function expects an array of nr_of_dim scalar images. The SetCoefficientVectorImage method accepts a VectorImage, which is often more convenient. The method internally just converts this vector image to nr_of_dim scalar images and passes it on to the SetCoefficientImage function.

Field Documentation

◆ m_Images

template<class TScalarType = double, unsigned int NDimensions = 3>
CoefficientImagePointer itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::m_Images[SpaceDimension] {}
private

Member variables.

Definition at line 120 of file itkDeformationVectorFieldTransform.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo