Description of the .ti3 format
This is an ASCII text, CGATS,
Argyll specific format, used to hold device value and CIE/Spectral
value pairs, the raw information needed to create device profiles. This
file is typically created using the chartread, dispread,
filmread, scanin,
fakeread or one of the conversion
utilities
such as cb2cgats, kodak2cgats,
logo2cgats.
While fully compatible with the CGATS.5 Data Exchange Format, the
particular required keywords and fields are unique to Argyll, hence an
Argyll specific file identifier CTI3
is used to avoid confusion with standard ANSI or CGATS files.
The .ti3 format changes from
time to time with new releases, to add new functionality, but generally
retains backwards compatibility. Note that in the description below,
the word "may" indicates an optional component, while the word "shall"
indicates a necessary component.
Generally a .ti3 file contains only one table, the table containing the
colorimetric information. The exception is for a display in which a set
of RAMDAC values (most likely the result of display calibration, or
simply the video LUT (RAMDAC) values present in the display when the
test values
were read) are recorded in a second table.
The first table contains the following:
The file identifier (First 7 characters) shall be CTI3.
A # character introduces a
comment.
There may be DESCRIPTOR, ORIGINATOR, or CREATED keywords and values (as per
CGATS).
There shall be a DEVICE_CLASS
keyword that has a value of "OUTPUT",
"DISPLAY" or "INPUT".
This indicates to the profile program what type of device the color
information is from.
An "OUTPUT" type device may
have a TOTAL_INK_LIMIT keyword
that has a numeric value indicating the maximum sum of the device
channel values as a percentage (T.A.C.), used in creating the test
chart. This will be used by the profiler as a value indicating what the
valid device gamut is, and what total ink limit should be used in
creating the profile tables.
A "DISPLAY" type device may
have a LUMINANCE_XYZ_CDM2
keyword that contains the absolute XYZ value of white in candelas per
meter squared, e.g. "112.334770
119.657745 121.474236".
There may be a keyword TARGET_INSTRUMENT
which will identify the instrument used to read the test values. This
is used by the profiling program to determine the spectral
characteristics of the instrument illuminant if Fluorescent Whitener
Compensation is desired. The value shall be one of:
"Xrite DTP41"
"Xrite DTP51"
"Xrite DTP92"
"GretagMacbeth
Spectrolino"
"GretagMacbeth
SpectroScan"
"GretagMacbeth
SpectroScanT"
"Spectrocam"
All instruments except the Spectrocam are assumed to have an "A" type
illuminant (incandescent lamp of 2850 degrees Kelvin.)
There may be keywords with associated values SINGLE_DIM_STEPS, COMP_GREY_STEPS, MULTI_DIM_STEPS or FULL_SPREAD_PATCHES, that document
the composition of the test chart patches.
There shall be a keyword COLOR_REP
that has a value that indicates what colorspaces the test values
connect. The colorspaces shall be encoded with one or two letters
per
component, and the two color spaces shall then separated by an _
(underscore) character. For output and display devices, the device
space shall come first, followed by the PCS space. For an input device,
the PCS shall come first, followed by the device space. The PCS space
shall be either XYZ space, indicated by XYZ,
or D50 while point L*a*b* space, indicated by LAB. The device spaces shall use the
following letter encoding:
Cyan
C
Magenta
M
Yellow
Y
Black
K
Orange
O
Red
R
Green
G
Blue
B
White
W
Light Cyan
c
Light
Magenta
m
Light
Yellow
y
Light
Black
k
Medium Cyan
2c
Medium Magenta
2m
Medium Yellow
2y
Medium Black
2k
Light Light Black 1k
Typical values might be: "RGB_XYZ"
or "RGB_LAB" for an RGB printer
or display, "CMYK_XYZ" for a
printer, "XYZ_RGB" for an RGB
scanner.
If spectral values are going to be included in the file, the following
keywords and values shall be used:
SPECTRAL_BANDS shall
contain the number of spectral bands in the readings, e.g. "36".
SPECTRAL_START_NM shall
contain the wavelength in nanometers of the first band, e.g. "380.0".
SPECTRAL_END_NM shall
contain the wavelength in nanometers of the last band, e.g. "730.0".
The NUMBER_OF_FIELDS keyword
shall have a value that indicates the number of fields in each data
set, e.g. 43 (as per CGATS).
The start of the declaration of the fields shall be marked by the BEGIN_DATA_FORMAT keyword (as per
CGATS).
Then shall follow the names of the fields. Standard CGATS field names
such as:
SAMPLE_ID, RGB_R, RGB_G, RGB_B, CMYK_C, CMYK_M, CMYK_Y, CMYK_K, XYZ_X, XYZ_Y, XYZ_Z, LAB_L, LAB_A or LAB_B
shall be used where appropriate. Other device fields shall use the
appropriate pattern, e.g. CMYKOG_G
etc. Spectral band values shall be named SPEC_XXX, where XXX is the nearest integer values of
the number of nanometers of the band.
The definition of the fields shall be terminated by the END_DATA_FORMAT keyword (as per
CGATS).
The NUMBER_OF_SETS keyword
shall have a value that indicates the number of sets of data, e.g. 1000 (as per CGATS).
The start of the values of the data sets shall be marked by the BEGIN_DATA keyword (as per CGATS).
Each set of data shall be on one line, and shall be separated by white
space. All device values shall be percentages (e.g. values from 0.0 to
100.0). XYZ values shall normalized to a Y value of 100.0. L*a*b*
values will have their normal range (L* 0.0 to 100.0, a* and b*
typically -128.0 to 128.0).
The end of the values of the data sets shall be marked by the END_DATA keyword (as per CGATS).
Generally any other keywords and values will be ignored.
If a second table is present, and it is a display RAMDAC calibration,
it will be of the CAL file format..