Statismo  0.10.1
 All Classes Namespaces Functions Typedefs
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension > Class Template Referenceabstract

Base class that implements an itk transform interface for statistical models. More...

#include <itkStatisticalModelTransformBase.h>

Inherits Transform< TScalarType, TInputDimension, TOutputDimension >.

Public Types

typedef
StatisticalModelTransformBase 
Self
 
typedef itk::Transform
< TScalarType, TInputDimension,
TOutputDimension > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef vnl_vector
< statismo::ScalarType
VectorType
 
typedef vnl_matrix
< statismo::ScalarType
MatrixType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef statismo::Representer
< TDataset > 
RepresenterType
 
typedef itk::StatisticalModel
< TDataset > 
StatisticalModelType
 

Public Member Functions

virtual void CopyBaseMembers (StatisticalModelTransformBase *another) const
 
 itkTypeMacro (StatisticalModelTransformBase, Superclass)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, TInputDimension)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, TInputDimension)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, TOutputDimension)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &pt, JacobianType &jacobian) const
 
virtual OutputPointType TransformPoint (const InputPointType &pt) const =0
 
virtual void SetIdentity (void)
 
virtual void SetParameters (const ParametersType &)
 
virtual const ParametersType & GetParameters (void) const
 
virtual void SetFixedParameters (const ParametersType &p)
 
virtual const ParametersType & GetFixedParameters (void) const
 
virtual VectorType GetCoefficients () const
 
virtual void SetCoefficients (VectorType &coefficients)
 
void SetStatisticalModel (const StatisticalModelType *model)
 
StatisticalModelType::ConstPointer GetStatisticalModel () const
 
void SetUsedNumberOfCoefficients (unsigned n)
 
unsigned GetUsedNumberOfCoefficients ()
 

Protected Member Functions

 StatisticalModelTransformBase ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
 StatisticalModelTransformBase (const Self &obj)
 
void operator= (const Self &rhs)
 

Protected Attributes

StatisticalModelType::ConstPointer m_StatisticalModel
 
VectorType m_coeff_vector
 
unsigned m_usedNumberCoefficients
 
ParametersType m_FixedParameters
 

Detailed Description

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
class itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >

Base class that implements an itk transform interface for statistical models.

Statistical models (shape or deformation models) are often used to model the typical variations within an object class. The StatisticalModelTransformBase implements the standard Transform interface, and thus allows for the use of statistical models within the ITK registration framework. Subclasses will need to implement the TransformPoint method, as its semantics depends on the type of statistical model.

Constructor & Destructor Documentation

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::StatisticalModelTransformBase ( )
protected

Constructor with default arguments.

Member Function Documentation

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual void itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::CopyBaseMembers ( StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension > *  another) const
inlinevirtual

Copy the members of the current transform. To be used by subclasses in the CreateAnother method.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual VectorType itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::GetCoefficients ( ) const
inlinevirtual

Convenience method to obtain the current coefficients of the StatisticalModel as a statismo::VectorType. The resulting vector is the same as it would be obtained from GetParameters.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual const ParametersType& itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::GetFixedParameters ( void  ) const
inlinevirtual

returns an empty Parameter vector, as the tranform does not have any fixed parameters

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
const StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::ParametersType & itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::GetParameters ( void  ) const
virtual

Get the parameters of the transform

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::StatisticalModelType::ConstPointer itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::GetStatisticalModel ( ) const

Returns the statistical model used.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
unsigned itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::GetUsedNumberOfCoefficients ( )
inline

returns the number of used model coefficients.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::itkTypeMacro ( StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >  ,
Superclass   
)

Run-time type information (and related methods).

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual void itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::SetCoefficients ( VectorType &  coefficients)
inlinevirtual

Convenicne method to set the coefficients of the underlying StatisticalModel from a statismo::VectorType. This has the same effect as calling SetParameters.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual void itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::SetFixedParameters ( const ParametersType &  p)
inlinevirtual

Does nothing - as the transform does not have any fixed parameters

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
void itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::SetIdentity ( void  )
virtual

Set the parameters to the IdentityTransform

Set the parameters to the IdentityTransform.

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
void itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::SetParameters ( const ParametersType &  parameters)
virtual

Set the parameters of the transform

template<class TRepresenter , class TScalarType , unsigned int TInputDimension, unsigned int TOutputDimension>
void itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::SetStatisticalModel ( const StatisticalModelType model)

Set the statistical model that defines the valid transformations.

Set the morphable model and ajust the parameters dimension.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
void itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::SetUsedNumberOfCoefficients ( unsigned  n)
inline

Set the number of PCA Coefficients used by the model. This parameters has a regularization effect. Setting it to a small value will restrict the possible tranformations to the main modes of variations.

template<class TDataset, class TScalarType, unsigned int TInputDimension, unsigned int TOutputDimension = TInputDimension>
virtual OutputPointType itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::TransformPoint ( const InputPointType &  pt) const
pure virtual

Transform a given point according to the deformation induced by the StatisticalModel, given the current parameters.

Parameters
ptThe point to tranform
Returns
The transformed point

Implemented in itk::InterpolatingStatisticalDeformationModelTransform< TDataset, TScalarType, TDimension >, itk::StatisticalShapeModelTransform< TRepresenter, TScalarType, TDimension >, and itk::StatisticalDeformationModelTransform< TDataSet, TScalarType, TDimension >.


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