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 | Friends
itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference

#include <itkAdvancedBSplineDeformableTransform.h>

Detailed Description

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

Deformable transform using a B-spline representation.

This class encapsulates a deformable transform of points from one N-dimensional one space to another N-dimensional space. The deformation field is modeled using B-splines. A deformation is defined on a sparse regular grid of control points $ \vec{\lambda}_j $ and is varied by defining a deformation $ \vec{g}(\vec{\lambda}_j) $ of each control point. The deformation $ D(\vec{x}) $ at any point $ \vec{x} $ is obtained by using a B-spline interpolation kernel.

The deformation field grid is defined by a user specified GridRegion, GridSpacing and GridOrigin. Each grid/control point has associated with it N deformation coefficients $ \vec{\delta}_j $, representing the N directional components of the deformation. Deformation outside the grid plus support region for the B-spline interpolation is assumed to be zero.

Additionally, the user can specified an addition bulk transform $ B $ such that the transformed point is given by:

\[ \vec{y} = B(\vec{x}) + D(\vec{x}) \]

The parameters for this transform is N x N-D grid of spline coefficients. The user specifies the parameters as one flat array: each N-D grid is represented by an array in the same way an N-D image is represented in the buffer; the N arrays are then concatentated together on form a single array.

For efficiency, this transform does not make a copy of the parameters. It only keeps a pointer to the input parameters and assumes that the memory is managed by the caller.

The following illustrates the typical usage of this class:

* typedef AdvancedBSplineDeformableTransform<double,2,3> TransformType;
* TransformType::Pointer transform = TransformType::New();
*
* transform->SetGridRegion( region );
* transform->SetGridSpacing( spacing );
* transform->SetGridOrigin( origin );
*
* // NB: the region must be set first before setting the parameters
*
* TransformType::ParametersType parameters(
*                                       transform->GetNumberOfParameters() );
*
* // Fill the parameters with values
*
* transform->SetParameters( parameters )
*
* outputPoint = transform->TransformPoint( inputPoint );
*
* 

An alternative way to set the B-spline coefficients is via array of images. The grid region, spacing and origin information is taken directly from the first image. It is assumed that the subsequent images are the same buffered region. The following illustrates the API:

*
* TransformType::ImageConstPointer images[2];
*
* // Fill the images up with values
*
* transform->SetCoefficientImages( images );
* outputPoint = transform->TransformPoint( inputPoint );
*
* 

Warning: use either the SetParameters() or SetCoefficientImages() API. Mixing the two modes may results in unexpected results.

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

Definition at line 134 of file itkAdvancedBSplineDeformableTransform.h.

+ Inheritance diagram for itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef WeightsFunctionType::ContinuousIndexType ContinuousIndexType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeWeightsFunctionType::Pointer DerivativeWeightsFunctionPointer
 
typedef BSplineInterpolationDerivativeWeightFunction< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) > DerivativeWeightsFunctionType
 
typedef Superclass::DirectionType DirectionType
 
typedef Superclass::GridOffsetType GridOffsetType
 
typedef Superclass::ImagePointer ImagePointer
 
typedef Superclass::ImageType ImageType
 
typedef Superclass::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 Superclass::OriginType OriginType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParameterIndexArrayType ParameterIndexArrayType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RegionType RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedBSplineDeformableTransform Self
 
typedef Superclass::SizeType SizeType
 
typedef SODerivativeWeightsFunctionType::Pointer SODerivativeWeightsFunctionPointer
 
typedef BSplineInterpolationSecondOrderDerivativeWeightFunction< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) > SODerivativeWeightsFunctionType
 
typedef Superclass::SpacingType SpacingType
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions > Superclass
 
typedef WeightsFunctionType::Pointer WeightsFunctionPointer
 
typedef BSplineInterpolationWeightFunction2< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) > WeightsFunctionType
 
typedef WeightsFunctionType::WeightsType WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
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< double, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
- Public Types inherited from itk::AdvancedTransform< double, NDimensions, NDimensions >
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

void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nzji) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
unsigned int GetNumberOfAffectedWeights (void) const override
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override
 
unsigned long GetNumberOfWeights (void) const
 
void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const override
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
void SetGridRegion (const RegionType &region) override
 
virtual void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
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, NDimensions, NDimensions >
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)
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

typedef Superclass::JacobianImageType JacobianImageType
 
typedef Superclass::JacobianPixelType JacobianPixelType
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
typedef Image< JacobianPixelType, itkGetStaticConstMacro(SpaceDimension) > JacobianImageType
 
typedef JacobianType::ValueType JacobianPixelType
 

Protected Member Functions

 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 (void)
 
 ~AdvancedBSplineDeformableTransform () override
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
 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, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 

Protected Attributes

std::vector< DerivativeWeightsFunctionPointerm_DerivativeWeightsFunctions
 
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > m_SODerivativeWeightsFunctions
 
WeightsFunctionPointer m_WeightsFunction
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< double, 3 >
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, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Private Member Functions

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

Friends

class MultiBSplineDeformableTransformWithNormal< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) >
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 144 of file itkAdvancedBSplineDeformableTransform.h.

◆ ContinuousIndexType

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

Definition at line 215 of file itkAdvancedBSplineDeformableTransform.h.

◆ DerivativeType

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

Definition at line 162 of file itkAdvancedBSplineDeformableTransform.h.

◆ DerivativeWeightsFunctionPointer

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

Definition at line 220 of file itkAdvancedBSplineDeformableTransform.h.

◆ DerivativeWeightsFunctionType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationDerivativeWeightFunction< ScalarType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SplineOrder ) > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DerivativeWeightsFunctionType

Definition at line 219 of file itkAdvancedBSplineDeformableTransform.h.

◆ DirectionType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::DirectionType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::DirectionType

Definition at line 199 of file itkAdvancedBSplineDeformableTransform.h.

◆ GridOffsetType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::GridOffsetType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GridOffsetType

Definition at line 201 of file itkAdvancedBSplineDeformableTransform.h.

◆ ImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ImagePointer itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImagePointer

Definition at line 191 of file itkAdvancedBSplineDeformableTransform.h.

◆ ImageType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ImageType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ImageType

Definition at line 190 of file itkAdvancedBSplineDeformableTransform.h.

◆ IndexType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::IndexType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::IndexType

Definition at line 196 of file itkAdvancedBSplineDeformableTransform.h.

◆ InputCovariantVectorType

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

Definition at line 172 of file itkAdvancedBSplineDeformableTransform.h.

◆ InputPointType

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

Definition at line 165 of file itkAdvancedBSplineDeformableTransform.h.

◆ InputVectorType

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

Definition at line 167 of file itkAdvancedBSplineDeformableTransform.h.

◆ InputVnlVectorType

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

Definition at line 169 of file itkAdvancedBSplineDeformableTransform.h.

◆ InternalMatrixType

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

Definition at line 184 of file itkAdvancedBSplineDeformableTransform.h.

◆ JacobianImageType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::JacobianImageType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::JacobianImageType
protected

Definition at line 330 of file itkAdvancedBSplineDeformableTransform.h.

◆ JacobianOfSpatialHessianType

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

Definition at line 183 of file itkAdvancedBSplineDeformableTransform.h.

◆ JacobianOfSpatialJacobianType

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

Definition at line 180 of file itkAdvancedBSplineDeformableTransform.h.

◆ JacobianPixelType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::JacobianPixelType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::JacobianPixelType
protected

Definition at line 331 of file itkAdvancedBSplineDeformableTransform.h.

◆ JacobianType

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

Definition at line 163 of file itkAdvancedBSplineDeformableTransform.h.

◆ MovingImageGradientType

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

Definition at line 185 of file itkAdvancedBSplineDeformableTransform.h.

◆ MovingImageGradientValueType

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

Definition at line 186 of file itkAdvancedBSplineDeformableTransform.h.

◆ NonZeroJacobianIndicesType

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

Definition at line 177 of file itkAdvancedBSplineDeformableTransform.h.

◆ NumberOfParametersType

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

Definition at line 161 of file itkAdvancedBSplineDeformableTransform.h.

◆ OriginType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::OriginType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::OriginType

Definition at line 200 of file itkAdvancedBSplineDeformableTransform.h.

◆ OutputCovariantVectorType

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

Definition at line 174 of file itkAdvancedBSplineDeformableTransform.h.

◆ OutputPointType

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

Definition at line 166 of file itkAdvancedBSplineDeformableTransform.h.

◆ OutputVectorType

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

Definition at line 168 of file itkAdvancedBSplineDeformableTransform.h.

◆ OutputVnlVectorType

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

Definition at line 170 of file itkAdvancedBSplineDeformableTransform.h.

◆ ParameterIndexArrayType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::ParameterIndexArrayType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ParameterIndexArrayType

Parameter index array type.

Definition at line 228 of file itkAdvancedBSplineDeformableTransform.h.

◆ ParametersType

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

Typedefs from Superclass.

Definition at line 159 of file itkAdvancedBSplineDeformableTransform.h.

◆ ParametersValueType

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

Definition at line 160 of file itkAdvancedBSplineDeformableTransform.h.

◆ Pointer

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

Definition at line 143 of file itkAdvancedBSplineDeformableTransform.h.

◆ RegionType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::RegionType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::RegionType

Typedefs for specifying the extend to the grid.

Definition at line 194 of file itkAdvancedBSplineDeformableTransform.h.

◆ ScalarType

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

Definition at line 164 of file itkAdvancedBSplineDeformableTransform.h.

◆ Self

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

Standard class typedefs.

Definition at line 140 of file itkAdvancedBSplineDeformableTransform.h.

◆ SizeType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::SizeType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SizeType

Definition at line 197 of file itkAdvancedBSplineDeformableTransform.h.

◆ SODerivativeWeightsFunctionPointer

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

Definition at line 225 of file itkAdvancedBSplineDeformableTransform.h.

◆ SODerivativeWeightsFunctionType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationSecondOrderDerivativeWeightFunction< ScalarType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SplineOrder ) > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SODerivativeWeightsFunctionType

Definition at line 224 of file itkAdvancedBSplineDeformableTransform.h.

◆ SpacingType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef Superclass::SpacingType itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SpacingType

Definition at line 198 of file itkAdvancedBSplineDeformableTransform.h.

◆ SpatialHessianType

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

Definition at line 181 of file itkAdvancedBSplineDeformableTransform.h.

◆ SpatialJacobianType

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

Definition at line 178 of file itkAdvancedBSplineDeformableTransform.h.

◆ Superclass

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

Definition at line 142 of file itkAdvancedBSplineDeformableTransform.h.

◆ WeightsFunctionPointer

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

Definition at line 213 of file itkAdvancedBSplineDeformableTransform.h.

◆ WeightsFunctionType

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunction2< ScalarType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SplineOrder ) > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::WeightsFunctionType

Interpolation weights function type.

Definition at line 212 of file itkAdvancedBSplineDeformableTransform.h.

◆ WeightsType

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

Definition at line 214 of file itkAdvancedBSplineDeformableTransform.h.

Constructor & Destructor Documentation

◆ AdvancedBSplineDeformableTransform() [1/2]

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

◆ ~AdvancedBSplineDeformableTransform()

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

◆ AdvancedBSplineDeformableTransform() [2/2]

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

Member Function Documentation

◆ ComputeNonZeroJacobianIndices()

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

