ITK
6.0.0
Insight Toolkit
|
#include <itkNormalizedMutualInformationHistogramImageToImageMetric.h>
Computes normalized mutual information between two images to be registered using the histograms of the intensities in the images.
The type of Normalize Mutual Information implemented in this class is given by the equation
\[ \frac{ H(A) + H(B) }{ H(A,B) } \]
Where $ H(A) $ is the entropy of image $ A $, $ H(B) $ is the entropy of image $ B $, and $ H(A,B) $ is the joint entropy of images $ A $ and $ B $.
Details of this implementation can be found in the book "Medical Image Registration" by Hajnal, Hill and Hawkes. The book is available online at https://books.google.com/books?id=2dtQNsk-qBQC The implementation of this class corresponds to equation (30) in Chapter 3 of this book. Note that by slightly changing this class it will be trivial to compute the Normalized Mutual Information measures defined in equations (28) and (29) of the same book.
This class is templated over the type of the fixed and moving images to be compared.
Definition at line 52 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
MeasureType | EvaluateMeasure (HistogramType &histogram) const override |
NormalizedMutualInformationHistogramImageToImageMetric ()=default | |
~NormalizedMutualInformationHistogramImageToImageMetric () override=default | |
Protected Member Functions inherited from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage > | |
void | ComputeHistogram (const TransformParametersType ¶meters, HistogramType &histogram) const |
void | ComputeHistogram (const TransformParametersType ¶meters, unsigned int parameter, double step, HistogramType &histogram) const |
void | CopyHistogram (HistogramType &target, HistogramType &source) const |
virtual MeasureType | EvaluateMeasure (HistogramType &histogram) const =0 |
void | PrintSelf (std::ostream &os, Indent indent) const override |
HistogramImageToImageMetric () | |
~HistogramImageToImageMetric () override=default | |
Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage > | |
virtual void | ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadId) const |
void | GetValueAndDerivativeMultiThreadedInitiate () const |
void | GetValueAndDerivativeMultiThreadedPostProcessInitiate () const |
virtual void | GetValueAndDerivativeThread (ThreadIdType threadId) const |
virtual void | GetValueAndDerivativeThreadPostProcess (ThreadIdType, bool) const |
virtual void | GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const |
virtual bool | GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const |
ImageToImageMetric () | |
virtual void | PreComputeTransformValues () |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SampleFixedImageIndexes (FixedImageSampleContainer &samples) const |
virtual void | SampleFixedImageRegion (FixedImageSampleContainer &samples) const |
virtual void | SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const |
virtual void | SynchronizeTransforms () const |
virtual void | TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ThreadIdType threadId) const |
virtual void | TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ImageDerivativesType &movingImageGradient, ThreadIdType threadId) const |
~ImageToImageMetric () override=default | |
void | GetValueMultiThreadedInitiate () const |
void | GetValueMultiThreadedPostProcessInitiate () const |
virtual void | GetValueThread (ThreadIdType threadId) const |
virtual void | GetValueThreadPreProcess (ThreadIdType, bool) const |
virtual bool | GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const |
virtual void | GetValueThreadPostProcess (ThreadIdType, bool) const |
Protected Member Functions inherited from itk::SingleValuedCostFunction | |
SingleValuedCostFunction ()=default | |
~SingleValuedCostFunction () override | |
Protected Member Functions inherited from itk::CostFunctionTemplate< double > | |
CostFunctionTemplate ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~CostFunctionTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 62 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramFrequencyType = typename HistogramType::AbsoluteFrequencyType |
Definition at line 86 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramIteratorType = typename HistogramType::Iterator |
Definition at line 87 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramMeasurementVectorType = typename HistogramType::MeasurementVectorType |
Definition at line 88 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 61 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self = NormalizedMutualInformationHistogramImageToImageMetric |
Standard class type aliases.
Definition at line 59 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
using itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass = HistogramImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 60 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.
|
protecteddefault |
Constructor is protected to ensure that New()
function is used to create instances.
|
overrideprotecteddefault |
Constructor is protected to ensure that New()
function is used to create instances.
|
overrideprotectedvirtual |
Evaluates the normalized mutual information from the histogram.
Implements itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
overridevirtual |
Reimplemented from itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
static |
Method for creation through the object factory.