This section describes Light Falloff (Uniformity)  features available with Imatest Master. Light Falloff  was originally intended to measure lens vignetting (dropoff in illumination at the edges of the image), but it can measure a variety of image nonuniformities— resulting from the lens, illumination, or sensor— including color shading, noise distribution, and spots from dust. Basic instructions are found in Using Light Falloff.

New in Imatest 3.6
Uniformity-Interactive is an interactive module that duplicates Light Falloff's functionality. It is compatible with the Imatest Image Sensor edition.

Input dialog box 

The following options are available in all Imatest versions:

Light Falloff input dialog box (Imatest Master )
Light Falloff input dialog box (for Pro).

The following options are available in Imatest Master only:

Results

Hot and dead pixels  (Imatest Master only)

2 hot, 2 dead pixels
of 8185344 total
Threshold: h= 245; d= 10
.CSV output for hot and dead pixels

Imatest Master allows you to detect hot and dead pixels. Hot pixels are stuck at or near the sensor's maximum value (255 in 8-bit files); dead pixels are stuck at or near 0. Image processing (especially demosaicing and data compression) may alter these numbers. Thresholds lower than 255 and higher than 0 are usually required, particularly for JPEG files, where isolated pixels are smeared, even for the highest quality levels. Hot and dead pixels cannot be reliably detected in JPEGs saved at lower quality levels.

The hot and dead pixels shown on the right met the criteria that they were above or below the threshold for any color channel. All channels or the selected channel could have been selected.

The first figure in Light Falloff shows two simulated hot (x) and dead () pixels. The CSV output file on the right shows the basic statistics for the image (8185344 pixels total). h = 245 and d = 10 are the hot and dead pixel thresholds, respectively. The number and fraction of the hot and dead pixels are shown, followed by the x and y-locations of the first 100 hot and dead pixels. The Histogram plot, described below, is useful for selecting thresholds.

Color shading (nonuniformity)  (Imatest Master only)

The Color shading plot displays the ratio or difference between R, G, and B channels or L*a*b* color errors (ΔE or ΔC). Two examples are illustrated below. The first shows shading as the ratio of Red to Blue (R/B) channel pixels. Plotted results have been normalized to a maximum of 1.0. Normalization makes the results relatively insensitive to white balance errors. The background shows exaggerated colors (HSV saturation S has been increased by 10x for low saturation values; less for high values.)

Color shading with exaggerated color background
R/B Color shading, exaggerated color.

The second example shows the difference between the Red and Blue channels in f-stops with a pseudo color background. Plotted results have been normalized to a maximum of 0 f-stop difference.

Color shading with pseudo color background
R-B (difference) color shading, pseudocolor.

Color nonuniformity can be displayed as one of the L*a*b* color difference metrics (ΔE = sqrt(ΔL*2 + Δa*2 + Δb*2 ), ΔC = sqrt(Δa*2 + Δb*2 ), ΔE94, ΔC94, ΔE00, ΔC00 ), referred to the center of the image (either the central region, with size specified in the Corner and side regions box or the central 25% by area). The ΔC metrics are of particular interest for color metrics because they omit luminance differences (ΔL*). It is displayed below as a 3D plot, which can be rotated for enhanced visualization..

Delta-C color shading
ΔC 2000 color shading (omits ΔL*), 3D shaded pseudocolor.

Uniformity profiles   (Imatest Master only)

Uniformity profiles display
Uniformity profiles.
Uniformity profiles displays profiles of image levels along several lines: Diagonal Upper Left-Lower Right, Diagonal Lower Left-Upper Right, Vertical Top-Bottom (center), and Horizontal Left-Right (center). Several display options are listed below.

RGBY unnormalized (max 1)
RGBY unnormalized pixels (max 255)
RGBY normalized (max 1)
Ratios: R/G, B/G (G constant)
RGBY normalized: ALL CHANNELS
Delta L* a* b* C* (C* = chroma)

The independent axis goes from 0 to 1 in steps of 0.025 (41 steps total). Detailed results for the 41 steps are written to the CSV and XML output files.

 

Polynomial fit  A fourth order fit to R, G, B, and Y (or L*, a* and b*) is shown as faint dotted lines in the upper (Diagonal UL-LR) plot. The equation for the fit is

y = c1r4 + c2r3 + c3r2 + c4r + c4

where r is the distance from the center normalized to the center-to-corner distance (r = 1 at the corners). The R, G, B, and Y coefficients are in displayed the CSV and XML output files. There is not enough space to show them in the plot. They have the following format in the CSV output file.

Fourth order fit: y = c(1)*r^4 + C(2)*r^3 + ... + c(5)  where r is normalized to center-to-corner.
R 0.045 -0.108 -0.081 -0.083 0.866
G -0.124 0.207 -0.295 -0.037 0.922
B -0.189 0.315 -0.341 -0.037 0.907

Histograms  (Imatest Master only)

The histogram plot, introduced in Imatest Master 2.3.11 (July 2007), facilitates the detection and the setting of thresholds for stuck (hot, dead, etc.) pixels. Histograms of log10(occurrences+1) are displayed for the red, green, and blue channels. [The logarithm compresses the plot so even a single bad pixel is visible. log10(occurrences+1) is used because log(0) = −∞ (minus infinity), while log(1) = 0.] 

Light Falloff histogram, showing hot & dead pixels
R, G, and B Histograms showing stuck pixels.

In this example, single stuck pixels are plainly visible near levels 0 and 252. Altough these stuck pixels were synthesized, their levels is slightly different due to JPEG compression (they were the same in a TIFF file). The dead pixel threshold is shown on the left in blue; the hot pixel threshold is shown on the right in red. You can quickly see if the thresholds are set correctly— if they are outside the valid density region and if the dead and hot pixels are above and below their respective thresholds. You can change threshold settings and rerun Light Falloff if necessary.

Noise detail  (Imatest Master only)

shows an exaggerated or pseudocolor image of the noise detail with long-range density variations removed. Four options are available:

Exaggerated local noise (standard)

Exaggerated image of local noise
Local noise with added contours
Exaggerated image of local noise with added contours
Pseudocolor contours with colorbar Pseudocolor image of local density variations. The image has been smoothed. Colors vary from image to image: the color map covers the density range of the image.
Spot detection w / threshold (pseudocolor) Pseudocolor image emphasizing spots. Fixed color map. Image is normalized to the mean density. For clarity, only densities between 0.9 and 1 are displayed in the color map.
3D Pseudocolor Contours shaded 3D pseudocolor image may be rotated for enhanced visualization. Shading emphasizes contour shapes.
3D Pseudocolor Contours The Colormap (which relates color to levels) is more accurate without shading.
3D Inverted Pseudocolor Contours shaded Inverts the data (Z-axis)
3D Inverted Pseudocolor Contours  
3D Spot detection, pseudocolor shaded 3D spot detection. The Z-axis is always inverted so spots stand out.
3D Spot detection, pseudocolor  

The local noise figures are produced by

  1. Subtracting a highly smoothed version of the image from the image itself. This removes broad image variations (low spatial frequencies), leaving only the fine detail. (The signal is highpass filtered.) Exaggerating the fine detail by a factor 5x or 10x, depending on the signal-to-noise ratio (the average pixel level of the original image divided by the standard deviation of the difference image (the results of step 1), i.e., the RMS noise). Adding an offset to the the exaggerated signal so the average level of the image is displayed as middle gray.
  2. If Local noise with added contours is selected, contours are calculated by subtracting the same highly smoothed version of the image from a moderately smoothed version of the image. Smoothing is necessarily because noise would make the contours unintelligibly rough.

The first image (below) shows noise detail for the Canon EOS-20D at ISO 1600 with the 10-22mm lens set to f/4.5. No surprises here; electronic noise dominates.


Noise detail for Canon EOS-20D, ISO 1600, 10-22mm lens, f/4.5.

The second image (below) shows noise detail for the Canon EOS-20D at ISO 100 with the 10-22mm lens set to f/8. Thanks to the small aperture, some very faint dust spots are visible. The dust is on the anti-aliasing/infrared filter/microlens assembly in front of the sensor. This assembly can be well over 1 millimeter thick. Stopping the lens down (increasing the f-stop setting) reduces the size of dust spots but makes them darker. This image has a surprise in the form of concentric circles: bands where the noise appears to be higher or lower than the remainder of the image. This may be caused by (a) the Analog-to-Digital (A-D) converter in the image sensor chip, which can have small discontinuities when, for example going from level 127 to 128: binary 01111111 to 10000000, or (b) JPEG artifacts. Rrecall that these noniniformities are exaggerated by a factor of 10: they would be invisible or barely visible on an actual image; you might seem then faintly in smooth areas like skies.


Noise detail, Canon EOS-20D, ISO 100, 10-22mm lens, f/8.

Here is the same image, displayed in pseudocolor (which shows the amount of variation) with a color bar, and including a histogram (of individual pixels, not the smoothed image used to generate the contour plot on the left). The scale varies from image to image; it is not fixed like the scales for for the luminance and f-stop contour plots (which display long range, low spatial frequency variations). The histogram is narrower than the separate histogram image (above) because long-range (low spatial frequency) density variations have been removed. It is a good approximation to the average sensor noise.

Pseudocolor display with histogram
Local nonuniformities shown in pseudocolor, Canon EOS-20D, ISO 100, 10-22mm lens, f/8.

The same results displayed in 3D are quite impressive. This image can be rotated for enhanced visualization. The circular patterns may originate with reflections between the light source, lens, and sensor.

3D plot
Local nonuniformities shown in 3D shaded pseudocolor,

The image below is an enlargement (a zoom) of the above image, centered on the dust spot to the left of the center. You can zoom into an image by using the mouse to draw an rectangle, or by simply clicking on a feature you want to enlarge. You can restore the original image by double-clicking anywhere on the image.

The following image is the noise detail from a 2 f-stop underexposed image with maximum luminance = 0.161 (out of 1), f/4.5, ISO 100. It shows a clear pattern. Although it looks alarming, this pattern is invisible because (a) it is in a very dark region, (b) it is aliased. The actual pattern has a much higher spatial frequency, hence is less visible. You need to zoom in to view the true pattern, which is less visible than it appears here.


Noise detail, illustrating aliasing. (The actual noise is not as bad as it looks.)

Spot detection   (Imatest Master only)

When Spot detection w / threshold (pseudocolor) is selected in the Noise detail popup menu, the pseudocolor display emphasizes dark spots (the type that result from dust on the sensor) and minimizes noise, light spots, and long range density variations. The following webcam image (originally 1600 pixels wide) has two rows of five simulated spots (added by an image editor). Other irregulatities are from the sensor itself..

Light falloff webcam image with added spots
Webcam image with 10 simulated spots (5 in each of 2 rows)

With the standard Pseudocolor contours with colorbar display, the darker spots are clearly visible, but the lighter spots are lost in the overall density variations.

Standard pseudocolor display
Image with spots: standard pseudocolor display

But they stand out in the Spot detection display. The differences in the algorithms are described below.

Spot detection display
Image with spots: Spot detection display

When Pseudocolor contours with colorbar is selected, the image is normalized to its average level. Then the local variations are calculated by subtracting a highly smoothed version of the image from a moderately smoothed version of the image. This is the same data used for the contours in the Local noise with added contours display, described above. When Spot detection w / threshold (pseudocolor) is selected, there are several differences.

This approach removes much of the interfering detail from the final plot so that spots are clearly visible.

Spot detail
Spot detection detail
Detail: Simulated spots and Spot detection display




Subscribe to the Imatest Newsletter