Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions > Class Template Reference
[Transforms]

#include <itkElasticBodySplineKernelTransform.h>

Inheritance diagram for itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef ElasticBodySplineKernelTransform Self
typedef KernelTransform< TScalarType,
NDimensions > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef Superclass::InputPointType InputPointType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::InputVectorType InputVectorType
typedef Superclass::OutputVectorType OutputVectorType
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)
virtual void SetAlpha (TScalarType _arg)
virtual TScalarType GetAlpha ()

Static Public Member Functions

Pointer New ()

Protected Types

typedef Superclass::GMatrixType GMatrixType

Protected Member Functions

 ElasticBodySplineKernelTransform ()
virtual ~ElasticBodySplineKernelTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
const GMatrixTypeComputeG (const InputVectorType &x) const

Protected Attributes

TScalarType m_Alpha

Detailed Description

template<class TScalarType = double, unsigned int NDimensions = 3>
class itk::ElasticBodySplineKernelTransform< 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 itkElasticBodySplineKernelTransform.h.


Member Typedef Documentation

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

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

Definition at line 50 of file itkElasticBodySplineKernelTransform.h.

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

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

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

Definition at line 95 of file itkElasticBodySplineKernelTransform.h.

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

Standard covariant vector type for this class

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

Definition at line 84 of file itkElasticBodySplineKernelTransform.h.

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

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

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

Definition at line 80 of file itkElasticBodySplineKernelTransform.h.

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

Standard vector type for this class.

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

Definition at line 82 of file itkElasticBodySplineKernelTransform.h.

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

Jacobian type.

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

Definition at line 65 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 85 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 81 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 83 of file itkElasticBodySplineKernelTransform.h.

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

Parameters type.

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

Definition at line 62 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 49 of file itkElasticBodySplineKernelTransform.h.

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

Scalar type.

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

Definition at line 59 of file itkElasticBodySplineKernelTransform.h.

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

Standard class typedefs.

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

Definition at line 45 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 47 of file itkElasticBodySplineKernelTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::ElasticBodySplineKernelTransform  )  [protected]
 

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::~ElasticBodySplineKernelTransform  )  [protected, virtual]
 


Member Function Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
const GMatrixType& itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::ComputeG const InputVectorType x  )  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) $ 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) = 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::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual TScalarType itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::GetAlpha  )  [virtual]
 

Get alpha

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const char* itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

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

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
Superclass::SpaceDimension 
 

Dimension of the domain space.

template<class TScalarType = double, unsigned int NDimensions = 3>
Pointer itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::New  )  [static]
 

New macro for creation of through a Smart Pointer

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

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::SetAlpha TScalarType  _arg  )  [virtual]
 

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


Member Data Documentation

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

alpha, Alpha is related to Poisson's Ratio ($$) as $ = 12 ( 1 - ) - 1$ Definition at line 112 of file itkElasticBodySplineKernelTransform.h.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:01:03 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000