Skip to content

Image Quality Metrics

Aaron Zuspan edited this page Apr 25, 2022 · 1 revision

Image quality algorithms can be used to measure the distortion caused by image enhancement or compression techniques, including pan-sharpening. Different quality algorithms have been devised and can represent different types of distortion.

Table of contents


Q

geeSharp.quality(referenceImage, assessmentImage, "Q", geometry, scale, maxPixels)

The universal image quality index, Q, measures distortion between a reference image and a modified version of that image as the product of changes in correlation, luminance, and contrast. Values range from -1 to 1, with 1 representing the lowest possible distortion (identical images). See Wang & Bovik, "A Universal Image Quality Index", 2002 for a detailed explanation.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

CC

geeSharp.quality(referenceImage, assessmentImage, "CC", geometry, scale, maxPixels)

Pearson's Correlation Coefficient, CC, measures correlation between a reference image and a modified version of that image. A value of 1 represents perfect correlation (identical images). See Wang & Bovik, "A Universal Image Quality Index", 2002 for a detailed explanation.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

CML

geeSharp.quality(referenceImage, assessmentImage, "CML", geometry, scale, maxPixels)

Change in Mean Luminance, CML, measures the change in luminance between a reference image and a modified version of that image. A value of 1 represents no change (identical images). See Wang & Bovik, "A Universal Image Quality Index", 2002 for a detailed explanation.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

CMC

geeSharp.quality(referenceImage, assessmentImage, "CMC", geometry, scale, maxPixels)

Change in Mean Contrast, CMC, measures change in contrast a reference image and a modified version of that image. A value of 1 represents no change (identical images). See Wang & Bovik, "A Universal Image Quality Index", 2002 for a detailed explanation.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

ERGAS

geeSharp.quality(referenceImage, assessmentImage, "ERGAS", h, l, geometry, scale, maxPixels)

Dimensionless Global Relative Error of Synthesis (ERGAS) measures spectral distortion relative to the sharpening ratio. This compensates for the fact that larger increases in spatial resolution will typically result in greater spectral distortion. Values near to zero indicate low distortion. See Vaiopoulos 2011.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • h (ee.Number):
    • The spatial resolution of the high-resolution image.
  • l (ee.Number):
    • The spatial resolution of the low-resolution image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Number)

  • The image-wise error value(s) for the two images.

RASE

geeSharp.quality(referenceImage, assessmentImage, "RASE", geometry, scale, maxPixels)

Relative average spectral error (RASE) is a measure of spectral similarity. Values close to 0, relative to image intensity, represent minimal distortion. See Vaiopoulos 2011.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Number)

  • The image-wise error value(s) for the two images.

MSE

geeSharp.quality(referenceImage, assessmentImage, "MSE", geometry, scale, maxPixels)

Mean squared error (MSE) measures the difference between a reference image (such as an unsharpened multiband image) a nd an assessment image (such as a pan-sharpened multiband image). Generally, low MSE values represent less distortion between the reference and assessment image.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

RMSE

geeSharp.quality(referenceImage, assessmentImage, "RMSE", geometry, scale, maxPixels)

Root mean squared error (RMSE) measures the root of the difference between a reference image (such as an unsharpened multiband image) and an assessment image (such as a pan-sharpened multiband image). Generally, low RMSE values represent less distortion between the reference and assessment image.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

Bias

geeSharp.quality(referenceImage, assessmentImage, "bias", geometry, scale, maxPixels)

Bias measures changes in mean intensity value due to image modification. Values close to 0 represent minimal distortion. See Vaiopoulos 2011.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.

DIV

geeSharp.quality(referenceImage, assessmentImage, "DIV", geometry, scale, maxPixels)

Difference in Variance (DIV) measures changes in variance of intensity values due to image modification. Values close to 0 represent minimal distortion. See Vaiopoulos 2011.

Arguments

  • referenceImage (ee.Image):
    • An original image.
  • assessmentImage (ee.Image):
    • A modified version of the original image.
  • geometry (ee.Geometry, default: null)
    • The region to calculate image statistics for. Quality will only be accurate within this region.
  • scale (number, default: null)
    • The scale, in projection units, to calculate image statistics at.
  • maxPixels (number, default: 1000000000000)
    • The maximum number of pixels to sample when calculating image statistics.

Returns (ee.Dictionary)

  • The band-wise error value(s) for the two images.