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::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions > Class Template Referenceabstract

#include <itkAdvancedBSplineDeformableTransformBase.h>

Detailed Description

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

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

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
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 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)
 itkOverrideGetNameOfClassMacro (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

FixedArray< ImagePointer, NDimensions > m_CoefficientImages {}
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 { &m_InternalParametersBuffer }
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, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
bool m_HasNonZeroSpatialHessian

Private Attributes

const unsigned m_SplineOrder {}

Member Typedef Documentation

◆ ConstPointer

template<typename 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<typename 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 328 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ DirectionType

template<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GridOffsetType = IndexType

Definition at line 231 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImagePointer

template<typename 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<typename 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<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType

Definition at line 140 of file itkAdvancedTransform.h.

◆ JacobianImageType

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

Definition at line 393 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianOfSpatialHessianType

template<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType

Definition at line 139 of file itkAdvancedTransform.h.

◆ JacobianOfSpatialJacobianType

template<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType

Definition at line 135 of file itkAdvancedTransform.h.

◆ JacobianPixelType

template<typename 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 392 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ MovingImageGradientType

template<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::MovingImageGradientValueType

Definition at line 148 of file itkAdvancedTransform.h.

◆ NonZeroJacobianIndicesType

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

Definition at line 50 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ RegionType

template<typename 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<typename 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<typename 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<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType

Definition at line 137 of file itkAdvancedTransform.h.

◆ SpatialJacobianType

template<typename TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType

Definition at line 134 of file itkAdvancedTransform.h.

◆ Superclass

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

◆ AdvancedBSplineDeformableTransformBase() [2/2]

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

◆ ~AdvancedBSplineDeformableTransformBase()

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

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

◆ Create()

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

Definition at line 92 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetCoefficientImages()

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

Get the array of coefficient images.

Definition at line 204 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetFixedParameters()

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

Get the Transformation Fixed Parameters.

◆ GetGridDirection()

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

◆ GetGridOrigin()

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

◆ GetGridRegion()

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

◆ GetGridSpacing()

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

◆ GetNumberOfAffectedWeights()

◆ GetNumberOfNonZeroJacobianIndices()

◆ GetNumberOfParameters()

template<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
virtual NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfParametersPerDimension ( ) const
virtual

Return the number of parameters per dimension

◆ GetParameters()

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

Get the Transformation Parameters.

◆ GetSplineOrder()

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

Definition at line 114 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetTransformCategory()

template<typename 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 313 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InsideValidRegion()

template<typename 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<typename 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 304 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkOverrideGetNameOfClassMacro()

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

Run-time type information (and related methods).

◆ itkStaticConstMacro()

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

Dimension of the domain space.

◆ PrintSelf()

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

◆ SetCoefficientImages()

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

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<typename 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<typename 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<typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridOrigin ( const OriginType & origin)
virtual

This method specifies the grid origin.

◆ SetGridRegion()

◆ SetGridSpacing()

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

◆ UpdatePointIndexConversions()

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

◆ WrapAsImages()

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

Wrap flat array into images of coefficients.

Member Data Documentation

◆ m_CoefficientImages

template<typename TScalarType = double, unsigned int NDimensions = 3>
FixedArray<ImagePointer, NDimensions> itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_CoefficientImages {}
protected

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

Definition at line 369 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridDirection

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

Definition at line 374 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOffsetTable

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

Definition at line 376 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOrigin

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

Definition at line 375 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridRegion

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

Variables defining the coefficient grid extend.

Definition at line 372 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridSpacing

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

Definition at line 373 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_IndexToPoint

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

Definition at line 384 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InputParametersPointer

template<typename TScalarType = double, unsigned int NDimensions = 3>
const ParametersType* itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_InputParametersPointer { &m_InternalParametersBuffer }
protected

Keep a pointer to the input parameters. Made sure the pointer is not NULL after construction.

Definition at line 402 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InternalParametersBuffer

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

Internal parameters buffer.

Definition at line 399 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix

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

Definition at line 378 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix2

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

Definition at line 379 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonal

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

Definition at line 382 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonalProducts

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

Definition at line 383 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixIsDiagonal

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

Definition at line 385 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed

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

Definition at line 380 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed2

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

Definition at line 381 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_SplineOrder

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

Definition at line 359 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionBegin

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

Variables defining the interpolation support region.

Definition at line 388 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionEnd

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

Definition at line 389 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_WrappedImage

template<typename TScalarType = double, unsigned int NDimensions = 3>
FixedArray<ImagePointer, NDimensions> itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_WrappedImage {}
protected

Array holding images wrapped from the flat parameters.

Definition at line 396 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ NumberOfFixedParameters

template<typename TScalarType = double, unsigned int NDimensions = 3>
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 1774142652 for elastix by doxygen 1.15.0 elastix logo