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< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
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 |
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.
|
protected |
Constructor with default arguments.
|
inlinevirtual |
Copy the members of the current transform. To be used by subclasses in the CreateAnother method.
|
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.
|
inlinevirtual |
returns an empty Parameter vector, as the tranform does not have any fixed parameters
|
virtual |
Get the parameters of the transform
StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::StatisticalModelType::ConstPointer itk::StatisticalModelTransformBase< TRepresenter, TScalarType, TInputDimension, TOutputDimension >::GetStatisticalModel | ( | ) | const |
Returns the statistical model used.
|
inline |
returns the number of used model coefficients.
itk::StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension >::itkTypeMacro | ( | StatisticalModelTransformBase< TDataset, TScalarType, TInputDimension, TOutputDimension > | , |
Superclass | |||
) |
Run-time type information (and related methods).
|
inlinevirtual |
Convenicne method to set the coefficients of the underlying StatisticalModel from a statismo::VectorType. This has the same effect as calling SetParameters.
|
inlinevirtual |
Does nothing - as the transform does not have any fixed parameters
|
virtual |
Set the parameters to the IdentityTransform
Set the parameters to the IdentityTransform.
|
virtual |
Set the parameters of the transform
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.
|
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.
|
pure virtual |
Transform a given point according to the deformation induced by the StatisticalModel, given the current parameters.
pt | The point to tranform |
Implemented in itk::InterpolatingStatisticalDeformationModelTransform< TDataset, TScalarType, TDimension >, itk::StatisticalShapeModelTransform< TRepresenter, TScalarType, TDimension >, and itk::StatisticalDeformationModelTransform< TDataSet, TScalarType, TDimension >.