## spectro/chartread

### Summary

Read a printer test chart using an instrument, to create a .ti3 data file. The type of instrument is determined by the communication port selected.
chartread can also be used to read transmission values, and to read display values manually.

### Usage

chartread [-options] outfile
-v Verbose mode
-c listno Set communication port from the following list (default 1)
-t Use transmission measurement mode
-d Use display measurement mode (white Y relative results)
-y c|l Display type, c = CRT, l = LCD
-e Use emissive measurement mode (absolute results)
-p Measure patch by patch rather than strip
-x [lx] Take external values, either L*a*b* (-xl) or XYZ (-xx).
-n Don't save spectral information (default saves spectral)
-l Save CIE as D50 L*a*b* rather than XYZ
-r Resume reading partly read chart
-I file.cal Override calibration info from .ti2 in resulting .ti3
-N Disable auto calibration of instrument
-B Disable auto bi-directional strip recognition
-H Use high resolution spectrum mode (if available)
-T ratio Modify strip patch consistency tollerance by ratio (if available)
-W n|h|x Ovride serial port flow control: n = none, h = HW, x = Xon/Xoff
-D [level] Print debug diagnostics to stderr
inoutfile Base name for input[.ti2]/output[.ti3] file

### Usage Details

The -v flag causes extra information to be printed out during chartread operation.
Normally instruments are connected via a serial communication port, and the port used should be selected by supplying the correct parameter to the -c flag. If you invoke chartread so as to display the usage information (i.e. "chartread -?" or "chartread --"), then the discovered serial ports will be listed on Windows and Mac OSX systems.
If using an Xrite DTP41T, and printing onto transparent or back lit media, use the -t flag to operate the instrument in transparency mode. If using a Spectrolino or Eye-One Pro (handheld), this triggers a fake transparency mode, that uses a separate backlight (such as a light box). The instrument will be used to calibrate the level of backlight, and use this to compute the transparency of the test chart samples. Note that for good transparency values, the backlight level needs to be neither too bright not too dark, should ideally be incandescent rather than fluorescent (since fluorescent lights often have big dips in their spectrum), and ideally should be of uniform brightness over the measurement area. If using the SpectroScanT, the -t flag operates the instrument in transparency mode, each reading being manually triggered.
The -d flag allows measuring in display mode using instruments that support this mode, with the brightness normalized to the white patch value in the test chart. While the brightness values are then relative to the white, the readings are otherwise absolute. This corresponds to the raw ICC absolute readings created by dispread, and is the mode that should be used for creating a normal display ICC profile using manual, spot by spot readings. This can be useful if the display cannot be driven directly by the computer, but can be made manually to display the test charts.
Display type. Some colorimeters (like the DTP94 and Eye-One Display) require that the the type of display technology used be specified. Use -yc if you are calibrating a CRT (Cathode Ray Tube) type monitor, and use -il if you are calibrating an LCD (Liquid Crystal Display).
If using an instrument that supports an emissive measurement mode (such as the Spectrolino), then the -e flag enables this measurement mode, and the values recorded will be absolute XYZ values. This can be used for media such as backlit film, measuring it on a lightbox, so as to capture the actual illumination characteristics of that particular media.
The -p flag causes chartread to use a spot read mode for an instrument, even if it is capable of faster chart reading modes such as strip reading. This can be useful if strip measurement patch recognition is not reliable for certain media.
The -x flag causes chartread to expect values to be entered for each reading, rather than using an instrument to do the measurements. This mode is ideal if your instrument is not supported by Argyll. Either XYZ or L*a*b* values can be entered, depending on what option follows -l, -lx to specify XYZ values, or -ll to specify L*a*b* values. XYZ values are expected to be scaled to a maximum of 100. It is possible to navigate about the test values being measured, so as to do them in any order, as well as re-do values, in case of any mistakes.
-n By default spectral information as well as D50 standard observer XYZ values will be recorded for each test patch, when such readings are available from a device. The spectral readings allow for choosing a non-standard viewing illuminant, a non-standard observer model, or the use of the Fluorescent Paper Whitener Additive compensation when creating the profile. If the spectral readings are not needed, then prinread operation can be speeded up by specifying the -n flag.
-l By default D50 standard observer XYZ values will be recorded for each test patch, but if the -l flag is used, D50 L*a*b* values will be recorded instead.
-r By default chartread reads the chart from scratch each time. When reading a chart using a strip instrument or patch by patch you can choose to finish chartread without reading all the patches, and whatever patches have been read will be saved to the output .ti3 file. You can then resume reading the patches by using the -r flag, in which case chartread will read the .ti3 file and set the patches to those previously read values, allowing any unread patches to then be read, or to re-read previously read patches.
-I file.cal Normally per channel calibration curves are added to the .ti2 file using the printtarg -K or -I options, so that they will be passed on to the .ti3 file by chartread, so that colprof is able to correctly compute total ink limits. Where the calibration is being applied in a workflow with native calibration capability though, it is sometimes convenient to re-use a profile chart with different calibration curves without going through the process of using printtarg to re-create it. This would mean though, that the calibration information and subsequent ink limit calculations wouldn't be accurate. To overcome this and allow such a scenario, the chartread -I parameter allows overriding the .ti2 calibration curves placed in the resulting .ti3 file with the actual calibration that was used for that particular print.
-N Many instruments automatically ask for an instrument calibration before each set of readings. Sometimes this can be awkward if the instrument is being mounted in some sort of measuring jig, or annoying if several sets of readings are being taken in quick succession. The -N suppresses this automatic calibration (if possible), causing the previous calibration recorded in the instrument or on the host computer. It is advisable to only use this option on the second and subsequent measurements in a single session.
-B Some strip instruments (i.e.. Eye-One Pro, Color Munki) when used with Argyll will automatically recognize a strip when read in the reverse direction by matching the patch readings against their expected values. If the randomized patch layout has not been used, or the expected values are not known accurately enough, this may cause erroneous reverse recognition, so the -B flag allows this to be turned off, forcing strips to only be read in the forward direction.
The -H option turns on high resolution spectral mode, if the instrument supports it. See Operation of particular instruments for more details.
The -T ratio argument modifies the patch consistency tolerance threshold for some strip reading instruments (ie. the Eye-One Pro). In recognizing patches in a strip, an instrument may take multiple readings as the strip is read, and then divide the readings up into each patch. It may then check the consistency of the multiple readings corresponding to each patch, and reject the measurement if they are too inconsistent. For some media (ie. a coarser screens, fabric etc.) the default tolerance may be unreasonably tight, so the -T ratio argument can be used to modify this criteria. To loosen the tolerance, use a number greater than 1.0 (ie. 1.5, 2.0).
The -W n|h|x parameter overrides the default serial communications flow control setting. The value n turns all flow control off, h sets hardware handshaking, and x sets Xon/Xoff handshaking. This commend may be useful in workaround serial communications issues with some systems and cables.
The -D flag causes communications and other instrument diagnostics to be printed to stdout. A level can be set between 1 .. 9, that may give progressively more verbose information, depending on the instrument. This can be useful in tracking down why an instrument can't connect.
The inoutfile parameters should be the base name of the .ti2 file, and chartread will output an .ti3 that has the same basename and the .ti3 extension. If the incoming .ti2 file contains per-channel calibration curves, these will be passed through to the .ti3 so that accurate ink limits can be computed during profiling.

### Discussion

For information about the operation of different instruments, see Operation of particular instruments.