carrierwave-daltonize 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +7 -0
- data/README.md +40 -1
- data/lib/carrierwave-daltonize/version.rb +1 -1
- data/lib/daltonize.rb +25 -12
- data/other/daltonize.ws +293 -33
- data/other/images/Colorblind3_protanope.png +0 -0
- data/other/images/Colorblind4_deuteranope.png +0 -0
- data/other/images/Colorblind5_tritanope.png +0 -0
- data/other/images/ishihara_deuteranope.png +0 -0
- data/other/images/ishihara_protanope.png +0 -0
- data/other/images/ishihara_tritanope.png +0 -0
- data/other/images/macbeth_deuteranope.jpg +0 -0
- data/other/images/macbeth_protanope.jpg +0 -0
- data/other/images/macbeth_tritanope.jpg +0 -0
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# Version 0.0.4
|
2
|
+
|
3
|
+
* improve neutral handling [John Cupitt]
|
4
|
+
* pre-multiply matrices for a small speedup [John Cupitt]
|
5
|
+
* Updated image samples [Yoav Aner]
|
6
|
+
* added MIT license to Readme [Yoav Aner]
|
7
|
+
|
1
8
|
# Version 0.0.3
|
2
9
|
|
3
10
|
* moved code into lib/daltonize.rb [Yoav Aner]
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ Requires ruby-vips. See https://github.com/jcupitt/ruby-vips
|
|
11
11
|
|
12
12
|
Add this line to your application's Gemfile:
|
13
13
|
|
14
|
-
gem 'carrierwave-daltonize'
|
14
|
+
gem 'carrierwave-daltonize'
|
15
15
|
|
16
16
|
And then execute:
|
17
17
|
|
@@ -50,6 +50,21 @@ Usage:
|
|
50
50
|
|
51
51
|
./lib/daltonize.rb in.jpg out.jpg deuteranope
|
52
52
|
|
53
|
+
In your ruby code:
|
54
|
+
|
55
|
+
require 'rubygems'
|
56
|
+
require 'vips'
|
57
|
+
require 'carrierwave-daltonize'
|
58
|
+
|
59
|
+
# to process an image filename for deuteranopia and save it
|
60
|
+
Daltonize.daltonize_file(source, destination, :deuteranope)
|
61
|
+
|
62
|
+
# or calling the daltonize function directly
|
63
|
+
|
64
|
+
im = VIPS::Image.new(source)
|
65
|
+
im = Daltonize.tritanope(im)
|
66
|
+
im.write(destination)
|
67
|
+
|
53
68
|
There's also a version of the algorithm in
|
54
69
|
[nip2](https://github.com/jcupitt/nip2) for easy testing of the
|
55
70
|
details of the parameters. See 'other' directory. Run with something like:
|
@@ -80,3 +95,27 @@ of your carrierwave image processing.
|
|
80
95
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
81
96
|
4. Push to the branch (`git push origin my-new-feature`)
|
82
97
|
5. Create new Pull Request
|
98
|
+
|
99
|
+
## License
|
100
|
+
|
101
|
+
The MIT License (MIT)
|
102
|
+
|
103
|
+
Copyright (c) 2013 John Cupitt, Yoav Aner, kenHub GmbH
|
104
|
+
|
105
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
106
|
+
of this software and associated documentation files (the "Software"), to deal
|
107
|
+
in the Software without restriction, including without limitation the rights
|
108
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
109
|
+
copies of the Software, and to permit persons to whom the Software is
|
110
|
+
furnished to do so, subject to the following conditions:
|
111
|
+
|
112
|
+
The above copyright notice and this permission notice shall be included in
|
113
|
+
all copies or substantial portions of the Software.
|
114
|
+
|
115
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
116
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
117
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
118
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
119
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
120
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
121
|
+
THE SOFTWARE.
|
data/lib/daltonize.rb
CHANGED
@@ -11,9 +11,21 @@
|
|
11
11
|
# im = ::Daltonize.tritanope(im)
|
12
12
|
# im.write(destination)
|
13
13
|
|
14
|
+
require 'matrix'
|
14
15
|
require 'rubygems'
|
15
16
|
require 'vips'
|
16
17
|
|
18
|
+
# D65 to E and back
|
19
|
+
D652E = Matrix.diagonal(100 / 95.047, 100 / 100, 100 / 108.883)
|
20
|
+
E2D65 = D652E ** -1
|
21
|
+
|
22
|
+
# Take CIE XYZ to Bradford cone space (a variant of LMS)
|
23
|
+
# See http://en.wikipedia.org/wiki/LMS_color_space#CMCCAT97
|
24
|
+
XYZ2BRAD = Matrix[[0.8951, 0.2664, -0.1614],
|
25
|
+
[-0.7502, 1.7135, 0.0367],
|
26
|
+
[0.0389, -0.0685, 1.0296]]
|
27
|
+
BRAD2XYZ = XYZ2BRAD ** -1
|
28
|
+
|
17
29
|
module Daltonize
|
18
30
|
|
19
31
|
def self.daltonize (image, simulate, distribute)
|
@@ -35,18 +47,19 @@ module Daltonize
|
|
35
47
|
cielab = xyz.xyz_to_lab()
|
36
48
|
end
|
37
49
|
|
38
|
-
#
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
#
|
44
|
-
|
45
|
-
|
46
|
-
#
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
+
# pre-multiply our colour matrix
|
51
|
+
#
|
52
|
+
# reading right to left, we want to take our D65 XYZ to E, then to
|
53
|
+
# Bradford cone space, then through the simulation matrix, then back
|
54
|
+
# to XYZ, then back to D65
|
55
|
+
#
|
56
|
+
# we need to use E because we will be juggling the colour channels and we
|
57
|
+
# want them all to have the same range so as not to disturb the neutral
|
58
|
+
# axis
|
59
|
+
m = E2D65 * BRAD2XYZ * Matrix.rows(simulate) * XYZ2BRAD * D652E
|
60
|
+
|
61
|
+
# simulate colour-blindness
|
62
|
+
xyz2 = xyz.recomb(m.to_a())
|
50
63
|
|
51
64
|
# now find the error in CIELAB
|
52
65
|
cielab2 = xyz2.xyz_to_lab()
|
data/other/daltonize.ws
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<root xmlns="http://www.vips.ecs.soton.ac.uk/nip/7.33.0">
|
3
|
-
<Workspace window_x="
|
4
|
-
<Column x="0" y="0" open="true" selected="
|
3
|
+
<Workspace window_x="341" window_y="68" window_width="1286" window_height="1032" view="WORKSPACE_MODE_REGULAR" scale="1" offset="0" lpane_position="100" lpane_open="false" rpane_position="400" rpane_open="false" local_defs="// private definitions for this workspace " name="images" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
|
4
|
+
<Column x="0" y="0" open="true" selected="true" sform="false" next="10" name="A" caption="import">
|
5
5
|
<Subcolumn vislevel="3">
|
6
6
|
<Row popup="false" name="A1">
|
7
|
-
<Rhs vislevel="
|
7
|
+
<Rhs vislevel="2" flags="5">
|
8
8
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
9
9
|
<Subcolumn vislevel="0"/>
|
10
10
|
<iText formula="Image_file "$HOME/GIT/carrierwave-daltonize/other/images/macbeth.jpg""/>
|
@@ -53,7 +53,7 @@
|
|
53
53
|
</Row>
|
54
54
|
</Subcolumn>
|
55
55
|
</Column>
|
56
|
-
<Column x="
|
56
|
+
<Column x="575" y="0" open="true" selected="false" sform="false" next="3" name="F" caption="results">
|
57
57
|
<Subcolumn vislevel="3">
|
58
58
|
<Row popup="false" name="F2">
|
59
59
|
<Rhs vislevel="2" flags="5">
|
@@ -78,7 +78,7 @@
|
|
78
78
|
</Row>
|
79
79
|
</Subcolumn>
|
80
80
|
</Column>
|
81
|
-
<Column x="
|
81
|
+
<Column x="1348" y="0" open="true" selected="false" sform="false" next="5" name="H" caption="as a grid">
|
82
82
|
<Subcolumn vislevel="3">
|
83
83
|
<Row popup="false" name="H1">
|
84
84
|
<Rhs vislevel="2" flags="4">
|
@@ -87,7 +87,7 @@
|
|
87
87
|
</Row>
|
88
88
|
<Row popup="false" name="H4">
|
89
89
|
<Rhs vislevel="3" flags="7">
|
90
|
-
<iImage window_x="
|
90
|
+
<iImage window_x="472" window_y="119" window_width="968" window_height="945" image_left="954" image_top="870" image_mag="-2" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
|
91
91
|
<Subcolumn vislevel="1">
|
92
92
|
<Row name="x">
|
93
93
|
<Rhs vislevel="0" flags="4">
|
@@ -118,7 +118,24 @@
|
|
118
118
|
<Row name="bg_colour">
|
119
119
|
<Rhs vislevel="1" flags="1">
|
120
120
|
<Expression caption="Background colour"/>
|
121
|
-
<Subcolumn vislevel="0"
|
121
|
+
<Subcolumn vislevel="0">
|
122
|
+
<Row name="caption">
|
123
|
+
<Rhs vislevel="0" flags="4">
|
124
|
+
<iText/>
|
125
|
+
</Rhs>
|
126
|
+
</Row>
|
127
|
+
<Row name="expr">
|
128
|
+
<Rhs vislevel="0" flags="4">
|
129
|
+
<iText formula="255"/>
|
130
|
+
</Rhs>
|
131
|
+
</Row>
|
132
|
+
<Row name="super">
|
133
|
+
<Rhs vislevel="1" flags="4">
|
134
|
+
<Subcolumn vislevel="0"/>
|
135
|
+
<iText/>
|
136
|
+
</Rhs>
|
137
|
+
</Row>
|
138
|
+
</Subcolumn>
|
122
139
|
<iText/>
|
123
140
|
</Rhs>
|
124
141
|
</Row>
|
@@ -142,7 +159,7 @@
|
|
142
159
|
</Row>
|
143
160
|
</Subcolumn>
|
144
161
|
</Column>
|
145
|
-
<Column x="
|
162
|
+
<Column x="873" y="0" open="true" selected="false" sform="false" next="2" name="I" caption="export">
|
146
163
|
<Subcolumn vislevel="3">
|
147
164
|
<Row popup="false" name="I1">
|
148
165
|
<Rhs vislevel="3" flags="7">
|
@@ -168,8 +185,8 @@
|
|
168
185
|
</Subcolumn>
|
169
186
|
</Column>
|
170
187
|
</Workspace>
|
171
|
-
<Workspace window_x="
|
172
|
-
<Column x="0" y="
|
188
|
+
<Workspace window_x="341" window_y="68" window_width="1286" window_height="1032" view="WORKSPACE_MODE_REGULAR" scale="1" offset="0" lpane_position="100" lpane_open="false" rpane_position="400" rpane_open="false" local_defs="// private definitions for this workspace " name="deuteranope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
|
189
|
+
<Column x="0" y="365" open="true" selected="true" sform="false" next="14" name="B" caption="simulate colourblindness">
|
173
190
|
<Subcolumn vislevel="3">
|
174
191
|
<Row popup="false" name="B2">
|
175
192
|
<Rhs vislevel="2" flags="5">
|
@@ -185,11 +202,18 @@
|
|
185
202
|
<iText formula="Colour_convert_item.XYZ_item.action B2"/>
|
186
203
|
</Rhs>
|
187
204
|
</Row>
|
205
|
+
<Row popup="false" name="B8">
|
206
|
+
<Rhs vislevel="2" flags="5">
|
207
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
208
|
+
<Subcolumn vislevel="0"/>
|
209
|
+
<iText formula="100 * B3 / A2"/>
|
210
|
+
</Rhs>
|
211
|
+
</Row>
|
188
212
|
<Row popup="false" name="B4">
|
189
213
|
<Rhs vislevel="2" flags="5">
|
190
214
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
191
215
|
<Subcolumn vislevel="0"/>
|
192
|
-
<iText formula="recomb XYZ2RGBbrad
|
216
|
+
<iText formula="recomb XYZ2RGBbrad B8"/>
|
193
217
|
</Rhs>
|
194
218
|
</Row>
|
195
219
|
<Row popup="false" name="B5">
|
@@ -226,16 +250,23 @@
|
|
226
250
|
<iText formula="recomb RGBbrad2XYZ B5"/>
|
227
251
|
</Rhs>
|
228
252
|
</Row>
|
253
|
+
<Row popup="false" name="B9">
|
254
|
+
<Rhs vislevel="2" flags="5">
|
255
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
256
|
+
<Subcolumn vislevel="0"/>
|
257
|
+
<iText formula="A2 * B6 / 100"/>
|
258
|
+
</Rhs>
|
259
|
+
</Row>
|
229
260
|
<Row popup="false" name="B7">
|
230
261
|
<Rhs vislevel="3" flags="7">
|
231
262
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
232
263
|
<Subcolumn vislevel="1"/>
|
233
|
-
<iText formula="Colour_convert_item.Lab_item.action
|
264
|
+
<iText formula="Colour_convert_item.Lab_item.action B9"/>
|
234
265
|
</Rhs>
|
235
266
|
</Row>
|
236
267
|
</Subcolumn>
|
237
268
|
</Column>
|
238
|
-
<Column x="
|
269
|
+
<Column x="606" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
|
239
270
|
<Subcolumn vislevel="3">
|
240
271
|
<Row popup="false" name="C1">
|
241
272
|
<Rhs vislevel="2" flags="5">
|
@@ -294,9 +325,76 @@
|
|
294
325
|
</Row>
|
295
326
|
</Subcolumn>
|
296
327
|
</Column>
|
328
|
+
<Column x="0" y="0" open="true" selected="false" sform="false" next="3" name="A" caption="D65 temperature">
|
329
|
+
<Subcolumn vislevel="3">
|
330
|
+
<Row popup="false" name="A1">
|
331
|
+
<Rhs vislevel="3" flags="7">
|
332
|
+
<Colour/>
|
333
|
+
<Subcolumn vislevel="1">
|
334
|
+
<Row name="default_colour">
|
335
|
+
<Rhs vislevel="0" flags="4">
|
336
|
+
<iText/>
|
337
|
+
</Rhs>
|
338
|
+
</Row>
|
339
|
+
<Row name="default_value">
|
340
|
+
<Rhs vislevel="0" flags="4">
|
341
|
+
<iText/>
|
342
|
+
</Rhs>
|
343
|
+
</Row>
|
344
|
+
<Row name="super">
|
345
|
+
<Rhs vislevel="0" flags="4">
|
346
|
+
<Colour/>
|
347
|
+
<Subcolumn vislevel="0"/>
|
348
|
+
<iText/>
|
349
|
+
</Rhs>
|
350
|
+
</Row>
|
351
|
+
<Row name="space">
|
352
|
+
<Rhs vislevel="1" flags="1">
|
353
|
+
<Option/>
|
354
|
+
<Subcolumn vislevel="0"/>
|
355
|
+
<iText/>
|
356
|
+
</Rhs>
|
357
|
+
</Row>
|
358
|
+
<Row name="colour">
|
359
|
+
<Rhs vislevel="1" flags="1">
|
360
|
+
<Expression caption="Colour value"/>
|
361
|
+
<Subcolumn vislevel="0">
|
362
|
+
<Row name="caption">
|
363
|
+
<Rhs vislevel="0" flags="4">
|
364
|
+
<iText/>
|
365
|
+
</Rhs>
|
366
|
+
</Row>
|
367
|
+
<Row name="expr">
|
368
|
+
<Rhs vislevel="0" flags="4">
|
369
|
+
<iText formula="[100, 0, 0]"/>
|
370
|
+
</Rhs>
|
371
|
+
</Row>
|
372
|
+
<Row name="super">
|
373
|
+
<Rhs vislevel="1" flags="4">
|
374
|
+
<Subcolumn vislevel="0"/>
|
375
|
+
<iText/>
|
376
|
+
</Rhs>
|
377
|
+
</Row>
|
378
|
+
</Subcolumn>
|
379
|
+
<iText/>
|
380
|
+
</Rhs>
|
381
|
+
</Row>
|
382
|
+
</Subcolumn>
|
383
|
+
<iText formula="Colour_new_item.Widget_colour_item.action"/>
|
384
|
+
</Rhs>
|
385
|
+
</Row>
|
386
|
+
<Row popup="false" name="A2">
|
387
|
+
<Rhs vislevel="3" flags="7">
|
388
|
+
<Colour/>
|
389
|
+
<Subcolumn vislevel="1"/>
|
390
|
+
<iText formula="Colour_convert_item.XYZ_item.action A1"/>
|
391
|
+
</Rhs>
|
392
|
+
</Row>
|
393
|
+
</Subcolumn>
|
394
|
+
</Column>
|
297
395
|
</Workspace>
|
298
|
-
<Workspace window_x="
|
299
|
-
<Column x="0" y="
|
396
|
+
<Workspace window_x="341" window_y="68" window_width="1286" window_height="1032" view="WORKSPACE_MODE_REGULAR" scale="1" offset="0" lpane_position="100" lpane_open="false" rpane_position="400" rpane_open="false" local_defs="// private definitions for this workspace " name="protanope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
|
397
|
+
<Column x="0" y="365" open="true" selected="true" sform="false" next="10" name="B" caption="simulate colourblindness">
|
300
398
|
<Subcolumn vislevel="3">
|
301
399
|
<Row popup="false" name="B2">
|
302
400
|
<Rhs vislevel="2" flags="5">
|
@@ -312,16 +410,23 @@
|
|
312
410
|
<iText formula="Colour_convert_item.XYZ_item.action B2"/>
|
313
411
|
</Rhs>
|
314
412
|
</Row>
|
413
|
+
<Row popup="false" name="B8">
|
414
|
+
<Rhs vislevel="2" flags="5">
|
415
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
416
|
+
<Subcolumn vislevel="0"/>
|
417
|
+
<iText formula="100 * B3 / A2"/>
|
418
|
+
</Rhs>
|
419
|
+
</Row>
|
315
420
|
<Row popup="false" name="B4">
|
316
421
|
<Rhs vislevel="2" flags="5">
|
317
422
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
318
423
|
<Subcolumn vislevel="0"/>
|
319
|
-
<iText formula="recomb XYZ2RGBbrad
|
424
|
+
<iText formula="recomb XYZ2RGBbrad B8"/>
|
320
425
|
</Rhs>
|
321
426
|
</Row>
|
322
427
|
<Row popup="false" name="B5">
|
323
428
|
<Rhs vislevel="3" flags="7">
|
324
|
-
<iImage image_left="
|
429
|
+
<iImage window_x="975" window_y="546" window_width="477" window_height="333" image_left="693" image_top="387" image_mag="-3" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
|
325
430
|
<Subcolumn vislevel="1">
|
326
431
|
<Row name="x">
|
327
432
|
<Rhs vislevel="0" flags="4">
|
@@ -348,21 +453,28 @@
|
|
348
453
|
</Row>
|
349
454
|
<Row popup="false" name="B6">
|
350
455
|
<Rhs vislevel="2" flags="5">
|
351
|
-
<iImage image_left="
|
456
|
+
<iImage window_x="1" window_y="29" window_width="909" window_height="766" image_left="447" image_top="345" image_mag="1" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
|
352
457
|
<Subcolumn vislevel="0"/>
|
353
458
|
<iText formula="recomb RGBbrad2XYZ B5"/>
|
354
459
|
</Rhs>
|
355
460
|
</Row>
|
461
|
+
<Row popup="false" name="B9">
|
462
|
+
<Rhs vislevel="2" flags="5">
|
463
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
464
|
+
<Subcolumn vislevel="0"/>
|
465
|
+
<iText formula="A2 * B6 / 100"/>
|
466
|
+
</Rhs>
|
467
|
+
</Row>
|
356
468
|
<Row popup="false" name="B7">
|
357
469
|
<Rhs vislevel="3" flags="7">
|
358
470
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
359
471
|
<Subcolumn vislevel="1"/>
|
360
|
-
<iText formula="Colour_convert_item.Lab_item.action
|
472
|
+
<iText formula="Colour_convert_item.Lab_item.action B9"/>
|
361
473
|
</Rhs>
|
362
474
|
</Row>
|
363
475
|
</Subcolumn>
|
364
476
|
</Column>
|
365
|
-
<Column x="
|
477
|
+
<Column x="606" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
|
366
478
|
<Subcolumn vislevel="3">
|
367
479
|
<Row popup="false" name="C1">
|
368
480
|
<Rhs vislevel="2" flags="5">
|
@@ -380,14 +492,14 @@
|
|
380
492
|
</Row>
|
381
493
|
<Row popup="false" name="C3">
|
382
494
|
<Rhs vislevel="2" flags="5">
|
383
|
-
<iImage window_x="0" window_y="29" window_width="
|
495
|
+
<iImage window_x="0" window_y="29" window_width="1019" window_height="843" image_left="492" image_top="356" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
|
384
496
|
<Subcolumn vislevel="0"/>
|
385
497
|
<iText formula="C2 - C1"/>
|
386
498
|
</Rhs>
|
387
499
|
</Row>
|
388
500
|
<Row popup="false" name="C4">
|
389
501
|
<Rhs vislevel="3" flags="7">
|
390
|
-
<iImage window_x="0" window_y="29" window_width="
|
502
|
+
<iImage window_x="0" window_y="29" window_width="1016" window_height="839" image_left="491" image_top="354" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
|
391
503
|
<Subcolumn vislevel="1">
|
392
504
|
<Row name="x">
|
393
505
|
<Rhs vislevel="0" flags="4">
|
@@ -414,16 +526,83 @@
|
|
414
526
|
</Row>
|
415
527
|
<Row popup="false" name="C5">
|
416
528
|
<Rhs vislevel="2" flags="5">
|
417
|
-
<iImage image_left="
|
529
|
+
<iImage window_x="246" window_y="429" window_width="948" window_height="853" image_left="457" image_top="361" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="1" offset="0" falsecolour="false" type="true"/>
|
418
530
|
<Subcolumn vislevel="0"/>
|
419
531
|
<iText formula="C1 + C4"/>
|
420
532
|
</Rhs>
|
421
533
|
</Row>
|
422
534
|
</Subcolumn>
|
423
535
|
</Column>
|
536
|
+
<Column x="0" y="0" open="true" selected="false" sform="false" next="3" name="A" caption="D65 temperature">
|
537
|
+
<Subcolumn vislevel="3">
|
538
|
+
<Row popup="false" name="A1">
|
539
|
+
<Rhs vislevel="3" flags="7">
|
540
|
+
<Colour/>
|
541
|
+
<Subcolumn vislevel="1">
|
542
|
+
<Row name="default_colour">
|
543
|
+
<Rhs vislevel="0" flags="4">
|
544
|
+
<iText/>
|
545
|
+
</Rhs>
|
546
|
+
</Row>
|
547
|
+
<Row name="default_value">
|
548
|
+
<Rhs vislevel="0" flags="4">
|
549
|
+
<iText/>
|
550
|
+
</Rhs>
|
551
|
+
</Row>
|
552
|
+
<Row name="super">
|
553
|
+
<Rhs vislevel="0" flags="4">
|
554
|
+
<Colour/>
|
555
|
+
<Subcolumn vislevel="0"/>
|
556
|
+
<iText/>
|
557
|
+
</Rhs>
|
558
|
+
</Row>
|
559
|
+
<Row name="space">
|
560
|
+
<Rhs vislevel="1" flags="1">
|
561
|
+
<Option/>
|
562
|
+
<Subcolumn vislevel="0"/>
|
563
|
+
<iText/>
|
564
|
+
</Rhs>
|
565
|
+
</Row>
|
566
|
+
<Row name="colour">
|
567
|
+
<Rhs vislevel="1" flags="1">
|
568
|
+
<Expression caption="Colour value"/>
|
569
|
+
<Subcolumn vislevel="0">
|
570
|
+
<Row name="caption">
|
571
|
+
<Rhs vislevel="0" flags="4">
|
572
|
+
<iText/>
|
573
|
+
</Rhs>
|
574
|
+
</Row>
|
575
|
+
<Row name="expr">
|
576
|
+
<Rhs vislevel="0" flags="4">
|
577
|
+
<iText formula="[100, 0, 0]"/>
|
578
|
+
</Rhs>
|
579
|
+
</Row>
|
580
|
+
<Row name="super">
|
581
|
+
<Rhs vislevel="1" flags="4">
|
582
|
+
<Subcolumn vislevel="0"/>
|
583
|
+
<iText/>
|
584
|
+
</Rhs>
|
585
|
+
</Row>
|
586
|
+
</Subcolumn>
|
587
|
+
<iText/>
|
588
|
+
</Rhs>
|
589
|
+
</Row>
|
590
|
+
</Subcolumn>
|
591
|
+
<iText formula="Colour_new_item.Widget_colour_item.action"/>
|
592
|
+
</Rhs>
|
593
|
+
</Row>
|
594
|
+
<Row popup="false" name="A2">
|
595
|
+
<Rhs vislevel="3" flags="7">
|
596
|
+
<Colour/>
|
597
|
+
<Subcolumn vislevel="1"/>
|
598
|
+
<iText formula="Colour_convert_item.XYZ_item.action A1"/>
|
599
|
+
</Rhs>
|
600
|
+
</Row>
|
601
|
+
</Subcolumn>
|
602
|
+
</Column>
|
424
603
|
</Workspace>
|
425
|
-
<Workspace window_x="
|
426
|
-
<Column x="0" y="
|
604
|
+
<Workspace window_x="341" window_y="68" window_width="1286" window_height="1032" view="WORKSPACE_MODE_REGULAR" scale="1" offset="0" lpane_position="100" lpane_open="false" rpane_position="400" rpane_open="false" local_defs="// private definitions for this workspace " name="tritanope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
|
605
|
+
<Column x="0" y="365" open="true" selected="true" sform="false" next="10" name="B" caption="simulate colourblindness">
|
427
606
|
<Subcolumn vislevel="3">
|
428
607
|
<Row popup="false" name="B2">
|
429
608
|
<Rhs vislevel="2" flags="5">
|
@@ -439,16 +618,23 @@
|
|
439
618
|
<iText formula="Colour_convert_item.XYZ_item.action B2"/>
|
440
619
|
</Rhs>
|
441
620
|
</Row>
|
621
|
+
<Row popup="false" name="B8">
|
622
|
+
<Rhs vislevel="2" flags="5">
|
623
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
624
|
+
<Subcolumn vislevel="0"/>
|
625
|
+
<iText formula="100 * B3 / A2"/>
|
626
|
+
</Rhs>
|
627
|
+
</Row>
|
442
628
|
<Row popup="false" name="B4">
|
443
629
|
<Rhs vislevel="2" flags="5">
|
444
630
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
445
631
|
<Subcolumn vislevel="0"/>
|
446
|
-
<iText formula="recomb XYZ2RGBbrad
|
632
|
+
<iText formula="recomb XYZ2RGBbrad B8"/>
|
447
633
|
</Rhs>
|
448
634
|
</Row>
|
449
635
|
<Row popup="false" name="B5">
|
450
636
|
<Rhs vislevel="3" flags="7">
|
451
|
-
<iImage window_x="
|
637
|
+
<iImage window_x="975" window_y="546" window_width="477" window_height="333" image_left="693" image_top="387" image_mag="-3" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
|
452
638
|
<Subcolumn vislevel="1">
|
453
639
|
<Row name="x">
|
454
640
|
<Rhs vislevel="0" flags="4">
|
@@ -475,21 +661,28 @@
|
|
475
661
|
</Row>
|
476
662
|
<Row popup="false" name="B6">
|
477
663
|
<Rhs vislevel="2" flags="5">
|
478
|
-
<iImage image_left="
|
664
|
+
<iImage window_x="1" window_y="29" window_width="909" window_height="766" image_left="447" image_top="345" image_mag="1" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
|
479
665
|
<Subcolumn vislevel="0"/>
|
480
666
|
<iText formula="recomb RGBbrad2XYZ B5"/>
|
481
667
|
</Rhs>
|
482
668
|
</Row>
|
669
|
+
<Row popup="false" name="B9">
|
670
|
+
<Rhs vislevel="2" flags="5">
|
671
|
+
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
672
|
+
<Subcolumn vislevel="0"/>
|
673
|
+
<iText formula="A2 * B6 / 100"/>
|
674
|
+
</Rhs>
|
675
|
+
</Row>
|
483
676
|
<Row popup="false" name="B7">
|
484
677
|
<Rhs vislevel="3" flags="7">
|
485
678
|
<iImage image_left="0" image_top="0" image_mag="0" show_status="false" show_paintbox="false" show_convert="false" show_rulers="false" scale="0" offset="0" falsecolour="false" type="true"/>
|
486
679
|
<Subcolumn vislevel="1"/>
|
487
|
-
<iText formula="Colour_convert_item.Lab_item.action
|
680
|
+
<iText formula="Colour_convert_item.Lab_item.action B9"/>
|
488
681
|
</Rhs>
|
489
682
|
</Row>
|
490
683
|
</Subcolumn>
|
491
684
|
</Column>
|
492
|
-
<Column x="
|
685
|
+
<Column x="606" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
|
493
686
|
<Subcolumn vislevel="3">
|
494
687
|
<Row popup="false" name="C1">
|
495
688
|
<Rhs vislevel="2" flags="5">
|
@@ -507,14 +700,14 @@
|
|
507
700
|
</Row>
|
508
701
|
<Row popup="false" name="C3">
|
509
702
|
<Rhs vislevel="2" flags="5">
|
510
|
-
<iImage window_x="0" window_y="29" window_width="
|
703
|
+
<iImage window_x="0" window_y="29" window_width="1019" window_height="843" image_left="492" image_top="356" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
|
511
704
|
<Subcolumn vislevel="0"/>
|
512
705
|
<iText formula="C2 - C1"/>
|
513
706
|
</Rhs>
|
514
707
|
</Row>
|
515
708
|
<Row popup="false" name="C4">
|
516
709
|
<Rhs vislevel="3" flags="7">
|
517
|
-
<iImage window_x="0" window_y="29" window_width="
|
710
|
+
<iImage window_x="0" window_y="29" window_width="1016" window_height="839" image_left="491" image_top="354" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
|
518
711
|
<Subcolumn vislevel="1">
|
519
712
|
<Row name="x">
|
520
713
|
<Rhs vislevel="0" flags="4">
|
@@ -541,13 +734,80 @@
|
|
541
734
|
</Row>
|
542
735
|
<Row popup="false" name="C5">
|
543
736
|
<Rhs vislevel="2" flags="5">
|
544
|
-
<iImage image_left="
|
737
|
+
<iImage window_x="246" window_y="429" window_width="948" window_height="853" image_left="457" image_top="361" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="1" offset="0" falsecolour="false" type="true"/>
|
545
738
|
<Subcolumn vislevel="0"/>
|
546
739
|
<iText formula="C1 + C4"/>
|
547
740
|
</Rhs>
|
548
741
|
</Row>
|
549
742
|
</Subcolumn>
|
550
743
|
</Column>
|
744
|
+
<Column x="0" y="0" open="true" selected="false" sform="false" next="3" name="A" caption="D65 temperature">
|
745
|
+
<Subcolumn vislevel="3">
|
746
|
+
<Row popup="false" name="A1">
|
747
|
+
<Rhs vislevel="3" flags="7">
|
748
|
+
<Colour/>
|
749
|
+
<Subcolumn vislevel="1">
|
750
|
+
<Row name="default_colour">
|
751
|
+
<Rhs vislevel="0" flags="4">
|
752
|
+
<iText/>
|
753
|
+
</Rhs>
|
754
|
+
</Row>
|
755
|
+
<Row name="default_value">
|
756
|
+
<Rhs vislevel="0" flags="4">
|
757
|
+
<iText/>
|
758
|
+
</Rhs>
|
759
|
+
</Row>
|
760
|
+
<Row name="super">
|
761
|
+
<Rhs vislevel="0" flags="4">
|
762
|
+
<Colour/>
|
763
|
+
<Subcolumn vislevel="0"/>
|
764
|
+
<iText/>
|
765
|
+
</Rhs>
|
766
|
+
</Row>
|
767
|
+
<Row name="space">
|
768
|
+
<Rhs vislevel="1" flags="1">
|
769
|
+
<Option/>
|
770
|
+
<Subcolumn vislevel="0"/>
|
771
|
+
<iText/>
|
772
|
+
</Rhs>
|
773
|
+
</Row>
|
774
|
+
<Row name="colour">
|
775
|
+
<Rhs vislevel="1" flags="1">
|
776
|
+
<Expression caption="Colour value"/>
|
777
|
+
<Subcolumn vislevel="0">
|
778
|
+
<Row name="caption">
|
779
|
+
<Rhs vislevel="0" flags="4">
|
780
|
+
<iText/>
|
781
|
+
</Rhs>
|
782
|
+
</Row>
|
783
|
+
<Row name="expr">
|
784
|
+
<Rhs vislevel="0" flags="4">
|
785
|
+
<iText formula="[100, 0, 0]"/>
|
786
|
+
</Rhs>
|
787
|
+
</Row>
|
788
|
+
<Row name="super">
|
789
|
+
<Rhs vislevel="1" flags="4">
|
790
|
+
<Subcolumn vislevel="0"/>
|
791
|
+
<iText/>
|
792
|
+
</Rhs>
|
793
|
+
</Row>
|
794
|
+
</Subcolumn>
|
795
|
+
<iText/>
|
796
|
+
</Rhs>
|
797
|
+
</Row>
|
798
|
+
</Subcolumn>
|
799
|
+
<iText formula="Colour_new_item.Widget_colour_item.action"/>
|
800
|
+
</Rhs>
|
801
|
+
</Row>
|
802
|
+
<Row popup="false" name="A2">
|
803
|
+
<Rhs vislevel="3" flags="7">
|
804
|
+
<Colour/>
|
805
|
+
<Subcolumn vislevel="1"/>
|
806
|
+
<iText formula="Colour_convert_item.XYZ_item.action A1"/>
|
807
|
+
</Rhs>
|
808
|
+
</Row>
|
809
|
+
</Subcolumn>
|
810
|
+
</Column>
|
551
811
|
</Workspace>
|
552
812
|
</root>
|
553
813
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carrierwave-daltonize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-05-
|
13
|
+
date: 2013-05-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
type: :runtime
|