#include <itkKappaStatisticImageToImageMetric.h>
Inheritance diagram for itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >:


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 52 of file itkKappaStatisticImageToImageMetric.h.
Public Types | |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef Superclass::ParametersValueType | CoordinateRepresentationType |
| typedef Superclass::DerivativeType | DerivativeType |
| typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
| typedef FixedImageMaskType::Pointer | FixedImageMaskPointer |
| typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) | FixedImageMaskType ) |
| typedef Superclass::FixedImageRegionType | FixedImageRegionType |
| typedef Superclass::FixedImageType | FixedImageType |
| typedef GradientImageFilterType::Pointer | GradientImageFilterPointer |
| typedef GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > | GradientImageFilterType |
| typedef SmartPointer< GradientImageType > | GradientImagePointer |
| typedef Image< GradientPixelType, itkGetStaticConstMacro(MovingImageDimension) | GradientImageType ) |
| typedef Superclass::GradientPixelType | GradientPixelType |
| typedef TransformType::InputPointType | InputPointType |
| typedef InterpolatorType::Pointer | InterpolatorPointer |
| typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > | InterpolatorType |
| typedef Superclass::MeasureType | MeasureType |
| typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
| typedef MovingImageMaskType::Pointer | MovingImageMaskPointer |
| typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) | MovingImageMaskType ) |
| typedef TMovingImage::PixelType | MovingImagePixelType |
| typedef Superclass::MovingImageType | MovingImageType |
| typedef TransformType::OutputPointType | OutputPointType |
| typedef Superclass::ParametersType | ParametersType |
| typedef double | ParametersValueType |
| typedef SmartPointer< Self > | Pointer |
| 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 | |
| Set Get whether this metric returns *A &the default or *A & | B (|A|+|B|)*(ComplementOn).When using an optimizer that minimizes *metric values use ComplementOn().*/virtual void SetComplement(bool _arg) |
| Set Get whether this metric returns *A & | B (|A|+|B|)*(ComplementOff |
| virtual void | ComplementOff () |
| virtual void | ComplementOn () |
| virtual void | ComputeGradientOff () |
| virtual void | ComputeGradientOn () |
| virtual LightObject::Pointer | CreateAnother () const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| virtual void | Delete () |
| Command * | GetCommand (unsigned long tag) |
| virtual bool | GetComplement () |
| virtual const bool & | GetComputeGradient () |
| bool | GetDebug () const |
| virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
| void | GetDerivative (const TransformParametersType &, DerivativeType &derivative) const |
| virtual const FixedImageType * | GetFixedImage () |
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| virtual const FixedImageRegionType & | GetFixedImageRegion () |
| virtual RealType | GetForegroundValue () |
| virtual const GradientImageType * | GetGradientImage () |
| virtual const InterpolatorType * | GetInterpolator () |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| virtual const MovingImageType * | GetMovingImage () |
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| unsigned int | GetNumberOfParameters (void) const |
| virtual const unsigned long & | GetNumberOfPixelsCounted () |
| virtual int | GetReferenceCount () const |
| virtual const TransformType * | GetTransform () |
| virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
| MeasureType | GetValue (const TransformParametersType ¶meters) const |
| This method returns the value and derivative of the cost function corresponding *to the specified parameters *virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
| void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const |
| bool | HasObserver (const EventObject &event) const |
| virtual void | Initialize (void) throw ( ExceptionObject ) |
| void | InvokeEvent (const EventObject &) const |
| void | InvokeEvent (const EventObject &) |
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) | |
| Constants for the image dimensions * | itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
| virtual void | Modified () const |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| Set Get gradient computation *virtual void | SetComputeGradient (bool _arg) |
| void | SetDebug (bool debugFlag) const |
| virtual void | SetFixedImage (const FixedImageType *_arg) |
| Set Get the fixed image mask *virtual void | SetFixedImageMask (FixedImageMaskType *_arg) |
| virtual void | SetFixedImageRegion (FixedImageRegionType _arg) |
| This method allows the user to set the foreground value The default *value is *virtual void | SetForegroundValue (RealType _arg) |
| virtual void | SetInterpolator (InterpolatorType *_arg) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| virtual void | SetMovingImage (const MovingImageType *_arg) |
| Set Get the moving image mask *virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
| virtual void | SetReferenceCount (int) |
| virtual void | SetTransform (TransformType *_arg) |
| void | SetTransformParameters (const ParametersType ¶meters) const |
| virtual void | UnRegister () const |
Static Public Member Functions | |
| static void | BreakOnError () |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| This is a global flag that controls whether any warning *or error messages are displayed *static void | SetGlobalWarningDisplay (bool flag) |
Public Attributes | |
| Allow people to add remove invoke observers(callbacks) to any ITK *object.This is an implementation of the subject/observer design *pattern.An observer is added by specifying an event to respond to *and an itk unsigned lon | AddObserver )(const EventObject &event, Command *) const |
| This is a global flag that controls whether any | debug |
Protected Member Functions | |
| KappaStatisticImageToImageMetric () | |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| virtual | ~KappaStatisticImageToImageMetric () |
Protected Attributes | |
| bool | m_ComputeGradient |
| FixedImageConstPointer | m_FixedImage |
| FixedImageMaskPointer | m_FixedImageMask |
| GradientImagePointer | m_GradientImage |
| InterpolatorPointer | m_Interpolator |
| MovingImageConstPointer | m_MovingImage |
| MovingImageMaskPointer | m_MovingImageMask |
| unsigned long | m_NumberOfPixelsCounted |
| int | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
| TransformPointer | m_Transform |
| Methods invoked by virtual 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.*/virtual void PrintSelf(std voi | PrintHeader )(std::ostream &os, Indent indent) const |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 62 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Type used for representing point components Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 61 of file itkImageToImageMetric.h. |
|
|||||
|
Type of the derivative. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 79 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 82 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Definition at line 122 of file itkImageToImageMetric.h. |
|
|||||
|
Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric Definition at line 121 of file itkImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 84 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Type of the fixed Image. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 80 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Definition at line 110 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 109 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 106 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 105 of file itkImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 76 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented in itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 89 of file itkImageToImageMetric.h. |
|
|||||
|
Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 114 of file itkImageToImageMetric.h. |
|
|||||
|
Type of the Interpolator Base class Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 97 of file itkImageToImageMetric.h. |
|
|||||
|
Type of the measure. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 78 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 83 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Definition at line 128 of file itkImageToImageMetric.h. |
|
|||||
|
Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric Definition at line 127 of file itkImageToImageMetric.h. |
|
|||||
|
Reimplemented in itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 68 of file itkImageToImageMetric.h. |
|
|||||
|
Type of the moving Image. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 81 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented in itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 90 of file itkImageToImageMetric.h. |
|
|||||
|
Type of the parameters. Reimplemented from itk::SingleValuedCostFunction. Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 139 of file itkImageToImageMetric.h. |
|
|
ParametersType typedef. It defines a position in the optimization search space. Definition at line 46 of file itkCostFunction.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 61 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Types transferred from the base class Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 68 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 58 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 59 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 75 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 74 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 73 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||
|
Type of the Transform Base class Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 72 of file itkKappaStatisticImageToImageMetric.h. |
|
|||||||||
|
|
|
|||||||||
|
Definition at line 122 of file itkKappaStatisticImageToImageMetric.h. |
|
||||||||||
|
|
|
||||||||||
|
|
|
|
This method is called when itkExceptionMacro executes. It allows the debugger to break on error. |
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|
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::LightObject. |
|
|
Turn debugging output off. |
|
|
Turn debugging output on. |
|
|
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting. |
|
|
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used. |
|
|||||||||
|
|
|
|||||||||
|
|
|
|
Get the value of the debug flag. |
|
||||||||||||
|
This method returns the derivative of the cost function corresponding to the specified parameters. Implemented in itk::ImageToSpatialObjectMetric< TFixedImage, TMovingSpatialObject >, itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ShapePriorMAPCostFunctionBase< TFeatureImage, TOutputPixel >, and itk::Statistics::GoodnessOfFitMixtureModelCostFunction< TInputSample >. |
|
||||||||||||||||
|
Get the derivatives of the match measure. |
|
|||||||||
|
Get the Fixed Image. |
|
|||||||||
|
|
|
|||||||||
|
Get the region over which the metric will be computed |
|
|||||||||
|
|
|
|
|
|
|||||||||
|
Get Gradient Image. |
|
|||||||||
|
Get a pointer to the Interpolator. |
|
|
|
|
|
|
|
|||||||||
|
Get the Moving Image. |
|
|||||||||
|
|
|
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. |
|
||||||||||
|
Return the number of parameters required by the Transform Implements itk::CostFunction. Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 197 of file itkImageToImageMetric.h. |
|
|||||||||
|
Get the number of pixels considered in the computation. |
|
|
Gets the reference count on this object. Definition at line 98 of file itkLightObject.h. |
|
|||||||||
|
Get a pointer to the Transform. |
|
|
This method returns the value of the cost function corresponding to the specified parameters. Implemented in itk::ImageToSpatialObjectMetric< TFixedImage, TMovingSpatialObject >, itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ShapePriorMAPCostFunctionBase< TFeatureImage, TOutputPixel >, and itk::Statistics::GoodnessOfFitMixtureModelCostFunction< TInputSample >. |
|
||||||||||
|
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|). |
|
||||||||||||||||
|
||||||||||||||||||||
|
Get both the value and derivative. This method internally calls the |
|
|
Definition at line 100 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Definition at line 98 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Return true if an observer is registered for this event. |
|
||||||||||
|
Initialize the Metric by making sure that all the components are present and plugged together correctly Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >. |
|
|
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object. |
|
|
Call Execute on all the Commands observing this event id. |
|
||||||||||||||||||||
|
Reimplemented in itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >. |
|
||||||||||||||||||||
|
|
|
|
|||||||||
|
Method for creation through the object factory. Reimplemented from itk::Object. |
|
||||||||||||
|
Cause the object to print itself out. |
|
||||||||||||
|
|
|
||||||||||||||||
|
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 >. |
|
||||||||||||
|
|
|
|
Increase the reference count (mark as used by another object). Reimplemented from itk::LightObject. |
|
|
Remove all observers . |
|
|
Remove the observer with this tag value. |
|
||||||||||
|
|
|
|
Set the value of the debug flag. A non-zero value turns debugging on. |
|
||||||||||
|
Connect the Fixed Image. |
|
||||||||||
|
|
|
||||||||||
|
Set the region over which the metric will be computed |
|
||||||||||
|
|
|
|
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn(). |
|
||||||||||
|
Connect the Interpolator. |
|
|
|
|
||||||||||
|
Connect the Moving Image. |
|
||||||||||
|
|
|
|
Sets the reference count (use with care) Reimplemented from itk::LightObject. |
|
||||||||||
|
Connect the Transform. |
|
||||||||||
|
Set the parameters defining the Transform. |
|
|
Decrease the reference count (release by another object). Reimplemented from itk::LightObject. |
|
|
|
|
|
Definition at line 94 of file itkObject.h. |
|
|||||
|
Definition at line 217 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 211 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 220 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 218 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 215 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 212 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 221 of file itkImageToImageMetric.h. |
|
|||||
|
Definition at line 209 of file itkImageToImageMetric.h. |
|
|
Number of uses of this object by other objects. Definition at line 119 of file itkLightObject.h. |
|
|
Mutex lock to protect modification to the reference count Definition at line 122 of file itkLightObject.h. |
|
|||||
|
Definition at line 214 of file itkImageToImageMetric.h. |
|
|
|
1.4.2 written by Dimitri van Heesch,
© 1997-2000