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

itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference
[Similarity Metrics of Registration Methods]

Computes similarity between two objects to be registered. More...

#include <itkMatchCardinalityImageToImageMetric.h>

Inheritance diagram for itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MatchCardinalityImageToImageMetric Self
typedef ImageToImageMetric<
TFixedImage, TMovingImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::RealType RealType
typedef Superclass::TransformType TransformType
typedef Superclass::TransformPointer TransformPointer
typedef Superclass::TransformParametersType TransformParametersType
typedef Superclass::TransformJacobianType TransformJacobianType
typedef Superclass::GradientPixelType GradientPixelType
typedef Superclass::MeasureType MeasureType
typedef Superclass::DerivativeType DerivativeType
typedef Superclass::FixedImageType FixedImageType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::FixedImageConstPointer FixedImageConstPointer
typedef Superclass::MovingImageConstPointer MovingImageConstPointer
typedef Superclass::FixedImageRegionType FixedImageRegionType

Public Member Functions

virtual const char * GetNameOfClass () const
MeasureType GetValue (const TransformParametersType &parameters) const
MultiThreaderGetMultiThreader ()
void GetDerivative (const TransformParametersType &, DerivativeType &derivative) const
virtual void SetMeasureMatches (bool _arg)
virtual void MeasureMatchesOn ()
virtual void MeasureMatchesOff ()
virtual bool GetMeasureMatches ()
virtual void SetNumberOfThreads (int _arg)
virtual const int & GetNumberOfThreads ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 MatchCardinalityImageToImageMetric ()
virtual ~MatchCardinalityImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const
MeasureType GetNonconstValue (const TransformParametersType &parameters)
virtual void ThreadedGetValue (const FixedImageRegionType &outputRegionForThread, int threadId)
virtual int SplitFixedRegion (int i, int num, FixedImageRegionType &splitRegion)

Static Protected Member Functions

ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)

Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >

Computes similarity between two objects to be registered.

This Class is templated over the type of the fixed and moving images to be compared.

This metric computes cardinality of the set of pixels that match exactly between the moving and fixed images. The spatial correspondance between both images is established through a Transform. Pixel values are taken from the Moving image. Their positions are mapped to the Fixed image and result in general in non-grid position on it. Values at these non-grid position of the Fixed image are interpolated using a user-selected Interpolator.

This metric is designed for matching label maps. All pixel mismatches are considered equal whether they are between label 1 and label 2 or between label 1 and label 500. In other words, the magnitude of an individual label mismatch is not relevant, or the occurence of a label mismatch is important.

Given the nature of label maps, a nearest neighbor interpolator is the preferred interpolator.

The metric measure can measure the number of pixel matches (pixels with exactly the same label) or pixel mismatches (pixels with different labels). The returned metric value is the number of pixel matches (or mismatches) normalized by the number of pixels considered. The number of pixel considered is a function of the number of pixels in the overlap of the fixed and moving image buffers conditional on any assigned masks.

Definition at line 62 of file itkMatchCardinalityImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 72 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
 

Type of the derivative.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 90 of file itkMatchCardinalityImageToImageMetric.h.

Referenced by itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative().

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 93 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageRegionType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 95 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
 

Type of the fixed Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 91 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientPixelType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
 

Gaussian filter to compute the gradient of the Moving Image

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 87 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
 

Type of the measure.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 89 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 94 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
 

Type of the moving Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 92 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Pointer
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 71 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::RealType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::RealType
 

Types transferred from the base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 82 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MatchCardinalityImageToImageMetric itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Self
 

Standard class typedefs.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 68 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageToImageMetric<TFixedImage, TMovingImage > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Superclass
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 69 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 86 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformParametersType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 85 of file itkMatchCardinalityImageToImageMetric.h.

Referenced by itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative().

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
 

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 84 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformType
 

Type of the Transform Base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 83 of file itkMatchCardinalityImageToImageMetric.h.


Constructor & Destructor Documentation

template<class TFixedImage, class TMovingImage>
itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MatchCardinalityImageToImageMetric  )  [protected]
 

template<class TFixedImage, class TMovingImage>
virtual itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::~MatchCardinalityImageToImageMetric  )  [inline, protected, virtual]
 

Definition at line 137 of file itkMatchCardinalityImageToImageMetric.h.


Member Function Documentation

template<class TFixedImage, class TMovingImage>
void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative const TransformParametersType ,
DerivativeType derivative
const [inline]
 

Get the derivatives of the match measure.

Definition at line 99 of file itkMatchCardinalityImageToImageMetric.h.

References itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType, itkWarningMacro, and itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType.

template<class TFixedImage, class TMovingImage>
virtual bool itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetMeasureMatches  )  [virtual]
 

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage, class TMovingImage>
MultiThreader* itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetMultiThreader  )  [inline]
 

Return the multithreader used by this class.

Definition at line 132 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
virtual const char* itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetNonconstValue const TransformParametersType parameters  )  [protected]
 

Non-const version of GetValue(). This is a hack around various const issues with trying to spawn threads from the const version of GetValue().

template<class TFixedImage, class TMovingImage>
virtual const int& itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfThreads  )  [virtual]
 

Get/Set the number of threads to create when executing.

template<class TFixedImage, class TMovingImage>
MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetValue const TransformParametersType parameters  )  const
 

Get the value of the metric at a particular parameter setting. The metric value is the number of pixel matches (or mis-matches, see SetMeasureMatches()) normalized by the number of pixels under consideration (within the buffer and if specified within a mask). In other words, the metric measure the percentage of pixel matches or mismatches.

template<class TFixedImage, class TMovingImage>
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureMatchesOff  )  [virtual]
 

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage, class TMovingImage>
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureMatchesOn  )  [virtual]
 

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage, class TMovingImage>
Pointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage>
void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::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::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::SetMeasureMatches bool  _arg  )  [virtual]
 

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage, class TMovingImage>
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfThreads int  _arg  )  [virtual]
 

Get/Set the number of threads to create when executing.

template<class TFixedImage, class TMovingImage>
virtual int itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::SplitFixedRegion int  i,
int  num,
FixedImageRegionType splitRegion
[protected, virtual]
 

Split the FixedImageRegion into "num" pieces, returning region "i" as "splitRegion". This method is called "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the FixedImageRegion, i.e. return value is less than or equal to "num".

template<class TFixedImage, class TMovingImage>
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ThreadedGetValue const FixedImageRegionType outputRegionForThread,
int  threadId
[protected, virtual]
 

Thread worker routine to calculate the contribution of the a subregion to the overall metric. Can only be called from GetValue().

template<class TFixedImage, class TMovingImage>
ITK_THREAD_RETURN_TYPE itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ThreaderCallback void *  arg  )  [static, protected]
 

Static function used as a "callback" by the MultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGetValue().


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:42:36 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000