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

`#include <itkMultiBSplineDeformableTransformWithNormal.h>`

## Detailed Description

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

This transform is a composition of B-spline transformations, allowing sliding motion between different labels.

Detailed explanation ...

Author
  Vivien Delmon

Definition at line 42 of file itkMultiBSplineDeformableTransformWithNormal.h.

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

## Public Types

using | BaseType = Vector<VectorType, Self::SpaceDimension>
using | ConstPointer = SmartPointer<const Self>
using | ContinuousIndexType = ContinuousIndex<ScalarType, SpaceDimension>
using | DirectionType = typename ImageType::DirectionType
using | GridOffsetType = IndexType
using | ImageBasePointer = typename ImageBaseType::Pointer
using | ImageBaseType = Image<BaseType, Self::SpaceDimension>
using | ImageLabelInterpolator = itk::NearestNeighborInterpolateImageFunction<ImageLabelType, TScalarType>
using | ImageLabelInterpolatorPointer = typename ImageLabelInterpolator::Pointer
using | ImageLabelPointer = typename ImageLabelType::Pointer
using | ImageLabelType = Image<unsigned char, Self::SpaceDimension>
using | ImagePointer = typename ImageType::Pointer
using | ImageType = Image<PixelType, Self::SpaceDimension>
using | ImageVectorPointer = typename ImageVectorType::Pointer
using | ImageVectorType = Image<VectorType, Self::SpaceDimension>
using | IndexType = typename RegionType::IndexType
using | InternalMatrixType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | NonZeroJacobianIndicesType
using | OriginType = typename ImageType::PointType
using | ParameterIndexArrayType = Array<unsigned long>
using | Pointer = SmartPointer<Self>
using | RegionType = ImageRegion<Self::SpaceDimension>
using | Self = MultiBSplineDeformableTransformWithNormal
using | SizeType = typename RegionType::SizeType
using | SpacingType = typename ImageBase<NDimensions>::SpacingType
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
using | VectorType = Vector<TScalarType, Self::SpaceDimension>
using | WeightsFunctionType = BSplineInterpolationWeightFunction2<ScalarType, Self::SpaceDimension, VSplineOrder>
using | WeightsType = typename WeightsFunctionType::WeightsType
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
const ParametersType & | GetFixedParameters () const override
virtual DirectionType | GetGridDirection () const
virtual OriginType | GetGridOrigin () const
virtual RegionType | GetGridRegion () const
virtual SpacingType | GetGridSpacing () const
bool | GetHasNonZeroSpatialHessian () const override
virtual bool | GetHasNonZeroSpatialJacobian () const
void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
virtual ImageLabelType * | GetLabels () const
virtual ImageBaseType * | GetLocalBases () const
virtual unsigned char | GetNbLabels () const
virtual unsigned int | GetNumberOfAffectedWeights () const
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override
NumberOfParametersType | GetNumberOfParameters () const override
virtual NumberOfParametersType | GetNumberOfParametersPerDimension () const
const ParametersType & | GetParameters () const override
void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
virtual const RegionType & | GetValidRegion ()
virtual bool | HasNonZeroJacobianOfSpatialHessian () const
virtual bool | HasNonZeroJacobianOfSpatialJacobian () const
bool | IsLinear () const override
| ITK_DISALLOW_COPY_AND_MOVE (MultiBSplineDeformableTransformWithNormal)
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
| itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
void | SetFixedParameters (const ParametersType &parameters) override
virtual void | SetGridDirection (const DirectionType &spacing)
virtual void | SetGridOrigin (const OriginType &origin)
virtual void | SetGridRegion (const RegionType &region)
virtual void | SetGridSpacing (const SpacingType &spacing)
void | SetIdentity ()
void | SetLabels (ImageLabelType *labels)
void | SetParameters (const ParametersType &parameters) override
void | SetParametersByValue (const ParametersType &parameters) override
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override
OutputPointType | TransformPoint (const InputPointType &point) const override
OutputVectorType | TransformVector (const InputVectorType &) const override
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override
void | UpdateLocalBases ()
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
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)

## Static Public Member Functions

static Pointer | New ()

## Protected Types

using | TransformType = AdvancedBSplineDeformableTransform<TScalarType, Self::SpaceDimension, VSplineOrder>

## Protected Member Functions

| MultiBSplineDeformableTransformWithNormal ()
void | PrintSelf (std::ostream &os, Indent indent) const override
| ~MultiBSplineDeformableTransformWithNormal () override=default
Protected Member Functions inherited from itk::AdvancedTransform< double, 3, 3 >
| AdvancedTransform ()=default
| ~AdvancedTransform () override=default

## Protected Attributes

const ParametersType * | m_InputParametersPointer {}
ParametersType | m_InternalParametersBuffer {}
ImageLabelPointer | m_Labels {}
ImageLabelInterpolatorPointer | m_LabelsInterpolator {}
ImageVectorPointer | m_LabelsNormals {}
int | m_LastJacobian {}
ImageBasePointer | m_LocalBases {}
unsigned char | m_NbLabels {}
std::vector< ParametersType > | m_Para {}
std::vector< typename TransformType::Pointer > | m_Trans {}
Protected Attributes inherited from itk::AdvancedTransform< double, 3, 3 >
bool | m_HasNonZeroJacobianOfSpatialHessian
bool | m_HasNonZeroSpatialHessian

## Private Member Functions

void | DispatchParameters (const ParametersType &parameters)
void | PointToLabel (const InputPointType &p, int &l) const

## Static Private Attributes

static constexpr unsigned | NumberOfWeights = TransformType::NumberOfWeights

## Member Typedef Documentation

## BaseType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::BaseType = Vector<VectorType, Self::SpaceDimension>

Definition at line 239 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ConstPointer

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

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

Definition at line 52 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ContinuousIndexType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType = ContinuousIndex<ScalarType, SpaceDimension>

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

Definition at line 367 of file itkMultiBSplineDeformableTransformWithNormal.h.

## DirectionType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::DirectionType = typename ImageType::DirectionType

Definition at line 198 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GridOffsetType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GridOffsetType = IndexType

Definition at line 200 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageBasePointer

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageBasePointer = typename ImageBaseType::Pointer

Definition at line 243 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageBaseType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageBaseType = Image<BaseType, Self::SpaceDimension>

Definition at line 242 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageLabelInterpolator

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelInterpolator = itk::NearestNeighborInterpolateImageFunction<ImageLabelType, TScalarType>

Definition at line 234 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageLabelInterpolatorPointer

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelInterpolatorPointer = typename ImageLabelInterpolator::Pointer

Definition at line 235 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageLabelPointer

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelPointer = typename ImageLabelType::Pointer

Definition at line 232 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageLabelType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelType = Image<unsigned char, Self::SpaceDimension>

Typedef of the label image.

Definition at line 231 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImagePointer

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImagePointer = typename ImageType::Pointer

Definition at line 171 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageType = Image<PixelType, Self::SpaceDimension>

Definition at line 170 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageVectorPointer

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageVectorPointer = typename ImageVectorType::Pointer

Definition at line 241 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ImageVectorType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageVectorType = Image<VectorType, Self::SpaceDimension>

Definition at line 240 of file itkMultiBSplineDeformableTransformWithNormal.h.

## IndexType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::IndexType = typename RegionType::IndexType

Definition at line 195 of file itkMultiBSplineDeformableTransformWithNormal.h.

## InternalMatrixType

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

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

Definition at line 140 of file itkAdvancedTransform.h.

## JacobianOfSpatialHessianType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 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, unsigned int VSplineOrder = 3>

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

Definition at line 135 of file itkAdvancedTransform.h.

## NonZeroJacobianIndicesType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 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, unsigned int VSplineOrder = 3>

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::OriginType = typename ImageType::PointType

Definition at line 199 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ParameterIndexArrayType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType = Array<unsigned long>

Parameter index array type.

Definition at line 260 of file itkMultiBSplineDeformableTransformWithNormal.h.

## Pointer

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

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

Definition at line 51 of file itkMultiBSplineDeformableTransformWithNormal.h.

## RegionType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::RegionType = ImageRegion<Self::SpaceDimension>

Get the array of coefficient images. Set the array of coefficient images.

This is an alternative API for setting the BSpline 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. Typedefs for specifying the extend to the grid.

Definition at line 193 of file itkMultiBSplineDeformableTransformWithNormal.h.

## Self

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

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

Standard class typedefs.

Definition at line 49 of file itkMultiBSplineDeformableTransformWithNormal.h.

## SizeType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SizeType = typename RegionType::SizeType

Definition at line 196 of file itkMultiBSplineDeformableTransformWithNormal.h.

## SpacingType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SpacingType = typename ImageBase<NDimensions>::SpacingType

Definition at line 197 of file itkMultiBSplineDeformableTransformWithNormal.h.

## SpatialHessianType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 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, unsigned int VSplineOrder = 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, unsigned int VSplineOrder = 3>

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>

Definition at line 50 of file itkMultiBSplineDeformableTransformWithNormal.h.

## TransformType

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

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

protected

Definition at line 493 of file itkMultiBSplineDeformableTransformWithNormal.h.

## VectorType

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

using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::VectorType = Vector<TScalarType, Self::SpaceDimension>

Typedef of the Normal Grid.

Definition at line 238 of file itkMultiBSplineDeformableTransformWithNormal.h.

## WeightsFunctionType

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

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

Interpolation weights function type.

Definition at line 88 of file itkMultiBSplineDeformableTransformWithNormal.h.

## WeightsType

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

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

Definition at line 89 of file itkMultiBSplineDeformableTransformWithNormal.h.

## Constructor & Destructor Documentation

## MultiBSplineDeformableTransformWithNormal()

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

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

protected

## ~MultiBSplineDeformableTransformWithNormal()

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

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

override protected default

## Member Function Documentation

## DispatchParameters()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::DispatchParameters | ( | const ParametersType & | parameters | ) |

private

## GetClassName()

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

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

virtual

Run-time type information (and related methods).

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

## GetFixedParameters()

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

const ParametersType & itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetFixedParameters | ( |  | ) | const

override

Get the Transformation Fixed Parameters.

## GetGridDirection()

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

virtual DirectionType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetGridDirection | ( |  | ) | const

virtual

## GetGridOrigin()

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

virtual OriginType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetGridOrigin | ( |  | ) | const

virtual

## GetGridRegion()

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

virtual RegionType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetGridRegion | ( |  | ) | const

virtual

## GetGridSpacing()

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

virtual SpacingType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetGridSpacing | ( |  | ) | const

virtual

## GetHasNonZeroSpatialHessian()

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

bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetHasNonZeroSpatialHessian | ( |  | ) | const

inline override virtual

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

Definition at line 353 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GetHasNonZeroSpatialJacobian()

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

virtual bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetHasNonZeroSpatialJacobian | ( |  | ) | const

inline virtual

Whether the advanced transform has nonzero matrices.

Definition at line 339 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GetJacobian()

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

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

override virtual

Compute the Jacobian matrix of the transformation at one point. Compute the Jacobian of the transformation.

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

## GetJacobianOfSpatialHessian() [1/2]

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian | ( | const InputPointType & | ,
|  | JacobianOfSpatialHessianType & | ,
|  | NonZeroJacobianIndicesType & | ) const

inline override virtual

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

Definition at line 400 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GetJacobianOfSpatialHessian() [2/2]

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian | ( | const InputPointType & | ,
|  | SpatialHessianType & | ,
|  | JacobianOfSpatialHessianType & | ,
|  | NonZeroJacobianIndicesType & | ) const

override

## GetJacobianOfSpatialJacobian() [1/2]

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian | ( | const InputPointType & | ,
|  | SpatialJacobianType & | ,
|  | JacobianOfSpatialJacobianType & | ,
|  | NonZeroJacobianIndicesType & | ) const

override

## GetJacobianOfSpatialJacobian() [2/2]

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

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

override virtual

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

## GetLabels()

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

virtual ImageLabelType * itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetLabels | ( |  | ) | const

virtual

## GetLocalBases()

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

virtual ImageBaseType * itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetLocalBases | ( |  | ) | const

virtual

## GetNbLabels()

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

virtual unsigned char itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetNbLabels | ( |  | ) | const

virtual

## GetNumberOfAffectedWeights()

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

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

inline virtual

Definition at line 324 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GetNumberOfNonZeroJacobianIndices()

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

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

inline override virtual

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

Definition at line 331 of file itkMultiBSplineDeformableTransformWithNormal.h.

## GetNumberOfParameters()

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

NumberOfParametersType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParameters | ( |  | ) | const

override

Return the number of parameters that completely define the Transform.

## GetNumberOfParametersPerDimension()

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

virtual NumberOfParametersType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension | ( |  | ) | const

virtual

Return the number of parameters per dimension

## GetParameters()

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

const ParametersType & itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetParameters | ( |  | ) | const

override

Get the Transformation Parameters.

## GetSpatialHessian()

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

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

override virtual

Compute the spatial Hessian of the transformation.

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

## GetSpatialJacobian()

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

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

override virtual

Compute the spatial Jacobian of the transformation.

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

## GetValidRegion()

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

virtual const RegionType & itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetValidRegion | ( |  | ) |

inline virtual

Return the region of the grid wholly within the support region

Definition at line 305 of file itkMultiBSplineDeformableTransformWithNormal.h.

## HasNonZeroJacobianOfSpatialHessian()

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

virtual bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::HasNonZeroJacobianOfSpatialHessian | ( |  | ) | const

inline virtual

Definition at line 360 of file itkMultiBSplineDeformableTransformWithNormal.h.

## HasNonZeroJacobianOfSpatialJacobian()

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

virtual bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::HasNonZeroJacobianOfSpatialJacobian | ( |  | ) | const

inline virtual

Definition at line 346 of file itkMultiBSplineDeformableTransformWithNormal.h.

## IsLinear()

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

bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::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 317 of file itkMultiBSplineDeformableTransformWithNormal.h.

## ITK_DISALLOW_COPY_AND_MOVE()

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

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

## itkStaticConstMacro() [1/2]

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

itk::MultiBSplineDeformableTransformWithNormal< 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::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro | ( | SplineOrder | ,
|  | unsigned int | ,
|  | VSplineOrder | )

The BSpline order.

## New()

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

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

static

New macro for creation of through the object factory.

## PointToLabel()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::PointToLabel | ( | const InputPointType & | p,
|  | int & | l ) const

private

## PrintSelf()

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

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

override protected

Print contents of an MultiBSplineDeformableTransformWithNormal.

## SetFixedParameters()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetFixedParameters | ( | const ParametersType & | parameters | ) |

override

This method sets the fixed parameters of the transform. For a BSpline 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, unsigned int VSplineOrder = 3>

virtual void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetGridDirection | ( | const DirectionType & | spacing | ) |

virtual

This method specifies the grid directions .

## SetGridOrigin()

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

virtual void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetGridOrigin | ( | const OriginType & | origin | ) |

virtual

This method specifies the grid origin.

## SetGridRegion()

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

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

virtual

This method specifies the region over which the grid resides.

## SetGridSpacing()

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

virtual void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetGridSpacing | ( | const SpacingType & | spacing | ) |

virtual

This method specifies the grid spacing or resolution.

## SetIdentity()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::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().

## SetLabels()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetLabels | ( | ImageLabelType * | labels | ) |

This method specifies the label image.

## SetParameters()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetParameters | ( | const ParametersType & | parameters | ) |

override

This method sets the parameters of the transform. For a BSpline 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, unsigned int VSplineOrder = 3>

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::SetParametersByValue | ( | const ParametersType & | parameters | ) |

override

This method sets the parameters of the transform. For a BSpline 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, unsigned int VSplineOrder = 3>

OutputCovariantVectorType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::TransformCovariantVector | ( | const InputCovariantVectorType & |  | ) | const

inline override

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

Definition at line 288 of file itkMultiBSplineDeformableTransformWithNormal.h.

## TransformPoint()

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

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

override

Transform points by a BSpline deformable transformation.

## TransformVector() [1/2]

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

OutputVectorType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::TransformVector | ( | const InputVectorType & |  | ) | const

inline override

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

Definition at line 266 of file itkMultiBSplineDeformableTransformWithNormal.h.

## TransformVector() [2/2]

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

OutputVnlVectorType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::TransformVector | ( | const InputVnlVectorType & |  | ) | const

inline override

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

Definition at line 277 of file itkMultiBSplineDeformableTransformWithNormal.h.

## UpdateLocalBases()

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

void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::UpdateLocalBases | ( |  | ) |

Update Local Bases : call to it should become automatic and the function should become private

## Field Documentation

## m_InputParametersPointer

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

const ParametersType* itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_InputParametersPointer {}

protected

Wrap flat array into images of coefficients. Convert an input point to a continuous index inside the BSpline grid. Check if a continuous index is inside the valid region. The bulk transform. Array of images representing the B-spline coefficients in each dimension. Variables defining the coefficient grid extend. Variables defining the interpolation support region. Odd or even order BSpline. Keep a pointer to the input parameters.

Definition at line 471 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_InternalParametersBuffer

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

ParametersType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_InternalParametersBuffer {}

protected

Jacobian as SpaceDimension number of images. Keep track of last support region used in computing the Jacobian for fast resetting of Jacobian to zero. Array holding images wrapped from the flat parameters. Internal parameters buffer.

Definition at line 491 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_Labels

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

ImageLabelPointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_Labels {}

protected

Definition at line 496 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_LabelsInterpolator

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

ImageLabelInterpolatorPointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LabelsInterpolator {}

protected

Definition at line 497 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_LabelsNormals

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

ImageVectorPointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LabelsNormals {}

protected

Definition at line 498 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_LastJacobian

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

int itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LastJacobian {}

mutable protected

Definition at line 501 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_LocalBases

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

ImageBasePointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LocalBases {}

protected

Definition at line 502 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_NbLabels

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

unsigned char itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_NbLabels {}

protected

Definition at line 495 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_Para

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

std::vector<ParametersType> itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_Para {}

protected

Definition at line 500 of file itkMultiBSplineDeformableTransformWithNormal.h.

## m_Trans

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

std::vector<typename TransformType::Pointer> itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_Trans {}

protected

Definition at line 499 of file itkMultiBSplineDeformableTransformWithNormal.h.

## NumberOfWeights

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

unsigned itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::NumberOfWeights = TransformType::NumberOfWeights

static constexpr private

The number of weights.

Definition at line 510 of file itkMultiBSplineDeformableTransformWithNormal.h.

Generated on 1768596610 for elastix by 1.15.0 |