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:

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 Methods

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

Static Public Methods

Pointer New ()

Protected Types

typedef Superclass::GMatrixType GMatrixType

Protected Methods

 ElasticBodySplineKernelTransform ()
virtual ~ElasticBodySplineKernelTransform ()
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 92 of file itkElasticBodySplineKernelTransform.h.

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

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

Definition at line 82 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 78 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 80 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 83 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 79 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 81 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) where alpha is a constant r(x) = Euclidean norm = sqrt[x1^2 + x2^2 + x3^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>
virtual void itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >::SetAlpha TScalarType    _arg [virtual]
 

Set alpha


Member Data Documentation

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

alpha, Poisson's ratio

Definition at line 106 of file itkElasticBodySplineKernelTransform.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:15:51 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000