Loading...
Searching...
No Matches
itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference
Components » Transforms

`#include <itkAdvancedBSplineDeformableTransform.h>`

## Detailed Description

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

Deformable transform using a B-spline representation.

This class encapsulates a deformable transform of points from one N-dimensional one space to another N-dimensional space. The deformation field is modeled using B-splines. A deformation is defined on a sparse regular grid of control points and is varied by defining a deformation of each control point. The deformation at any point is obtained by using a B-spline interpolation kernel.

The deformation field grid is defined by a user specified GridRegion, GridSpacing and GridOrigin. Each grid/control point has associated with it N deformation coefficients , representing the N directional components of the deformation. Deformation outside the grid plus support region for the B-spline interpolation is assumed to be zero.

Additionally, the user can specified an addition bulk transform such that the transformed point is given by:

The parameters for this transform is N x N-D grid of spline coefficients. The user specifies the parameters as one flat array: each N-D grid is represented by an array in the same way an N-D image is represented in the buffer; the N arrays are then concatentated together on form a single array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters and assumes that the memory is managed by the caller.

The following illustrates the typical usage of this class:

    * typedef AdvancedBSplineDeformableTransform<double,2,3> TransformType;
    * auto transform = TransformType::New();
    *
    * transform->SetGridRegion( region );
    * transform->SetGridSpacing( spacing );
    * transform->SetGridOrigin( origin );
    *
    * // NB: the region must be set first before setting the parameters
    *
    * TransformType::ParametersType parameters(
    *                                       transform->GetNumberOfParameters() );
    *
    * // Fill the parameters with values
    *
    * transform->SetParameters( parameters )
    *
    * outputPoint = transform->TransformPoint( inputPoint );
    *
    *

An alternative way to set the B-spline coefficients is via array of images. The grid region, spacing and origin information is taken directly from the first image. It is assumed that the subsequent images are the same buffered region. The following illustrates the API:

    *
    * TransformType::ImageConstPointer images[2];
    *
    * // Fill the images up with values
    *
    * transform->SetCoefficientImages( images );
    * outputPoint = transform->TransformPoint( inputPoint );
    *
    *

Warning: use either the SetParameters() or SetCoefficientImages() API. Mixing the two modes may results in unexpected results.

The class is templated coordinate representation type (float or double), the space dimension and the spline order.

Definition at line 132 of file itkAdvancedBSplineDeformableTransform.h.

Inheritance diagram for itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >:
[legend]

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType
using | DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer
using | DerivativeWeightsFunctionType
using | DirectionType
using | GridOffsetType
using | ImagePointer
using | ImageType
using | IndexType
using | OriginType
using | ParameterIndexArrayType
using | Pointer = SmartPointer<Self>
using | RegionType
using | Self = AdvancedBSplineDeformableTransform
using | SizeType
using | SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer
using | SODerivativeWeightsFunctionType
using | SpacingType
using | Superclass = AdvancedBSplineDeformableTransformBase<TScalarType, NDimensions>
using | WeightsFunctionPointer = typename WeightsFunctionType::Pointer
using | WeightsFunctionType = BSplineInterpolationWeightFunction2<ScalarType, Self::SpaceDimension, VSplineOrder>
using | WeightsType = typename WeightsFunctionType::WeightsType
Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
using | ConstPointer
using | ContinuousIndexType
using | DirectionType
using | GridOffsetType
using | ImagePointer
using | ImageType
using | IndexType
typedef typename SpatialJacobianType::InternalMatrixType | InternalMatrixType
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType
typedef OutputCovariantVectorType | MovingImageGradientType
typedef typename MovingImageGradientType::ValueType | MovingImageGradientValueType
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType
using | OriginType
using | ParameterIndexArrayType
using | Pointer
using | RegionType
using | Self
using | SizeType
using | SpacingType
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType
using | Superclass
Public Types inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
using | ConstPointer
using | InternalMatrixType
using | InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer
using | Self
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass
using | TransformType
using | TransformTypeConstPointer
using | TransformTypePointer

## Public Member Functions

void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
virtual const char * | GetClassName () const
void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nzji) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
unsigned int | GetNumberOfAffectedWeights () const override
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override
void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransform)
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
| itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
void | SetGridRegion (const RegionType &region) override
OutputPointType | TransformPoint (const InputPointType &point) const override
Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
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
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 | SetGridSpacing (const SpacingType &spacing)
void | SetIdentity ()
void | SetParameters (const ParametersType &parameters) override
void | SetParametersByValue (const ParametersType &parameters) override
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override
OutputVectorType | TransformVector (const InputVectorType &) const override
Public Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const
virtual bool | GetHasNonZeroSpatialHessian () const
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)

