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 | Private Types | Private Attributes
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference

#include <itkRecursiveBSplineTransform.h>

Detailed Description

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

A recursive implementation of the B-spline transform.

The class is templated coordinate representation type (float or double), the space dimension and the spline order.

Definition at line 39 of file itkRecursiveBSplineTransform.h.

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType
 
using DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer
 
using DerivativeWeightsFunctionType = BSplineInterpolationDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, Self::SpaceDimension >
 
using IndexType = typename RegionType::IndexType
 
using OffsetValueType = typename GridOffsetType::OffsetValueType
 
using OriginType = typename ImageType::PointType
 
using ParameterIndexArrayType = Array< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using RegionType = ImageRegion< Self::SpaceDimension >
 
using Self = RecursiveBSplineTransform
 
using SizeType = typename RegionType::SizeType
 
using SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer
 
using SODerivativeWeightsFunctionType = BSplineInterpolationSecondOrderDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using SpacingType = typename ImageType::SpacingType
 
using Superclass = AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
 
using WeightsFunctionPointer = typename WeightsFunctionType::Pointer
 
using WeightsFunctionType = BSplineInterpolationWeightFunction2< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using WeightsType = typename WeightsFunctionType::WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType
 
using DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer
 
using DerivativeWeightsFunctionType = BSplineInterpolationDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, 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 = AdvancedBSplineDeformableTransform
 
using SizeType = typename RegionType::SizeType
 
using SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer
 
using SODerivativeWeightsFunctionType = BSplineInterpolationSecondOrderDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using SpacingType = typename ImageType::SpacingType
 
using Superclass = AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
 
using WeightsFunctionPointer = typename WeightsFunctionType::Pointer
 
using WeightsFunctionType = BSplineInterpolationWeightFunction2< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using WeightsType = typename WeightsFunctionType::WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = ContinuousIndex< ScalarType, SpaceDimension >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, 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 = AdvancedBSplineDeformableTransformBase
 
using SizeType = typename RegionType::SizeType
 
using SpacingType = typename ImageType::SpacingType
 
using Superclass = AdvancedTransform< TScalarType, NDimensions, NDimensions >
 
- 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

void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
 
 ITK_DISALLOW_COPY_AND_MOVE (RecursiveBSplineTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nzji) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
unsigned int GetNumberOfAffectedWeights () const override
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override
 
unsigned long GetNumberOfWeights () const
 
void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
void SetGridRegion (const RegionType &region) override
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
virtual const char * GetClassName () const
 
virtual const ImagePointerGetCoefficientImages () const
 
const FixedParametersType & GetFixedParameters () const override
 
virtual DirectionType GetGridDirection () const
 
virtual OriginType GetGridOrigin () const
 
virtual RegionType GetGridRegion () const
 
virtual SpacingType GetGridSpacing () const
 
virtual unsigned int GetNumberOfAffectedWeights () const =0
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override=0
 
NumberOfParametersType GetNumberOfParameters () const override
 
virtual NumberOfParametersType GetNumberOfParametersPerDimension () const
 
const ParametersType & GetParameters () const override
 
unsigned GetSplineOrder () const
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual const RegionTypeGetValidRegion ()
 
bool IsLinear () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransformBase)
 
 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 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< 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 ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
template<template< class, unsigned, unsigned > class TBSplineDeformableTransform>
static Pointer Create (const unsigned splineOrder)
 

Protected Types

using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 

Protected Member Functions

void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const override
 
 RecursiveBSplineTransform ()=default
 
 ~RecursiveBSplineTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
 AdvancedBSplineDeformableTransform ()
 
void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const override
 
 itkGetModifiableObjectMacro (WeightsFunction, WeightsFunctionType)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
 AdvancedBSplineDeformableTransformBase ()=delete
 
 AdvancedBSplineDeformableTransformBase (const unsigned splineOrder)
 
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
 
ContinuousIndexType TransformPointToContinuousGridIndex (const InputPointType &point) const
 
void UpdateGridOffsetTable ()
 
void UpdatePointIndexConversions ()
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransformBase () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Types

using ImplementationType = RecursiveBSplineTransformImplementation< NDimensions, NDimensions, VSplineOrder, TScalarType >
 
using RecursiveBSplineWeightFunctionType = itk::RecursiveBSplineInterpolationWeightFunction< TScalarType, NDimensions, VSplineOrder >
 

Private Attributes

elastix::DefaultConstruct< RecursiveBSplineWeightFunctionTypem_RecursiveBSplineWeightFunction
 

Additional Inherited Members

- Static Public Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
static constexpr unsigned int NumberOfFixedParameters = NDimensions * (NDimensions + 3)
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
std::vector< DerivativeWeightsFunctionPointerm_DerivativeWeightsFunctions
 
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > m_SODerivativeWeightsFunctions
 
WeightsFunctionPointer m_WeightsFunction
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
ImagePointer m_CoefficientImages [NDimensions]
 
DirectionType m_GridDirection { DirectionType::GetIdentity() }
 
GridOffsetType m_GridOffsetTable {}
 
OriginType m_GridOrigin {}
 
RegionType m_GridRegion {}
 
SpacingType m_GridSpacing { 1.0 }
 
DirectionType m_IndexToPoint
 
const ParametersType * m_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
 
SizeType m_SupportSize
 
RegionType m_ValidRegion
 
ContinuousIndexType m_ValidRegionBegin
 
ContinuousIndexType m_ValidRegionEnd
 
ImagePointer m_WrappedImage [NDimensions]
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 49 of file itkRecursiveBSplineTransform.h.

◆ ContinuousIndexType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType

Definition at line 208 of file itkAdvancedBSplineDeformableTransform.h.

◆ DerivativeWeightsFunctionPointer

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer

Definition at line 211 of file itkAdvancedBSplineDeformableTransform.h.

◆ DerivativeWeightsFunctionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeWeightsFunctionType = BSplineInterpolationDerivativeWeightFunction<ScalarType, Self::SpaceDimension, VSplineOrder>

Definition at line 209 of file itkAdvancedBSplineDeformableTransform.h.

◆ DirectionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::DirectionType = typename ImageType::DirectionType

Definition at line 192 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ GridOffsetType

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

Definition at line 194 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImagePointer

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ImagePointer = typename ImageType::Pointer

Definition at line 184 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImageType

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

Definition at line 183 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ImplementationType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::ImplementationType = RecursiveBSplineTransformImplementation<NDimensions, NDimensions, VSplineOrder, TScalarType>
private

Definition at line 190 of file itkRecursiveBSplineTransform.h.

◆ IndexType

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

Definition at line 189 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianImageType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianImageType = Image<JacobianPixelType, Self::SpaceDimension>
protected

Definition at line 306 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ JacobianPixelType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::JacobianPixelType = typename JacobianType::ValueType
protected

Jacobian as SpaceDimension number of images.

Definition at line 307 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ OffsetValueType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::OffsetValueType = typename GridOffsetType::OffsetValueType

Definition at line 93 of file itkRecursiveBSplineTransform.h.

◆ OriginType

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

Definition at line 193 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ ParameterIndexArrayType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::ParameterIndexArrayType = Array<unsigned long>

Parameter index array type.

Definition at line 217 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Pointer

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::Pointer = SmartPointer<Self>

Definition at line 48 of file itkRecursiveBSplineTransform.h.

◆ RecursiveBSplineWeightFunctionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::RecursiveBSplineWeightFunctionType = itk::RecursiveBSplineInterpolationWeightFunction<TScalarType, NDimensions, VSplineOrder>
private

Definition at line 193 of file itkRecursiveBSplineTransform.h.

◆ RegionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::RegionType = ImageRegion<Self::SpaceDimension>

Typedefs for specifying the extend to the grid.

Definition at line 187 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Self

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::Self = RecursiveBSplineTransform

Standard class typedefs.

Definition at line 46 of file itkRecursiveBSplineTransform.h.

◆ SizeType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SizeType = typename RegionType::SizeType

Definition at line 190 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ SODerivativeWeightsFunctionPointer

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer

Definition at line 214 of file itkAdvancedBSplineDeformableTransform.h.

◆ SODerivativeWeightsFunctionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SODerivativeWeightsFunctionType = BSplineInterpolationSecondOrderDerivativeWeightFunction<ScalarType, Self::SpaceDimension, VSplineOrder>

Definition at line 212 of file itkAdvancedBSplineDeformableTransform.h.

◆ SpacingType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >::SpacingType = typename ImageType::SpacingType

Definition at line 191 of file itkAdvancedBSplineDeformableTransformBase.h.

◆ Superclass

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::Superclass = AdvancedBSplineDeformableTransform<TScalarType, NDimensions, VSplineOrder>

Definition at line 47 of file itkRecursiveBSplineTransform.h.

◆ WeightsFunctionPointer

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionPointer = typename WeightsFunctionType::Pointer

Definition at line 206 of file itkAdvancedBSplineDeformableTransform.h.

◆ WeightsFunctionType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType = BSplineInterpolationWeightFunction2<ScalarType, Self::SpaceDimension, VSplineOrder>

Interpolation weights function type.

Definition at line 205 of file itkAdvancedBSplineDeformableTransform.h.

◆ WeightsType

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
using itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsType = typename WeightsFunctionType::WeightsType

Definition at line 207 of file itkAdvancedBSplineDeformableTransform.h.

Constructor & Destructor Documentation

◆ RecursiveBSplineTransform()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::RecursiveBSplineTransform ( )
protecteddefault

◆ ~RecursiveBSplineTransform()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::~RecursiveBSplineTransform ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::ComputeNonZeroJacobianIndices ( NonZeroJacobianIndicesType nonZeroJacobianIndices,
const RegionType supportRegion 
) const
overrideprotectedvirtual

Compute the nonzero Jacobian indices.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ EvaluateJacobianWithImageGradientProduct()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::EvaluateJacobianWithImageGradientProduct ( const InputPointType &  inputPoint,
const MovingImageGradientType movingImageGradient,
DerivativeType &  imageJacobian,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the inner product of the Jacobian with the moving image gradient. The Jacobian is (partially) constructed inside this function, but not returned.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetJacobian()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType &  inputPoint,
JacobianType &  j,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetJacobianOfSpatialHessian() [1/2]

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

Compute the Jacobian of the spatial Hessian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetJacobianOfSpatialHessian() [2/2]

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian ( const InputPointType &  inputPoint,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetJacobianOfSpatialJacobian() [1/2]

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian ( const InputPointType &  inputPoint,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the spatial Jacobian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetJacobianOfSpatialJacobian() [2/2]

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian ( const InputPointType &  inputPoint,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute both the spatial Jacobian and the Jacobian of the spatial Jacobian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetSpatialHessian()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialHessian ( const InputPointType &  inputPoint,
SpatialHessianType sh 
) const
overridevirtual

Compute the spatial Hessian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetSpatialJacobian()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialJacobian ( const InputPointType &  inputPoint,
SpatialJacobianType sj 
) const
overridevirtual

Compute the spatial Jacobian of the transformation.

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::ITK_DISALLOW_COPY_AND_MOVE ( RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >  )

◆ itkStaticConstMacro() [1/2]

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
NDimensions   
)

Dimension of the domain space.

◆ itkStaticConstMacro() [2/2]

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
VSplineOrder   
)

The BSpline order.

◆ New()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
static Pointer itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::New ( )
static

New macro for creation of through the object factory.

◆ TransformPoint()

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
OutputPointType itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType &  point) const
override

Compute point transformation. This one is commonly used. It calls RecursiveBSplineTransformImplementation2::InterpolateTransformPoint for a recursive implementation.

Field Documentation

◆ m_RecursiveBSplineWeightFunction

template<typename TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
elastix::DefaultConstruct<RecursiveBSplineWeightFunctionType> itk::RecursiveBSplineTransform< TScalarType, NDimensions, VSplineOrder >::m_RecursiveBSplineWeightFunction
private

Definition at line 196 of file itkRecursiveBSplineTransform.h.



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