#include <itkMutualInformationImageToImageMetric.h>
Inheritance diagram for itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >:


MutualInformationImageToImageMetric computes the mutual information between a fixed and moving image to be registered.
This class is templated over the FixedImage type and the MovingImage type.
The fixed and moving images are set via methods SetFixedImage() and SetMovingImage(). This metric makes use of user specified Transform and Interpolator. The Transform is used to map points from the fixed image to the moving image domain. The Interpolator is used to evaluate the image intensity at user specified geometric points in the moving image. The Transform and Interpolator are set via methods SetTransform() and SetInterpolator().
The calculations are based on the method of Viola and Wells where the probability density distributions are estimated using Parzen windows.
By default a Gaussian kernel is used in the density estimation. Other option include Cauchy and spline-based. A user can specify the kernel passing in a pointer a KernelFunction using the SetKernelFunction() method.
Mutual information is estimated using two sample sets: one to calculate the singular and joint pdf's and one to calculate the entropy integral. By default 50 samples points are used in each set. Other values can be set via the SetNumberOfSpatialSamples() method.
Quality of the density estimate depends on the choice of the kernel's standard deviation. Optimal choice will depend on the images. It is can be shown that around the optimal variance, the mutual information estimate is relatively insensitive to small changes of the standard deviation. In our experiments, we have found that a standard deviation of 0.4 works well for images normalized to have a mean of zero and standard deviation of 1.0. The variance can be set via methods SetFixedImageStandardDeviation() and SetMovingImageStandardDeviation().
Implementaton of this class is based on: Viola, P. and Wells III, W. (1997). "Alignment by Maximization of Mutual Information" International Journal of Computer Vision, 24(2):137-154
Definition at line 90 of file itkMutualInformationImageToImageMetric.h.
typedef std::vector<bool> itk::ImageToImageMetric< TFixedImage, TMovingImage >::BooleanArrayType [protected, inherited] |
Definition at line 440 of file itkOptImageToImageMetric.h.
typedef BSplineInterpolateImageFunction<MovingImageType, CoordinateRepresentationType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType [protected, inherited] |
If a BSplineInterpolationFunction is used, this class obtain image derivatives from the BSpline interpolator. Otherwise, image derivatives are computed using central differencing.
Definition at line 451 of file itkOptImageToImageMetric.h.
typedef FixedArray< unsigned long, ::itk::GetImageDimension<FixedImageType>::ImageDimension > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineParametersOffsetType [protected, inherited] |
Definition at line 443 of file itkOptImageToImageMetric.h.
typedef BSplineTransformType::ParameterIndexArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndexArrayType [protected, inherited] |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 435 of file itkOptImageToImageMetric.h.
typedef Array2D<IndexValueType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndicesArrayType [protected, inherited] |
Definition at line 437 of file itkOptImageToImageMetric.h.
typedef BSplineDeformableTransform< CoordinateRepresentationType, ::itk::GetImageDimension<FixedImageType>::ImageDimension, itkGetStaticConstMacro(DeformationSplineOrder) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformType [protected, inherited] |
Definition at line 428 of file itkOptImageToImageMetric.h.
typedef Array2D<WeightsValueType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsArrayType [protected, inherited] |
Definition at line 432 of file itkOptImageToImageMetric.h.
typedef BSplineTransformType::WeightsType itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsType [protected, inherited] |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 430 of file itkOptImageToImageMetric.h.
| typedef SmartPointer<const Self> itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 99 of file itkMutualInformationImageToImageMetric.h.
| typedef Superclass::DerivativeType itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Type of the derivative.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 113 of file itkMutualInformationImageToImageMetric.h.
| typedef Superclass::FixedImageConstPointer itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 117 of file itkMutualInformationImageToImageMetric.h.
typedef std::vector<FixedImageIndexType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer [inherited] |
Definition at line 114 of file itkOptImageToImageMetric.h.
| typedef FixedImageType::IndexType itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType |
Index and Point typedef support.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 121 of file itkMutualInformationImageToImageMetric.h.
| typedef FixedImageIndexType::IndexValueType itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 122 of file itkMutualInformationImageToImageMetric.h.
typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer [inherited] |
Definition at line 145 of file itkOptImageToImageMetric.h.
typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer [inherited] |
Definition at line 136 of file itkImageToImageMetric.h.
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType [inherited] |
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 144 of file itkOptImageToImageMetric.h.
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType [inherited] |
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 135 of file itkImageToImageMetric.h.
typedef TFixedImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType [inherited] |
Reimplemented in itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, and itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 82 of file itkOptImageToImageMetric.h.
| typedef TransformType::InputPointType itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 124 of file itkMutualInformationImageToImageMetric.h.
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType [inherited] |
Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >, and itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 84 of file itkOptImageToImageMetric.h.
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType [inherited] |
Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >, and itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 83 of file itkImageToImageMetric.h.
typedef std::vector<FixedImageSamplePoint> itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageSampleContainer [protected, inherited] |
FixedImageSamplePoint typedef support.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 364 of file itkOptImageToImageMetric.h.
| typedef Superclass::FixedImageType itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Type of the fixed Image.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 115 of file itkMutualInformationImageToImageMetric.h.
typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer [inherited] |
Definition at line 134 of file itkOptImageToImageMetric.h.