NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
PCA deformation model transformation. More...
Public Types | |
typedef PCADeformationModelTransform | Self |
typedef Transform< TScalarType, NDimensions, NDimensions > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
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< FieldPointer > | FieldPointerArray |
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 |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions) | |
virtual void | SetNumberOfComponents (unsigned int numberOfParameters) |
void | SetFieldArray (unsigned int i, FieldType *field) |
FieldType * | GetFieldArray (unsigned int i) |
virtual FieldPointer | GetSingleDeformationField () |
itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
void | SetParameters (const ParametersType ¶meters) |
const ParametersType & | GetParameters (void) const |
virtual void | SetFixedParameters (const ParametersType &) |
const ParametersType & | GetFixedParameters (void) const |
virtual const JacobianType | GetJacobian (const InputPointType &point) const |
virtual void | ComputeJacobianWithRespectToParameters (const InputPointType &point, JacobianType &jacobian) const |
virtual OutputPointType | TransformPoint (const InputPointType &point) const |
void | SetIdentity (void) |
virtual bool | IsLinear () const |
virtual void | Initialize () throw ( ExceptionObject ) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
PCADeformationModelTransform () | |
virtual | ~PCADeformationModelTransform () |
void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Attributes | |
TScalarType | m_meanCoefficient |
unsigned int | m_NumberOfFields |
FieldPointerArray | m_FieldArray |
FieldPointer | m_SingleField |
FieldInterpolatorPointerArray | m_Interpolators |
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 = T0+c1*T1+...+cN*TN where T0: mean deformation field Ti: ith eigen deformation field ci: parameter[i-1]
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:
Assumes all displacement fields have same size, region and spacing. Uses nearest neighbour interpolation of displacement field.
Does not include rigid pose transformation!
typedef SmartPointer<const Self> itk::PCADeformationModelTransform< TScalarType, NDimensions >::ConstPointer |
typedef itk::ContinuousIndex<TScalarType,NDimensions> itk::PCADeformationModelTransform< TScalarType, NDimensions >::ContinuousIndexType |
typedef FieldType::PixelType itk::PCADeformationModelTransform< TScalarType, NDimensions >::DisplacementType |
typedef ImageRegionConstIterator<FieldType> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldConstIterator |
typedef FieldType::ConstPointer itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldConstPointer |
typedef std::vector<FieldConstPointer> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldConstPointerArray |
typedef FieldType::IndexType itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldIndexType |
typedef FieldInterpolatorType::Pointer itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorPointer |
typedef std::vector<FieldInterpolatorPointer> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorPointerArray |
typedef VectorLinearInterpolateNearestNeighborExtrapolateImageFunction<FieldType, TScalarType> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldInterpolatorType |
Interpolator typedef support.
typedef ImageRegionIterator<FieldType> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldIterator |
typedef std::vector<FieldConstIterator> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldIteratorArray |
typedef FieldType::Pointer itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldPointer |
Deformation field typedef support.
typedef std::vector<FieldPointer> itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldPointerArray |
typedef FieldType::RegionType itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldRegionType |
typedef FieldType::SizeType itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldSizeType |
typedef itk::Image< VectorPixelType, NDimensions > itk::PCADeformationModelTransform< TScalarType, NDimensions >::FieldType |
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class.
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::InputPointType |
Standard coordinate point type for this class.
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::InputVectorType |
Standard vector type for this class.
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class.
typedef Superclass::JacobianType itk::PCADeformationModelTransform< TScalarType, NDimensions >::JacobianType |
Jacobian type.
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::OutputCovariantVectorType |
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::OutputPointType |
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::OutputVectorType |
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::PCADeformationModelTransform< TScalarType, NDimensions >::OutputVnlVectorType |
typedef Superclass::ParametersType itk::PCADeformationModelTransform< TScalarType, NDimensions >::ParametersType |
Parameters type.
typedef SmartPointer<Self> itk::PCADeformationModelTransform< TScalarType, NDimensions >::Pointer |
typedef Superclass::ScalarType itk::PCADeformationModelTransform< TScalarType, NDimensions >::ScalarType |
Scalar type.
typedef PCADeformationModelTransform itk::PCADeformationModelTransform< TScalarType, NDimensions >::Self |
Standard class typedefs.
typedef Transform< TScalarType, NDimensions, NDimensions > itk::PCADeformationModelTransform< TScalarType, NDimensions >::Superclass |
typedef itk::Vector< TScalarType, NDimensions > itk::PCADeformationModelTransform< TScalarType, NDimensions >::VectorPixelType |
Local variable typedefs
|
protected |
Construct an PCADeformationModelTransform object.
|
protectedvirtual |
Destroy an PCADeformationModelTransform object.
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::RigidPCADeformationModelTransform< TScalarType, NDimensions >, and itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >.
|
inline |
Get the i'th Field
const ParametersType& itk::PCADeformationModelTransform< TScalarType, NDimensions >::GetFixedParameters | ( | void | ) | const |
Get the Fixed Parameters.
|
virtual |
Get the Jacobian matrix.
const ParametersType& itk::PCADeformationModelTransform< TScalarType, NDimensions >::GetParameters | ( | void | ) | const |
|
virtual |
Get the deformation field corresponding to the current parameters
Reimplemented in itk::RigidPCADeformationModelTransform< TScalarType, NDimensions >, and itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >.
|
virtual |
Initialize must be called before the first call of Evaluate() to allow the class to validate any inputs.
Reimplemented in itk::RigidPCADeformationModelTransform< TScalarType, NDimensions >, and itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >.
|
inlinevirtual |
Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then
T( a*P + b*Q ) = a * T(P) + b * T(Q)
itk::PCADeformationModelTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , |
unsigned | int, | ||
NDimensions | |||
) |
Dimension of the domain space.
itk::PCADeformationModelTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
unsigned | int, | ||
NDimensions | |||
) |
itk::PCADeformationModelTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
NDimensions | |||
) |
Dimension of the domain space.
|
static |
New macro for creation of through a smart pointer.
|
protected |
Print contents of an PCADeformationModelTransform
|
inline |
Connect i'th field to Field Array
|
virtual |
Set the fixed parameters and update internal transformation.
|
inline |
Set the transformation to an Identity
|
virtual |
Set the number of SDM components
Reimplemented in itk::RigidPCADeformationModelTransform< TScalarType, NDimensions >, and itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >.
void itk::PCADeformationModelTransform< TScalarType, NDimensions >::SetParameters | ( | const ParametersType & | parameters | ) |
Set parameters. These are the coefficients for the eigen deformation fields
|
virtual |
Transform by the PCA deformation model, returning the transformed point or vector.
Reimplemented in itk::RigidPCADeformationModelTransform< TScalarType, NDimensions >, and itk::TranslationPCADeformationModelTransform< TScalarType, NDimensions >.
|
protected |
|
protected |
interpolator for field interpolation
|
protected |
Local storage variables
|
protected |
|
protected |