ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension > Class Template Reference

#include <itkObjectToObjectMetric.h>

+ Inheritance diagram for itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >:
+ Collaboration diagram for itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::DerivativeValueType 
DerivativeValueType
typedef SizeValueType DimensionType
typedef
FixedTransformType::InputPointType 
FixedInputPointType
typedef
FixedTransformType::OutputPointType 
FixedOutputPointType
typedef
FixedTransformType::JacobianType 
FixedTransformJacobianType
typedef
FixedTransformType::ParametersType 
FixedTransformParametersType
typedef FixedTransformType::Pointer FixedTransformPointer
typedef Transform
< ParametersValueType,
TFixedDimension,
TVirtualDimension > 
FixedTransformType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef
FixedTransformType::JacobianType 
JacobianType
typedef Superclass::MeasureType MeasureType
typedef
MovingTransformType::InputPointType 
MovingInputPointType
typedef
MovingTransformType::OutputPointType 
MovingOutputPointType
typedef
MovingTransformType::JacobianType 
MovingTransformJacobianType
typedef
MovingTransformType::ParametersType 
MovingTransformParametersType
typedef
MovingTransformType::Pointer 
MovingTransformPointer
typedef Transform
< ParametersValueType,
TMovingDimension,
TVirtualDimension > 
MovingTransformType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef ObjectToObjectMetric Self
typedef ObjectToObjectMetricBase Superclass

Public Member Functions

virtual const FixedTransformTypeGetFixedTransform ()
virtual const MovingTransformTypeGetMovingTransform ()
virtual const char * GetNameOfClass () const
virtual NumberOfParametersType GetNumberOfLocalParameters () const
virtual NumberOfParametersType GetNumberOfParameters () const
virtual const ParametersTypeGetParameters () const
const MovingTransformTypeGetTransform ()
virtual bool HasLocalSupport () const
virtual void Initialize (void) throw ( ExceptionObject )
virtual void SetFixedTransform (FixedTransformType *_arg)
virtual void SetMovingTransform (MovingTransformType *_arg)
virtual void SetParameters (ParametersType &params)
void SetTransform (MovingTransformType *transform)
virtual void UpdateTransformParameters (DerivativeType &derivative, ParametersValueType factor)

Static Public Attributes

static const DimensionType FixedDimension = TFixedDimension
static const DimensionType MovingDimension = TMovingDimension
static const DimensionType VirtualDimension = TVirtualDimension

Protected Member Functions

 ObjectToObjectMetric ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~ObjectToObjectMetric ()

Protected Attributes

FixedTransformPointer m_FixedTransform
MovingTransformPointer m_MovingTransform

Private Member Functions

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

Detailed Description

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
class itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >

Computes similarity between regions of two objects.

This class is templated over the dimensionality of the two input objects. This is the abstract templated base class for a hierarchy of similarity metrics that may, in derived classes, operate on meshes, images, etc. This class computes a value that measures the similarity between the two objects.

Derived classes must provide implementations for: GetValue GetDerivative GetValueAndDerivative

Note:
Transform Optimization This hierarchy currently assumes only the moving transform is 'active', i.e. only the moving transform is being optimized when used in an optimizer. The eventual goal however is to allow for either moving, fixed or both transforms to be optimized within a single metric.

Definition at line 50 of file itkObjectToObjectMetric.h.


Member Typedef Documentation

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef SmartPointer< const Self > itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::ConstPointer
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::ParametersValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::CoordinateRepresentationType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::DerivativeType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::DerivativeType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::DerivativeValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::DerivativeValueType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef SizeValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::DimensionType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::InputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedInputPointType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::OutputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedOutputPointType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedTransformJacobianType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedTransformParametersType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedTransformPointer
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Transform<ParametersValueType, TFixedDimension, TVirtualDimension> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedTransformType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::InternalComputationValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::InternalComputationValueType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef FixedTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::JacobianType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::MeasureType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MeasureType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef MovingTransformType::InputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingInputPointType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef MovingTransformType::OutputPointType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingOutputPointType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef MovingTransformType::JacobianType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingTransformJacobianType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef MovingTransformType::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingTransformParametersType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef MovingTransformType::Pointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingTransformPointer
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Transform<ParametersValueType, TMovingDimension, TVirtualDimension> itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingTransformType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::NumberOfParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::NumberOfParametersType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::ParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::ParametersType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef Superclass::ParametersValueType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::ParametersValueType
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef SmartPointer< Self > itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::Pointer
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef ObjectToObjectMetric itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::Self
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
typedef ObjectToObjectMetricBase itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::Superclass

Constructor & Destructor Documentation

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::ObjectToObjectMetric ( ) [protected]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::~ObjectToObjectMetric ( ) [protected, virtual]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::ObjectToObjectMetric ( const Self ) [private]

Member Function Documentation

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual const FixedTransformType* itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetFixedTransform ( ) [virtual]

Get a pointer to the fixed transform.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual const MovingTransformType* itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetMovingTransform ( ) [virtual]

Get a pointer to the moving transform.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual const char* itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetNameOfClass ( ) const [virtual]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual NumberOfParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetNumberOfLocalParameters ( ) const [virtual]

Methods for working with the metric's 'active' transform, e.g. the transform being optimized in the case of registration. Some of these are used in non-metric classes, e.g. optimizers.

Implements itk::ObjectToObjectMetricBase.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual NumberOfParametersType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetNumberOfParameters ( ) const [virtual]

Methods for working with the metric's 'active' transform, e.g. the transform being optimized in the case of registration. Some of these are used in non-metric classes, e.g. optimizers.

Implements itk::ObjectToObjectMetricBase.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual const ParametersType& itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetParameters ( ) const [virtual]

Get a const reference to the active transform's parameters

Implements itk::ObjectToObjectMetricBase.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
const MovingTransformType* itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::GetTransform ( )

Get the moving transform using a backwards-compatible name

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual bool itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::HasLocalSupport ( ) const [virtual]

Return whether the metric's active transform has local support, e.g. whether it is dense/high-dimensional.

Implements itk::ObjectToObjectMetricBase.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::Initialize ( void  ) throw ( ExceptionObject ) [virtual]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::operator= ( const Self ) [private]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::SetFixedTransform ( FixedTransformType _arg) [virtual]

Connect the fixed transform.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::SetMovingTransform ( MovingTransformType _arg) [virtual]

Connect the moving transform.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::SetParameters ( ParametersType params) [virtual]

Set the active transform's parameters

Implements itk::ObjectToObjectMetricBase.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::SetTransform ( MovingTransformType transform)

Connect the moving transform using a backwards-compatible name. This assigns the input transform to the moving transform.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
virtual void itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::UpdateTransformParameters ( DerivativeType derivative,
ParametersValueType  factor 
) [virtual]

Member Data Documentation

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
const DimensionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::FixedDimension = TFixedDimension [static]

Object dimension accessors

Definition at line 85 of file itkObjectToObjectMetric.h.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
FixedTransformPointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::m_FixedTransform [protected]

Transforms

Definition at line 144 of file itkObjectToObjectMetric.h.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
MovingTransformPointer itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::m_MovingTransform [protected]

Definition at line 145 of file itkObjectToObjectMetric.h.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
const DimensionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::MovingDimension = TMovingDimension [static]

Object dimension accessors

Definition at line 86 of file itkObjectToObjectMetric.h.

template<unsigned int TFixedDimension, unsigned int TMovingDimension, unsigned int TVirtualDimension = TFixedDimension>
const DimensionType itk::ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualDimension >::VirtualDimension = TVirtualDimension [static]

Object dimension accessors

Definition at line 87 of file itkObjectToObjectMetric.h.


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