#include <itkMatchCardinalityImageToImageMetric.h>
Inheritance diagram for itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >:


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.
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 MatchCardinalityImageToImageMetric | 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 | |
| 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 const bool & | GetComputeGradient () |
| bool | GetDebug () const |
| virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
| Get the derivatives of the match measure *void | GetDerivative (const TransformParametersType &, DerivativeType &derivative) const |
| virtual const FixedImageType * | GetFixedImage () |
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| virtual const FixedImageRegionType & | GetFixedImageRegion () |
| virtual const GradientImageType * | GetGradientImage () |
| virtual const InterpolatorType * | GetInterpolator () |
| virtual bool | GetMeasureMatches () |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| virtual const MovingImageType * | GetMovingImage () |
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| virtual unsigned long | GetMTime () const |
| MultiThreader * | GetMultiThreader () |
| virtual const char * | GetNameOfClass () const |
| unsigned int | GetNumberOfParameters (void) const |
| virtual const unsigned long & | GetNumberOfPixelsCounted () |
| virtual const int & | GetNumberOfThreads () |
| virtual int | GetReferenceCount () const |
| virtual const TransformType * | GetTransform () |
| virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
| 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 |
| 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 |
| 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 | MeasureMatchesOff () |
| virtual void | MeasureMatchesOn () |
| 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) |
| virtual void | SetInterpolator (InterpolatorType *_arg) |
| Set Get whether this metric measures pixel matches or pixel *mismatches Note the the metric measures the percentage of pixel matches *or mismatches The default is to measure matches *MeasureMatchesOn *virtual void | SetMeasureMatches (bool _arg) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| virtual void | SetMovingImage (const MovingImageType *_arg) |
| Set Get the moving image mask *virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
| Get Set the number of threads to create when executing *virtual void | SetNumberOfThreads (int _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 | |
| MeasureType | GetNonconstValue (const TransformParametersType ¶meters) |
| MatchCardinalityImageToImageMetric () | |
| 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 int | SplitFixedRegion (int i, int num, FixedImageRegionType &splitRegion) |
| virtual void | ThreadedGetValue (const FixedImageRegionType &outputRegionForThread, int threadId) |
| virtual | ~MatchCardinalityImageToImageMetric () |
Static Protected Member Functions | |
| static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
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 |
Classes | |
| struct | ThreadStruct |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 72 of file itkMatchCardinalityImageToImageMetric.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 90 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 93 of file itkMatchCardinalityImageToImageMetric.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 95 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Type of the fixed Image. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 91 of file itkMatchCardinalityImageToImageMetric.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 87 of file itkMatchCardinalityImageToImageMetric.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 89 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 94 of file itkMatchCardinalityImageToImageMetric.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 92 of file itkMatchCardinalityImageToImageMetric.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 71 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Types transferred from the base class Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 78 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 68 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 69 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 86 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 85 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 84 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||
|
Type of the Transform Base class Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. Definition at line 83 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||||||
|
|
|
|||||||||
|
Definition at line 137 of file itkMatchCardinalityImageToImageMetric.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 >. |
|
||||||||||||||||
|
Definition at line 99 of file itkMatchCardinalityImageToImageMetric.h. References itkWarningMacro. |
|
|||||||||
|
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. |
|
|||||||||
|
|
|
|
|||||||||
|
Return the multithreader used by this class. Definition at line 132 of file itkMatchCardinalityImageToImageMetric.h. |
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >. |
|
||||||||||
|
Non-const version of GetValue(). This is a hack around various const issues with trying to spawn threads from the const version of GetValue(). |
|
||||||||||
|
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 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. |
|
||||||||||||||||
|
|
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. |
|
||||||||||||||||||||
|
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". |
|
||||||||||||||||
|
Thread worker routine to calculate the contribution of the a subregion to the overall metric. Can only be called from GetValue(). |
|
||||||||||
|
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(). |
|
|
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