ITK  4.3.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Private Member Functions | List of all members
itk::VolumeSplineKernelTransform< TScalarType, NDimensions > Class Template Reference

#include <itkVolumeSplineKernelTransform.h>

+ Inheritance diagram for itk::VolumeSplineKernelTransform< TScalarType, NDimensions >:
+ Collaboration diagram for itk::VolumeSplineKernelTransform< TScalarType, NDimensions >:

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::VolumeSplineKernelTransform< 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 37 of file itkVolumeSplineKernelTransform.h.

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::PointsIterator PointsIterator
 
typedef Superclass::ScalarType ScalarType
 
typedef VolumeSplineKernelTransform Self
 
typedef KernelTransform
< TScalarType, NDimensions > 
Superclass
 
- Public Types inherited from itk::KernelTransform< 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::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef Superclass::JacobianType JacobianType
 
typedef vnl_matrix< TScalarType > KMatrixType
 
typedef vnl_matrix< TScalarType > LMatrixType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef vnl_matrix< TScalarType > PMatrixType
 
typedef SmartPointer< SelfPointer
 
typedef
PointSetType::PointIdentifier 
PointIdentifier
 
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 KernelTransform Self
 
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
 
typedef
Superclass::TransformCategoryType 
TransformCategoryType
 
typedef VectorSetType::Pointer VectorSetPointer
 
typedef itk::VectorContainer
< SizeValueType,
InputVectorType
VectorSetType
 
typedef vnl_matrix< TScalarType > WMatrixType
 
typedef vnl_matrix< TScalarType > YMatrixType
 
- Public Types inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
 
typedef CovariantVector
< TScalarType,
NInputDimensions > 
InputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalarType > 
InputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
 
typedef Point< TScalarType,
NInputDimensions > 
InputPointType
 
typedef
SymmetricSecondRankTensor
< TScalarType,
NInputDimensions > 
InputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalarType > 
InputVectorPixelType
 
typedef Vector< TScalarType,
NInputDimensions > 
InputVectorType
 
typedef vnl_vector_fixed
< TScalarType,
NInputDimensions > 
InputVnlVectorType
 
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
 
typedef Transform< TScalarType,
NOutputDimensions,
NInputDimensions > 
InverseTransformBaseType
 
typedef Array2D
< ParametersValueType
JacobianType
 
typedef Matrix< TScalarType,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef CovariantVector
< TScalarType,
NOutputDimensions > 
OutputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalarType > 
OutputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
 
typedef Point< TScalarType,
NOutputDimensions > 
OutputPointType
 
typedef
SymmetricSecondRankTensor
< TScalarType,
NOutputDimensions > 
OutputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalarType > 
OutputVectorPixelType
 
typedef Vector< TScalarType,
NOutputDimensions > 
OutputVectorType
 
typedef vnl_vector_fixed
< TScalarType,
NOutputDimensions > 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TScalarType ScalarType
 
typedef Transform Self
 
typedef TransformBase Superclass
 
- Public Types inherited from itk::TransformBase
typedef SmartPointer< const SelfConstPointer
 
typedef IdentifierType NumberOfParametersType
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TransformBase Self
 
typedef Object Superclass
 
enum  TransformCategoryType {
  UnknownTransformCategory =0,
  Linear =1,
  BSpline =2,
  Spline =3,
  DisplacementField =4,
  VelocityField =5
}
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::KernelTransform< TScalarType, NDimensions >
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
void ComputeWMatrix (void)
 
virtual VectorSetTypeGetDisplacements ()
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual PointSetTypeGetSourceLandmarks ()
 
virtual PointSetTypeGetTargetLandmarks ()
 
virtual TransformCategoryType GetTransformCategory () const
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual void SetParameters (const ParametersType &)
 
virtual void SetSourceLandmarks (PointSetType *)
 
virtual void SetTargetLandmarks (PointSetType *)
 
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual void UpdateParameters (void) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual void SetStiffness (double _arg)
 
virtual double GetStiffness () const
 
- Public Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, JacobianType &jacobian) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
unsigned int GetInputSpaceDimension (void) const
 
bool GetInverse (Self *) const
 
virtual InverseTransformBasePointer GetInverseTransform () const
 
virtual NumberOfParametersType GetNumberOfLocalParameters (void) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
unsigned int GetOutputSpaceDimension (void) const
 
virtual std::string GetTransformTypeAsString () const
 
virtual bool IsLinear () const
 
 itkCloneMacro (Self)
 
virtual void SetFixedParameters (const ParametersType &)=0
 
virtual void SetParameters (const ParametersType &)=0
 
virtual void SetParametersByValue (const ParametersType &p)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &tensor, const InputPointType &point) const
 
virtual OutputPointType TransformPoint (const InputPointType &) const =0
 
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &tensor, const InputPointType &point) const
 
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &tensor, const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual void UpdateTransformParameters (const DerivativeType &update, TScalarType factor=1.0)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::KernelTransform< TScalarType, NDimensions >
static Pointer New ()
 

Static Public Attributes

static const unsigned int SpaceDimension = Superclass::SpaceDimension
 
- Static Public Attributes inherited from itk::KernelTransform< TScalarType, NDimensions >
static const unsigned int SpaceDimension = NDimensions
 
- Static Public Attributes inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 

Protected Types

typedef Superclass::GMatrixType GMatrixType
 

Protected Member Functions

virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
 
virtual void ComputeG (const InputVectorType &landmarkVector, GMatrixType &gmatrix) const
 
 VolumeSplineKernelTransform ()
 
virtual ~VolumeSplineKernelTransform ()
 
- Protected Member Functions inherited from itk::KernelTransform< TScalarType, NDimensions >
void ComputeD ()
 
void ComputeK ()
 
void ComputeL ()
 
void ComputeP ()
 
virtual const GMatrixTypeComputeReflexiveG (PointsIterator) const
 
void ComputeY ()
 
 KernelTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void ReorganizeW (void)
 
virtual ~KernelTransform ()
 
- Protected Member Functions inherited from itk::Transform< TScalarType, NDimensions, NDimensions >
virtual LightObject::Pointer InternalClone () const
 
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const
 
 Transform ()
 
 Transform (NumberOfParametersType NumberOfParameters)
 
virtual ~Transform ()
 
- Protected Member Functions inherited from itk::TransformBase
 TransformBase ()
 
virtual ~TransformBase ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from itk::KernelTransform< TScalarType, NDimensions >
AMatrixType m_AMatrix
 
BMatrixType m_BVector
 
VectorSetPointer m_Displacements
 
DMatrixType m_DMatrix
 
GMatrixType m_GMatrix
 
IMatrixType m_I
 
KMatrixType m_KMatrix
 
LMatrixType m_LMatrix
 
PMatrixType m_PMatrix
 
PointSetPointer m_SourceLandmarks
 
double m_Stiffness
 
PointSetPointer m_TargetLandmarks
 
WMatrixType m_WMatrix
 
bool m_WMatrixComputed
 
YMatrixType m_YMatrix
 

Member Typedef Documentation

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

Definition at line 45 of file itkVolumeSplineKernelTransform.h.

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

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

Definition at line 80 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 71 of file itkVolumeSplineKernelTransform.h.

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

These (rather redundant) typedefs are needed because typedefs are not inherited

Definition at line 67 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 69 of file itkVolumeSplineKernelTransform.h.

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

Jacobian Type

Definition at line 60 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 72 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 68 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 70 of file itkVolumeSplineKernelTransform.h.

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

Parameters type.

Definition at line 57 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 44 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 73 of file itkVolumeSplineKernelTransform.h.

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

Scalar type.

Definition at line 51 of file itkVolumeSplineKernelTransform.h.

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

Standard class typedefs.

Definition at line 42 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 43 of file itkVolumeSplineKernelTransform.h.

Constructor & Destructor Documentation

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

Definition at line 76 of file itkVolumeSplineKernelTransform.h.

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

Definition at line 77 of file itkVolumeSplineKernelTransform.h.

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

Member Function Documentation

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::VolumeSplineKernelTransform< 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::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::VolumeSplineKernelTransform< TScalarType, NDimensions >::ComputeG ( const InputVectorType landmarkVector,
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::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType , unsigned int NDimensions = 3>
virtual::itk::LightObject::Pointer itk::VolumeSplineKernelTransform< TScalarType, NDimensions >::CreateAnother ( void  ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

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

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

Run-time type information (and related methods).

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

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

New macro for creation of through a Smart Pointer

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

Member Data Documentation

template<class TScalarType , unsigned int NDimensions = 3>
const unsigned int itk::VolumeSplineKernelTransform< TScalarType, NDimensions >::SpaceDimension = Superclass::SpaceDimension
static

Dimension of the domain space.

Definition at line 64 of file itkVolumeSplineKernelTransform.h.


The documentation for this class was generated from the following file: