#include <elxNormalizedMutualInformationMetric.h>
A metric based on the itk::ParzenWindowNormalizedMutualInformationImageToImageMetric.
The parameters used in this class are:
Metric: Select this metric as follows:
(Metric "NormalizedMutualInformation")
NumberOfHistogramBins: The size of the histogram. Must be given for each resolution, or for all resolutions at once.
example: (NumberOfHistogramBins 32 32 64)
The default is 32 for each resolution.
NumberOfFixedHistogramBins: The size of the histogram in the fixed dimension. Can be given for each resolution, or for all resolutions at once. If not given, NumberOfHistograms is used.
example: (NumberOfFixedHistogramBins 32 32 64)
The default is the value of NumberOfHistograms.
NumberOfMovingHistogramBins: The size of the histogram in the fixed dimension. Can be given for each resolution, or for all resolutions at once. If not given, NumberOfHistograms is used.
example: (NumberOfMovingHistogramBins 32 32 64)
The default is the value of NumberOfHistograms.
FixedKernelBSplineOrder: The B-spline order of the Parzen window, used to estimate the joint histogram. Can be given for each resolution, or for all resolutions at once.
example: (FixedKernelBSplineOrder 0 1 1)
The default value is 0.
MovingKernelBSplineOrder: The B-spline order of the Parzen window, used to estimate the joint histogram. Can be given for each resolution, or for all resolutions at once.
example: (MovingKernelBSplineOrder 3 3 3)
The default value is 3.
FixedLimitRangeRatio: The relative extension of the intensity range of the fixed image.
If your image has gray values from 0 to 1000 and the FixedLimitRangeRatio is 0.001, the joint histogram will expect fixed image gray values from -0.001 to 1000.001. This may be useful if you use high order B-spline interpolator for the fixed image.
example: (FixedLimitRangeRatio 0.001 0.01 0.01)
The default value is 0.01. Can be given for each resolution, or for all resolutions at once.
MovingLimitRangeRatio: The relative extension of the intensity range of the moving image.
If your image has gray values from 0 to 1000 and the MovingLimitRangeRatio is 0.001, the joint histogram will expect moving image gray values from -0.001 to 1000.001. This may be useful if you use high order B-spline interpolator for the moving image.
example: (MovingLimitRangeRatio 0.001 0.01 0.01)
The default value is 0.01. Can be given for each resolution, or for all resolutions at once.
Definition at line 73 of file elxNormalizedMutualInformationMetric.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage > | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
NormalizedMutualInformationMetric () | |
~NormalizedMutualInformationMetric () override=default | |
Protected Member Functions inherited from itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage > | |
virtual void | ComputeLogMarginalPDF (MarginalPDFType &pdf) const |
virtual MeasureType | ComputeNormalizedMutualInformation (MeasureType &jointEntropy) const |
ParzenWindowNormalizedMutualInformationImageToImageMetric ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ParzenWindowNormalizedMutualInformationImageToImageMetric () override=default | |
Protected Member Functions inherited from itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage > | |
void | AfterThreadedComputePDFs () const |
virtual void | ComputeIncrementalMarginalPDFs (const JointPDFDerivativesType *incrementalPDF, IncrementalMarginalPDFType *fixedIncrementalMarginalPDF, IncrementalMarginalPDFType *movingIncrementalMarginalPDF) const |
void | ComputeMarginalPDF (const JointPDFType *jointPDF, MarginalPDFType &marginalPDF, const unsigned int direction) const |
virtual void | ComputePDFs (const ParametersType ¶meters) const |
virtual void | ComputePDFsAndIncrementalPDFs (const ParametersType ¶meters) const |
virtual void | ComputePDFsAndPDFDerivatives (const ParametersType ¶meters) const |
virtual void | ComputePDFsSingleThreaded (const ParametersType ¶meters) const |
virtual void | GetValueAndAnalyticDerivative (const ParametersType &, MeasureType &, DerivativeType &) const |
virtual void | GetValueAndFiniteDifferenceDerivative (const ParametersType &, MeasureType &, DerivativeType &) const |
virtual void | InitializeHistograms () |
virtual void | InitializeKernels () |
void | InitializeThreadingParameters () const override |
void | LaunchComputePDFsThreaderCallback () const |
void | NormalizeJointPDF (JointPDFType *pdf, const double factor) const |
void | NormalizeJointPDFDerivatives (JointPDFDerivativesType *pdf, const double factor) const |
ParzenWindowHistogramImageToImageMetric () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | ThreadedComputePDFs (ThreadIdType threadId) |
virtual void | UpdateJointPDFAndDerivatives (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType *imageJacobian, const NonZeroJacobianIndicesType *nzji, JointPDFType *jointPDF) const |
virtual void | UpdateJointPDFAndIncrementalPDFs (RealType fixedImageValue, RealType movingImageValue, RealType movingMaskValue, const DerivativeType &movingImageValuesRight, const DerivativeType &movingImageValuesLeft, const DerivativeType &movingMaskValuesRight, const DerivativeType &movingMaskValuesLeft, const NonZeroJacobianIndicesType &nzji) const |
void | UpdateJointPDFDerivatives (const JointPDFIndexType &pdfIndex, double factor, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji) const |
~ParzenWindowHistogramImageToImageMetric () override=default | |
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage > | |
AdvancedImageToImageMetric () | |
virtual void | AfterThreadedGetValue (MeasureType &) const |
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const |
void | CheckForAdvancedTransform () |
void | CheckForBSplineInterpolator () |
void | CheckForBSplineTransform () const |
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
virtual void | InitializeImageSampler () |
void | InitializeLimiters () |
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) | |
void | LaunchGetValueAndDerivativeThreaderCallback () const |
void | LaunchGetValueThreaderCallback () const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
virtual void | SetUseFixedImageLimiter (bool _arg) |
virtual void | SetUseImageSampler (bool _arg) |
virtual void | SetUseMovingImageLimiter (bool _arg) |
virtual void | ThreadedGetValue (ThreadIdType) const |
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const |
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
~AdvancedImageToImageMetric () override=default | |
Protected Member Functions inherited from elastix::MetricBase< TElastix > | |
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
MetricBase ()=default | |
~MetricBase () override=default | |
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
BaseComponentSE ()=default | |
~BaseComponentSE () override=default | |
Protected Member Functions inherited from elastix::BaseComponent | |
BaseComponent ()=default | |
virtual | ~BaseComponent ()=default |
Private Attributes | |
elxOverrideGetSelfMacro | |
using elastix::NormalizedMutualInformationMetric< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 89 of file elxNormalizedMutualInformationMetric.h.
using elastix::NormalizedMutualInformationMetric< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 151 of file elxNormalizedMutualInformationMetric.h.
using elastix::NormalizedMutualInformationMetric< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 88 of file elxNormalizedMutualInformationMetric.h.
using elastix::NormalizedMutualInformationMetric< TElastix >::Self = NormalizedMutualInformationMetric |
Standard ITK-stuff.
Definition at line 83 of file elxNormalizedMutualInformationMetric.h.
using elastix::NormalizedMutualInformationMetric< TElastix >::Superclass1 |
Definition at line 84 of file elxNormalizedMutualInformationMetric.h.
using elastix::NormalizedMutualInformationMetric< TElastix >::Superclass2 = MetricBase<TElastix> |
Definition at line 87 of file elxNormalizedMutualInformationMetric.h.
|
inlineprotected |
The constructor.
Definition at line 168 of file elxNormalizedMutualInformationMetric.h.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Execute stuff before each new pyramid resolution:
Reimplemented from elastix::BaseComponent.
elastix::NormalizedMutualInformationMetric< TElastix >::elxClassNameMacro | ( | "NormalizedMutualInformation" | ) |
Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "NormalizedMutualInformation")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
|
override |
Set up a timer to measure the initialization time and call the Superclass' implementation.
elastix::NormalizedMutualInformationMetric< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | NormalizedMutualInformationMetric< TElastix > | ) |
elastix::NormalizedMutualInformationMetric< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
FixedImageType::ImageDimension | ) |
The fixed image dimension.
elastix::NormalizedMutualInformationMetric< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
MovingImageType::ImageDimension | ) |
The moving image dimension.
|
static |
Method for creation through the object factory.
|
private |
Definition at line 175 of file elxNormalizedMutualInformationMetric.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |