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 | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions > Class Template Referenceabstract

#include <itkAdvancedBSplineDeformableTransformBase.h>

Detailed Description

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

Base class for deformable transform using a B-spline representation.

This class is the base for the encapsulation of a deformable transform of points from one N-dimensional one space to another N-dimensional space.

This class is not templated over the spline order, which makes the use of different spline orders more convenient in subsequent code.

Definition at line 42 of file itkAdvancedBSplineDeformableTransformBase.h.

+ Inheritance diagram for itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef ImageType::DirectionType DirectionType
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef IndexType GridOffsetType
 
typedef ImageType::Pointer ImagePointer
 
typedef Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > ImageType
 
typedef RegionType::IndexType IndexType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImageGradientValueType MovingImageGradientValueType
 
typedef Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef ImageType::PointType OriginType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Array< unsigned long > ParameterIndexArrayType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedBSplineDeformableTransformBase Self
 
typedef RegionType::SizeType SizeType
 
typedef ImageType::SpacingType SpacingType
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
- Public Types inherited from itk::AdvancedTransform< double, 3, 3 >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef SpatialJacobianType::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
 
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
 
typedef Transform< double, NInputDimensions, NOutputDimensions > Superclass
 
typedef Transform< double, NInputDimensions, NOutputDimensions > TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual const ImagePointerGetCoefficientImages (void) const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
virtual DirectionType GetGridDirection () const
 
virtual OriginType GetGridOrigin () const
 
virtual RegionType GetGridRegion () const
 
virtual SpacingType GetGridSpacing () const
 
virtual unsigned int GetNumberOfAffectedWeights (void) const =0
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override=0
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
virtual NumberOfParametersType GetNumberOfParametersPerDimension (void) const
 
const ParametersTypeGetParameters (void) const override
 
TransformCategoryEnum GetTransformCategory (void) const override
 
virtual const RegionTypeGetValidRegion ()
 
bool IsLinear (void) const override
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCoefficientImages (ImagePointer images[])
 
void SetFixedParameters (const FixedParametersType &parameters) override
 
virtual void SetGridDirection (const DirectionType &direction)
 
virtual void SetGridOrigin (const OriginType &origin)
 
virtual void SetGridRegion (const RegionType &region)=0
 
virtual void SetGridSpacing (const SpacingType &spacing)
 
void SetIdentity (void)
 
void SetParameters (const ParametersType &parameters) override
 
void SetParametersByValue (const ParametersType &parameters) override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
- Public Member Functions inherited from itk::AdvancedTransform< double, 3, 3 >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, 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 &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Protected Types

typedef Image< JacobianPixelType, itkGetStaticConstMacro(SpaceDimension) > JacobianImageType
 
typedef JacobianType::ValueType JacobianPixelType
 

Protected Member Functions

 AdvancedBSplineDeformableTransformBase ()
 
virtual void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const =0
 
virtual bool InsideValidRegion (const ContinuousIndexType &index) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void TransformPointToContinuousGridIndex (const InputPointType &point, ContinuousIndexType &index) const
 
void UpdateGridOffsetTable (void)
 
void UpdatePointIndexConversions (void)
 
void WrapAsImages (void)
 
 ~AdvancedBSplineDeformableTransformBase () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< double, 3, 3 >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 

Protected Attributes

ImagePointer m_CoefficientImages [NDimensions]
 
DirectionType m_GridDirection
 
GridOffsetType m_GridOffsetTable
 
OriginType m_GridOrigin
 
RegionType m_GridRegion
 
SpacingType m_GridSpacing
 
DirectionType m_IndexToPoint
 
const ParametersTypem_InputParametersPointer
 
ParametersType m_InternalParametersBuffer
 
JacobianImageType::Pointer m_JacobianImage [NDimensions]
 
IndexType m_LastJacobianIndex
 
unsigned long m_Offset
 
DirectionType m_PointToIndexMatrix
 
SpatialJacobianType m_PointToIndexMatrix2
 
FixedArray< ScalarType, NDimensions > m_PointToIndexMatrixDiagonal
 
FixedArray< ScalarType, NDimensions *NDimensions > m_PointToIndexMatrixDiagonalProducts
 
bool m_PointToIndexMatrixIsDiagonal
 
DirectionType m_PointToIndexMatrixTransposed
 
SpatialJacobianType m_PointToIndexMatrixTransposed2
 
bool m_SplineOrderOdd
 
SizeType m_SupportSize
 
RegionType m_ValidRegion
 
ContinuousIndexType m_ValidRegionBegin
 
ContinuousIndexType m_ValidRegionEnd
 
ImagePointer m_WrappedImage [NDimensions]
 
- Protected Attributes inherited from itk::AdvancedTransform< double, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Private Member Functions

 AdvancedBSplineDeformableTransformBase (const Self &)
 
void operator= (const Self &)
 

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer< const Self > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ConstPointer

Definition at line 52 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ContinuousIndexType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ContinuousIndex< ScalarType, SpaceDimension > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ContinuousIndexType

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

Definition at line 283 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ DerivativeType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::DerivativeType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::DerivativeType

Definition at line 65 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ DirectionType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ImageType::DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::DirectionType

Definition at line 192 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ FixedParametersType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::FixedParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::FixedParametersType

Definition at line 62 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GridOffsetType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef IndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GridOffsetType

Definition at line 194 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ImageType::Pointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImagePointer

Definition at line 167 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Image< PixelType, itkGetStaticConstMacro( SpaceDimension ) > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImageType

Definition at line 166 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ IndexType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef RegionType::IndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::IndexType

Definition at line 189 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InputCovariantVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InputCovariantVectorType

Definition at line 75 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InputPointType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InputPointType

Definition at line 68 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InputVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InputVectorType

Definition at line 70 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InputVnlVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputVnlVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InputVnlVectorType

Definition at line 72 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ InternalMatrixType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InternalMatrixType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InternalMatrixType

Definition at line 88 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Image< JacobianPixelType, itkGetStaticConstMacro( SpaceDimension ) > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianImageType
protected

Definition at line 347 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianOfSpatialHessianType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianOfSpatialHessianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianOfSpatialHessianType

Definition at line 87 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianOfSpatialJacobianType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianOfSpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianOfSpatialJacobianType

Definition at line 84 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef JacobianType::ValueType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianPixelType
protected

Jacobian as SpaceDimension number of images.

Definition at line 345 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianType

Definition at line 66 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ MovingImageGradientType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::MovingImageGradientType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::MovingImageGradientType

Definition at line 89 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ MovingImageGradientValueType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::MovingImageGradientValueType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::MovingImageGradientValueType

Definition at line 90 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ NonZeroJacobianIndicesType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::NonZeroJacobianIndicesType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::NonZeroJacobianIndicesType

Definition at line 81 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ NumberOfParametersType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::NumberOfParametersType

Definition at line 64 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OriginType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ImageType::PointType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OriginType

Definition at line 193 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OutputCovariantVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OutputCovariantVectorType

Definition at line 77 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OutputPointType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OutputPointType

Definition at line 69 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OutputVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OutputVectorType

Definition at line 71 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OutputVnlVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::OutputVnlVectorType

Definition at line 73 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ParameterIndexArrayType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Array< unsigned long > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParameterIndexArrayType

Parameter index array type.

Definition at line 221 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ParametersType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParametersType

Typedefs from Superclass.

Definition at line 61 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ParametersValueType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersValueType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParametersValueType

Definition at line 63 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Pointer

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer< Self > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Pointer

Definition at line 51 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ RegionType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ImageRegion< itkGetStaticConstMacro( SpaceDimension ) > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::RegionType

Typedefs for specifying the extend to the grid.

Definition at line 187 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ScalarType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ScalarType

Definition at line 67 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Self

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef AdvancedBSplineDeformableTransformBase itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Self

Standard class typedefs.

Definition at line 48 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SizeType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef RegionType::SizeType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SizeType

Definition at line 190 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SpacingType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef ImageType::SpacingType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpacingType

Definition at line 191 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SpatialHessianType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::SpatialHessianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpatialHessianType

Definition at line 85 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SpatialJacobianType

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::SpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpatialJacobianType

Definition at line 82 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Superclass

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::Superclass

Definition at line 50 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ TransformCategoryEnum

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::TransformCategoryEnum itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformCategoryEnum

Definition at line 78 of file itkAdvancedBSplineDeformableTransformBase.h.

Constructor & Destructor Documentation

◆ AdvancedBSplineDeformableTransformBase() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::AdvancedBSplineDeformableTransformBase ( )
protected

◆ ~AdvancedBSplineDeformableTransformBase()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::~AdvancedBSplineDeformableTransformBase ( )
overrideprotected

◆ AdvancedBSplineDeformableTransformBase() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::AdvancedBSplineDeformableTransformBase ( const Self )
private

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ComputeNonZeroJacobianIndices ( NonZeroJacobianIndicesType nonZeroJacobianIndices,
const RegionType supportRegion 
) const
protectedpure virtual

◆ GetClassName()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char * itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetClassName ( ) const
virtual

◆ GetCoefficientImages()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const ImagePointer * itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetCoefficientImages ( void  ) const
inlinevirtual

Get the array of coefficient images.

Definition at line 170 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const FixedParametersType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetFixedParameters ( void  ) const
override

Get the Transformation Fixed Parameters.

◆ GetGridDirection()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridDirection ( ) const
virtual

◆ GetGridOrigin()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual OriginType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridOrigin ( ) const
virtual

◆ GetGridRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridRegion ( ) const
virtual

◆ GetGridSpacing()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual SpacingType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetGridSpacing ( ) const
virtual

◆ GetNumberOfAffectedWeights()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual unsigned int itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfAffectedWeights ( void  ) const
pure virtual

◆ GetNumberOfNonZeroJacobianIndices()

template<class TScalarType = double, unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfNonZeroJacobianIndices ( void  ) const
overridepure virtual

◆ GetNumberOfParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfParameters ( void  ) const
override

Return the number of parameters that completely define the Transform.

◆ GetNumberOfParametersPerDimension()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual NumberOfParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetNumberOfParametersPerDimension ( void  ) const
virtual

Return the number of parameters per dimension

◆ GetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetParameters ( void  ) const
override

Get the Transformation Parameters.

◆ GetTransformCategory()

template<class TScalarType = double, unsigned int NDimensions = 3>
TransformCategoryEnum itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetTransformCategory ( void  ) const
inlineoverride

Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.

Definition at line 270 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GetValidRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const RegionType & itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::GetValidRegion ( )
virtual

Return the region of the grid wholly within the support region

◆ InsideValidRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::InsideValidRegion ( const ContinuousIndexType index) const
protectedvirtual

Check if a continuous index is inside the valid region.

◆ IsLinear()

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::IsLinear ( void  ) 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 265 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ itkStaticConstMacro()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
NDimensions   
)

Dimension of the domain space.

◆ operator=()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::operator= ( const Self )
private

◆ PrintSelf()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetCoefficientImages()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetCoefficientImages ( ImagePointer  images[])
virtual

Set the array of coefficient images.

This is an alternative API for setting the B-spline 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.

◆ SetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetFixedParameters ( const FixedParametersType parameters)
override

This method sets the fixed parameters of the transform. For a B-spline 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>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridDirection ( const DirectionType direction)
virtual

This method specifies the grid directions .

◆ SetGridOrigin()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridOrigin ( const OriginType origin)
virtual

This method specifies the grid origin.

◆ SetGridRegion()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridRegion ( const RegionType region)
pure virtual

◆ SetGridSpacing()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetGridSpacing ( const SpacingType spacing)
virtual

This method specifies the grid spacing or resolution.

◆ SetIdentity()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetIdentity ( void  )

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

◆ SetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetParameters ( const ParametersType parameters)
override

This method sets the parameters of the transform. For a B-spline 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>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SetParametersByValue ( const ParametersType parameters)
override

This method sets the parameters of the transform. For a B-spline 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>
OutputCovariantVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType ) const
inlineoverride

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

Definition at line 244 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ TransformPointToContinuousGridIndex()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformPointToContinuousGridIndex ( const InputPointType point,
ContinuousIndexType index 
) const
protected

Convert an input point to a continuous index inside the B-spline grid.

◆ TransformVector() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformVector ( const InputVectorType ) const
inlineoverride

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

