spectro/ccxxmake
Summary
For a normal Colorimeters that rely on a calibration matrix, ccxxmake allows creation of a
correction matrix file (ccmx) for
a particular Colorimeter Display
combination, by making use a
reference Spectrometer
instrument. This can then be used to
improve the accuracy
of subsequent measurements with that Colorimeter on that Display by
using it with
the dispcal,
dispread and spotread
-X
option. See Wide Gamut Displays and
Colorimeters for more information on why this may be useful.
For Colorimeters that rely on sensor spectral sensitivity calibration
information (ie. the X-Rite i1d3), ccxxmake allows a creation of a
calibration spectral sample (ccss)
for
a particular Display, by
making use a
reference Spectrometer
instrument. This can then be used to
improve the accuracy
of subsequent measurements on that Display using such Colorimeters, by
using it with
the dispcal,
dispread and spotread
-X
option.
There is a list of contributed ccmx
(Colorimeter Correction Matrix) files.
Usage Summary
ccxxmake [-options]
correction.ccmx
-v
Verbose
mode
-S
Create
CCSS rather than CCMX
-f file1.ti3[,file2.ti3]
Create
from
one
or two .ti3 files rather than measure.
-display
displayname [X11 only] Choose X11 display name
-d n[,m]
[X11
only]
Choose
the
display
from
the following list (default 1),
and
optionally
choose
a
different
display m for VideoLUT access.
-d
n
Choose
the
display
from
the
following list (default 1)
-p
Use
projector
mode
(if
available)
-y
c|l
Display
type,
c
=
CRT,
l = LCD (CCMX)
-P
ho,vo,ss
Position
test
window
and
scale
it
ho,vi:
0.0
=
left/top,
0.5
= center, 1.0 = right/bottom etc.
ss:
0.5
=
half,
1.0
= normal, 2.0 = double etc.
-F
Fill
whole
screen
with
black
background
-n
[X11
only]
Don't
set
override redirect
on test
window
-N
Disable
auto
calibration
of
instrument
-H
Use
high
resolution
spectrum
mode
(if available)
-V
Use
adaptive
measurement
mode
(if
available)
-C
"command"
Invoke shell "command"
each
time a color is set
-o observ
Choose
CIE
Observer for CCMX spectral
data:
1931_2 (def.), 1964_10, S&B
1955_2, shaw, J&V 1978_2
-s
steps
Override
default
patch sequence combination steps (default 3)
-W
n|h|x
Override
serial
port
flow
control:
n = none, h = HW, x = Xon/Xoff
-D [level]
Print
debug diagnostics to stderr
-E "description"
Override
the
default overall escription
-I
"displayname"
Set
display
make
and
model
description
-T
"displaytech"
Set
display
technology
description (ie. CRT, LCD etc.)
correction.ccmx | calibration.ccss
File
to
save result to.
Usage Details and Discussion
The -v flag causes extra information to be
printed out during
chartread operation.
-S By default a
Colorimeter Correction Matrix (CCMX)
will
be created from both Colorimeter
and Spectrometer readings,
which allows correction for errors with a particular
Colorimeter and Display combination. If the -S flag is used, then instead a
Colorimeter Calibration Spectral Set (CCSS)
file
is created from just the Spectrometer
readings, that allows calibrating any suitable Colorimeter to
the Display.
-f file1.ti3[,file2.ti3] By
default ccxxmake creates a
.ccmx file by displaying test patches on the screen, and then prompting
you to measure them interactively with the two instruments. An
alternative is to create a small number of test values using targen suitable for display
profiling, and then measure them with the two instruments using dispread to create two spectral
reading files (ie. use the -s
flag with dispread), and then provide the two files as arguments to ccxxmake -f. The filenames should be
concatenated with a ","
separator without spaces. You will also have to supply a display name
using the -I option.
When creating a CCSS file, only spectral readings from the display
measured with the reference instrument are needed, and a single .ti3 file can be provided.
When running on a UNIX based system that used the
X11
Windowing
System, ccxxmake will by default use the $DISPLAY environment
variable to determine which display and screen to read from. This can
be overridden by supplying an X11 display name to the -display option. Note that if
Xinerama is active, you can't select the screen using $DISPLAY or
-display, you have to select it using the -d parameter.
By default the main display will be the location of
the test window. If the system has more than
one display or screen, an alternate display/screen can be selected with
the -d parameter. If you
invoke ccxxmake
so as to display the usage
information (i.e. "dispcal -?" or "dispcal --"), then the discovered
displays/screens will be listed. Multiple displays may not be listed,
if they appear as a single display to the operating system (ie. the
multi-display support is hidden in the video card driver). On UNIX
based system that used the X11
Windowing
System, the -d parameter will
override the screen specified by the $DISPLAY or parameter.
Because of the difficulty cause by TwinView and
MergedFB in X11 based systems, you can optionally specify a separate
display number after the display that is going to be used to present
test patches, for accessing the VideoLUT hardware. This must be
specified as a single string, e.g. -d
1,2
. Some experimentation may be needed using dispwin
on such systems, to discover what
screen has access to the VideoLUT hardware, and which screens the test
patches appear on.
The -p flag
allows measuring
in projector mode, using
instruments that
support this.
Display type. (CCMX creation.) Colorimeters can
do a more accurate job if they know what type of display technology
they are measuring. Use -yc if
you are
calibrating a CRT (Cathode Ray Tube) type monitor or Plasma type
display, and use -yl if you
are calibrating an LCD
(Liquid Crystal Display). A spectrometer instrument will not need this
option.
The -P
parameter allows you to position and size the test patch window. By
default it is places in the center of the screen, and sized
appropriately for the type of instrument. The ho and vo values govern the horizontal and
vertical offset respectively. A value of 0.0 positions the window to
the far left or top of the screen, a value of 0.5 positions it in the
center of the screen (the default), and 1.0 positions it to the far
right or bottom of the screen. The ss
parameter is a scale factor for the test window size. A value of 0.5
for instance, would produce a half sized window. A value of 2.0 will
produce a double size window. Note that the ho,vo,ss numbers must be
specified as a single string (no space between the numbers and the
comma).
For example, to create a double sized test window at the top right of
the screen, use -P 1,0,2 .
The -F
flag causes the while screen behind the test window to be masked with
black. This can aid black accuracy when measuring CRT displays or
projectors.
-n When running
on a UNIX based system that used the X11
Windowing
System, dispcal 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 -N option disables the automatic
calibration
of an instrument if it is possible to do so. Sometimes it is awkward to
have to re-calibrate and instrument every time a tool starts, and
unnecessary if the instrument has recently been calibration, and this
switch prevents it happening.
The -H option
on high resolution spectral mode, if the instrument
supports it,
such as the Eye-One Pro.
See Operation of particular instruments
for more details. This may give better accuracy for display
measurements.
The -V option
uses adaptive emission measurement mode, if the instrument supports it,
such as the Eye-One Pro. This may give better accuracy for low level
measurements, but may be more inconsistent overall due to the varying
integration times. Overall measurement time will probably be longer.
The -C "command" option
allows a method of relaying each test value to some other display than
that on the system running dispcal (for instance, a photo frame, PDA
screen etc.), by causing the given command to be invoked to the shell,
with six arguments. The first three arguments are the RGB test color as
integers in the range 0 to 255, the second three parameters are the RGB
test color as floating point numbers in the range 0.0 to 1.0. The
script or tool should relay the given color to the screen in some
manner (e.g. by generating a raster file of the given color and sending
it to the display being profiled), before returning. Note that a test
window will also be created on the system running dispread.
(CCMX creation) The -o flag allows specifying
a tristimulus
observer, and is used to compute
tristimulus values from spectral readings. The following choices
are available:
1931_2 selects the standard CIE 1931 2 degree observer.
The default.
1964_10 selects the standard CIE 1964 10 degree observer.
1955_2 selects the Stiles and Birch 1955 2 degree
observer
1978_2 selects the Judd and Voss 1978 2 degree observer
shaw selects the Shaw and Fairchild 1997 2 degree
observer
The -s steps
parameter overrides the default number of test patch combination steps
used in
measuring a colorimeter & display combination. The steps are those out of
every combination of R,G & B values of the given number of steps
that have at least one colorant at 100%. So 2 steps gives 7 test
patches, 3 gives 19, 4 gives 37, 5 gives 61, 6 gives 91 etc. Note that
typically this won't make much difference to the resulting calibration,
since it depends primarily on the underlying spectral characteristics
of the display.
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 -E parameter allows overriding the ccmx/ccss files overall description
tag.
Normally this is not necessary. With
most command line shells, it will be
necessary to enclose the parameter with double quotes, so that spaces
and other special characters are included in the parameter, and not
mistaken for the start of another flag, or as a final command line
parameter.
The -I parameter allows setting of the display
description string in the resulting ccmx/ccss
file. Since the default display description is probably very generic,
it is highly recommended that
a description of the make and model of the display be provided here, or
set a display technology description using -T (see below).
The default or given display description will be printed before the
menu. With most command line
shells, it will be necessary to enclose the parameter with double
quotes, so that spaces and other special characters are included in the
parameter, and not mistaken for the start of another flag, or as a
final command line parameters.
The -T parameter allows setting of the display
technology description string in the resulting ccmx/ccss
file. The applicability of the calibration mainly depends on the
technology type of the display, so a description of the technology (ie.
"CRT", "LCD", "LCD + backlight type + LCD type", etc.) is highly recommended, because it can
make the calibration more widely usable. With most command line
shells, it will be necessary to enclose the parameter with double
quotes, so that spaces and other special characters are included in the
parameter, and not mistaken for the start of another flag, or as a
final command line parameters.
The correction.ccmx
is
the name of the file to save the resulting Colorimeter Correction Matrix to.
It is best to give it a short but informative name that includes the
Colorimeter model and the display make and model. By convention it
should have a .ccmx file
extension.
The correction.ccss
is
the name of the file to save the resulting Colorimeter Calibration Spectral Samples
to.
It is best to give it a short but informative name that includes the
display technology or model. By convention it
should have a .ccss file
extension.
Instrument Communications:
Unlike the other measurement utilities,
ccxxmake doesn't connect to the
instrument until it is about to make a measurement. This allows for the
possibility of using a different instrument for each measurement.
It will display a menu:
Press 1 .. 4:
1) Select an instrument, Currently 1 'usb:/bus4/dev2/
(GretagMacbeth i1 Pro)'
2) Measure test patches with current instrument
3) [ Compute Colorimeter Correction Matrix & save it ]
4) Exit
For creating a CCMX there are two measurements to be made, after which
the correction
matrix can
be computed and saved. Before each measurement, the instrument may need
calibrating. For creating a CCSS a single measurement is needed.
A spectral measurement using a spectral instrument is always
needed.
A measurement using the Colorimeter that the correction matrix
is being created for is needed in the case of creating a CCMX, but not needed when creating a CCSS.
There will be a message before the menu indicating which of the
measurements has been completed.
Display Setup:
Because ccmx/ccss is measuring spectral matching, the exact levels of
each
channel is not important, so the display settings or calibration state
shouldn't make any difference to the result. Similarly, the number and
variety of test patches shouldn't make much difference, as long as
there is at least Red, Green, Blue and White test patches.