Postprocessor to Stepchart and Multitest:
Calculates Dynamic Range from several grayscale images
Thanks for for suggesting this module.
Imatest has several types of Dynamic Range calculation, which are cross-referenced here.Dynamic range from a single transmissive chart image. , , A transmissive chart is such as the Imatest 36-patch or chart (both shown below) is required because reflective charts do not have sufficient tonal range. Dynamic Range , A transmissive chart designed to show the visibility of low contrast features over a wide tonal range (95dB). Dynamic Range from multiple (differently exposed) images module (Described on this page)
Dynamic Range is a postprocessor for and that calculates a camera’s dynamic range— the range of exposure it can capture at a specified quality level— from up to four exposures of
The Dynamic Range postprocessor is appropriate when
Limitations: When several images are combined, the effects of on dynamic range, which can be very significant, are not fully accounted for.Dynamic Range
Example of Dynamic Range output showing
Images of Stepchart and X-Rite Colorchecker at +1, -2, and -5 f-stop exposure.
(Images were taken at 1 f-stop increments from +1 to -6.)
Dynamic Range opening screen
Several displays and display options are available. They are selected in the lower-right region of the Dynamic Range window.Display Pixel levels vs. exposure, where exposure = -log10(patch density). Log Pixel levels vs. exposure, where Log denotes log10. Local gamma: d(Log pixel level) / d(Log exposure), i.e., the slope of the Log pixel level plot. Gamma is contrast. f-stop noise: Noise referenced to the image. S/N (1/f-stop noise) SNR (1/f-stop noise) dB = 20 log10(1/f-stop noise). Pixel S/N (Pixel level/noise). Displayed optionally by Stepchart. Referenced to the file. Pixel SNR dB = 20 log10(Pixel level/noise) Exif data Channel (Imatest Master only) Selects color channel: Y (luminance), R, G, or B. X-axis scale f-stops (EV). The most popular units for expressing dyamic range. Density units: Based on a log10 scale. 1 density unit = 3.32 f-stops (EV). X-axis alignment Unshifted Shifted (aligned) Of greatest interest: shows total exposure range
The image below shows log pixel level vs. (log) exposure (in f-stops). The x-axis has been shifted (aligned). Unaligned log pixel levels are shown as faint lines on the right of the plot. The camera has a strong “shoulder,” which reduces the likelihood of highlight burnout.
Log pixel level as a function of (log) exposure. Canon EOS-20D, ISO 100, Standard picture mode.
Dynamic range results are shown on the upper right. Dynamic range numbers based on f-stop noise are shown boldface. These are identical to the numbers in the Stepchart analysis. An alternative dynamic range measurement based on pixel Signal-to-Noise Ratio (SNR) is shown in normal (not bold) typeface. Two additional plots are shown below. The number of detected patches for each file is shown to the right of the file name ( N 20 20 17 10 ).
f-stop noise, showing dynamic ranges
Pixel SNR in dB (20 log10(Pixel level/noise)), showing dynamic ranges
Dynamic range (DR) is the range of tones over which a camera responds. It is usually measured in , or equivalently, zones or EV (Exposure Value), all of which represent factors of two in exposure. (It can also be measured in density units, where one density unit = 3.322 f-stops.)
DR is typically specified as the range of tones over which the RMS noise, measured in f-stops (the inverse of the signal-to-noise ratio, SNR), remains under a specified maximum value. The lower the maximum noise (the higher the minimum SNR), the better the image quality, but the smaller the corresponding dynamic range. SNR tends to be worst in the darkest regions. Imatest calculates the dynamic range for several minimum SNR levels from 10 (20dB) (high image quality) to 1 (0dB) (low quality; corresponding to manufacturer’s data sheets or the ISO 15739 definition).
Image sensor dynamic range, corresponding to manufacturer’s data sheets, can be calculated in and from minimally-processed (undemosaiced) raw images using an entirely different method: see .
A dynamic range corresponding SNR = 1 (1 f-stop of noise) corresponds to the intent of the definition of ISO Dynamic range in section 6.3 of the ISO noise measurement standard: ISO 15739: Photography — Electronic still-picture imaging — Noise measurements. The Imatest measurement differs in several details from ISO 15739; hence the results cannot be expected to be identical. (We will be adding the standard ISO calculation.) Imatest produces more accurate results because it measures DR directly from a sequence of chart images, rather than extrapolating results from a single reflective chart image.
F-stop (scene-referenced) noiseThe human eye responds to relative luminance differences. That’s why we think of exposure in terms of zones, f-stops, or EV (exposure value), where a change of one unit corresponds to halving or doubling the exposure.The eye’s relative sensitivity is expressed by the Weber-Fechner law,
ΔL ≈ 0.01 L –or– ΔL/L ≈ 0.01
where ΔL is the smallest luminance difference the eye can distinguish. (This equation is approximate; effective ΔL tends to be larger in dark areas of scenes and prints due to visual interference from bright areas.)
Expressing noise in relative luminance units, such as f-stops, corresponds more closely to the eye’s response than standard pixel or voltage units. Noise in f-stops is obtained by dividing the noise in pixels by the number of pixels per f-stop. (I use “f-stop” rather than “zone” or “EV” out of habit; any of them are OK.)noise in f-stops (EV) = noise in pixels / (d(pixel)/d(f-stop)) = 1/SNR
The above-right image illustrates how the pixel spacing between f-stops (and hence d(pixel)/d(f-stop)) decreases with decreasing brightness. This causes f-stop noise to increase with decreasing brightness, visible in the figures above.
Since luminance noise (measured in f-stops) is referenced to relative scene luminance, independently of electronic processing or pixel levels, it is a universal measurement that can be used to compare digital sensor quality when sensor RAW data is unavailable.