Loading...
Searching...
No Matches
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 >:
[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 | InternalMatrixType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
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 | SpatialHessianType
using | SpatialJacobianType
using | Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
Public Types inherited from itk::AdvancedTransform< double, 3, 3 >
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 const ImagePointer * | GetCoefficientImages () 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 RegionType & | GetValidRegion ()
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< double, 3, 3 >
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) 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 | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
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)

## 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< double, 3, 3 >
| 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 {}
RegionType | m_ValidRegion {}
ContinuousIndexType | m_ValidRegionBegin {}
ContinuousIndexType | m_ValidRegionEnd {}
ImagePointer | m_WrappedImage [NDimensions] {}
Protected Attributes inherited from itk::AdvancedTransform< double, 3, 3 >
bool | m_HasNonZeroJacobianOfSpatialHessian
bool | m_HasNonZeroSpatialHessian

## 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.

## InternalMatrixType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType

Definition at line 140 of file itkAdvancedTransform.h.

## JacobianImageType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianImageType = Image<JacobianPixelType, Self::SpaceDimension>

protected

Definition at line 402 of file itkAdvancedBSplineDeformableTransformBase.h.

## JacobianOfSpatialHessianType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType

Definition at line 139 of file itkAdvancedTransform.h.

## JacobianOfSpatialJacobianType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType

Definition at line 135 of file itkAdvancedTransform.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 401 of file itkAdvancedBSplineDeformableTransformBase.h.

## MovingImageGradientType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientType

Typedef for the moving image gradient type. This type is defined by the B-spline interpolator as typedef CovariantVector< RealType, ImageDimension > As we cannot access this type we simply re-construct it to be identical.

Definition at line 147 of file itkAdvancedTransform.h.

## MovingImageGradientValueType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientValueType

Definition at line 148 of file itkAdvancedTransform.h.

## NonZeroJacobianIndicesType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::NonZeroJacobianIndicesType

Types for the (Spatial)Jacobian/Hessian. Using an itk::FixedArray instead of an std::vector gives a performance gain for the SpatialHessianType.

Definition at line 133 of file itkAdvancedTransform.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.

## SpatialHessianType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType

Definition at line 137 of file itkAdvancedTransform.h.

## SpatialJacobianType

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

using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType

Definition at line 134 of file itkAdvancedTransform.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 | ( |  | ) |

protected delete

## AdvancedBSplineDeformableTransformBase() [2/2]

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

itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::AdvancedBSplineDeformableTransformBase | ( | const unsigned | splineOrder | ) |

explicit protected

## ~AdvancedBSplineDeformableTransformBase()

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

itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::~AdvancedBSplineDeformableTransformBase | ( |  | ) |

override protected default

## 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

protected pure virtual

Implemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, Self::SpaceDimension, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## Create()

template<class TScalarType = double, unsigned int NDimensions = 3>
template<template< class, unsigned, unsigned > class TBSplineDeformableTransform>

Pointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Create | ( | const unsigned | splineOrder | ) |

inline static

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

Run-time type information (and related methods).

Reimplemented from itk::AdvancedTransform< double, 3, 3 >.

Reimplemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, Self::SpaceDimension, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >, itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::DeformationVectorFieldTransform< TScalarType, NDimensions >, itk::DeformationVectorFieldTransform< ScalarType, Self::InputSpaceDimension >, itk::GPUAdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder, TParentTransform >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetCoefficientImages()

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

virtual const ImagePointer * itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetCoefficientImages | ( |  | ) | const

inline virtual

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

Implemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, Self::SpaceDimension, VSplineOrder >, and itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >.

## GetNumberOfNonZeroJacobianIndices()

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

NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfNonZeroJacobianIndices | ( |  | ) | const

override pure virtual

Reimplemented from itk::AdvancedTransform< double, 3, 3 >.

Implemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, Self::SpaceDimension, VSplineOrder >, and itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >.

## 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

inline override

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

protected virtual

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

inline override

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

override protected

Print contents of an AdvancedBSplineDeformableTransformBase.

## 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

This method specifies the region over which the grid resides.

Implemented in itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< double, 3, 0 >, itk::AdvancedBSplineDeformableTransform< double, 3, 3 >, itk::AdvancedBSplineDeformableTransform< float, 3, 3 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 >, itk::AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >, itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< TScalarType, Self::SpaceDimension, VSplineOrder >, itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >, and itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

## 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

inline override

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

inline override

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

inline override

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 372 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 377 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 379 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 378 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 375 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 376 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 387 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 398 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 415 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 404 of file itkAdvancedBSplineDeformableTransformBase.h.

## m_LastJacobianIndex

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

IndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_LastJacobianIndex {}

mutable protected

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

Definition at line 409 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 393 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 381 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 382 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 385 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 386 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 388 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 383 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 384 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_ValidRegion

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

RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegion {}

protected

Definition at line 390 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 394 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 395 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 412 of file itkAdvancedBSplineDeformableTransformBase.h.

## NumberOfFixedParameters

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

unsigned int itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::NumberOfFixedParameters = NDimensions * (NDimensions + 3)

static constexpr

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

Definition at line 60 of file itkAdvancedBSplineDeformableTransformBase.h.

Generated on 1768596610 for elastix by 1.15.0 |