Definition at line 226 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ TransformVector() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVnlVectorType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType ) const
inlineoverride

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

Definition at line 235 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ UpdateGridOffsetTable()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::UpdateGridOffsetTable ( void  )
protected

◆ UpdatePointIndexConversions()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::UpdatePointIndexConversions ( void  )
protected

◆ WrapAsImages()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::WrapAsImages ( void  )
protected

Wrap flat array into images of coefficients.

Field Documentation

◆ m_CoefficientImages

template<class TScalarType = double, unsigned int NDimensions = 3>
ImagePointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_CoefficientImages[NDimensions]
protected

Array of images representing the B-spline coefficients in each dimension.

Definition at line 312 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridDirection

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridDirection
protected

Definition at line 317 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOffsetTable

template<class TScalarType = double, unsigned int NDimensions = 3>
GridOffsetType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridOffsetTable
protected

Definition at line 319 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridOrigin

template<class TScalarType = double, unsigned int NDimensions = 3>
OriginType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridOrigin
protected

Definition at line 318 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridRegion

template<class TScalarType = double, unsigned int NDimensions = 3>
RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridRegion
protected

Variables defining the coefficient grid extend.

Definition at line 315 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_GridSpacing

template<class TScalarType = double, unsigned int NDimensions = 3>
SpacingType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_GridSpacing
protected

Definition at line 316 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_IndexToPoint

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_IndexToPoint
protected

Definition at line 327 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InputParametersPointer

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType* itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_InputParametersPointer
protected

Keep a pointer to the input parameters.

Definition at line 342 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_InternalParametersBuffer

template<class TScalarType = double, unsigned int NDimensions = 3>
ParametersType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_InternalParametersBuffer
protected

Internal parameters buffer.

Definition at line 360 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_JacobianImage

template<class TScalarType = double, unsigned int NDimensions = 3>
JacobianImageType::Pointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_JacobianImage[NDimensions]
protected

Definition at line 349 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_LastJacobianIndex

template<class TScalarType = double, unsigned int NDimensions = 3>
IndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_LastJacobianIndex
mutableprotected

Keep track of last support region used in computing the Jacobian for fast resetting of Jacobian to zero.

Definition at line 354 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_Offset

template<class TScalarType = double, unsigned int NDimensions = 3>
unsigned long itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_Offset
protected

Variables defining the interpolation support region.

Definition at line 333 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrix
protected

Definition at line 321 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrix2

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrix2
protected

Definition at line 322 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonal

template<class TScalarType = double, unsigned int NDimensions = 3>
FixedArray< ScalarType, NDimensions > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixDiagonal
protected

Definition at line 325 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixDiagonalProducts

template<class TScalarType = double, unsigned int NDimensions = 3>
FixedArray< ScalarType, NDimensions * NDimensions > itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixDiagonalProducts
protected

Definition at line 326 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixIsDiagonal

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixIsDiagonal
protected

Definition at line 328 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed

template<class TScalarType = double, unsigned int NDimensions = 3>
DirectionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixTransposed
protected

Definition at line 323 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_PointToIndexMatrixTransposed2

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_PointToIndexMatrixTransposed2
protected

Definition at line 324 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_SplineOrderOdd

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_SplineOrderOdd
protected

Odd or even order B-spline.

Definition at line 339 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_SupportSize

template<class TScalarType = double, unsigned int NDimensions = 3>
SizeType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_SupportSize
protected

Definition at line 334 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegion

template<class TScalarType = double, unsigned int NDimensions = 3>
RegionType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegion
protected

Definition at line 330 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionBegin

template<class TScalarType = double, unsigned int NDimensions = 3>
ContinuousIndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegionBegin
protected

Definition at line 335 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_ValidRegionEnd

template<class TScalarType = double, unsigned int NDimensions = 3>
ContinuousIndexType itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_ValidRegionEnd
protected

Definition at line 336 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ m_WrappedImage

template<class TScalarType = double, unsigned int NDimensions = 3>
ImagePointer itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::m_WrappedImage[NDimensions]
protected

Array holding images wrapped from the flat parameters.

Definition at line 357 of file itkAdvancedBSplineDeformableTransformBase.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo