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

#include <itkElasticBodySplineKernelTransform2.h>

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

Public Types

typedef SmartPointer< const SelfConstPointer
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< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef
ElasticBodySplineKernelTransform2 
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 SelfConstPointer
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< SelfPointer
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 SelfConstPointer
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< SelfPointer
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 TScalarType GetAlpha () const
virtual const char * GetClassName () const
virtual const TScalarType GetPoissonRatio (void) const
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)
virtual void SetAlpha (TScalarType Alpha)
virtual void SetPoissonRatio (const TScalarType Nu)
- Public Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeLInverse (void)
void ComputeWMatrix (void)
virtual VectorSetTypeGetDisplacements ()
virtual const ParametersTypeGetFixedParameters (void) const
virtual const JacobianTypeGetJacobian (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 ParametersTypeGetParameters (void) const
virtual PointSetTypeGetSourceLandmarks ()
virtual double GetStiffness ()
virtual PointSetTypeGetTargetLandmarks ()
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
virtual void SetFixedParameters (const ParametersType &)
virtual void SetIdentity (void)
virtual void SetMatrixInversionMethod (std::string _arg)
virtual void SetParameters (const ParametersType &)
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 ()

Protected Types

typedef Superclass::GMatrixType GMatrixType
- Protected Types inherited from itk::KernelTransform2< TScalarType, NDimensions >
typedef vnl_qr< ScalarTypeQRDecompositionType
typedef vnl_svd< ScalarTypeSVDDecompositionType

Protected Member Functions

void ComputeG (const InputVectorType &x, GMatrixType &GMatrix) const
 ElasticBodySplineKernelTransform2 ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~ElasticBodySplineKernelTransform2 ()
- Protected Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeD (void)
virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
void ComputeK (void)
void ComputeL (void)
void ComputeP (void)
virtual void ComputeReflexiveG (PointsIterator, GMatrixType &GMatrix) const
void ComputeY (void)
 KernelTransform2 ()
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 ()

Protected Attributes

TScalarType m_Alpha
- 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
QRDecompositionTypem_LMatrixDecompositionQR
SVDDecompositionTypem_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

Private Member Functions

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

Additional Inherited Members

- Data Fields inherited from itk::KernelTransform2< TScalarType, NDimensions >
PointSetPointer m_SourceLandmarks
PointSetPointer m_TargetLandmarks

Detailed Description

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

This class defines the elastic body spline (EBS) 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 Taken from the paper: The EBS "is based on a physical model of a homogeneous, isotropic, three-dimensional elastic body. The model can approximate the way that some physical objects deform".

Definition at line 40 of file itkElasticBodySplineKernelTransform2.h.

Member Typedef Documentation

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

Definition at line 50 of file itkElasticBodySplineKernelTransform2.h.

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

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

Definition at line 115 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 104 of file itkElasticBodySplineKernelTransform2.h.

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

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

Definition at line 100 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 102 of file itkElasticBodySplineKernelTransform2.h.

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

Jacobian type.

Definition at line 65 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 105 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 101 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 103 of file itkElasticBodySplineKernelTransform2.h.

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

Parameters type.

Definition at line 62 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 49 of file itkElasticBodySplineKernelTransform2.h.

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

Scalar type.

Definition at line 56 of file itkElasticBodySplineKernelTransform2.h.

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

Standard class typedefs.

Definition at line 45 of file itkElasticBodySplineKernelTransform2.h.

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

Definition at line 47 of file itkElasticBodySplineKernelTransform2.h.

Constructor & Destructor Documentation

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

Definition at line 110 of file itkElasticBodySplineKernelTransform2.h.

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

Member Function Documentation

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

Compute G(x) For the elastic body spline, this is:

\[ G(x) = [\alpha*r(x)^2*I - 3*x*x']*r(x) \]

where $\alpha = 12 ( 1 - \nu ) - 1$, $\nu$ is Poisson's Ratio, $ r(x) = \sqrt{ x_1^2 + x_2^2 + x_3^2 } $ and $I$ is the identity matrix.

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

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

Run-time type information (and related methods).

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const TScalarType itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::GetPoissonRatio ( void  ) const
inlinevirtual
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
Superclass::SpaceDimension   
)

Dimension of the domain space.

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

New macro for creation of through a Smart Pointer

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

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::operator= ( const Self )
private
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::SetAlpha ( TScalarType  Alpha)
inlinevirtual

Set alpha. Alpha is related to Poisson's Ratio ( $\nu$) as $\alpha = 12 ( 1 - \nu ) - 1$

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

Definition at line 74 of file itkElasticBodySplineKernelTransform2.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::SetPoissonRatio ( const TScalarType  Nu)
inlinevirtual

Convenience method

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

Definition at line 85 of file itkElasticBodySplineKernelTransform2.h.

Field Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
TScalarType itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::m_Alpha
protected

alpha, Alpha is related to Poisson's Ratio $\nu$ as $\alpha = 12 ( 1 - \nu ) - 1$

Definition at line 130 of file itkElasticBodySplineKernelTransform2.h.



Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo