returns a distance measure between image1 and image2.


places the center of image2 at position pos in image1.


places the point pos2 of image2 at position pos1 in image1.

Details and Options

  • ImageDistance[image1,image2] centers image2 in image1 and returns the distance between the overlapping regions in the two images.
  • ImageDistance works with arbitrary 2D and 3D images.
  • Images should either have the same number of channels or one should be a single-channel image. If either of image1 or image2 is a single-channel image, the channel is replicated to match the number of channels in the other image.
  • Position specification pos can be of the form:
  • {x,y} or {x,y,z}absolute pixel position
    Scaled[{sx,}]scaled position from 0 to 1 across the object
    Centercenter alignment
    Left,Right axis in both 2D and 3D
    Bottom,Top axis in 2D, axis in 3D
    Front,Back axis in 3D
    {posx,}a list of named positions
  • If alignment along each axis is not given, it is assumed to be Center.
  • The following options can be given:
  • DistanceFunctionEuclideanDistancedistance function to use
    MaskingAllregion of interest
  • Some typical distance function settings include:
  • EuclideanDistanceEuclidean distance (default)
    SquaredEuclideanDistancesquared Euclidean distance
    NormalizedSquaredEuclideanDistancenormalized squared Euclidean distance
    ManhattanDistanceManhattan or "city block" distance
    CosineDistanceangular cosine distance
    CorrelationDistancecorrelation coefficient distance
    ffunction f that is given the overlapping regions of the two images as arguments
  • The following special distance functions are also supported:
  • "MeanEuclideanDistance"mean Euclidean distance
    "MeanSquaredEuclideanDistance"mean squared Euclidean distance
    "RootMeanSquare"mean squared root distance
    {"MeanReciprocalSquaredEuclideanDistance",λ}one minus the mean of the robust distances , where is the Euclidean distance of corresponding pixels (default )
    {"MutualInformationVariation",n}joint entropy minus mutual information using n-bin histogram (default )
    {"NormalizedMutualInformationVariation",n}the mutual information variation divided by the joint entropy using n-bin histogram (default )
    {"DifferenceNormalizedEntropy",n}entropy of the difference image using n-bin histogram (default )
    "MeanPatternIntensity"mean local pattern intensity difference
    "GradientCorrelation"mean of the correlation distances between the spatial derivatives
    "MeanReciprocalGradientDistance"one minus the mean of the distances , with values and variances of the spatial derivatives along dimension s of imagei
    {"EarthMoverDistance",n}earth mover distance using n-bin histogram
  • Using Masking->roi, a region of interest in image1 is specified. With Masking->{roi1,roi2}, the intersection of roi1 and roi2 on the overlapped images is used.
  • Predefined ImageDistance metrics are symmetric and non-negative. However, some distances may not satisfy the triangle inequality. The distance between two images can be 0 with some methods, even if they are not identical. User-defined functions might break these properties.
  • If there are no overlapping regions or the measure cannot be determined, Indeterminate is returned. »


open all close all

Basic Examples  (2)

Euclidean distance between two images:

Click for copyable input

Euclidean distance between 3D images:

Click for copyable input

Scope  (2)

Options  (8)

Applications  (2)

Properties & Relations  (8)

Introduced in 2012
Updated in 2016