go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
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 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 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)

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

◆ 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

◆ 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

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

◆ 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
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
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>
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 1768596610 for elastix by doxygen 1.15.0 elastix logo