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

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

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

#include <itkGradientDifferenceImageToImageMetric.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef GradientDifferenceImageToImageMetric 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::MeasureType MeasureType
typedef Superclass::DerivativeType DerivativeType
typedef Superclass::FixedImageType FixedImageType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::FixedImageConstPointer FixedImageConstPointer
typedef Superclass::MovingImageConstPointer MovingImageConstPointer
typedef TFixedImage::PixelType FixedImagePixelType
typedef TMovingImage::PixelType MovedImagePixelType
typedef itk::Image< FixedImagePixelType,
itkGetStaticConstMacro(FixedImageDimension) 
TransformedMovingImageType )
typedef itk::ResampleImageFilter<
MovingImageType, TransformedMovingImageType
TransformMovingImageFilterType
typedef itk::Image< RealType,
itkGetStaticConstMacro(FixedImageDimension) 
FixedGradientImageType )
typedef itk::CastImageFilter<
FixedImageType, FixedGradientImageType
CastFixedImageFilterType
typedef CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
typedef FixedGradientImageType::PixelType FixedGradientPixelType
typedef itk::Image< RealType,
itkGetStaticConstMacro(MovedImageDimension) 
MovedGradientImageType )
typedef itk::CastImageFilter<
TransformedMovingImageType,
MovedGradientImageType
CastMovedImageFilterType
typedef CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
typedef MovedGradientImageType::PixelType MovedGradientPixelType

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
 itkStaticConstMacro (MovedImageDimension, unsigned int, MovingImageType::ImageDimension)
void GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const
MeasureType GetValue (const TransformParametersType &parameters) const
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &derivative) const
virtual void Initialize (void) throw ( ExceptionObject )
void WriteGradientImagesToFiles (void) const

Static Public Member Functions

Pointer New ()

Protected Types

typedef NeighborhoodOperatorImageFilter<
FixedGradientImageType, FixedGradientImageType
FixedSobelFilter
typedef NeighborhoodOperatorImageFilter<
MovedGradientImageType, MovedGradientImageType
MovedSobelFilter

Protected Member Functions

 GradientDifferenceImageToImageMetric ()
virtual ~GradientDifferenceImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const
void ComputeMovedGradientRange (void) const
void ComputeVariance (void) const
MeasureType ComputeMeasure (const TransformParametersType &parameters, const double *subtractionFactor) const

Detailed Description

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

Computes similarity between two objects to be registered.

This Class is templated over the type of the Images to be compared and over the type of transformation and Iterpolator to be used.

This metric computes the sum of squared differences between pixels in the derivatives of the moving and fixed images after passing the squared difference through a function of type $ \frac{1}{1+x} $.

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.

Implementation of this class is based on: Hipwell, J. H., et. al. (2003), "Intensity-Based 2-D-3D Registration of Cerebral Angiograms,", IEEE Transactions on Medical Imaging, 22(11):1417-1426.

Definition at line 54 of file itkGradientDifferenceImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef CastFixedImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterPointer
 

Definition at line 112 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::CastImageFilter< FixedImageType, FixedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterType
 

Definition at line 111 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef CastMovedImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterPointer
 

Definition at line 128 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterType
 

Definition at line 127 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 64 of file itkGradientDifferenceImageToImageMetric.h.

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

Type of the derivative.

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

Definition at line 86 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::Image< RealType, itkGetStaticConstMacro( FixedImageDimension ) itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientImageType)
 

Sobel filters to compute the gradients of the Fixed Image

Definition at line 108 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedGradientImageType::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientPixelType
 

Definition at line 114 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 89 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef TFixedImage::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType
 

Definition at line 92 of file itkGradientDifferenceImageToImageMetric.h.

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

Type of the fixed Image.

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

Definition at line 87 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedSobelFilter [protected]
 

Definition at line 167 of file itkGradientDifferenceImageToImageMetric.h.

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

Type of the measure.

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

Definition at line 85 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::Image< RealType, itkGetStaticConstMacro( MovedImageDimension ) itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientImageType)
 

Definition at line 124 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovedGradientImageType::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientPixelType
 

Definition at line 130 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef TMovingImage::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedImagePixelType
 

Definition at line 93 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedSobelFilter [protected]
 

Definition at line 170 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 90 of file itkGradientDifferenceImageToImageMetric.h.

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

Type of the moving Image.

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

Definition at line 88 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 63 of file itkGradientDifferenceImageToImageMetric.h.

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

Types transferred from the base class

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

Definition at line 78 of file itkGradientDifferenceImageToImageMetric.h.

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

Standard class typedefs.

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

Definition at line 60 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 61 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::Image< FixedImagePixelType, itkGetStaticConstMacro( FixedImageDimension ) itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformedMovingImageType)
 

Types for transforming the moving image

Definition at line 99 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 83 of file itkGradientDifferenceImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformMovingImageFilterType
 

Definition at line 102 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 82 of file itkGradientDifferenceImageToImageMetric.h.

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

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

Definition at line 81 of file itkGradientDifferenceImageToImageMetric.h.

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

Type of the Transform Base class

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

Definition at line 80 of file itkGradientDifferenceImageToImageMetric.h.


Constructor & Destructor Documentation

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

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

Definition at line 153 of file itkGradientDifferenceImageToImageMetric.h.


Member Function Documentation

template<class TFixedImage, class TMovingImage>
MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMeasure const TransformParametersType parameters,
const double *  subtractionFactor
const [protected]
 

Compute the similarity measure using a specified subtraction factor.

template<class TFixedImage, class TMovingImage>
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMovedGradientRange void   )  const [protected]
 

Compute the range of the moved image gradients.

template<class TFixedImage, class TMovingImage>
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeVariance void   )  const [protected]
 

Compute the variance and range of the moving image gradients.

template<class TFixedImage, class TMovingImage>
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative const TransformParametersType parameters,
DerivativeType derivative
const
 

Get the derivatives of the match measure.

template<class TFixedImage, class TMovingImage>
virtual const char* itk::GradientDifferenceImageToImageMetric< 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::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValue const TransformParametersType parameters  )  const
 

Get the value for single valued optimizers.

template<class TFixedImage, class TMovingImage>
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative const TransformParametersType parameters,
MeasureType Value,
DerivativeType derivative
const
 

Get value and derivatives for multiple valued optimizers.

template<class TFixedImage, class TMovingImage>
virtual void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Initialize void   )  throw ( ExceptionObject ) [virtual]
 

Initialize the Metric by making sure that all the components are present and plugged together correctly

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

template<class TFixedImage, class TMovingImage>
itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro MovedImageDimension  ,
unsigned  int,
MovingImageType::ImageDimension 
 

Sobel filters to compute the gradients of the Moved Image

template<class TFixedImage, class TMovingImage>
itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro FixedImageDimension  ,
unsigned  int,
TFixedImage::ImageDimension 
 

Constants for the image dimensions

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

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

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage>
void itk::GradientDifferenceImageToImageMetric< 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>
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::WriteGradientImagesToFiles void   )  const
 

Write gradient images to a files for debugging purposes.


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