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 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)

Static Public Member Functions

static Pointer New ()

Protected Types

typedef Superclass::GMatrixType GMatrixType

Protected Member Functions

void ComputeG (const InputVectorType &x, GMatrixType &GMatrix) const
 ElasticBodySplineKernelTransform2 ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~ElasticBodySplineKernelTransform2 ()

Protected Attributes

TScalarType m_Alpha

Private Member Functions

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

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
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

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

Definition at line 115 of file itkElasticBodySplineKernelTransform2.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >::InputCovariantVectorType
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

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

Definition at line 100 of file itkElasticBodySplineKernelTransform2.h.

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

Jacobian type.

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

Definition at line 65 of file itkElasticBodySplineKernelTransform2.h.

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

Parameters type.

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

Definition at line 62 of file itkElasticBodySplineKernelTransform2.h.

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

Scalar type.

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

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.

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

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

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 ( ) [inline, protected, virtual]

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 [protected, virtual]

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 [inline, virtual]
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) [inline, virtual]

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) [inline, virtual]

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 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo