spectro/dispcal

Summary

Given a calibration target [white point, maximum brightness, and response curve ("gamma")], display a series of test patches on the display, and using the colorimetric values read, create red, green and blue lookup tables that make the display meet the desired target.

Usage

dispcal [-options] inoutfile
 -v               Verbose mode
 -d               Print debug diagnostics
 -c comport   Set COM port, 1..N (default 1)
 -a                Run instrument calibration
 -i 92|SO       Select target instrument (default DTP92)
                    92 = DTP92, SO = Spectrolino
 -q [lmhu]      Quality - Low, Medium (def), High, Ultra
 -t temp         Set the target white point daylight color temperature in deg. K
 -w x,y          Set the target white point as chromaticity coordinates
 -b bright       Set the target brightness in cd/m^2
 -g gamma     Set the target response curve gamma (Def. 2.2)
                    Use "-gl" for L*a*b* curve
                    Use "-gs" for sRGB curve
 -V              Run verify pass on final curves
 -n               [X11 only] Don't set override redirect on test window
 inoutfile      Base name for input[.ti1]/output[.ti3] file.

Comments

This is the utility is used for calibrating a display, to reach specified target behaviour.

The -v flag reports progress information, as well as other statistics about the progress of calibration.

The -d flag causes serial communications diagnostics to be printed to stdout. This can be useful in tracking down why an instrument can't connect.

The instrument is assumed to communicate through a serial communication port, and the port can be selected with the -c option, if the instrument is not connected to the first port. If you invoke dispread so as to display the usage information (i.e. "dispread -?" or "dispread --"), then the discovered serial ports will be listed on Windows and Mac OSX systems.

By default dispcal expects to use an Xrite DTP92 CRT instrument, but the GretagMacbeth Spectrolino can be selected by using the "SO" argument to the -i option, for use on either a CRT or LCD type of display.

  Quality - Low, Medium (def), High, Ultra. The -q flag determines how much time and effort to go to in calibrating the display. The higher the quality, the more test readings will be done, the more refinement passes will be done, and the more detailed will be the calibration of the display.

  Set the target white point, daylight color temperature in deg. Kelvin. By default, the native white point of the display is used. Typical  values might be 5000 for matching printed output, or 65000, which gives a brighter, bluer look. The cooler white point may limit the maximum brightness possible.

  An alternative to specifying the white point in degrees Kevin, is to specify it in chromaticity co-ordinates. This allows the white point to be a color other than one on the blackbody locus.

  Set the target brightness of white in cd/m^2. If this number cannot be reached, the brightest output possible is chosen.

  Set the target response curve gamma. This is normally an exponential curve (output = input ^gamma), and defaults to 2.2, a standard sort of value. Two alternatives to the power curve are to use the sRGB curve response curve, which is an exponent curve with a straight segment at the dark end (-gs), or the L* curve, which is the response of the CIE L*a*b* perceptual colorspace (-gl).

   Run verify pass on the final curves. This is an extra set of instrument readings, that are used to estimate how well the device will match the targets with the computed calibration curves.

The -a option runs through the black and sensor relative calibration routines for the Xrite DTP92 instrument. If a Spectrolino is being used, then a white calibration will always be performed before the instrument can be placed on the display.

When running on a UNIX based system that used the X11 Windowing System, dispread normally selects the override redirect so that the test window will appear above any other windows on the display. On some systems this can interfere with window manager operation, and the -n option turns this behaviour off.

The final parameter on the command line is the base filename for the .ti1 input file, and the .ti3 output file. dispread will add the .ti1 and .ti3 extensions automatically.

If a large number of patches is being read, the screensaver or powersaver on many systems can interfere with the operation of dispread. It is therefore advisable in these cases to manually turn off the screensaver before commencing the measurements.

The calibration tables produced maintain the maximum level of precision available on a system. If the system RAMDAC outputs are better than 8 bits per component, then the resulting curves can reflect this.

Note that currently there is no support for adjusting the display controls (brightness, contrast, R, G & B channel controls etc.) and providing feedback on how close the native response is to the targets. Currently it is up to the user to adjust these controls using some other feedback, before running dispcal.