ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkKappaStatisticImageToImageMetric.h>

+ Inheritance diagram for itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >:
+ Collaboration diagram for itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientImageType 
GradientImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef Superclass::InputPointType InputPointType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::OutputPointType OutputPointType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef
KappaStatisticImageToImageMetric 
Self
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

void ComputeGradient ()
virtual ::itk::LightObject::Pointer CreateAnother (void) const
void GetDerivative (const TransformParametersType &, DerivativeType &derivative) const
virtual const char * GetNameOfClass () const
MeasureType GetValue (const TransformParametersType &parameters) const
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
virtual void SetForegroundValue (RealType _arg)
virtual RealType GetForegroundValue () const

Static Public Member Functions

static Pointer New ()

Private Member Functions

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

Private Attributes

bool m_Complement
RealType m_ForegroundValue
virtual void SetComplement (bool _arg)
virtual void ComplementOn ()
virtual void ComplementOff ()
virtual bool GetComplement () const
 KappaStatisticImageToImageMetric ()
virtual ~KappaStatisticImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

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

Computes similarity between two binary objects to be registered.

This Class is templated over the type of the fixed and moving images to be compared. The metric here is designed for matching pixels in two images with the same exact value. Only one value can be considered (the default is 255) and can be specified with the SetForegroundValue method. In the computation of the metric, only foreground pixels are considered. The metric value is given by 2*|A&B|/(|A|+|B|), where A is the foreground region in the moving image, B is the foreground region in the fixed image, & is intersection, and |.| indicates the area of the enclosed set. The metric is described in "Morphometric Analysis of White Matter Lesions in MR Images: Method and Validation", A. P. Zijdenbos, B. M. Dawant, R. A. Margolin, A. C. Palmer.

This metric is especially useful when considering the similarity between binary images. Given the nature of binary images, a nearest neighbor interpolator is the preferred interpolator.

Metric values range from 0.0 (no foreground alignment) to 1.0 (perfect foreground alignment). When dealing with optimizers that can only minimize a metric, use the ComplementOn() method.

Definition at line 54 of file itkKappaStatisticImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType

Type of the derivative.

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

Definition at line 83 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageRegionType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType

Type of the fixed Image.

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

Definition at line 84 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::GradientImageType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 77 of file itkKappaStatisticImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 78 of file itkKappaStatisticImageToImageMetric.h.

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

Type of the measure.

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

Definition at line 82 of file itkKappaStatisticImageToImageMetric.h.

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

Type of the moving Image.

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

Definition at line 85 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::OutputPointType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::RealType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::RealType

Types transferred from the base class

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

Definition at line 69 of file itkKappaStatisticImageToImageMetric.h.

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

Standard class typedefs.

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

Definition at line 60 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformJacobianType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformParametersType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformPointer itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Type of the Transform Base class

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

Definition at line 73 of file itkKappaStatisticImageToImageMetric.h.


Constructor & Destructor Documentation

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

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

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

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

Definition at line 124 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::KappaStatisticImageToImageMetric ( const Self ) [private]

Member Function Documentation

template<class TFixedImage , class TMovingImage >
virtual void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComplementOff ( ) [virtual]

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

template<class TFixedImage , class TMovingImage >
virtual void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComplementOn ( ) [virtual]

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

template<class TFixedImage , class TMovingImage >
void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradient ( ) [virtual]

Computes the gradient image and assigns it to m_GradientImage

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

template<class TFixedImage , class TMovingImage >
virtual::itk::LightObject::Pointer itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::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::Object.

template<class TFixedImage , class TMovingImage >
virtual bool itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetComplement ( ) const [virtual]

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

template<class TFixedImage , class TMovingImage >
void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const TransformParametersType ,
DerivativeType derivative 
) const

Get the derivatives of the match measure.

template<class TFixedImage , class TMovingImage >
virtual RealType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetForegroundValue ( ) const [virtual]

This method allows the user to set the foreground value. The default value is 255.

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

Get the value of the metric at a particular parameter setting. The metric value is given by 2*|A&B|/(|A|+|B|), where A is the moving image, B is the fixed image, & is intersection, and |.| indicates the area of the enclosed set. If ComplementOn has been set, the metric value is 1.0-2*|A&B|/(|A|+|B|).

template<class TFixedImage , class TMovingImage >
void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative ( const TransformParametersType parameters,
MeasureType Value,
DerivativeType Derivative 
) const

Get both the value and derivative. This method internally calls the GetValue() and the GetDerivative() method.

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

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage , class TMovingImage >
void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

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

template<class TFixedImage , class TMovingImage >
void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

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

template<class TFixedImage , class TMovingImage >
virtual void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetComplement ( bool  _arg) [virtual]

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

template<class TFixedImage , class TMovingImage >
virtual void itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetForegroundValue ( RealType  _arg) [virtual]

This method allows the user to set the foreground value. The default value is 255.


Member Data Documentation

template<class TFixedImage , class TMovingImage >
bool itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_Complement [private]

Definition at line 133 of file itkKappaStatisticImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
RealType itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_ForegroundValue [private]

Definition at line 132 of file itkKappaStatisticImageToImageMetric.h.


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