1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<title>Calibration Format File (.cal)</title>
5
<meta http-equiv="content-type"
6
content="text/html; charset=ISO-8859-1">
7
<meta name="author" content="Graeme Gill">
10
<h2>Description of the .cal format</h2>
11
Device calibration information. This is ASCII text, <a
12
href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format, used
13
to hold a description of device setup information that brings it to a
14
desired calibration state. Calibration files are created by <a
15
href="synthcal.html">synthcal</a>, <a href="dispcal.html">dispcal</a>
16
and <a href="printcal.html">printcal</a>.<br>
18
While fully compatible with the CGATS.5 Data Exchange Format, the
19
particular required keywords and fields are unique to Argyll, hence an
20
Argyll specific file identifier <span style="font-weight: bold;">CAL</span>
21
is used to avoid confusion with standard ANSI or CGATS files.<br>
23
The <span style="font-weight: bold;">.cal</span> format changes from
24
time to time with new releases, to add new functionality, but generally
25
retains backwards compatibility. Note that in the description below,
26
the word "may" indicates an optional component, while the word "shall"
27
indicates a necessary component.<br>
29
Generally a .cal file contains only one table, the table containing the
30
setup information. <br>
33
The table contains the following:<br>
35
The file identifier (First 7 characters) shall be <span
36
style="font-weight: bold;">CAL</span>.<br>
38
A <span style="font-weight: bold;">#</span> character introduces a
41
<span style="font-weight: bold;"><span style="font-weight: bold;"><span
42
style="font-weight: bold;"></span></span></span>There may be <span
43
style="font-weight: bold;">DESCRIPTOR</span>, <span
44
style="font-weight: bold;">ORIGINATOR</span>, or <span
45
style="font-weight: bold;">CREATED</span> keywords and values (as per
48
There shall be a <span style="font-weight: bold;">DEVICE_CLASS</span>
49
keyword that has a value of <span style="font-weight: bold;">"OUTPUT</span>",
50
"<span style="font-weight: bold;">DISPLAY</span>" or <span
51
style="font-weight: bold;">"INPUT"</span>.<br>
52
This indicates what type of device the calibration information is
55
There shall be a keyword <span style="font-weight: bold;">COLOR_REP</span>
56
that has a value that indicates what colorspaces of the device values.
57
The colorspaces shall be encoded with one or two letters
59
component. The device spaces shall use the
60
following letter encoding:<br>
62
<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
63
Cyan
4
<title>Calibration Format File (.cal)</title>
5
<meta http-equiv="content-type" content="text/html;
7
<meta name="author" content="Graeme Gill">
10
<h2>Description of the .cal format</h2>
11
Device calibration information. This is ASCII text, <a
12
href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
14
to hold a description of device setup information that brings it to
16
desired calibration state. Calibration files are created by <a
17
href="synthcal.html">synthcal</a>, <a href="dispcal.html">dispcal</a>
18
and <a href="printcal.html">printcal</a>.<br>
20
While fully compatible with the CGATS.5 Data Exchange Format, the
21
particular required keywords and fields are unique to Argyll, hence
23
Argyll specific file identifier <span style="font-weight: bold;">CAL</span>
24
is used to avoid confusion with standard ANSI or CGATS files.<br>
26
The <span style="font-weight: bold;">.cal</span> format changes
28
time to time with new releases, to add new functionality, but
30
retains backwards compatibility. Note that in the description below,
31
the word "may" indicates an optional component, while the word
33
indicates a necessary component.<br>
35
Generally a .cal file contains only one table, the table containing
37
setup information. <br>
40
The table contains the following:<br>
42
The file identifier (First 7 characters) shall be <span
43
style="font-weight: bold;">CAL</span>.<br>
45
A <span style="font-weight: bold;">#</span> character introduces a
48
<span style="font-weight: bold;"><span style="font-weight: bold;"><span
49
style="font-weight: bold;"></span></span></span>There may be <span
50
style="font-weight: bold;">DESCRIPTOR</span>, <span
51
style="font-weight: bold;">ORIGINATOR</span>, or <span
52
style="font-weight: bold;">CREATED</span> keywords and values (as
56
There shall be a <span style="font-weight: bold;">DEVICE_CLASS</span>
57
keyword that has a value of <span style="font-weight: bold;">"OUTPUT</span>",
58
"<span style="font-weight: bold;">DISPLAY</span>" or <span
59
style="font-weight: bold;">"INPUT"</span>.<br>
60
This indicates what type of device the calibration information is
63
A <span style="font-weight: bold;">"DISPLAY"</span> type device may
64
have a <span style="font-weight: bold;">VIDEO_LUT_CALIBRATION_POSSIBLE
66
must have a value of "<span style="font-weight: bold;">NO</span>" or
67
"<span style="font-weight: bold;">YES</span>", to indicate whether
68
the display has the ability to be calibrated by loading VideoLUT
71
There shall be a keyword <span style="font-weight: bold;">COLOR_REP</span>
72
that has a value that indicates what colorspaces of the device
74
The colorspaces shall be encoded with one or two letters
76
component. The device spaces shall use the
77
following letter encoding:<br>
79
<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
81
64
82
66
Magenta
67
M<br>
68
Yellow
84
Magenta
85
M<br>
86
Yellow
69
87
71
Black
89
Black
72
90
74
Orange
92
Orange
75
93
77
Red
95
Red
78
96
80
Green
98
Green
81
99
83
Blue
101
Blue
84
102
86
White
87
88
W<br>
89
Light Cyan
104
White
105
106
W<br>
107
Light Cyan
90
108
92
Light
110
Light
93
111
Magenta
95
Light
113
Light
96
114
Yellow
98
Light
116
Light
99
117
Black
101
Medium Cyan
102
2c<br>
103
Medium Magenta
105
Medium Yellow
106
2y<br>
107
Medium Black
108
2k<br>
109
Light Light Black 1k<br>
111
There may be an a prefix <span style="font-weight: bold;">i</span>
112
preceding the device space letter encoding, indicating that although
113
the space appears to be an additive space, it is in fact a subtractive
116
Typical values might be: "<span style="font-weight: bold;">RGB</span><span
117
style="font-weight: bold;"></span>" for an RGB display, "<span
118
style="font-weight: bold;">iRGB</span><span style="font-weight: bold;"></span>"
119
for an RGB printer, "<span style="font-weight: bold;">CMYK</span>" for
121
printer, "<span style="font-weight: bold;">RGB"</span> for an RGB
124
The <span style="font-weight: bold;">NUMBER_OF_FIELDS</span> keyword
125
shall have a value that indicates the number of fields in each data
126
set, e.g. <span style="font-weight: bold;">4</span> (as per CGATS).<br>
128
The start of the declaration of the fields shall be marked by the <span
129
style="font-weight: bold;">BEGIN_DATA_FORMAT</span> keyword (as per
132
The fields shall use the standard CGATS pattern of the full colorspace
133
identified followed by the individual colorant identifier. There shall
134
be an initial input index value identified by the letter <span
135
style="font-weight: bold;">I</span>.<br>
137
For an RGB device, the
138
following fields would be used:<br>
140
<span style="font-weight: bold;">RGB_I</span>
141
The device value input value between 0.0 and 1.0.<br>
142
<span style="font-weight: bold;">RGB_R</span>
143
The Red device value input value between 0.0 and 1.0.<br>
144
<span style="font-weight: bold;">RGB_G</span>
145
The Green device value input value between 0.0 and
147
<span style="font-weight: bold;">RGB_B</span>
148
The Blue device value input value between 0.0 and
151
The corresponding field names for a CMYK device would be <span
152
style="font-weight: bold;">CMYK_I</span>, <span
153
style="font-weight: bold;">CMYK_C</span>, <span
154
style="font-weight: bold;">CMYK_M</span>, <span
155
style="font-weight: bold;">CMYK_Y</span> and <span
156
style="font-weight: bold;">CMYK_K</span>, etc.<br>
158
The definition of the fields shall be terminated by the <span
159
style="font-weight: bold;">END_DATA_FORMAT</span> keyword (as per
162
The <span style="font-weight: bold;">NUMBER_OF_SETS</span> keyword
163
shall have a value that indicates the number of sets of data, e.g. <span
164
style="font-weight: bold;">256</span> (as per CGATS).<br>
166
The start of the values of the data sets shall be marked by the <span
167
style="font-weight: bold;">BEGIN_DATA</span> keyword (as per CGATS).<br>
169
Each set of data shall be on one line, and shall be separated by white
170
space. All values shall be normalized to lie between 0.0 and 1.0.<br>
172
The end of the values of the data sets shall be marked by the <span
173
style="font-weight: bold;">END_DATA</span> keyword (as per CGATS).<br>
175
There may then be device type specific extra tables that hold target or
176
device behavior information. These will be specific to the tool that
177
creates that particular type of calibration.<br>
179
Generally any other keywords and values will be ignored.<br>
119
Medium Cyan
120
2c<br>
121
Medium Magenta
122
124
Medium Yellow
125
2y<br>
126
Medium Black
127
2k<br>
128
Light Light Black 1k<br>
130
There may be an a prefix <span style="font-weight: bold;">i</span>
131
preceding the device space letter encoding, indicating that although
132
the space appears to be an additive space, it is in fact a
136
Typical values might be: "<span style="font-weight: bold;">RGB</span><span
137
style="font-weight: bold;"></span>" for an RGB display, "<span
138
style="font-weight: bold;">iRGB</span><span style="font-weight:
140
for an RGB printer, "<span style="font-weight: bold;">CMYK</span>"
143
printer, "<span style="font-weight: bold;">RGB"</span> for an RGB
146
The <span style="font-weight: bold;">NUMBER_OF_FIELDS</span>
148
shall have a value that indicates the number of fields in each data
149
set, e.g. <span style="font-weight: bold;">4</span> (as per CGATS).<br>
151
The start of the declaration of the fields shall be marked by the <span
152
style="font-weight: bold;">BEGIN_DATA_FORMAT</span> keyword (as
156
The fields shall use the standard CGATS pattern of the full
158
identified followed by the individual colorant identifier. There
160
be an initial input index value identified by the letter <span
161
style="font-weight: bold;">I</span>.<br>
163
For an RGB device, the
164
following fields would be used:<br>
166
<span style="font-weight: bold;">RGB_I</span>
168
The device value input value between 0.0 and 1.0.<br>
169
<span style="font-weight: bold;">RGB_R</span>
171
The Red device value input value between 0.0 and 1.0.<br>
172
<span style="font-weight: bold;">RGB_G</span>
173
The Green device value input value between 0.0
176
<span style="font-weight: bold;">RGB_B</span>
177
The Blue device value input value between 0.0
181
The corresponding field names for a CMYK device would be <span
182
style="font-weight: bold;">CMYK_I</span>, <span
183
style="font-weight: bold;">CMYK_C</span>, <span
184
style="font-weight: bold;">CMYK_M</span>, <span
185
style="font-weight: bold;">CMYK_Y</span> and <span
186
style="font-weight: bold;">CMYK_K</span>, etc.<br>
188
The definition of the fields shall be terminated by the <span
189
style="font-weight: bold;">END_DATA_FORMAT</span> keyword (as per
192
The <span style="font-weight: bold;">NUMBER_OF_SETS</span> keyword
193
shall have a value that indicates the number of sets of data, e.g. <span
194
style="font-weight: bold;">256</span> (as per CGATS).<br>
196
The start of the values of the data sets shall be marked by the <span
197
style="font-weight: bold;">BEGIN_DATA</span> keyword (as per
200
Each set of data shall be on one line, and shall be separated by
202
space. All values shall be normalized to lie between 0.0 and 1.0.<br>
204
The end of the values of the data sets shall be marked by the <span
205
style="font-weight: bold;">END_DATA</span> keyword (as per CGATS).<br>
207
There may then be device type specific extra tables that hold target
209
device behavior information. These will be specific to the tool that
210
creates that particular type of calibration.<br>
212
Generally any other keywords and values will be ignored.<br>