NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions > Class Template Reference

Translation + PCA deformation model transformation. More...

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

Public Types

typedef
TranslationPCADeformationModelTransform 
Self
 
typedef
PCADeformationModelTransform
< TScalarType, NDimensions > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::VectorPixelType VectorPixelType
 
typedef Superclass::FieldType FieldType
 
typedef
Superclass::DisplacementType 
DisplacementType
 
typedef Superclass::FieldPointer FieldPointer
 
typedef
Superclass::FieldConstPointer 
FieldConstPointer
 
typedef Superclass::FieldIterator FieldIterator
 
typedef
Superclass::FieldConstIterator 
FieldConstIterator
 
typedef
Superclass::FieldConstPointerArray 
FieldConstPointerArray
 
typedef
Superclass::FieldPointerArray 
FieldPointerArray
 
typedef
Superclass::FieldIteratorArray 
FieldIteratorArray
 
typedef
Superclass::ContinuousIndexType 
ContinuousIndexType
 
typedef Superclass::FieldIndexType FieldIndexType
 
typedef Superclass::FieldRegionType FieldRegionType
 
typedef Superclass::FieldSizeType FieldSizeType
 
typedef
Superclass::FieldInterpolatorType 
FieldInterpolatorType
 
typedef
Superclass::FieldInterpolatorPointer 
FieldInterpolatorPointer
 
typedef
Superclass::FieldInterpolatorPointerArray 
FieldInterpolatorPointerArray
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::OutputPointType OutputPointType
 
- Public Types inherited from itk::PCADeformationModelTransform< TScalarType, NDimensions >
typedef
PCADeformationModelTransform 
Self
 
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef itk::Vector
< TScalarType, NDimensions > 
VectorPixelType
 
typedef itk::Image
< VectorPixelType, NDimensions > 
FieldType
 
typedef FieldType::PixelType DisplacementType
 
typedef FieldType::Pointer FieldPointer
 
typedef FieldType::ConstPointer FieldConstPointer
 
typedef ImageRegionIterator
< FieldType
FieldIterator
 
typedef
ImageRegionConstIterator
< FieldType
FieldConstIterator
 
typedef std::vector
< FieldConstPointer
FieldConstPointerArray
 
typedef std::vector< FieldPointerFieldPointerArray
 
typedef std::vector
< FieldConstIterator
FieldIteratorArray
 
typedef itk::ContinuousIndex
< TScalarType, NDimensions > 
ContinuousIndexType
 
typedef FieldType::IndexType FieldIndexType
 
typedef FieldType::RegionType FieldRegionType
 
typedef FieldType::SizeType FieldSizeType
 
typedef
VectorLinearInterpolateNearestNeighborExtrapolateImageFunction
< FieldType, TScalarType > 
FieldInterpolatorType
 
typedef
FieldInterpolatorType::Pointer 
FieldInterpolatorPointer
 
typedef std::vector
< FieldInterpolatorPointer
FieldInterpolatorPointerArray
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVectorType
 
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVectorType
 
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputCovariantVectorType
 
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputCovariantVectorType
 
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVnlVectorType
 
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVnlVectorType
 
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputPointType
 
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputPointType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void SetNumberOfComponents (unsigned int numberOfComponents)
 
virtual FieldPointer GetSingleDeformationField ()
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual OutputPointType TransformPoint (const InputPointType &point) const
 
virtual void Initialize () throw ( ExceptionObject )
 
- Public Member Functions inherited from itk::PCADeformationModelTransform< TScalarType, NDimensions >
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions)
 
void SetFieldArray (unsigned int i, FieldType *field)
 
FieldTypeGetFieldArray (unsigned int i)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
void SetParameters (const ParametersType &parameters)
 
const ParametersTypeGetParameters (void) const
 
virtual void SetFixedParameters (const ParametersType &)
 
const ParametersTypeGetFixedParameters (void) const
 
virtual const JacobianType GetJacobian (const InputPointType &point) const
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &point, JacobianType &jacobian) const
 
void SetIdentity (void)
 
virtual bool IsLinear () const
 

Static Public Member Functions

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

Protected Member Functions

 TranslationPCADeformationModelTransform ()
 
virtual ~TranslationPCADeformationModelTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
- Protected Member Functions inherited from itk::PCADeformationModelTransform< TScalarType, NDimensions >
 PCADeformationModelTransform ()
 
virtual ~PCADeformationModelTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Additional Inherited Members

- Protected Attributes inherited from itk::PCADeformationModelTransform< TScalarType, NDimensions >
TScalarType m_meanCoefficient
 
unsigned int m_NumberOfFields
 
FieldPointerArray m_FieldArray
 
FieldPointer m_SingleField
 
FieldInterpolatorPointerArray m_Interpolators
 

Detailed Description

template<class TScalarType = float, unsigned int NDimensions = 3>
class itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >

Translation + PCA deformation model transformation.

Transformation model based on the resulting deformation fields (mean field and N eigen fields) of a PCA analysis of training deformation fields. The eigen deformation fields are assumed to be rescaled such that they represent 1 standard deviation.

The N coefficients scaling the eigen fields are the free N free parameters, i.e. T(x) = x + T0(x) + c1*T1(x) + ... + cN*TN(x) + t where T0(x): mean deformation field Ti(x): ith eigen deformation field ci: parameter[i-1] t: translation parameters t_x, t_y, t_z

A deformation field is represented as a image whose pixel type is some vector type with at least N elements, where N is the dimension of the input image. The vector type must support element access via operator [].

The output image is produced by inverse mapping: the output pixels are mapped back onto the input image. This scheme avoids the creation of any holes and overlaps in the output image.

Each vector in the deformation field represent the distance between a geometric point in the input space and a point in the output space such that:

\[ p_{in} = p_{out} + d \]

Assumes all displacement fields have same size, region and spacing. Uses nearest neighbour interpolation of displacement field.

Member Typedef Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::ConstPointer
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ContinuousIndexType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::ContinuousIndexType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::DisplacementType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::DisplacementType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldConstIterator itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldConstIterator
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldConstPointer itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldConstPointer
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldConstPointerArray itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldConstPointerArray
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldIndexType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldIndexType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldInterpolatorPointer itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorPointer
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldInterpolatorPointerArray itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorPointerArray
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldInterpolatorType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorType

Interpolator typedef support.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldIterator itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldIterator
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldIteratorArray itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldIteratorArray
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldPointer itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldPointer

Deformation field typedef support.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldPointerArray itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldPointerArray
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldRegionType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldRegionType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldSizeType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldSizeType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::FieldType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::FieldType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::InputCovariantVectorType

Standard covariant vector type for this class.

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

Standard coordinate point type for this class.

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

Standard vector type for this class.

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

Standard vnl_vector type for this class.

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

Jacobian type.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::OutputCovariantVectorType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::OutputPointType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::OutputVnlVectorType
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::ParametersType

Parameters type.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::Pointer
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::ScalarType

Scalar type.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef TranslationPCADeformationModelTransform itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::Self

Standard class typedefs.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef PCADeformationModelTransform< TScalarType, NDimensions > itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::Superclass
template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::VectorPixelType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::VectorPixelType

Local variable typedefs

Constructor & Destructor Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::TranslationPCADeformationModelTransform ( )
protected
template<class TScalarType = float, unsigned int NDimensions = 3>
virtual itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::~TranslationPCADeformationModelTransform ( )
protectedvirtual

Member Function Documentation

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

Run-time type information (and related methods).

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

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual FieldPointer itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::GetSingleDeformationField ( )
virtual

Get the deformation field corresponding to the current parameters

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

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::Initialize ( )
throw (ExceptionObject
)
virtual

Initialize must be called before the first call of Evaluate() to allow the class to validate any inputs.

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

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

Dimension of the domain space.

template<class TScalarType = float, unsigned int NDimensions = 3>
static Pointer itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::New ( )
static

New macro for creation of through a smart pointer.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::SetNumberOfComponents ( unsigned int  numberOfComponents)
virtual

Set the number of SDM components

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

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual OutputPointType itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType point) const
virtual

Get the Jacobian matrix. Transform by the PCA deformation model, returning the transformed point or vector.

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


The documentation for this class was generated from the following file: