Tizen 2.1 base
[platform/upstream/hplip.git] / prnt / colorcal.py
1 # -*- coding: utf-8 -*-
2 #
3 # (c) Copyright 2003-2007 Hewlett-Packard Development Company, L.P.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18 #
19 # Author: Don Welch
20 #
21
22 # For type 3 color cal and alignemnt types 5 and 7
23 COLOR_ALIGN_TABLE = ((71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71),
24                         (71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71),
25                         (71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71),
26                         (71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71),
27                         (77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77),
28                         (83, 85, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83),
29                         (86, 85, 86, 88, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86),
30                         (89, 89, 89, 88, 89, 91, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89),
31                         (93, 93, 93, 93, 93, 91, 93, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93),
32                         (96, 96, 96, 96, 96, 96, 96, 94, 96, 98, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96),
33                         (100, 100, 100, 100, 100, 100, 100, 100, 100, 98, 100, 102, 100, 100, 100, 100, 100, 100, 100, 100, 100),
34                         (104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 104, 106, 104, 104, 104, 104, 104, 104, 104),
35                         (109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 106, 109, 111, 109, 109, 109, 109, 109),
36                         (114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 111, 114, 116, 114, 114, 114),
37                         (119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 116, 119, 122, 119),
38                         (125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 122, 125),
39                         (132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132),
40                         (139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139),
41                         (147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147),
42                         (156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156),
43                         (167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167) 
44                     )
45
46 PHOTO_ALIGN_TABLE = ((167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167),
47                         (167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167),
48                         (167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167),
49                         (167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167),
50                         (143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143),
51                         (125, 122, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125),
52                         (119, 122, 119, 116, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119),
53                         (114, 114, 114, 116, 114, 111, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114),
54                         (109, 109, 109, 109, 109, 111, 109, 106, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109),
55                         (104, 104, 104, 104, 104, 104, 104, 106, 104, 102, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104),
56                         (100, 100, 100, 100, 100, 100, 100, 100, 100, 102, 100, 98, 100, 100, 100, 100, 100, 100, 100, 100, 100),
57                         (96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 98, 96, 94, 96, 96, 96, 96, 96, 96, 96),
58                         (93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 93, 91, 93, 93, 93, 93, 93),
59                         (89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 91, 89, 88, 89, 89, 89),
60                         (86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 88, 86, 85, 86),
61                         (83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 85, 83),
62                         (81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81),
63                         (80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80),
64                         (78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78),
65                         (74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74),
66                         (71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71) 
67                     )
68
69
70 COLOR_CAL_TABLE = (# For color cal type 2
71     127, 127, 127, 127,
72     0,  -40,  40,  0,
73     0,  -30,  40,  0,  
74     0,  -20,  40,  0,  
75     0,  -10,  40,  0,  
76     0,   0,   40,  0,  
77     0,   10,  40,  0,  
78     0,   20,  40,  0,  
79     0,   30,  40,  0,  
80     0,   40,  40,  0,  
81     0,  -40,  30,  0,  
82     0,  -30,  30,  0,  
83     0,  -20,  30,  0,  
84     0,  -10,  30,  0,  
85     0,   0,   30,  0,  
86     0,   10,  30,  0,
87     0,   20,  30,  0,
88     0,   30,  30,  0,
89     0,   40,  30,  0,
90     0,  -40,  20,  0,
91     0,  -30,  20,  0,
92     0,  -20,  20,  0,
93     0,  -10,  20,  0,
94     0,   0,   20,  0,
95     0,   10,  20,  0,
96     0,   20,  20,  0,
97     0,   30,  20,  0,
98     0,   40,  20,  0,
99     0,  -40,  10,  0,
100     0,  -30,  10,  0,
101     0,  -20,  10,  0,
102     0,  -10,  10,  0,
103     0,   0,   10,  0,
104     0,   10,  10,  0,
105     0,   20,  10,  0,
106     0,   30,  10,  0,
107     0,   40,  10,  0,
108     0,  -40,  0,   0, 
109     0,  -30,  0,   0,
110     0,  -20,  0,   0,
111     0,  -10,  0,   0,
112     0,   0,   0,   0,
113     0,   10,  0,   0,
114     0,   20,  0,   0,
115     0,   30,  0,   0,
116     0,   40,  0,   0,
117     0,  -40, -10,  0,
118     0,  -30, -10,  0,
119     0,  -20, -10,  0,
120     0,  -10, -10,  0,
121     0,   0,  -10,  0,
122     0,   10, -10,  0,
123     0,   20, -10,  0,
124     0,   30, -10,  0,
125     0,   40, -10,  0,
126     0,  -40, -20,  0,
127     0,  -30, -20,  0,
128     0,  -20, -20,  0,
129     0,  -10, -20,  0,
130     0,   0,  -20,  0,
131     0,   10, -20,  0,
132     0,   20, -20,  0,
133     0,   30, -20,  0,
134     0,   40, -20,  0,
135     0,  -40, -30,  0,
136     0,  -30, -30,  0,
137     0,  -20, -30,  0,
138     0,  -10, -30,  0,
139     0,   0,  -30,  0,
140     0,   10, -30,  0,
141     0,   20, -30,  0,
142     0,   30, -30,  0,
143     0,   40, -30,  0,
144     0,  -40, -40,  0,
145     0,  -30, -40,  0,
146     0,  -20, -40,  0,
147     0,  -10, -40,  0,
148     0,   0,  -40,  0,
149     0,   10, -40,  0,
150     0,   20, -40,  0,
151     0,   30, -40,  0,
152     0,   40, -40,  0
153 )
154
155
156 # Type 4 manual color calibration table
157
158 TYPE_4_C_TABLE = \
159 (
160     (32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,),
161     (32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,   32,),
162     (21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,),
163     (21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,   21,),
164     (11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,),
165     (11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,   11,),
166     (0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,),
167     (0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,),
168     (-11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,),
169     (-11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,),
170     (-21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,),
171     (-21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,),
172     (-32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,),
173     (-32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,),
174 )
175
176 TYPE_4_M_TABLE = \
177 (
178     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
179     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
180     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
181     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
182     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
183     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
184     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
185     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
186     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
187     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
188     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
189     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
190     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
191     (-30,  -30,  -20,  -20,  -10,  -10,  0,  0,  10,  10,  20,  20,  30,  30,),
192 )
193
194 TYPE_4_Y_TABLE = \
195 (
196     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
197     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
198     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
199     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
200     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
201     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
202     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
203     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
204     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
205     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
206     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
207     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
208     (8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,  8,  28,),
209     (-28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,  -28,  -8,),
210 )
211
212 TYPE_4_LC_TABLE = \
213 (
214     (-31,  -21,  -10,  0,  10,  21,  31,),
215     (-31,  -21,  -10,  0,  10,  21,  31,),
216     (-31,  -21,  -10,  0,  10,  21,  31,),
217     (-31,  -21,  -10,  0,  10,  21,  31,),
218     (-31,  -21,  -10,  0,  10,  21,  31,),
219     (-31,  -21,  -10,  0,  10,  21,  31,),
220     (-31,  -21,  -10,  0,  10,  21,  31,),
221 )
222
223 TYPE_4_LM_TABLE = \
224 (
225     (29,   29,   29,   29,   29,   29,   29,),
226     (19,   19,   19,   19,   19,   19,   19,),
227     (10,   10,   10,   10,   10,   10,   10,),
228     (0,    0,    0,    0,    0,    0,    0,),
229     (-10,  -10,  -10,  -10,  -10,  -10,  -10,),
230     (-19,  -19,  -19,  -19,  -19,  -19,  -19,),
231     (-29,  -29,  -29,  -29,  -29,  -29,  -29,),
232 )