ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::ObjectToObjectMetric Class Reference

#include <itkObjectToObjectMetric.h>

+ Inheritance diagram for itk::ObjectToObjectMetric:
+ Collaboration diagram for itk::ObjectToObjectMetric:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
enum  GradientSourceType {
  GRADIENT_SOURCE_FIXED = 0,
  GRADIENT_SOURCE_MOVING,
  GRADIENT_SOURCE_BOTH
}
typedef double InternalComputationValueType
typedef Superclass::MeasureType MeasureType
typedef unsigned int NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef ObjectToObjectMetric Self
typedef SingleValuedCostFunctionv4 Superclass

Public Member Functions

virtual GradientSourceType GetGradientSource () const
bool GetGradientSourceIncludesFixed () const
bool GetGradientSourceIncludesMoving () const
virtual const char * GetNameOfClass () const
virtual const ParametersTypeGetParameters () const =0
virtual bool HasLocalSupport () const =0
virtual void Initialize (void)=0 throw ( ExceptionObject )
virtual void SetGradientSource (GradientSourceType _arg)
virtual void SetParameters (ParametersType &params)=0
virtual void UpdateTransformParameters (DerivativeType &derivative, ParametersValueType factor=NumericTraits< ParametersValueType >::One)=0
virtual NumberOfParametersType GetNumberOfParameters () const =0
virtual NumberOfParametersType GetNumberOfLocalParameters () const =0

Protected Member Functions

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

Protected Attributes

GradientSourceType m_GradientSource

Private Member Functions

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

Detailed Description

Computes similarity between regions of two objects.

This class is templated over the type of the two input objects. This is the abstract 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 GetValueAndDerivative Initialize GetNumberOfParameters GetNumberOfLocalParameters GetParameters SetParameters HasLocalSupport UpdateTransformParameters

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 54 of file itkObjectToObjectMetric.h.


Member Typedef Documentation

ParametersType typedef. It defines a position in the optimization search space.

Reimplemented from itk::SingleValuedCostFunctionv4.

Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, and itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 81 of file itkObjectToObjectMetric.h.


Member Enumeration Documentation

Source of the gradient(s) used by the metric (e.g. image gradients, in the case of image to image metrics). Defaults to Moving.

Enumerator:
GRADIENT_SOURCE_FIXED 
GRADIENT_SOURCE_MOVING 
GRADIENT_SOURCE_BOTH 

Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 86 of file itkObjectToObjectMetric.h.


Constructor & Destructor Documentation

virtual itk::ObjectToObjectMetric::~ObjectToObjectMetric ( ) [protected, virtual]

Member Function Documentation

Get gradient source. See GetGradientSourceIncludesFixed and GetGradientSourceIncludesMoving for convenience methods.

Return true of m_GradientSource is either GRADIENT_SOURCE_FIXED or GRADIENT_SOURCE_BOTH. Convenience method.

Return true of m_GradientSource is either GRADIENT_SOURCE_MOVING or GRADIENT_SOURCE_BOTH. Convenience method.

virtual const char* itk::ObjectToObjectMetric::GetNameOfClass ( ) 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.

Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >, and itk::PointSetToPointSetMetricv4< TPointSet, TPointSet >.

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::CostFunction.

Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >, and itk::PointSetToPointSetMetricv4< TPointSet, TPointSet >.

virtual const ParametersType& itk::ObjectToObjectMetric::GetParameters ( ) const [pure virtual]
virtual bool itk::ObjectToObjectMetric::HasLocalSupport ( ) const [pure virtual]

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

Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >, and itk::PointSetToPointSetMetricv4< TPointSet, TPointSet >.

virtual void itk::ObjectToObjectMetric::Initialize ( void  ) throw ( ExceptionObject ) [pure virtual]
void itk::ObjectToObjectMetric::operator= ( const Self ) [private]
void itk::ObjectToObjectMetric::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Set source of gradient. This variable allows the user to switch between calculating the gradient with respect to the fixed object or moving object.

See also:
GradientSourceType
virtual void itk::ObjectToObjectMetric::SetParameters ( ParametersType params) [pure virtual]

Update the parameters of the metric's active transform. Typically this call is passed through directly to the transform. factor is a scalar multiplier for each value in update, and defaults to 1.0 . derivative must be the proper size, as retrieved from GetNumberOfParameters.

Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >, and itk::PointSetToPointSetMetricv4< TPointSet, TPointSet >.


Member Data Documentation

Definition at line 154 of file itkObjectToObjectMetric.h.


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