go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
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 >:
Inheritance graph
[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 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 ImageType::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< TScalarType, NInputDimensions, NOutputDimensions >
using ConstPointer = SmartPointer< const Self >
 
using InternalMatrixType = typename SpatialJacobianType::InternalMatrixType
 
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using JacobianOfSpatialHessianType = std::vector< SpatialHessianType >
 
using JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType >
 
using MovingImageGradientType = OutputCovariantVectorType
 
using MovingImageGradientValueType = typename MovingImageGradientType::ValueType
 
using NonZeroJacobianIndicesType = std::vector< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using Self = AdvancedTransform
 
using SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension >
 
using SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension >
 
using Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformTypeConstPointer = typename TransformType::ConstPointer
 
using TransformTypePointer = typename TransformType::Pointer
 

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 &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) 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
 
virtual unsigned long GetNumberOfWeights () 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< TScalarType, NInputDimensions, NOutputDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const char * GetClassName () const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const
 
virtual void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const =0
 
virtual void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const =0
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 
 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< TScalarType, NInputDimensions, NOutputDimensions >
 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< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 

Private Member Functions

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

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 374 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 ImageType::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< TScalarType, NInputDimensions, NOutputDimensions >.

◆ 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 346 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< TScalarType, NInputDimensions, NOutputDimensions >.

◆ GetJacobianOfSpatialHessian() [1/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

◆ GetJacobianOfSpatialHessian() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::MultiBSplineDeformableTransformWithNormal< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian ( const InputPointType &  inputPoint,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
inlineoverridevirtual

◆ 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

◆ GetNumberOfWeights()

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

Get number of weights.

Definition at line 324 of file itkMultiBSplineDeformableTransformWithNormal.h.

◆ 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< TScalarType, NInputDimensions, NOutputDimensions >.

◆ 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< TScalarType, NInputDimensions, NOutputDimensions >.

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


Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo