go home Home | Main Page | Topics | 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<typename 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 WeightFunctionBaseType
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< uint64_t > 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 void GetCoefficientVectorImage (CoefficientVectorImagePointer &vecImage) const
 ITK_DISALLOW_COPY_AND_MOVE (DeformationVectorFieldTransform)
 itkOverrideGetNameOfClassMacro (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)
 itkOverrideGetNameOfClassMacro (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 >
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
bool IsLinear () const override
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransformBase)
 itkOverrideGetNameOfClassMacro (AdvancedBSplineDeformableTransformBase)
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
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)
 itkOverrideGetNameOfClassMacro (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
void PrintSelf (std::ostream &os, Indent indent) const override
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 >
DerivativeWeightsFunctionPointer m_DerivativeWeightsFunctions [NDimensions]
const WeightsFunctionPointer m_WeightsFunction
Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, NDimensions >
FixedArray< ImagePointer, NDimensions > m_CoefficientImages
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
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
ContinuousIndexType m_ValidRegionBegin
ContinuousIndexType m_ValidRegionEnd
FixedArray< ImagePointer, NDimensions > m_WrappedImage
Protected Attributes inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
bool m_HasNonZeroSpatialHessian

Member Typedef Documentation

◆ CoefficientImagePointer

template<typename 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<typename 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<typename 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<typename 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<typename 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<typename 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<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 55 of file itkDeformationVectorFieldTransform.h.

◆ Self

template<typename 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<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::DeformationVectorFieldTransform ( )
protected

The constructor.

◆ ~DeformationVectorFieldTransform()

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

The destructor.

Member Function Documentation

◆ GetCoefficientVectorImage()

template<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE ( DeformationVectorFieldTransform< TScalarType, NDimensions > )

◆ itkOverrideGetNameOfClassMacro()

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

Run-time type information (and related methods).

◆ itkStaticConstMacro() [1/2]

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

Dimension of the domain space.

◆ itkStaticConstMacro() [2/2]

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

◆ New()

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

Method for creation through the object factory.

◆ SetCoefficientVectorImage()

template<typename 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.

Member Data Documentation

◆ m_Images

template<typename 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 1774142652 for elastix by doxygen 1.15.0 elastix logo