carrierwave-daltonize 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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', :git => 'git://github.com/gingerlime/carrierwave-daltonize.git'
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.
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Daltonize
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -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
- # to bradford cone space (a variant of LMS)
39
- brad = xyz.recomb([[0.8951, 0.2664, -0.1614],
40
- [-0.7502, 1.7135, 0.0367],
41
- [0.0389, -0.0685, 1.0296]])
42
-
43
- # through the color-vision deficit matrix
44
- simu = brad.recomb(simulate)
45
-
46
- # back to xyz (this is the inverse of the brad matrix above)
47
- xyz2 = simu.recomb([[0.987, -0.147, 0.16],
48
- [0.432, 0.5184, 0.0493],
49
- [-0.0085, 0.04, 0.968]])
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()
@@ -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="51" window_y="29" window_width="728" window_height="1050" 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&#10;" name="images" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
4
- <Column x="0" y="0" open="true" selected="false" sform="false" next="9" name="A" caption="import">
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&#10;" 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="1" flags="1">
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 &quot;$HOME/GIT/carrierwave-daltonize/other/images/macbeth.jpg&quot;"/>
@@ -53,7 +53,7 @@
53
53
  </Row>
54
54
  </Subcolumn>
55
55
  </Column>
56
- <Column x="438" y="0" open="true" selected="false" sform="false" next="3" name="F" caption="results">
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="1211" y="0" open="true" selected="false" sform="false" next="5" name="H" caption="as a grid">
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="852" window_y="185" window_width="462" window_height="677" image_left="1120" image_top="1505" image_mag="-5" show_status="true" show_paintbox="false" show_convert="false" show_rulers="false" scale="1" offset="0" falsecolour="false" type="true"/>
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="736" y="0" open="true" selected="true" sform="false" next="2" name="I" caption="export">
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="51" window_y="29" window_width="728" window_height="1050" 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&#10;" name="deuteranope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
172
- <Column x="0" y="0" open="true" selected="false" sform="false" next="1" name="B" caption="simulate colourblindness">
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&#10;" 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 B3"/>
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 B6"/>
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="576" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
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="51" window_y="29" window_width="728" window_height="1050" 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&#10;" name="protanope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
299
- <Column x="0" y="0" open="true" selected="true" sform="false" next="1" name="B" caption="simulate colourblindness">
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&#10;" 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 B3"/>
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="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"/>
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="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"/>
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 B6"/>
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="576" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
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="477" window_height="333" image_left="221" image_top="101" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
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="477" window_height="333" image_left="221" image_top="101" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
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="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"/>
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="51" window_y="29" window_width="728" window_height="1050" 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&#10;" name="tritanope" caption="Default empty tab" filename="$HOME/GIT/carrierwave-daltonize/other/daltonize.ws">
426
- <Column x="0" y="0" open="true" selected="true" sform="false" next="1" name="B" caption="simulate colourblindness">
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&#10;" 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 B3"/>
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="0" window_y="29" window_width="750" window_height="750" image_left="358" image_top="309" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="1" offset="0" falsecolour="false" type="true"/>
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="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"/>
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 B6"/>
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="576" y="0" open="true" selected="false" sform="false" next="6" name="C" caption="find error, add back to original">
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="477" window_height="333" image_left="221" image_top="101" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
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="477" window_height="333" image_left="221" image_top="101" image_mag="1" show_status="true" show_paintbox="false" show_convert="true" show_rulers="true" scale="20" offset="0" falsecolour="false" type="true"/>
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="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"/>
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
 
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.3
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-06 00:00:00.000000000 Z
13
+ date: 2013-05-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  type: :runtime