go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder > Class Template Reference

#include <itkAdvancedBSplineDeformableTransform.h>

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

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
WeightsFunctionType::ContinuousIndexType 
ContinuousIndexType
 
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::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
 
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::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RegionType RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef
AdvancedBSplineDeformableTransform 
Self
 
typedef Superclass::SizeType SizeType
 
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
BSplineInterpolationWeightFunction2
< ScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SplineOrder) > 
WeightsFunctionType
 
typedef
WeightsFunctionType::WeightsType 
WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef ContinuousIndex
< ScalarType, SpaceDimension > 
ContinuousIndexType
 
typedef ImageType::DirectionType DirectionType
 
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::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
 
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 ParametersType::ValueType PixelType
 
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
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
SpatialJacobianType::InternalMatrixType 
InternalMatrixType
 
typedef std::vector
< SpatialHessianType
JacobianOfSpatialHessianType
 
typedef std::vector
< SpatialJacobianType
JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef std::vector< unsigned
long > 
NonZeroJacobianIndicesType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
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< TScalarType,
NInputDimensions,
NOutputDimensions > 
Superclass
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
 
virtual void GetJacobian (const InputPointType &ipp, WeightsType &weights, ParameterIndexArrayType &indices) const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
unsigned int GetNumberOfAffectedWeights (void) const
 
virtual unsigned long GetNumberOfNonZeroJacobianIndices (void) const
 
unsigned long GetNumberOfWeights (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
virtual void SetGridRegion (const RegionType &region)
 
OutputPointType TransformPoint (const InputPointType &point) const
 
virtual void TransformPoint (const InputPointType &inputPoint, OutputPointType &outputPoint, WeightsType &weights, ParameterIndexArrayType &indices, bool &inside) const
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
virtual const ImagePointerGetCoefficientImage (void) const
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual DirectionType GetGridDirection () const
 
virtual OriginType GetGridOrigin () const
 
virtual RegionType GetGridRegion () const
 
virtual SpacingType GetGridSpacing () const
 
virtual unsigned int GetNumberOfParameters (void) const
 
virtual unsigned int GetNumberOfParametersPerDimension (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual const RegionTypeGetValidRegion ()
 
virtual bool IsLinear (void) const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCoefficientImage (ImagePointer images[])
 
void SetFixedParameters (const ParametersType &parameters)
 
virtual void SetGridDirection (const DirectionType &direction)
 
virtual void SetGridOrigin (const OriginType &origin)
 
virtual void SetGridSpacing (const SpacingType &spacing)
 
void SetIdentity (void)
 
void SetParameters (const ParametersType &parameters)
 
void SetParametersByValue (const ParametersType &parameters)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
- Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
static Pointer New ()
 

Protected Types

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

Protected Member Functions

 AdvancedBSplineDeformableTransform ()
 
virtual void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const
 
virtual WeightsFunctionTypeGetWeightsFunction ()
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
 
void WrapAsImages (void)
 
virtual ~AdvancedBSplineDeformableTransform ()
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
 AdvancedBSplineDeformableTransformBase ()
 
virtual void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const =0
 
virtual bool InsideValidRegion (const ContinuousIndexType &index) const
 
void TransformPointToContinuousGridIndex (const InputPointType &point, ContinuousIndexType &index) const
 
void UpdateGridOffsetTable (void)
 
void WrapAsImages (void)
 
virtual ~AdvancedBSplineDeformableTransformBase ()
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (unsigned int Dimension, unsigned int NumberOfParameters)
 
virtual ~AdvancedTransform ()
 

Protected Attributes

std::vector< typename
DerivativeWeightsFunctionType::Pointer
m_DerivativeWeightsFunctions
 
std::vector< std::vector
< typename
SODerivativeWeightsFunctionType::Pointer > > 
m_SODerivativeWeightsFunctions
 
WeightsFunctionType::Pointer m_WeightsFunction
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
ImagePointer m_CoefficientImage [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
 
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< TScalarType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Private Member Functions

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

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 SetCoefficientImage() 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 127 of file itkAdvancedBSplineDeformableTransform.h.

Member Typedef Documentation

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 136 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 201 of file itkAdvancedBSplineDeformableTransform.h.

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 205 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 186 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 188 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 178 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 177 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 183 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 161 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 154 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 156 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 158 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 173 of file itkAdvancedBSplineDeformableTransform.h.

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 312 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 172 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 169 of file itkAdvancedBSplineDeformableTransform.h.

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 313 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 152 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 166 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 187 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 163 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 155 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 157 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 159 of file itkAdvancedBSplineDeformableTransform.h.

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 212 of file itkAdvancedBSplineDeformableTransform.h.

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 151 of file itkAdvancedBSplineDeformableTransform.h.

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

Parameters as SpaceDimension number of images.

Definition at line 176 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 135 of file itkAdvancedBSplineDeformableTransform.h.

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 181 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 153 of file itkAdvancedBSplineDeformableTransform.h.

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 132 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 184 of file itkAdvancedBSplineDeformableTransform.h.

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 209 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 185 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 170 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 167 of file itkAdvancedBSplineDeformableTransform.h.

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 134 of file itkAdvancedBSplineDeformableTransform.h.

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 199 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 200 of file itkAdvancedBSplineDeformableTransform.h.

Constructor & Destructor Documentation

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

Member Function Documentation

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::ComputeNonZeroJacobianIndices ( NonZeroJacobianIndicesType nonZeroJacobianIndices,
const RegionType supportRegion 
) const
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const char* itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetClassName ( ) const
virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual const JacobianType& itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType point) const
virtual

Compute the Jacobian matrix of the transformation at one point.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetJacobian ( const InputPointType ipp,
WeightsType weights,
ParameterIndexArrayType indices 
) const
virtual

Compute the Jacobian of the transformation.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

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

Compute the Jacobian of the transformation.

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

Compute the Jacobian of the spatial Hessian of the transformation.

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

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

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

Compute the Jacobian of the spatial Jacobian of the transformation.

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

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

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
unsigned int itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfAffectedWeights ( void  ) const
virtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual unsigned long itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfNonZeroJacobianIndices ( void  ) const
virtual
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 229 of file itkAdvancedBSplineDeformableTransform.h.

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

Compute the spatial Hessian of the transformation.

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

Compute the spatial Jacobian of the transformation.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual WeightsFunctionType* itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetWeightsFunction ( )
protectedvirtual
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.

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.

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.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::operator= ( const Self )
private
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
virtual void itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::SetGridRegion ( const RegionType region)
virtual
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.

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

Transform points by a B-spline deformable transformation.

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.

Reimplemented in itk::CyclicBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

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.

Field Documentation

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

Definition at line 321 of file itkAdvancedBSplineDeformableTransform.h.

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

Definition at line 323 of file itkAdvancedBSplineDeformableTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3, unsigned int VSplineOrder = 3>
WeightsFunctionType::Pointer 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 319 of file itkAdvancedBSplineDeformableTransform.h.



Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo