go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder > Class Template Reference

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

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 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 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 ImageLabelTypeGetLabels () const
 
virtual ImageBaseTypeGetLocalBases () 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 RegionTypeGetValidRegion ()
 
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)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

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::Pointerm_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>

◆ ConstPointer

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

◆ 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

◆ GridOffsetType

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

◆ ImageBasePointer

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageBasePointer = typename ImageBaseType::Pointer

◆ ImageBaseType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageBaseType = Image<BaseType, Self::SpaceDimension>

◆ ImageLabelInterpolator

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

◆ ImageLabelInterpolatorPointer

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelInterpolatorPointer = typename ImageLabelInterpolator::Pointer

◆ ImageLabelPointer

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageLabelPointer = typename ImageLabelType::Pointer

◆ 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

◆ ImageType

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

◆ ImageVectorPointer

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageVectorPointer = typename ImageVectorType::Pointer

◆ ImageVectorType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::ImageVectorType = Image<VectorType, Self::SpaceDimension>

◆ IndexType

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

◆ OriginType

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

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

◆ 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

◆ SpacingType

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

◆ Superclass

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

◆ 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

◆ 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

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

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
inlineoverridevirtual

◆ GetHasNonZeroSpatialJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetHasNonZeroSpatialJacobian ( ) const
inlinevirtual

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
overridevirtual

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
inlineoverridevirtual

◆ 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
overridevirtual

◆ 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
overridevirtual

◆ 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
overridevirtual

◆ 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
inlinevirtual

◆ GetNumberOfNonZeroJacobianIndices()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
NumberOfParametersType itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetNumberOfNonZeroJacobianIndices ( ) const
inlineoverridevirtual

◆ 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
overridevirtual

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
overridevirtual

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

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
inlinevirtual

◆ HasNonZeroJacobianOfSpatialJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::HasNonZeroJacobianOfSpatialJacobian ( ) const
inlinevirtual

◆ IsLinear()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
bool itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::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 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>
static 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
overrideprotected

◆ 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
inlineoverride

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
inlineoverride

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
inlineoverride

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

◆ m_LabelsInterpolator

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
ImageLabelInterpolatorPointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LabelsInterpolator {}
protected

◆ m_LabelsNormals

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
ImageVectorPointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LabelsNormals {}
protected

◆ m_LastJacobian

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

◆ m_LocalBases

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
ImageBasePointer itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_LocalBases {}
protected

◆ m_NbLabels

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned char itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::m_NbLabels {}
protected

◆ 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

◆ 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

◆ NumberOfWeights

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

The number of weights.

Definition at line 510 of file itkMultiBSplineDeformableTransformWithNormal.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo