go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
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
typedef typename ImageType::DirectionType DirectionType
typedef IndexType GridOffsetType
typedef typename ImageType::Pointer ImagePointer
typedef Image< PixelType, Self::SpaceDimension > ImageType
typedef typename RegionType::IndexType IndexType
typedef typename ImageType::PointType OriginType
typedef Array< unsigned long > ParameterIndexArrayType
using Pointer
typedef ImageRegion< Self::SpaceDimension > RegionType
using Self
typedef typename RegionType::SizeType SizeType
using SODerivativeWeightsFunctionPointer
using SODerivativeWeightsFunctionType
typedef typename ImageType::SpacingType 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
typedef typename SpatialJacobianType::InternalMatrixType InternalMatrixType
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
typedef OutputCovariantVectorType MovingImageGradientType
typedef typename MovingImageGradientType::ValueType MovingImageGradientValueType
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
using OriginType
using ParameterIndexArrayType
using Pointer
using RegionType
using Self
using SizeType
using SpacingType
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
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 GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, 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)
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
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)

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
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 >
typedef Image< JacobianPixelType, Self::SpaceDimension > JacobianImageType
typedef typename JacobianType::ValueType 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>
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 1768596610 for elastix by doxygen 1.15.0 elastix logo