## Static Public Member Functions

static Pointer | New ()
Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
static Pointer | Create (const unsigned splineOrder)

## Static Public Attributes

static constexpr unsigned | NumberOfWeights = WeightsFunctionType::NumberOfWeights
Static Public Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
static constexpr unsigned int | NumberOfFixedParameters

## Protected Types

using | JacobianImageType
using | JacobianPixelType
Protected Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
using | JacobianImageType
using | JacobianPixelType

## Protected Member Functions

| AdvancedBSplineDeformableTransform ()
void | ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const override
| itkGetModifiableObjectMacro (WeightsFunction, WeightsFunctionType)
void | PrintSelf (std::ostream &os, Indent indent) const override
virtual void | SetWeightsFunction (WeightsFunctionType *_arg)
void | WrapAsImages ()
| ~AdvancedBSplineDeformableTransform () override=default
Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
| AdvancedBSplineDeformableTransformBase ()=delete
virtual bool | InsideValidRegion (const ContinuousIndexType &index) const
void | PrintSelf (std::ostream &os, Indent indent) const override
ContinuousIndexType | TransformPointToContinuousGridIndex (const InputPointType &point) const
void | UpdateGridOffsetTable ()
void | UpdatePointIndexConversions ()
void | WrapAsImages ()
| ~AdvancedBSplineDeformableTransformBase () override=default
Protected Member Functions inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
| AdvancedTransform ()=default
| ~AdvancedTransform () override=default

## Protected Attributes

std::vector< DerivativeWeightsFunctionPointer > | m_DerivativeWeightsFunctions {}
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > | m_SODerivativeWeightsFunctions {}
WeightsFunctionPointer | m_WeightsFunction {}
Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
ImagePointer | m_CoefficientImages [NDimensions]
DirectionType | m_GridDirection
GridOffsetType | m_GridOffsetTable
OriginType | m_GridOrigin
RegionType | m_GridRegion
SpacingType | m_GridSpacing
DirectionType | m_IndexToPoint
const ParametersType * | m_InputParametersPointer
ParametersType | m_InternalParametersBuffer
JacobianImageType::Pointer | m_JacobianImage [NDimensions]
IndexType | m_LastJacobianIndex
unsigned long | m_Offset
DirectionType | m_PointToIndexMatrix
SpatialJacobianType | m_PointToIndexMatrix2
FixedArray< ScalarType, NDimensions > | m_PointToIndexMatrixDiagonal
FixedArray< ScalarType, NDimensions *NDimensions > | m_PointToIndexMatrixDiagonalProducts
bool | m_PointToIndexMatrixIsDiagonal
DirectionType | m_PointToIndexMatrixTransposed
SpatialJacobianType | m_PointToIndexMatrixTransposed2
RegionType | m_ValidRegion
ContinuousIndexType | m_ValidRegionBegin
ContinuousIndexType | m_ValidRegionEnd
ImagePointer | m_WrappedImage [NDimensions]
Protected Attributes inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
bool | m_HasNonZeroJacobianOfSpatialHessian
bool | m_HasNonZeroSpatialHessian

## Friends

class | MultiBSplineDeformableTransformWithNormal< ScalarType, Self::SpaceDimension, VSplineOrder >

## Member Typedef Documentation

## ConstPointer

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ConstPointer = SmartPointer<const Self>

Definition at line 142 of file itkAdvancedBSplineDeformableTransform.h.

## ContinuousIndexType

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType

Definition at line 208 of file itkAdvancedBSplineDeformableTransform.h.

## DerivativeWeightsFunctionPointer

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer

Definition at line 211 of file itkAdvancedBSplineDeformableTransform.h.

## DerivativeWeightsFunctionType

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeWeightsFunctionType

Initial value:
BSplineInterpolationDerivativeWeightFunction<ScalarType, Self::SpaceDimension, VSplineOrder>
itk::BSplineInterpolationDerivativeWeightFunction
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Definition itkBSplineInterpolationDerivativeWeightFunction.h:46

Definition at line 209 of file itkAdvancedBSplineDeformableTransform.h.

## DirectionType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::DirectionType

Definition at line 229 of file itkAdvancedBSplineDeformableTransformBase.h.

## GridOffsetType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GridOffsetType

Definition at line 231 of file itkAdvancedBSplineDeformableTransformBase.h.

## ImagePointer

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImagePointer

Definition at line 200 of file itkAdvancedBSplineDeformableTransformBase.h.

## ImageType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImageType

Definition at line 199 of file itkAdvancedBSplineDeformableTransformBase.h.

## IndexType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::IndexType

Definition at line 226 of file itkAdvancedBSplineDeformableTransformBase.h.

## JacobianImageType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianImageType

protected

Definition at line 402 of file itkAdvancedBSplineDeformableTransformBase.h.

## JacobianPixelType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianPixelType

protected

Jacobian as SpaceDimension number of images.

Definition at line 401 of file itkAdvancedBSplineDeformableTransformBase.h.

## OriginType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OriginType

Definition at line 230 of file itkAdvancedBSplineDeformableTransformBase.h.

## ParameterIndexArrayType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParameterIndexArrayType

Parameter index array type.

Definition at line 258 of file itkAdvancedBSplineDeformableTransformBase.h.

## Pointer

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Pointer = SmartPointer<Self>

Definition at line 141 of file itkAdvancedBSplineDeformableTransform.h.

## RegionType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::RegionType

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, unsigned int VSplineOrder = 3>

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Self = AdvancedBSplineDeformableTransform

Standard class typedefs.

Definition at line 139 of file itkAdvancedBSplineDeformableTransform.h.

## SizeType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SizeType

Definition at line 227 of file itkAdvancedBSplineDeformableTransformBase.h.

## SODerivativeWeightsFunctionPointer

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer

Definition at line 214 of file itkAdvancedBSplineDeformableTransform.h.

## SODerivativeWeightsFunctionType

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SODerivativeWeightsFunctionType

Initial value:
BSplineInterpolationSecondOrderDerivativeWeightFunction<ScalarType, Self::SpaceDimension, VSplineOrder>
itk::BSplineInterpolationSecondOrderDerivativeWeightFunction
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Definition itkBSplineInterpolationSecondOrderDerivativeWeightFunction.h:47

Definition at line 212 of file itkAdvancedBSplineDeformableTransform.h.

## SpacingType

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

using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpacingType

Definition at line 228 of file itkAdvancedBSplineDeformableTransformBase.h.

## Superclass

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::Superclass = AdvancedBSplineDeformableTransformBase<TScalarType, NDimensions>

Definition at line 140 of file itkAdvancedBSplineDeformableTransform.h.

## WeightsFunctionPointer

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionPointer = typename WeightsFunctionType::Pointer

Definition at line 206 of file itkAdvancedBSplineDeformableTransform.h.

## WeightsFunctionType

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType = BSplineInterpolationWeightFunction2<ScalarType, Self::SpaceDimension, VSplineOrder>

Interpolation weights function type.

Definition at line 205 of file itkAdvancedBSplineDeformableTransform.h.

## WeightsType

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

using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType = typename WeightsFunctionType::WeightsType

Definition at line 207 of file itkAdvancedBSplineDeformableTransform.h.

## Constructor & Destructor Documentation

## AdvancedBSplineDeformableTransform()

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::AdvancedBSplineDeformableTransform | ( |  | ) |

protected

## ~AdvancedBSplineDeformableTransform()

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::~AdvancedBSplineDeformableTransform | ( |  | ) |

override protected default

## Member Function Documentation

## ComputeNonZeroJacobianIndices()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ComputeNonZeroJacobianIndices | ( | NonZeroJacobianIndicesType & | nonZeroJacobianIndices,
|  | const RegionType & | supportRegion ) const

override protected virtual

Implements itk::AdvancedBSplineDeformableTransformBase< double, 3 >.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## EvaluateJacobianWithImageGradientProduct()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::EvaluateJacobianWithImageGradientProduct | ( | const InputPointType & | inputPoint,
|  | const MovingImageGradientType & | movingImageGradient,
|  | DerivativeType & | imageJacobian,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

Compute the inner product of the Jacobian with the moving image gradient. The Jacobian is (partially) constructed inside this function, but not returned.

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

Reimplemented in itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetClassName()

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

virtual const char * itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

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

Reimplemented in 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 >.

## GetJacobian()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian | ( | const InputPointType & | inputPoint,
|  | JacobianType & | j,
|  | NonZeroJacobianIndicesType & | nzji ) const

override virtual

Compute the Jacobian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetJacobianOfSpatialHessian() [1/2]

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

Compute the Jacobian of the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

Reimplemented in itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetJacobianOfSpatialHessian() [2/2]

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh,
|  | JacobianOfSpatialHessianType & | jsh,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override

Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.

## GetJacobianOfSpatialJacobian() [1/2]

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian | ( | const InputPointType & | inputPoint,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override virtual

Compute the Jacobian of the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

Reimplemented in itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetJacobianOfSpatialJacobian() [2/2]

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj,
|  | JacobianOfSpatialJacobianType & | jsj,
|  | NonZeroJacobianIndicesType & | nonZeroJacobianIndices ) const

override

Compute both the spatial Jacobian and the Jacobian of the spatial Jacobian of the transformation.

## GetNumberOfAffectedWeights()

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

unsigned int itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights | ( |  | ) | const

override virtual

Implements itk::AdvancedBSplineDeformableTransformBase< double, 3 >.

## GetNumberOfNonZeroJacobianIndices()

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

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

override virtual

Implements itk::AdvancedBSplineDeformableTransformBase< double, 3 >.

## GetSpatialHessian()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialHessian | ( | const InputPointType & | inputPoint,
|  | SpatialHessianType & | sh ) const

override virtual

Compute the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

Reimplemented in itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## GetSpatialJacobian()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialJacobian | ( | const InputPointType & | inputPoint,
|  | SpatialJacobianType & | sj ) const

override virtual

Compute the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, and itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >.

## ITK_DISALLOW_COPY_AND_MOVE()

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder > |  | ) |

## itkGetModifiableObjectMacro()

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkGetModifiableObjectMacro | ( | WeightsFunction | ,
|  | WeightsFunctionType | )

protected

## itkStaticConstMacro() [1/2]

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro | ( | SpaceDimension | ,
|  | unsigned int | ,
|  | NDimensions | )

Dimension of the domain space.

## itkStaticConstMacro() [2/2]

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

itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro | ( | SplineOrder | ,
|  | unsigned int | ,
|  | VSplineOrder | )

The B-spline order.

## New()

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

Pointer itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::New | ( |  | ) |

static

New macro for creation of through the object factory.

## PrintSelf()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

Print contents of an AdvancedBSplineDeformableTransform.

## SetGridRegion()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion | ( | const RegionType & | region | ) |

override virtual

This method specifies the region over which the grid resides.

Implements itk::AdvancedBSplineDeformableTransformBase< double, 3 >.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

## SetWeightsFunction()

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

virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction | ( | WeightsFunctionType * | _arg | ) |

protected virtual

Allow subclasses to access and manipulate the weights function.

## TransformPoint()

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

OutputPointType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint | ( | const InputPointType & | point | ) | const

override

Transform points by a B-spline deformable transformation.

## WrapAsImages()

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

void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WrapAsImages | ( |  | ) |

protected

Wrap flat array into images of coefficients.

## Friends And Related Symbol Documentation

## MultiBSplineDeformableTransformWithNormal< ScalarType, Self::SpaceDimension, VSplineOrder >

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

friend class MultiBSplineDeformableTransformWithNormal< ScalarType, Self::SpaceDimension, VSplineOrder >

friend

Definition at line 309 of file itkAdvancedBSplineDeformableTransform.h.

## Field Documentation

## m_DerivativeWeightsFunctions

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

std::vector<DerivativeWeightsFunctionPointer> itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_DerivativeWeightsFunctions {}

protected

Definition at line 308 of file itkAdvancedBSplineDeformableTransform.h.

## m_SODerivativeWeightsFunctions

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

std::vector<std::vector<SODerivativeWeightsFunctionPointer> > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_SODerivativeWeightsFunctions {}

protected

Definition at line 309 of file itkAdvancedBSplineDeformableTransform.h.

## m_WeightsFunction

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

WeightsFunctionPointer itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_WeightsFunction {}

protected

Pointer to function used to compute B-spline interpolation weights. For each direction we create a different weights function for thread- safety.

Definition at line 307 of file itkAdvancedBSplineDeformableTransform.h.

## NumberOfWeights

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

unsigned itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::NumberOfWeights = WeightsFunctionType::NumberOfWeights

static constexpr

The number of weights.

Definition at line 220 of file itkAdvancedBSplineDeformableTransform.h.

Generated on 1768596610 for elastix by 1.15.0 |