◆ EvaluateJacobianWithImageGradientProduct()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::EvaluateJacobianWithImageGradientProduct ( const InputPointType ipp,
const MovingImageGradientType movingImageGradient,
DerivativeType imageJacobian,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
override

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

◆ GetClassName()

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

◆ GetJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType ipp,
JacobianType j,
NonZeroJacobianIndicesType nzji 
) const
overridevirtual

Compute the Jacobian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

◆ GetJacobianOfSpatialHessian() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

◆ GetJacobianOfSpatialHessian() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
override

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

◆ GetJacobianOfSpatialJacobian() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian ( const InputPointType ipp,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
overridevirtual

Compute the Jacobian of the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< double, NDimensions, NDimensions >.

◆ GetJacobianOfSpatialJacobian() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobianOfSpatialJacobian ( const InputPointType ipp,
SpatialJacobianType sj,
JacobianOfSpatialJacobianType jsj,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
override

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

◆ GetNumberOfAffectedWeights()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights ( void  ) const
overridevirtual

◆ GetNumberOfNonZeroJacobianIndices()

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

◆ GetNumberOfWeights()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned long itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights ( void  ) const
inline

Get number of weights.

Definition at line 245 of file itkAdvancedBSplineDeformableTransform.h.

◆ GetSpatialHessian()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh 
) const
override

Compute the spatial Hessian of the transformation.

◆ GetSpatialJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetSpatialJacobian ( const InputPointType ipp,
SpatialJacobianType sj 
) const
override

Compute the spatial Jacobian of the transformation.

◆ itkGetModifiableObjectMacro()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkGetModifiableObjectMacro ( WeightsFunction  ,
WeightsFunctionType   
)
protected

◆ itkStaticConstMacro() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
itk::AdvancedBSplineDeformableTransform< 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::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
VSplineOrder   
)

The B-spline order.

◆ New()

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

New macro for creation of through the object factory.

◆ operator=()

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

◆ PrintSelf()

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

Print contents of an AdvancedBSplineDeformableTransform.

◆ SetGridRegion()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion ( const RegionType region)
overridevirtual

This method specifies the region over which the grid resides.

Implements itk::AdvancedBSplineDeformableTransformBase< double, 3 >.

◆ SetWeightsFunction()

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetWeightsFunction ( WeightsFunctionType _arg)
protectedvirtual

Allow subclasses to access and manipulate the weights function.

◆ TransformPoint() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::TransformPoint ( const InputPointType inputPoint,
OutputPointType outputPoint,
WeightsType weights,
ParameterIndexArrayType indices,
bool inside 
) const
virtual

Transform points by a B-spline deformable transformation. On return, weights contains the interpolation weights used to compute the deformation and indices of the x (zeroth) dimension coefficient parameters in the support region used to compute the deformation. Parameter indices for the i-th dimension can be obtained by adding ( i * this->GetNumberOfParametersPerDimension() ) to the indices array.

◆ TransformPoint() [2/2]

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

Transform points by a B-spline deformable transformation.

◆ WrapAsImages()

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

Wrap flat array into images of coefficients.

Friends And Related Function Documentation

◆ MultiBSplineDeformableTransformWithNormal< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) >

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
friend class MultiBSplineDeformableTransformWithNormal< ScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder) >
friend

Definition at line 344 of file itkAdvancedBSplineDeformableTransform.h.

Field Documentation

◆ m_DerivativeWeightsFunctions

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
std::vector< DerivativeWeightsFunctionPointer > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_DerivativeWeightsFunctions
protected

Definition at line 338 of file itkAdvancedBSplineDeformableTransform.h.

◆ m_SODerivativeWeightsFunctions

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_SODerivativeWeightsFunctions
protected

Definition at line 339 of file itkAdvancedBSplineDeformableTransform.h.

◆ m_WeightsFunction

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
WeightsFunctionPointer itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::m_WeightsFunction
protected

Pointer to function used to compute B-spline interpolation weights. For each direction we create a different weights function for thread- safety.

Definition at line 337 of file itkAdvancedBSplineDeformableTransform.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo