|
virtual const char * | GetNameOfClass () const |
|
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual double | GetDerivativeStepLength () const |
|
virtual const ScalesType & | GetDerivativeStepLengthScales () const |
|
virtual const HistogramPointer & | GetHistogram () const |
|
virtual const HistogramSizeType & | GetHistogramSize () const |
|
const MeasurementVectorType & | GetLowerBound () const |
|
virtual const FixedImagePixelType & | GetPaddingValue () const |
|
const MeasurementVectorType & | GetUpperBound () const |
|
MeasureType | GetValue (const TransformParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
|
void | Initialize () override |
|
virtual void | SetDerivativeStepLength (double _arg) |
|
virtual void | SetDerivativeStepLengthScales (ScalesType _arg) |
|
virtual void | SetHistogramSize (HistogramSizeType _arg) |
|
void | SetLowerBound (const MeasurementVectorType &bounds) |
|
virtual void | SetPaddingValue (FixedImagePixelType _arg) |
|
void | SetTransform (TransformType *transform) override |
|
void | SetUpperBound (const MeasurementVectorType &bounds) |
|
virtual void | SetUpperBoundIncreaseFactor (double _arg) |
|
virtual double | GetUpperBoundIncreaseFactor () const |
|
virtual void | SetUsePaddingValue (bool _arg) |
|
virtual bool | GetUsePaddingValue () const |
|
virtual void | ComputeGradient () |
|
virtual const FixedImageRegionType & | GetFixedImageRegion () const |
|
virtual const FixedImagePixelType & | GetFixedImageSamplesIntensityThreshold () const |
|
virtual GradientImageType * | GetModifiableGradientImage () |
|
virtual InterpolatorType * | GetModifiableInterpolator () |
|
virtual TransformType * | GetModifiableTransform () |
|
SizeValueType | GetNumberOfMovingImageSamples () |
|
unsigned int | GetNumberOfParameters () const override |
|
virtual const SizeValueType & | GetNumberOfPixelsCounted () const |
|
SizeValueType | GetNumberOfSpatialSamples () |
|
virtual const bool & | GetUseAllPixels () const |
|
virtual const bool & | GetUseFixedImageIndexes () const |
|
virtual const bool & | GetUseFixedImageSamplesIntensityThreshold () const |
|
virtual const bool & | GetUseSequentialSampling () const |
|
virtual void | MultiThreadingInitialize () |
|
void | SetFixedImageIndexes (const FixedImageIndexContainer &indexes) |
|
virtual void | SetFixedImageRegion (const FixedImageRegionType reg) |
|
void | SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh) |
|
virtual void | SetInterpolator (InterpolatorType *_arg) |
|
void | SetNumberOfSpatialSamples (SizeValueType num) |
|
void | SetTransformParameters (const ParametersType ¶meters) const |
|
void | SetUseAllPixels (bool useAllPixels) |
|
void | SetUseFixedImageIndexes (bool useIndexes) |
|
void | SetUseFixedImageSamplesIntensityThreshold (bool useThresh) |
|
void | SetUseSequentialSampling (bool useSequential) |
|
void | UseAllPixelsOff () |
|
void | UseAllPixelsOn () |
|
virtual void | SetFixedImage (const FixedImageType *_arg) |
|
virtual const FixedImageType * | GetFixedImage () const |
|
virtual void | SetMovingImage (const MovingImageType *_arg) |
|
virtual const MovingImageType * | GetMovingImage () const |
|
virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
|
virtual void | SetMovingImageMask (const MovingImageMaskType *_arg) |
|
virtual const MovingImageMaskType * | GetMovingImageMask () const |
|
virtual void | SetFixedImageMask (FixedImageMaskType *_arg) |
|
virtual void | SetFixedImageMask (const FixedImageMaskType *_arg) |
|
virtual const FixedImageMaskType * | GetFixedImageMask () const |
|
void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
|
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
|
virtual void | SetComputeGradient (bool _arg) |
|
virtual const bool & | GetComputeGradient () const |
|
virtual void | ComputeGradientOn () |
|
virtual void | SetNumberOfFixedImageSamples (SizeValueType numSamples) |
|
virtual const SizeValueType & | GetNumberOfFixedImageSamples () const |
|
void | ReinitializeSeed () |
|
void | ReinitializeSeed (int seed) |
|
virtual void | SetUseCachingOfBSplineWeights (bool _arg) |
|
virtual const bool & | GetUseCachingOfBSplineWeights () const |
|
virtual void | UseCachingOfBSplineWeightsOn () |
|
virtual MultiThreaderType * | GetModifiableThreader () |
|
const TransformPointer * | GetThreaderTransform () |
|
virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
|
virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
|
virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
|
unsigned long | AddObserver (const EventObject &event, Command *) |
|
unsigned long | AddObserver (const EventObject &event, Command *) const |
|
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
|
LightObject::Pointer | CreateAnother () const override |
|
virtual void | DebugOff () const |
|
virtual void | DebugOn () const |
|
Command * | GetCommand (unsigned long tag) |
|
bool | GetDebug () const |
|
MetaDataDictionary & | GetMetaDataDictionary () |
|
const MetaDataDictionary & | GetMetaDataDictionary () const |
|
virtual ModifiedTimeType | GetMTime () const |
|
virtual const TimeStamp & | GetTimeStamp () const |
|
bool | HasObserver (const EventObject &event) const |
|
void | InvokeEvent (const EventObject &) |
|
void | InvokeEvent (const EventObject &) const |
|
virtual void | Modified () const |
|
void | Register () const override |
|
void | RemoveAllObservers () |
|
void | RemoveObserver (unsigned long tag) |
|
void | SetDebug (bool debugFlag) const |
|
void | SetReferenceCount (int) override |
|
void | UnRegister () const noexcept override |
|
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
|
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
|
virtual void | SetObjectName (std::string _arg) |
|
virtual const std::string & | GetObjectName () const |
|
Pointer | Clone () const |
|
virtual void | Delete () |
|
virtual int | GetReferenceCount () const |
|
| itkTypeMacroNoParent (LightObject) |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
|
MeasureType | EvaluateMeasure (HistogramType &histogram) const override |
|
|
| NormalizedMutualInformationHistogramImageToImageMetric ()=default |
|
| ~NormalizedMutualInformationHistogramImageToImageMetric () override=default |
|
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 |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| HistogramImageToImageMetric () |
|
| ~HistogramImageToImageMetric () override=default |
|
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 |
|
| SingleValuedCostFunction ()=default |
|
| ~SingleValuedCostFunction () override |
|
| CostFunctionTemplate ()=default |
|
| ~CostFunctionTemplate () override=default |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
| ~Object () override |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|
template<typename TFixedImage, typename TMovingImage>
class itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >
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.
- Examples
- Examples/RegistrationITKv4/ImageRegistration14.cxx, and Examples/RegistrationITKv4/ImageRegistration15.cxx.
Definition at line 52 of file itkNormalizedMutualInformationHistogramImageToImageMetric.h.