go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions > Class Template Referenceabstract

#include <itkAdvancedBSplineDeformableTransformBase.h>

Detailed Description

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

Base class for deformable transform using a B-spline representation.

This class is the base for the encapsulation of a deformable transform of points from one N-dimensional one space to another N-dimensional space.

This class is not templated over the spline order, which makes the use of different spline orders more convenient in subsequent code.

Definition at line 41 of file itkAdvancedBSplineDeformableTransformBase.h.

Inheritance diagram for itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >:
Inheritance graph
[legend]

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = ContinuousIndex< ScalarType, SpaceDimension >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, Self::SpaceDimension >
 
using IndexType = typename RegionType::IndexType
 
using OriginType = typename ImageType::PointType
 
using ParameterIndexArrayType = Array< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using RegionType = ImageRegion< Self::SpaceDimension >
 
using Self = AdvancedBSplineDeformableTransformBase
 
using SizeType = typename RegionType::SizeType
 
using SpacingType = typename ImageType::SpacingType
 
using Superclass = AdvancedTransform< TScalarType, NDimensions, NDimensions >
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
using ConstPointer = SmartPointer< const Self >
 
using InternalMatrixType = typename SpatialJacobianType::InternalMatrixType
 
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using JacobianOfSpatialHessianType = std::vector< SpatialHessianType >
 
using JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType >
 
using MovingImageGradientType = OutputCovariantVectorType
 
using MovingImageGradientValueType = typename MovingImageGradientType::ValueType
 
using NonZeroJacobianIndicesType = std::vector< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using Self = AdvancedTransform
 
using SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension >
 
using SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension >
 
using Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformTypeConstPointer = typename TransformType::ConstPointer
 
using TransformTypePointer = typename TransformType::Pointer
 

Public Member Functions

virtual const char * GetClassName () const
 
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
 
virtual unsigned int GetNumberOfAffectedWeights () const =0
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override=0
 
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 SetGridRegion (const RegionType &region)=0
 
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< TScalarType, NInputDimensions, NOutputDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const char * GetClassName () const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const
 
virtual void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const =0
 
virtual void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const =0
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

template<template< class, unsigned, unsigned > class TBSplineDeformableTransform>
static Pointer Create (const unsigned splineOrder)
 

Static Public Attributes

static constexpr unsigned int NumberOfFixedParameters = NDimensions * (NDimensions + 3)
 

Protected Types

using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 

Protected Member Functions

 AdvancedBSplineDeformableTransformBase ()=delete
 
 AdvancedBSplineDeformableTransformBase (const unsigned splineOrder)
 
virtual void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const =0
 
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< TScalarType, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Protected Attributes

ImagePointer m_CoefficientImages [NDimensions]
 
DirectionType m_GridDirection { DirectionType::GetIdentity() }
 
GridOffsetType m_GridOffsetTable {}
 
OriginType m_GridOrigin {}
 
RegionType m_GridRegion {}
 
SpacingType m_GridSpacing { 1.0 }
 
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
 
SizeType m_SupportSize
 
RegionType m_ValidRegion
 
ContinuousIndexType m_ValidRegionBegin
 
ContinuousIndexType m_ValidRegionEnd
 
ImagePointer m_WrappedImage [NDimensions]
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 

Private Attributes

const unsigned m_SplineOrder
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 51 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ContinuousIndexType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ContinuousIndexType = ContinuousIndex<ScalarType, SpaceDimension>

This typedef should be equal to the typedef used in derived classes based on the weights function.

Definition at line 331 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ DirectionType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::DirectionType = typename ImageType::DirectionType

Definition at line 229 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GridOffsetType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GridOffsetType = IndexType

Definition at line 231 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImagePointer = typename ImageType::Pointer

Definition at line 200 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImageType = Image<PixelType, Self::SpaceDimension>

Definition at line 199 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ IndexType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::IndexType = typename RegionType::IndexType

Definition at line 226 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianImageType = Image<JacobianPixelType, Self::SpaceDimension>
protected

Definition at line 399 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianPixelType = typename JacobianType::ValueType
protected

Jacobian as SpaceDimension number of images.

Definition at line 398 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OriginType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OriginType = typename ImageType::PointType

Definition at line 230 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ParameterIndexArrayType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParameterIndexArrayType = Array<unsigned long>

Parameter index array type.

Definition at line 258 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Pointer

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

Definition at line 50 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ RegionType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::RegionType = ImageRegion<Self::SpaceDimension>

Typedefs for specifying the extend to the grid.

Definition at line 224 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Self

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

Standard class typedefs.

Definition at line 48 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SizeType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SizeType = typename RegionType::SizeType

Definition at line 227 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SpacingType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpacingType = typename ImageType::SpacingType

Definition at line 228 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Superclass

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>

Definition at line 49 of file itkAdvancedBSplineDeformableTransformBase.h.

Constructor & Destructor Documentation

◆ AdvancedBSplineDeformableTransformBase() [1/2]

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

◆ AdvancedBSplineDeformableTransformBase() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::AdvancedBSplineDeformableTransformBase ( const unsigned  splineOrder)
explicitprotected

◆ ~AdvancedBSplineDeformableTransformBase()

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

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ComputeNonZeroJacobianIndices ( NonZeroJacobianIndicesType nonZeroJacobianIndices,
const RegionType supportRegion 
) const
protectedpure virtual

◆ Create()

template<class TScalarType = double, unsigned int NDimensions = 3>
template<template< class, unsigned, unsigned > class TBSplineDeformableTransform>
static Pointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Create ( const unsigned  splineOrder)
inlinestatic

Definition at line 92 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetClassName()

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

◆ GetCoefficientImages()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const ImagePointer * itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetCoefficientImages ( ) const
inlinevirtual

Get the array of coefficient images.

Definition at line 204 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const FixedParametersType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetFixedParameters ( ) const
override

Get the Transformation Fixed Parameters.

◆ GetGridDirection()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridDirection ( ) const
virtual

◆ GetGridOrigin()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual OriginType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridOrigin ( ) const
virtual

◆ GetGridRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridRegion ( ) const
virtual

◆ GetGridSpacing()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual SpacingType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridSpacing ( ) const
virtual

◆ GetNumberOfAffectedWeights()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual unsigned int itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfAffectedWeights ( ) const
pure virtual

◆ GetNumberOfNonZeroJacobianIndices()

template<class TScalarType = double, unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfNonZeroJacobianIndices ( ) const
overridepure virtual

◆ GetNumberOfParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfParameters ( ) const
override

Return the number of parameters that completely define the Transform.

◆ GetNumberOfParametersPerDimension()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfParametersPerDimension ( ) const
virtual

Return the number of parameters per dimension

◆ GetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetParameters ( ) const
override

Get the Transformation Parameters.

◆ GetSplineOrder()

template<class TScalarType = double, unsigned int NDimensions = 3>
unsigned itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetSplineOrder ( ) const
inline

Definition at line 114 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetTransformCategory()

template<class TScalarType = double, unsigned int NDimensions = 3>
TransformCategoryEnum itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetTransformCategory ( ) const
inlineoverride

Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.

Definition at line 316 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetValidRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const RegionType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetValidRegion ( )
virtual

Return the region of the grid wholly within the support region

◆ InsideValidRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InsideValidRegion ( const ContinuousIndexType index) const
protectedvirtual

Check if a continuous index is inside the valid region.

◆ IsLinear()

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::IsLinear ( ) const
inlineoverride

Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then

      T( a*P + b*Q ) = a * T(P) + b * T(Q)

Definition at line 307 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkStaticConstMacro()

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

Dimension of the domain space.

◆ PrintSelf()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetCoefficientImages()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetCoefficientImages ( ImagePointer  images[])
virtual

Set the array of coefficient images.

This is an alternative API for setting the B-spline 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 SetCoefficientImages() API. Mixing the two modes may results in unexpected results.

◆ SetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetFixedParameters ( const FixedParametersType &  parameters)
override

This method sets the fixed parameters of the transform. For a B-spline 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->SetGridDirection( direction ); transform->SetGridRegion( bsplineRegion );

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

◆ SetGridDirection()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridDirection ( const DirectionType direction)
virtual

This method specifies the grid directions .

◆ SetGridOrigin()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridOrigin ( const OriginType origin)
virtual

This method specifies the grid origin.

◆ SetGridRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridRegion ( const RegionType region)
pure virtual

◆ SetGridSpacing()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridSpacing ( const SpacingType spacing)
virtual

This method specifies the grid spacing or resolution.

◆ SetIdentity()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetIdentity ( )

This method can ONLY be invoked AFTER calling SetParameters(). This restriction is due to the fact that the AdvancedBSplineDeformableTransform does not copy the array of parameters 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().

◆ SetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetParameters ( const ParametersType &  parameters)
override

This method sets the parameters of the transform. For a B-spline 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.

◆ SetParametersByValue()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetParametersByValue ( const ParametersType &  parameters)
override

This method sets the parameters of the transform. For a B-spline 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.

◆ TransformCovariantVector()

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputCovariantVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType &  ) const
inlineoverride

Method to transform a CovariantVector - not applicable for this type of transform.

Definition at line 284 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ TransformPointToContinuousGridIndex()

template<class TScalarType = double, unsigned int NDimensions = 3>
ContinuousIndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformPointToContinuousGridIndex ( const InputPointType &  point) const
protected

Convert an input point to a continuous index inside the B-spline grid.

◆ TransformVector() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformVector ( const InputVectorType &  ) const
inlineoverride

Method to transform a vector - not applicable for this type of transform.

Definition at line 264 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ TransformVector() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVnlVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType &  ) const
inlineoverride

Method to transform a vnl_vector - not applicable for this type of transform.

Definition at line 274 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ UpdateGridOffsetTable()

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

◆ UpdatePointIndexConversions()

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

◆ WrapAsImages()

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

Wrap flat array into images of coefficients.

Field Documentation

◆ m_CoefficientImages

template<class TScalarType = double, unsigned int NDimensions = 3>
ImagePointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_CoefficientImages[NDimensions]
protected

Array of images representing the B-spline coefficients in each dimension.

Definition at line 368 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridDirection

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridDirection { DirectionType::GetIdentity() }
protected

Definition at line 373 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOffsetTable

template<class TScalarType = double, unsigned int NDimensions = 3>
GridOffsetType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridOffsetTable {}
protected

Definition at line 375 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOrigin

template<class TScalarType = double, unsigned int NDimensions = 3>
OriginType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridOrigin {}
protected

Definition at line 374 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridRegion

template<class TScalarType = double, unsigned int NDimensions = 3>
RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridRegion {}
protected

Variables defining the coefficient grid extend.

Definition at line 371 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridSpacing

template<class TScalarType = double, unsigned int NDimensions = 3>
SpacingType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridSpacing { 1.0 }
protected

Definition at line 372 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_IndexToPoint

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_IndexToPoint
protected

Definition at line 383 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InputParametersPointer

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType* itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_InputParametersPointer
protected

Keep a pointer to the input parameters.

Definition at line 395 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InternalParametersBuffer

template<class TScalarType = double, unsigned int NDimensions = 3>
ParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_InternalParametersBuffer
protected

Internal parameters buffer.

Definition at line 412 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_JacobianImage

template<class TScalarType = double, unsigned int NDimensions = 3>
JacobianImageType::Pointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_JacobianImage[NDimensions]
protected

Definition at line 401 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_LastJacobianIndex

template<class TScalarType = double, unsigned int NDimensions = 3>
IndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_LastJacobianIndex
mutableprotected

Keep track of last support region used in computing the Jacobian for fast resetting of Jacobian to zero.

Definition at line 406 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_Offset

template<class TScalarType = double, unsigned int NDimensions = 3>
unsigned long itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_Offset
protected

Variables defining the interpolation support region.

Definition at line 389 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrix
protected

Definition at line 377 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix2

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrix2
protected

Definition at line 378 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonal

template<class TScalarType = double, unsigned int NDimensions = 3>
FixedArray<ScalarType, NDimensions> itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixDiagonal
protected

Definition at line 381 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonalProducts

template<class TScalarType = double, unsigned int NDimensions = 3>
FixedArray<ScalarType, NDimensions * NDimensions> itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixDiagonalProducts
protected

Definition at line 382 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixIsDiagonal

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixIsDiagonal
protected

Definition at line 384 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixTransposed
protected

Definition at line 379 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed2

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixTransposed2
protected

Definition at line 380 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_SplineOrder

template<class TScalarType = double, unsigned int NDimensions = 3>
const unsigned itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_SplineOrder
private

Definition at line 362 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_SupportSize

template<class TScalarType = double, unsigned int NDimensions = 3>
SizeType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_SupportSize
protected

Definition at line 390 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegion

template<class TScalarType = double, unsigned int NDimensions = 3>
RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegion
protected

Definition at line 386 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionBegin

template<class TScalarType = double, unsigned int NDimensions = 3>
ContinuousIndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegionBegin
protected

Definition at line 391 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionEnd

template<class TScalarType = double, unsigned int NDimensions = 3>
ContinuousIndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegionEnd
protected

Definition at line 392 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_WrappedImage

template<class TScalarType = double, unsigned int NDimensions = 3>
ImagePointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_WrappedImage[NDimensions]
protected

Array holding images wrapped from the flat parameters.

Definition at line 409 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ NumberOfFixedParameters

template<class TScalarType = double, unsigned int NDimensions = 3>
constexpr unsigned int itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::NumberOfFixedParameters = NDimensions * (NDimensions + 3)
staticconstexpr

The number of fixed parameters. For Grid size, origin, spacing, and direction.

Definition at line 60 of file itkAdvancedBSplineDeformableTransformBase.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo