| My Account | Cart Contents | Checkout |
| New in Imatest 3.0 Options and Settings I in the Imatest main window allows you to select between traditional ROI selection, which automatically locates patches, and a Multicharts-like method, with adjustable patch locations that are visible during fine adjustment. This can be helpful with distorted images. New in Imatest 2.6.8 CIEDE2000 color differences (ΔC 2000 and ΔC 2000 have been added. New in Imatest 2.3.17 Several new options for displaying noise and SNR (Signal-to-Noise Ratio) are described here. New in Imatest 2.1.1 In the a*b* color error plot, you can choose between displaying the standard deviation of the color errors (σ) or the maximum (which is reported much more often in the literature). Saturation is now called chroma ( (a*2+b*2)1/2 ), which is closely related to the perception of color saturation. |
What Colorcheck does
Colorcheck analyzes images of the widely-available GretagMacbethTM ColorChecker® for color accuracy, tonal response (using the six grayscale patches), and noise or SNR (Signal-to-Noise ratio). Results for tonal response are similar to Stepchart. It is particularly useful for measuring the effectiveness of White Balance algorithms and settings under a variety of lighting conditions. The ColorChecker can be photographed in isolation or as part of a scene. Algorithms and equations can be found in the Colorcheck Appendix. The GretagMacbeth ColorChecker is an 8x11" inch chart consisting of 24 patches with 18 familiar colors and six grayscale levels with optical densities from 0.05 to 1.50; a range of 4.8 f-stops. The colors are not highly saturated. The quality of the chart is very high— each patch is printed separately using carefully controlled pigments. Patches have a smooth matte surface. It is available from ColorHQ, Adorama and many other dealers. A 2.25"x3.25" mini ColorChecker is also available. It is useful for including in scenes for evaluating white balance.
| Version comparison | |
| Studio: | Tonal response and noise analyses for B&W patches; La*b* color error and Color analysis |
| Master: | User-supplied reference files; noise analysis for R, G, B, C, M, and Y patches; noise spectrum |
A simulated ColorChecker is shown below for sRGB color space (the Windows/Internet standard). The optical densities (–log10(reflectivity)) of the grayscale patches on the bottom row are shown in parentheses. One color, patch 18. Cyan, is out of the sRGB gamut; hence it can't be reproduced perfectly on most monitors.

dark skin |
light skin |
blue sky |
foliage |
blue flower |
bluish green |
orange |
purplish blue |
moderate red |
purple |
yellow green |
orange yellow |
blue |
green |
red |
yellow |
magenta |
cyan |
white (.05) |
neutral 8 (.23) |
neutral 6.5 (.44) |
neutral 5 (.70) |
neutral 3.5 (1.05) |
black (1.50) |
|
Photographing the target and running Colorcheck
- Photograph the GretagMacbeth ColorChecker. The distance is not critical. There is no need to fill the frame with the ColorChecker image; it is often useful to include other charts or scene elements that can affect white balance. A ColorChecker image width of 500 to 1500 pixels is sufficient for the Colorcheck noise analysis. That is about half of the horizontal field of a 6 megapixel SLR. More pixels just slows down calculations. As few as 100 pixels is adequate for color and white balance analysis.Lighting should be as even as possible; as little as possible should come from behind the camera— it can cause glare. An angle of incidence of about 30-45 degrees is ideal. For the noise analysis, the light should not emphasize the texture of the chart surface, which could affect noise measurements made in grayscale patches in the bottom row. More that one light source is recommended. If possible, the surroundings of the ColorChecker should be black or gray to minimize flare light. Middle gray (18-22% reflectance) is best for getting the correct exposure with auto-exposure cameras. Uneven lighting tilts the tops of the gray scale pixel plot (the upper left plot in the first figure, below). Lighting uniformity can be measured with an illuminance (Lux) meter. A simple lighting setup is illustrated in Lens testing. A detailed description of the recommended lighting setup can be found in The Imatest Test Lab. If the objective of running ColorCheck is to analyze a camera's white balance and color accuracy (and no noise analysis is required), the ColorChecker does not need to be photographed under ideal conditions. It can be part of a scene that challenges the camera's white balance algorithm, and its image can be as small as 100 pixels wide.
- If possible, the exposure should be within 1/4 f-stop of the correct value. L*a*b* color values are only accurate if exposure is correct. The exposure error is displayed in several Colorcheck figures. An explanation of exposure and grayscale levels can be found in the Colorcheck Appendix.
|
![]() |
- WARNING The ColorChecker image should not be too large!
Images over 3000 pixels wide (6 megapixels total) can slow calculations because Imatest uses double precision math, which consumes 24
bytes per 3-color pixel. For example, an image from a 6 megapixel camera requires 144 megabytes (6x3x8
MB) in Matlab: enough to bog down computers with limited memory (256 MB or
less). Be especially careful not to fill the frame with 8+ MB digital cameras.Save the image as a RAW file or maximum quality JPEG, then load
it on
your
computer. If you are using a RAW converter, convert to JPEG (maximum
quality),
TIFF (without LZW compression, which is not supported), or PNG.
If
you are using film, develop and scan it.Open Imatest. Click on the Colorcheck
button in the Imatest main window. Open the input file using the dialog box. Imatest remembers the
folder
name of the last input file opened.
Batch mode This module can operate in batch mode in Imatest Master, i.e., it can read multiple input files. All you need to do is select several files using the standard Windows techniques of shift-click or control-click. There are three requirements for the files. They should (1) be in the same folder, (2) have the same pixel size, and (3) be framed identically. The input dialogs (cropping (if applicable), settings, and save) are the same for the first run as for standard non-batch runs. Additional runs use the same settings as the first run. Since no user input is required they can run extremely fast. If the order of the files in a batch runs is different from the selection order, click Settings, Options and Settings... (in the Imatest main window) and change the setting in Batch run order. One caution: Imatest can slow dramatically on most computers when more than about twenty figures are open. For this reason we recommend checking the Close figures after save checkbox, and saving the results. This allows a large number of image files to be run in batch mode without danger of bogging down the computer.
- Crop the image so a small amount of the dark boundaries at the left, right, top, and bottom of the Colorchecker image are visible. There is no harm if the boundaries are cut off as long as most of the patch area remains; precise cropping is not critical. Click outside the image for no crop. Correct orientation isn't required; Imatest will rotate the image (in multiples of 90 degrees) to the correct orientation. The image on the right is representative of a good crop.
Two cropping (ROI selection) options are available by clicking Options and Settings I... in the Imatest main window. These include
| Select crop by dragging cursor. Ask to repeat crop for same sized image. |
| Select crop by dragging cursor. Do not ask to repeat crop. |
Although the second option (No repeat...) was the default in early versions of Colorcheck, the first option (Select crop by dragging cursor. Ask to repeat crop for same sized image) is recommended.
- The Imatest Colorcheck dialog box appears if Express mode has not been selected. It allows you change Title, Colorchecker reference, Color space, Noise display, Color error display, and several other parameters from their default values. It also contains news about the latest updates.
Title: defaults to the file name. You can leave or modify it. Figure selection is in the Plot box on the right.

Colorchecker reference selects the ideal ColorChecker L*a*b* and RGB values. You can choose between any of several standard values (based on measurements) or you can enter your own measured values from CSV files. The Old / New radio buttons affect the GretagMacbeth and Babelcolor reference values (described below). Old selects the original reference values, used prior to the release of Imatest 1.6.17 in July 2006. New (recommended) uses more accurate recent measurements. For most color patches, the difference between the old and new values is small.
Standard values:
Enter your own values: These can be (a) measured on your own instruments or (b) values you have determined to be "pleasing" that you wish to use as design targets. (Remember, accurate color is not necessarily pictorially pleasing. Designers of consumer cameras often aim for "pleasing" colors, which typically involves increasing saturation in foliage, skies, and skin.)
The Colorchecker reference is displayed at the bottom of the L*a*b* color error figure. |
Noise display: Pixel noise or SNR selects the noise display for the lower-left plot of the first figure (noise/SNR for grayscale row 4) and the upper-right plot of the second figure. (noise/SNR for BGRYMC row 3). The effects of gradual illumination nonuniformities have been removed from the results. All displays are derived from Noise in pixels (the third selection below). The five display types are identical to the types in the lower noise detail plot in Stepchart. In the notation below Ni is RMS noise and Si is signal (pixel) level for patch i.
| Noise (%) normalized to White - Black (Zone 19 - 24) |
100% * (Noise in pixels) divided by (White patch (19) pixel level − Black patch (24) pixel level) = 100% N/(SWHITE−SBLACK ). Useful because it references the noise to the scene: noise performance is not affected by camera contrast. |
| Noise (%) normalized to 255 pixels (max of 100) | 100% * (Noise in pixels) / 255 = Ni/2.55. Values 0-100. This noise measurement will be worse for higher contrast cameras. (It is affected by the gamma encoding.) |
| Noise in pixels (maximum of 255) | Noise in pixels ( Ni ). Values 0-255. |
| Pixel S/N (Signal in patch/RMS noise) dimensionless |
(Signal (pixel level)) / Noise = Si/Ni for each patch. Dimensionless. |
| Pixel SNR (dB) (20*log10(S/N)) | 20 Log10(Signal/Noise) for each patch = 20 log10( Si/Ni ). Units of dB (decibels). Doubling S/N increased dB measurement by 6.02. |
| For this selection, SNR_BW is also displayed. SNR_BW is an average SNR based on White-Black patches (Zone 19 - Zone 24; density difference = 1.45). SNR_BW = 20 log10((SWHITE-SBLACK )/Nmid ), where Nmid is the noise in patch 22 (the 4th patch in row 4; middle gray; nominal density = 0.7). |
Color space: You can select among the following. Danny Pascale's A Review of RGB Color Spaces is recommended for readers interested in an in-depth explanation of color spaces.
| sRGB | The default space of Windows and the Internet. Limited color gamut based on typical CRT phosphors. Gamma = 2.2 (approximately), White point = 6500K (D65). |
| Adobe RGB (1998) | Medium gamut, with stronger greens than sRGB. Often recommended for high quality printed output. Gamma = 2.2, White point = 6500K (D65). |
| Wide Gamut RGB | Extremely wide gamut with primaries on the spectral locus at 450, 525, and 700 microns. One of the color spaces supported by the Canon DPP RAW converter. 48-bit color files are recommended with wide gamut spaces: banding can be a problem with 24-bit color. Gamma = 2.2, White point = 5000K (D50). |
| ProPhoto RGB | Extremely wide gamut. Gamma = 1.8, White point = 5000K (D50). Described in RIMM/ROMM RGB Color Encodings by Spaulding, Woolfe and Giorgianni. |
| Apple RGB | Small gamut. Used by Apple. Gamma = 1.8, White point = 6500K (D65). |
| ColorMatch RGB | Small gamut. Used by Apple. Gamma = 1.8, White point = 5000K (D50). |
Color error display: You can select between
- Standard ΔC and ΔE*ab (CIE 1976) measurements, CIE 1994 measurements (somewhat more accurate), and CMC mesurements (widely used in the textile industry) color difference formulas.
- CIEDE2000 measurements ( ΔC00 and ΔE00 ). The emerging standard. See Gaurav Sharma's CIEDE2000 Color-Difference Formula page.
The CIE-94, CMC, and CIEDE2000 mreasurments reflect the eye's reduced sensitivity to hue and saturation changes for highly saturated colors. Mean CIE-94 numbers are typically around half of the standard measurements; CMC measurements are between the two. CIEDE2000 measurements will be become more familiar as time passes. Patch for noise spectrum (Imatest Master only): You can select any of the patches in the bottom two rows for calculating the noise spectrum. (Row 3 contains B, G, R, Y, M, and C primaries; row 4 contains grayscale values.) The spectra for the Y (luminance), R, G, and B channels is displayed. The third patch in row 4 (middle gray; density = 0.44) is the default. a*b* color error: The upper-right of the a*b* color error plot displays mean color errors (ΔC... and ΔE...) and either the standard deviation of the color error (σ) or the maximum color error (max), selected in this box.
Output
The example was photographed with the Canon EOS-10D at ISO 400, and RAW converted with Canon FVU using automatic color balance.
The first figure: Gray scale tonal response and noise
shows graphic results derived from the grayscale patches in the bottom row, including tonal response and noise. Selected EXIF data is displayed, if available.
The upper left plot is the density
response
of the
colorchecker (gray squares). It includes the first and second order
fits
(dashed blue and green lines). The horizontal axis is Log Exposure (minus the target
density), printed on
the
back of the ColorChecker. Stepchart provides a more detailed
density response curve. The exposure error is shown in pale red if it is less than 0.25 (the maximum recommended error) and bold red otherwise. |
The upper right plot shows the noise in the third colorchecker row, which contains the most strongly colored patches: Blue, Green, Red, Yellow, Magenta, and Cyan. In certain cameras noise may vary with the color. Problems may be apparent that aren't visible in the gray patches. Note that the x-axis scale (log exposure) is reversed from the plots on the left. |

The lower left plot shows the RMS noise or SNR (signal-to-noise ratio) for
each patch:
R, G, B, and Y (luminance). Several display options are described above. The selected display in the above figure is Noise (%) normalized to White - Black (Zone 19 - 24), i.e., RMS noise is expressed in percentage of
the
difference
between the white and black patches.The average R, G, B, and Y noise for the
gray
zones (2-5) is also reported. |
The lower right region displays EXIF data, if available. |
![]() |
The bottom left plot has several display options, listed above. Pixel SNR (dB) is shown on the left. SNR (dB) = 20 log10(Si/Ni), where Si is the signal (mean pixel level) of patch i and Ni is the noise (standard deviation of the pixel level, with slow variations removed) of patch i. SNR_BW is an average SNR based on White - Black patches (patch 19 - patch 24; density difference = 1.45) SNR_BW = 20 log10((SWHITE-SBLACK )/Nmid ), where Nmid is the noise in patch 22 (the 4th patch in row 4; middle gray; closest to nominal chart density = 0.7). |
| Too many open Figures Figures can proliferate if you do a number of runs, especially SFR runs with multiple regions, and system performance suffers if too many Figures are open. You will need to manage them. Figures can be closed individually by clicking X on the upper right of the Figure or by any of the usual Windows techniques. You can close them all by clicking Close figures in the Imatest main window. Checking Close figures after save is recommended for batch runs to prevent buildup of open figures. |
Clicking on Figures during calculations can confuse Matlab. Plots can appear on the wrong figure (usually distorted) or disappear altogether. Wait until all calculations are complete— until the Save or Imatest main window appears— before clicking on any Figures. |
The second figure: Noise detail (Imatest Master only)
shows the density response, noise in f-stops (a relative measurement that corresponds to the workings of the eye), noise for the third Colorchecker row, which contains primary colors, and the noise spectrum of the selected patch.
The upper left plot is the density
response
of the
colorchecker (gray squares). It includes the first and second order
fits
(dashed blue and green lines). The horizontal axis is Log Exposure (minus the target
density), printed on
the
back of the ColorChecker. Stepchart provides a more detailed
density response curve. The exposure error is shown in pale red if it is less than 0.25 (the maximum recommended error) and bold red otherwise. |
The upper right plot shows noise or SNR in the third Colorchecker row, which contains the most strongly colored patches: Blue, Green, Red, Yellow, Magenta, and Cyan. Several display options are described above. In certain cameras noise may vary with the color. Problems may be apparent that aren't visible in the gray patches. |
The lower left plot shows the R, G, B, and Y
(luminance) RMS noise for as a function of Log Exposure
each patch. RMS noise is expressed in f-stops, a relative measure that
corresponds closely to the workings of the human eye. This measurement
is described in detail in the Stepchart tour. It is largest in the dark areas because the pixel
spacing between f-stops is smallest. |
The lower right plot shows the R, G, B, and Y noise spectrum of the selected patch. The 3rd patch in the bottom row (a middle gray) has beem selected. The spectrum conveys clues about signal processing, for example, an unusually rapid rolloff may indicate excessive noise reduction. The high levels or red and blue noise at low spatial frequencies is typical of Bayer sensors. The ISO speed and Exposure time from the EXIF data are displayed, if available. |
The third figure: a*b* Color error
illustrates the color error in the device-independent CIELAB color space, where a* is the horizontal axis and b* is the vertical axis. The squares are the ideal (a*, b*) ColorChecker values, set by the ColorChecker reference setting, above. The circles are the (a*, b*) values of the actual measured ColorChecker. The numbers near the squares or circles correspond to the numbers of the ColorChecker patches: 1-6 are in the top row, 7-12 are in the second row, and 13-18 are in the third row. The numbers for patches 19-24 (the bottom row) are omitted because their (a*, b*) values cluster around (0, 0).
The background of the chart shows expected colors (in monitor sRGB color space) for L* around 0.9. It presents a reasonable picture of the hues associated with a* and b* (though they shift somewhat with L*). The light gray curve is the boundary of the color space (sRGB). There is significant scatter in the results because the luminance (L*) of the color patches (not displayed) varies considerably. This 2-Dimensional figure cannot display L*; a limitation is overcome in Multicharts, which has a rotatable 3D L*a*b* display. CIELAB (often shortened to LAB) was designed to be perceptually uniform, meaning that the perceived difference between colors is approximately proportional to the Euclidian distance between them, ΔE*ab (which includes luminance L*) or ΔC* (color only; omitting L*).
ΔE*ab = ( (L2*-L1*)2+ (a2*-a1*)2+ (b2*-b1*)2 )1/2; ΔC* = ( (a2*-a1*)2+ (b2*-b1*)2 )1/2
The smallest perceptible difference corresponds roughly to ΔE*ab = ΔC = 1. (Gaurav Sharma uses 2.3 in the Digital Color Imaging Handbook, p. 31.) CIELAB is far from perfect in this regard. ΔE*ab for the minimum perceptible color difference increases with chroma (i.e., distance from the origin, (a*i2 + b*i2 )1/2. More accurate color difference difference formulas, ΔE*94, ΔE*CMC, and ΔE00, can be selected for display and are included in the CSV and XML output files. If you report any of the more accurate formulas, remember that they are less familiar than plain old ΔE*ab, so to avoid misunderstanding, be sure to clearly indicate which formula you are using. Mean values of ΔE*94 are about half of ΔE*ab . Mean values of ΔE*CMC are between the two. The CIEDE2000 color difference formula, ΔE00, is the emerging standard. It's the most accurate, but it's very complex and still relatively unfamiliar. It's the best choice in the long run. ΔE*94, ΔE*CMC, and ΔE00 are discussed in the Colorcheck Appendix.Several values are reported on the upper right of the figure.
- Mean camera chroma (%) is the average
chroma of camera colors divided by the average chroma of the ideal
Colorchecker colors, expressed as a percentage. The chroma of an individual color is its
distance
from the origin, C = (ai*2+bi*2)1/2. Chroma is often referred to as saturation because more chromatic colors appear to be more saturated. The mean chroma is,
Chroma = 100% mean((a*i_meas2 + b*i_meas2)1/2 ) / mean((ai_ideal*2 + bi_ideal*2)1/2 ) ;
i_meas denotes measured values of patch i; i_ideal denotes ideal ColorChecker values ;
i ≤ 1 ≤ 18 (the first three rows of the Colorchecker) ; mean(x) = Σxi / n for n = 18 values of x.
Chroma is boosted when Chroma > 100%. Chroma is affected by lens quality (flare light in poor lenses decreases it) and signal processing. Many cameras and most RAW converters have adjustments for chroma (usually labelled Saturation).
Chroma is not a strong indicator of image quality because it is often altered during RAW conversion and can be easily adjusted in image editors. Images out of cameras often have boosted saturation to make them more vivid (120% is not uncommon in compact digital cameras), but boosted saturation can cause a loss of detail in highly saturated objects. Saturation over 120% should be regarded as excessive.
- Color errors ΔC and ΔE
ΔC is color error with luminance difference omitted, i.e., color only. ΔE includes luminance difference. Imatest displays two values of ΔC: with and without correction for the saturation boost (or cut) in the camera, discussed below. You may select between three models of ΔC and ΔE for the display (all are included in the CSV/XML output files).
- Standard ΔC and ΔE*ab measurements, CIE 1994 measurements (somewhat more accurate), and CMC mesurements (widely used in the textile industry) color difference formulas
- CIEDE2000 measurements ( ΔC00 and ΔE00 ). The emerging standard. See Gaurav Sharma's CIEDE2000 Color-Difference Formula page.
ΔC or ΔE of around 1 (2.3 according to Sharma) correspond roughly to a just noticeable difference (JND) between colors. The three color difference models are described in the Colorcheck Appendix. The CIE 1994 and CMC formulas are more accurate than the standard ΔE formula; the CIEDE2000 formulas are the most accurate.
- Color error ΔC is calculated with and without chroma (saturation) correction. Saturation correction involves normalizing the measured colors so their average saturation is the same as the ideal average saturation. This is done by multiplying a*, b*, and C* by 100/Sat. The corrected values, denoted by i_corr, are substituted for the measured values in the ΔC calculation.
a*i_corr = 100 a*i_meas / Sat ; b*i_corr = 100 b*i_meas / Sat
Ci_corr =(a*i_corr2 + b*i_corr2 )1/2
ΔCi_corr = |Ci_corr - Ci_ideal | = ( (a*i_corr - a*i_ideal )2 + (b*i_corr - b*i_ideal )2 )1/2 (Standard (CIE 1976) formula)This normalization removes the effects of saturation boost, resulting in a lower mean color error, mean(ΔCi_corr ). It is applied because saturation can be easily adjusted by turning a (digital) knob in an image editor. The remaining error, mean(ΔCi_corr ), is a useful indicator of color quality because it cannot be easily removed and it is not a function of mean saturation. It is displayed in two ways on Figure 3:
- The mean and root mean square (RMS) or maximum color errors are displayed.
mean(x) = Σxi / n for n values of x.
RMS(x) = σ(x) = ( Σxi2 / n )1/2 for n values of x.
x is ΔCi and ΔCi_corr for Colorchecker patches 1-18 (the top three rows).mean color error (uncorrected) = mean( ΔCi )
mean color error (corrected) = mean( ΔCi_corr )The root mean square (RMS) error, denoted by sigma (σ), gives greater weight to large errors; it may therefore be a better overall indicator of color accuracy. You can select between σ and maximum in the input dialog box.
- Summary: Figure 3 displays the mean and RMS values of the color errors, using either standard (CIE 1976), CIE 1994, or CMC color difference formulas. (The latter two are somewhat more accurate.) CIE 1994 and CMCreflect the eye's reduced sensitivity to hue and especially saturation changes for highly saturated colors. Hence they are generally lower. The results are summarized below.
| ΔC, ΔE display | ||||
One of these four columns is selected. |
The mean and RMS values of all three rows are displayed. | |||
| ΔC*ab sat. corr. | ΔC*94 sat. corr. | ΔC*CMC sat. corr. | ΔCoo sat. corr. | Color difference, omitting luminance, corrected for average saturation. |
| ΔC*abuncorr. | ΔC*94 uncorr. | ΔC*CMC uncorr. | ΔCoo uncorr. | Color difference, omitting luminance; no saturation correction. |
| ΔE*ab | ΔE*94 | ΔE*CMC | ΔEoo | Color difference, including luminance; no saturation correction. |
It's difficult to assess these numbers until a large database of test results is available. For now I would characterize the values of ΔC*ab(corr) mean = 5.66 and σ = 6.73 for the EOS-10D (above) as very good to excellent.
| When you interpret the results, keep the following in mind. Camera manufacturers don't necessarily aim for accurate color reproduction, which can appear flat and dull. They recognize that there is a difference between accurate and pleasing color: most people prefer deep blue skies, saturated green foliage, and warm, slightly saturated skin tones. Ever mindful of the bottom line, they aim to please. Hence they often boost saturation, especially in blues, greens, and skin tones. |
See the Links, below, for details on CIELAB color space.
The fourth figure: Color analysis
is an image of the ColorChecker that allows you to compare the actual and ideal values. It also displays White Balance error using the bottom row (the grayscale patches).

The outer portion (1) of each patch contains the ColorChecker image as photographed, The inner portion contains the ideal ColorChecker values corrected for exposure (2) and uncorrected (3).
- The outer region, is the patch as photographed. This corresponds to the circles in the L*a*b* color error plot, above.
|
![]() |
In the above example, the ColorChecker image 1 is slightly underexposed; it is darker than the ideal uncorrected color 3. It is also darker than the corrected ideal color 2. This is a characteristic of this camera: it tends to darken oranges and lighten blues and cyans. This can be seen in the above right ColorChecker image, which is slightly overexposed. This image of the orange-yellow patch (row 2, column 6) has about the same luminance as the uncorrected ideal color 3, but is darker than the corrected ideal color. The uncorrected ideal value 3 in the two orange-yellow images above (the example on the left and the full chart on the right) are the same, but appear to be quite different because of the interaction of colors in the eye— an effect that should be familiar to artists and photographers.
This image provides a clear visual indication of color accuracy. The L*a*b* color error plot provides a quantitative indication.
The bottom of the third figure illustrates the White Balance error, which is quantified in three ways. (1) Saturation S in the HSV color model (burgundy). S can take on values between 0 for a perfect neutral gray and 1 for a totally saturated color. (2) Correlated color temperature error in Degrees Kelvin (blue), calculated from Color Science: Concepts and Methods, Quantitative Data and Formulae, by Günther Wyszecki and W. S. Stiles, pp. 2224-228. (2) Color temperature in Mireds (micro-reciprocal degrees) (blue), where Mireds = 106/(Degrees Kelvin) is a more perceptually uniform measure.
White Balance error tends to be most visible in the gray patches (2-5 in the bottom row). It is barely visible for S < 0.02. It is quite serious for S > 0.10, particularly for the lighter gray patches.
![]() |
The image at the bottom shows the bottom row (the grayscale patches) with exaggerated white balance error, calculated by boosting saturation S using the curve on the left, keeping H and V constant. Low values of saturation are boosted by a factor of 4; the boost decreases as saturation increases. This image shows the White Balance error much more clearly than the unexaggerated chart. Keep it in mind that this image is worse than reality; small White Balance errors may not be obvious in actual photographs, especially in the vicinity of strongly saturated colors. |
Saving the results
|
When the Colorcheck calculations are complete, the Save Colorcheck results? dialog box appears. It allows you to choose which results to save and where to save them. The default is subdirectory Results in the data file directory. You can change to another existing directory, but new results directories must be created outside of Imatest— using a utility such as Windows Explorer. (This is a limitation of this version of Matlab.) The selections are saved between runs. You can examine the output figures before you check or uncheck the boxes. After you click on Yes or No, the Imatest main window reappears. Figures, CSV, and XML data are saved in files whose names consist of a root file name with a suffix and extension. The root file name defaults to the image file name, but can be changed using the Results root file name box. Be sure to press enter. The .CSV summary file contains Excel .CSV output for the tone level, noise, and color calculations. It also contains some additional data, including EXIF data for JPEG files. The XML output file contains similar results. Checking Close figures after save is recommended for batch runs to prevent buildup of open figures. |
![]() |
Summary .CSV and XML files
An optional .CSV (comma-separated variable) output file contains results for Colorcheck. Its name is [root name]_summary.csv. An example is Canon_EOS10d_ColorCheck_lt_small_summary.csv.
The format is as follows:
| Module | SFR, SFR multi-ROI, Colorcheck, or Stepchart. |
| File | File name (title). |
| Run date | mm/dd/yyyy hh:mm of run. |
| (blank line) | |
| Tables | Tables are separated by blank lines. |
| The first table contains ideal and measured pixel levels and densities. Zone is the chart patch (19-24 for grays). Gray is 1-6, corresponding to patches 19-24. Pixel is the measured pixel level (maximum = 255). Pixel/255 is the normalized measured pixel level. Px/255 ideal is the ideal normalized pixel level. Log(exp) is (-)patch density. Log(px/255) is the log exposure. WB Err Deg and WB Err Mired are white balance errors in degrees and mireds (micro reciprocal degrees), respectively. | |
| The second table contains noise measurements for the R, G, B, and Y channels for the the patches in the bottom two rows. Noise is measured in both % of the maximum density patch (19) of the GretagMacbeth Colorchecker (density = 1.5) and f-stops. | |
| The third table contains S/N and SNR (dB) measurements, described above. | |
| The fourth table contains ideal and measured RGB and La*b* values for the 24 patches. | |
| The fifth table contains several color error measurements (differences with the ideal Colorchecker values) for the 24 patches: ΔC (color difference, neglecting luminance L), ΔE (total difference, including L) using measured (camera) values with and without saturation correction. Details in the Colorcheck Appendix. | |
| (blank line) | |
| Additional data | The first entry is the name of the data; the second (and additional) entries contain the value. Names are generally self-explanatory (similar to the figures). |
| (blank line) | |
| EXIF data | Displayed if available. |
This format is similar for all modules. Data is largely self-explanatory. Enhancements to .CSV files will be listed in the Change Log.The optional XML output file contains results similar to the .CSV file. Its contents are largely self-explanatory. It is stored in [root name].xml. XML output will be used for extensions to Imatest, such as databases, to be written by Imatest and third parties. Contact us if you have questions or suggestions.
Links
RGB coordinates of the Macbeth ColorChecker by Danny Pascale, BabelColor, 2003 (PDF). Excellent survey of color spaces and techniques for calculating the RGB values of the ColorChecker. And don't forget his other Colorchecker pageBruce Lindbloom Outstanding site with equations for converting between color spaces and models. Slightly different L*a*b* values from Pascale.Earl F. Glynn (EFG) has an excellent description of the ColorChecker. His Computer Lab and Reference Library are a goldmine of information about color, image processing, and related topics. Lighting and Color by John Beale illustrates how different light sources affect Colorcheck results.Munsell Color Science Laboratory (at RIT) has an interesting page of color standards data available for download, including the spectral reflectivities of the Colorchecker measured by Noboru Ohta. CIE Fundamentals for Color Measurements by Yoshi Ohno, Optical Technology Division, NIST. An excellent review of CIE colorimetry from an IS&T technical conference. Describes the CIE 1931 (x, y) and 1976 (u’v’) diagrams. Digital Color Imaging by Gaurav Sharma A comprehensive 1997 review paper that was updated and turned into the first chapter of the Digital Color Imaging Handbook.
Color management equipment/supplies
GretagMacbethTM and ColorChecker® are tradmarks of X-Rite, Incorporated and GretagMacbeth AG, which are not affiliated with Imatest. ColorChecker L*a*b* values are supplied courtesy of GretagMacbeth.
| Digital Image Quality Testing - Copyright © 2008 Imatest LLC |






