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 | Private Member Functions
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions > Class Template Reference

#include <itkVolumeSplineKernelTransform2.h>

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

Public Types

typedef SmartPointer< const Self > ConstPointer
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::JacobianType JacobianType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< Self > Pointer
 
typedef Superclass::PointsIterator PointsIterator
 
typedef Superclass::ScalarType ScalarType
 
typedef
VolumeSplineKernelTransform2 
Self
 
typedef KernelTransform2
< TScalarType, NDimensions > 
Superclass
 
- Public Types inherited from itk::KernelTransform2< TScalarType, NDimensions >
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
AMatrixType
 
typedef vnl_vector_fixed
< TScalarType, NDimensions > 
BMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions, 1 > 
ColumnMatrixType
 
typedef SmartPointer< const Self > ConstPointer
 
typedef vnl_matrix< TScalarType > DMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
GMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
IMatrixType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InternalMatrixType 
InternalMatrixType
 
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
 
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef vnl_matrix< TScalarType > KMatrixType
 
typedef vnl_matrix< TScalarType > LMatrixType
 
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef vnl_matrix< TScalarType > PMatrixType
 
typedef SmartPointer< Self > Pointer
 
typedef
PointSetType::PointsContainerConstIterator 
PointsConstIterator
 
typedef
PointSetType::PointsContainer 
PointsContainer
 
typedef PointSetType::Pointer PointSetPointer
 
typedef
DefaultStaticMeshTraits
< TScalarType, NDimensions,
NDimensions, TScalarType,
TScalarType > 
PointSetTraitsType
 
typedef PointSet
< InputPointType, NDimensions,
PointSetTraitsType > 
PointSetType
 
typedef
PointSetType::PointsContainerIterator 
PointsIterator
 
typedef vnl_matrix_fixed
< TScalarType, 1, NDimensions > 
RowMatrixType
 
typedef Superclass::ScalarType ScalarType
 
typedef KernelTransform2 Self
 
typedef
Superclass::SpatialHessianType 
SpatialHessianType
 
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
 
typedef AdvancedTransform
< TScalarType, NDimensions,
NDimensions > 
Superclass
 
typedef VectorSetType::Pointer VectorSetPointer
 
typedef VectorContainer
< unsigned long,
InputVectorType > 
VectorSetType
 
typedef vnl_matrix< TScalarType > WMatrixType
 
typedef vnl_matrix< TScalarType > YMatrixType
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
typedef SmartPointer< const Self > ConstPointer
 
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< Self > Pointer
 
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
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)
 
- Public Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeLInverse (void)
 
void ComputeWMatrix (void)
 
virtual TScalarType GetAlpha (void) const
 
virtual VectorSetType * GetDisplacements ()
 
virtual const ParametersType & GetFixedParameters (void) const
 
virtual const JacobianType & GetJacobian (const InputPointType &point) const
 
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
virtual const std::string & GetMatrixInversionMethod ()
 
virtual unsigned int GetNumberOfParameters (void) const
 
virtual const ParametersType & GetParameters (void) const
 
virtual const TScalarType GetPoissonRatio (void) const
 
virtual PointSetType * GetSourceLandmarks ()
 
virtual double GetStiffness ()
 
virtual PointSetType * GetTargetLandmarks ()
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetAlpha (TScalarType)
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual void SetIdentity (void)
 
virtual void SetMatrixInversionMethod (std::string _arg)
 
virtual void SetParameters (const ParametersType &)
 
virtual void SetPoissonRatio (TScalarType _arg)
 
virtual void SetSourceLandmarks (PointSetType *)
 
virtual void SetStiffness (double stiffness)
 
virtual void SetTargetLandmarks (PointSetType *)
 
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
 
virtual void UpdateParameters (void)
 
- Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () 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 unsigned long GetNumberOfNonZeroJacobianIndices (void) 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::KernelTransform2< TScalarType, NDimensions >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
static Pointer New ()
 

Protected Types

typedef Superclass::GMatrixType GMatrixType
 
- Protected Types inherited from itk::KernelTransform2< TScalarType, NDimensions >
typedef vnl_qr< ScalarType > QRDecompositionType
 
typedef vnl_svd< ScalarType > SVDDecompositionType
 

Protected Member Functions

virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
 
void ComputeG (const InputVectorType &x, GMatrixType &GMatrix) const
 
 VolumeSplineKernelTransform2 ()
 
virtual ~VolumeSplineKernelTransform2 ()
 
- Protected Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeD (void)
 
void ComputeK (void)
 
void ComputeL (void)
 
void ComputeP (void)
 
virtual void ComputeReflexiveG (PointsIterator, GMatrixType &GMatrix) const
 
void ComputeY (void)
 
 KernelTransform2 ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void ReorganizeW (void)
 
virtual ~KernelTransform2 ()
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (unsigned int Dimension, unsigned int NumberOfParameters)
 
virtual ~AdvancedTransform ()
 

Private Member Functions

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

Additional Inherited Members

- Data Fields inherited from itk::KernelTransform2< TScalarType, NDimensions >
PointSetPointer m_SourceLandmarks
 
PointSetPointer m_TargetLandmarks
 
- Protected Attributes inherited from itk::KernelTransform2< TScalarType, NDimensions >
AMatrixType m_AMatrix
 
BMatrixType m_BVector
 
VectorSetPointer m_Displacements
 
DMatrixType m_DMatrix
 
bool m_FastComputationPossible
 
IMatrixType m_I
 
KMatrixType m_KMatrix
 
bool m_LInverseComputed
 
LMatrixType m_LMatrix
 
bool m_LMatrixComputed
 
bool m_LMatrixDecompositionComputed
 
QRDecompositionType * m_LMatrixDecompositionQR
 
SVDDecompositionType * m_LMatrixDecompositionSVD
 
LMatrixType m_LMatrixInverse
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndicesTemp
 
PMatrixType m_PMatrix
 
double m_Stiffness
 
WMatrixType m_WMatrix
 
bool m_WMatrixComputed
 
YMatrixType m_YMatrix
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Detailed Description

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

This class defines the thin plate spline (TPS) transformation. It is implemented in as straightforward a manner as possible from the IEEE TMI paper by Davis, Khotanzad, Flamig, and Harms, Vol. 16 No. 3 June 1997

Definition at line 34 of file itkVolumeSplineKernelTransform2.h.

Member Typedef Documentation

template<class TScalarType , unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer

Definition at line 42 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::GMatrixType itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::GMatrixType
protected

These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited.

Definition at line 84 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 69 of file itkVolumeSplineKernelTransform2.h.

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

These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited

Definition at line 64 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 66 of file itkVolumeSplineKernelTransform2.h.

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

Jacobian Type

Definition at line 57 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 71 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 65 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 67 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ParametersType

Parameters type.

Definition at line 54 of file itkVolumeSplineKernelTransform2.h.

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

Definition at line 41 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef Superclass::PointsIterator itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::PointsIterator

Definition at line 72 of file itkVolumeSplineKernelTransform2.h.

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

Scalar type.

Definition at line 48 of file itkVolumeSplineKernelTransform2.h.

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

Standard class typedefs.

Definition at line 39 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef KernelTransform2<TScalarType, NDimensions> itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::Superclass

Definition at line 40 of file itkVolumeSplineKernelTransform2.h.

Constructor & Destructor Documentation

template<class TScalarType , unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::VolumeSplineKernelTransform2 ( )
inlineprotected

Definition at line 76 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::~VolumeSplineKernelTransform2 ( )
inlineprotectedvirtual

Definition at line 80 of file itkVolumeSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::VolumeSplineKernelTransform2 ( const Self &  )
private

Member Function Documentation

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution ( const InputPointType &  inputPoint,
OutputPointType &  result 
) const
protectedvirtual

Compute the contribution of the landmarks weighted by the kernel funcion to the global deformation of the space

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

template<class TScalarType , unsigned int NDimensions = 3>
void itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ComputeG ( const InputVectorType &  x,
GMatrixType &  GMatrix 
) const
protectedvirtual

Compute G(x) For the volume plate spline, this is: G(x) = r(x)^3*I $ G(x) = r(x)^3*I $ where r(x) = Euclidean norm = sqrt[x1^2 + x2^2 + x3^2]

\[ r(x) = \sqrt{ x_1^2 + x_2^2 + x_3^2 } \]

I = identity matrix.

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

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

Run-time type information (and related methods).

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

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

Dimension of the domain space.

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

New macro for creation of through a Smart Pointer

template<class TScalarType , unsigned int NDimensions = 3>
void itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::operator= ( const Self &  )
private


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