@@ -254,6 +254,7 @@ def test_light_source_topo_surface():
254
254
ax .imshow (rgb )
255
255
ax .set (xticks = [], yticks = [])
256
256
257
+
257
258
def test_light_source_shading_default ():
258
259
"""Array comparison test for the default "hsv" blend mode. Ensure the
259
260
default result doesn't change without warning."""
@@ -264,41 +265,41 @@ def test_light_source_shading_default():
264
265
ls = mcolors .LightSource (315 , 45 )
265
266
rgb = ls .shade (z , cmap )
266
267
267
- r = np .array ([[[ 0.87 , 0.85 , 0.9 , 0.9 , 0.82 , 0.62 , 0.34 , 0. ],
268
- [ 0.85 , 0.94 , 0.99 , 1. , 1. , 0.96 , 0.62 , 0.17 ],
269
- [ 0.9 , 0.99 , 1. , 1. , 1. , 1. , 0.71 , 0.33 ],
270
- [ 0.9 , 1. , 1. , 1. , 1. , 0.98 , 0.51 , 0.29 ],
271
- [ 0.82 , 1. , 1. , 1. , 1. , 0.64 , 0.25 , 0.13 ],
272
- [ 0.62 , 0.96 , 1. , 0.98 , 0.64 , 0.22 , 0.06 , 0.03 ],
273
- [ 0.34 , 0.62 , 0.71 , 0.51 , 0.25 , 0.06 , 0. , 0.01 ],
274
- [ 0. , 0.17 , 0.33 , 0.29 , 0.13 , 0.03 , 0.01 , 0. ]],
275
-
276
- [[ 0.87 , 0.79 , 0.83 , 0.8 , 0.66 , 0.44 , 0.23 , 0. ],
277
- [ 0.79 , 0.88 , 0.93 , 0.92 , 0.83 , 0.66 , 0.38 , 0.1 ],
278
- [ 0.83 , 0.93 , 0.99 , 1. , 0.92 , 0.75 , 0.4 , 0.18 ],
279
- [ 0.8 , 0.92 , 1. , 0.99 , 0.93 , 0.75 , 0.28 , 0.14 ],
280
- [ 0.66 , 0.83 , 0.92 , 0.93 , 0.87 , 0.44 , 0.12 , 0.06 ],
281
- [ 0.44 , 0.66 , 0.75 , 0.75 , 0.44 , 0.12 , 0.03 , 0.01 ],
282
- [ 0.23 , 0.38 , 0.4 , 0.28 , 0.12 , 0.03 , 0. , 0. ],
283
- [ 0. , 0.1 , 0.18 , 0.14 , 0.06 , 0.01 , 0. , 0. ]],
284
-
285
- [[ 0.87 , 0.75 , 0.78 , 0.73 , 0.55 , 0.33 , 0.16 , 0. ],
286
- [ 0.75 , 0.85 , 0.9 , 0.86 , 0.71 , 0.48 , 0.23 , 0.05 ],
287
- [ 0.78 , 0.9 , 0.98 , 1. , 0.82 , 0.51 , 0.21 , 0.08 ],
288
- [ 0.73 , 0.86 , 1. , 0.97 , 0.84 , 0.47 , 0.11 , 0.05 ],
289
- [ 0.55 , 0.71 , 0.82 , 0.84 , 0.71 , 0.2 , 0.03 , 0.01 ],
290
- [ 0.33 , 0.48 , 0.51 , 0.47 , 0.2 , 0.02 , 0. , 0. ],
291
- [ 0.16 , 0.23 , 0.21 , 0.11 , 0.03 , 0. , 0. , 0. ],
292
- [ 0. , 0.05 , 0.08 , 0.05 , 0.01 , 0. , 0. , 0. ]],
293
-
294
- [[ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
295
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
296
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
297
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
298
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
299
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
300
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
301
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ]]])
268
+ r = np .array ([[[0.87 , 0.85 , 0.90 , 0.90 , 0.82 , 0.62 , 0.34 , 0.00 ],
269
+ [0.85 , 0.94 , 0.99 , 1.00 , 1.00 , 0.96 , 0.62 , 0.17 ],
270
+ [0.90 , 0.99 , 1.00 , 1.00 , 1.00 , 1.00 , 0.71 , 0.33 ],
271
+ [0.90 , 1.00 , 1.00 , 1.00 , 1.00 , 0.98 , 0.51 , 0.29 ],
272
+ [0.82 , 1.00 , 1.00 , 1.00 , 1.00 , 0.64 , 0.25 , 0.13 ],
273
+ [0.62 , 0.96 , 1.00 , 0.98 , 0.64 , 0.22 , 0.06 , 0.03 ],
274
+ [0.34 , 0.62 , 0.71 , 0.51 , 0.25 , 0.06 , 0.00 , 0.01 ],
275
+ [0.00 , 0.17 , 0.33 , 0.29 , 0.13 , 0.03 , 0.01 , 0.00 ]],
276
+
277
+ [[0.87 , 0.79 , 0.83 , 0.80 , 0.66 , 0.44 , 0.23 , 0.00 ],
278
+ [0.79 , 0.88 , 0.93 , 0.92 , 0.83 , 0.66 , 0.38 , 0.10 ],
279
+ [0.83 , 0.93 , 0.99 , 1.00 , 0.92 , 0.75 , 0.40 , 0.18 ],
280
+ [0.80 , 0.92 , 1.00 , 0.99 , 0.93 , 0.75 , 0.28 , 0.14 ],
281
+ [0.66 , 0.83 , 0.92 , 0.93 , 0.87 , 0.44 , 0.12 , 0.06 ],
282
+ [0.44 , 0.66 , 0.75 , 0.75 , 0.44 , 0.12 , 0.03 , 0.01 ],
283
+ [0.23 , 0.38 , 0.40 , 0.28 , 0.12 , 0.03 , 0.00 , 0.00 ],
284
+ [0.00 , 0.10 , 0.18 , 0.14 , 0.06 , 0.01 , 0.00 , 0.00 ]],
285
+
286
+ [[0.87 , 0.75 , 0.78 , 0.73 , 0.55 , 0.33 , 0.16 , 0.00 ],
287
+ [0.75 , 0.85 , 0.90 , 0.86 , 0.71 , 0.48 , 0.23 , 0.05 ],
288
+ [0.78 , 0.90 , 0.98 , 1.00 , 0.82 , 0.51 , 0.21 , 0.08 ],
289
+ [0.73 , 0.86 , 1.00 , 0.97 , 0.84 , 0.47 , 0.11 , 0.05 ],
290
+ [0.55 , 0.71 , 0.82 , 0.84 , 0.71 , 0.20 , 0.03 , 0.01 ],
291
+ [0.33 , 0.48 , 0.51 , 0.47 , 0.20 , 0.02 , 0.00 , 0.00 ],
292
+ [0.16 , 0.23 , 0.21 , 0.11 , 0.03 , 0.00 , 0.00 , 0.00 ],
293
+ [0.00 , 0.05 , 0.08 , 0.05 , 0.01 , 0.00 , 0.00 , 0.00 ]],
294
+
295
+ [[1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
296
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
297
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
298
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
299
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
300
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
301
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
302
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ]]])
302
303
# Result stored transposed and rounded for for more compact display...
303
304
assert_array_almost_equal (rgb , r .T , decimal = 2 )
304
305
@@ -315,41 +316,41 @@ def test_light_source_masked_shading():
315
316
ls = mcolors .LightSource (315 , 45 )
316
317
rgb = ls .shade (z , cmap )
317
318
318
- r = np .array ([[[ 1. , 0.95 , 0.96 , 0.94 , 0.86 , 0.67 , 0.4 , 0.03 ],
319
- [ 0.95 , 0.99 , 1. , 1. , 1. , 0.98 , 0.67 , 0.19 ],
320
- [ 0.96 , 1. , 1. , 1. , 1. , 1. , 0.78 , 0.36 ],
321
- [ 0.94 , 1. , 1. , 0. , 0. , 1. , 0.55 , 0.32 ],
322
- [ 0.86 , 1. , 1. , 0. , 0. , 1. , 0.27 , 0.14 ],
323
- [ 0.67 , 0.98 , 1. , 1. , 1. , 1. , 0.07 , 0.03 ],
324
- [ 0.4 , 0.67 , 0.78 , 0.55 , 0.27 , 0.07 , 0. , 0.01 ],
325
- [ 0.03 , 0.19 , 0.36 , 0.32 , 0.14 , 0.03 , 0.01 , 0. ]],
326
-
327
- [[ 1. , 0.93 , 0.93 , 0.88 , 0.72 , 0.5 , 0.28 , 0.03 ],
328
- [ 0.93 , 0.97 , 0.99 , 0.96 , 0.87 , 0.7 , 0.42 , 0.11 ],
329
- [ 0.93 , 0.99 , 0.74 , 0.78 , 0.78 , 0.74 , 0.45 , 0.2 ],
330
- [ 0.88 , 0.96 , 0.78 , 0. , 0. , 0.78 , 0.32 , 0.16 ],
331
- [ 0.72 , 0.87 , 0.78 , 0. , 0. , 0.78 , 0.14 , 0.06 ],
332
- [ 0.5 , 0.7 , 0.74 , 0.78 , 0.78 , 0.74 , 0.03 , 0.01 ],
333
- [ 0.28 , 0.42 , 0.45 , 0.32 , 0.14 , 0.03 , 0. , 0. ],
334
- [ 0.03 , 0.11 , 0.2 , 0.16 , 0.06 , 0.01 , 0. , 0. ]],
335
-
336
- [[ 1. , 0.91 , 0.91 , 0.84 , 0.64 , 0.39 , 0.21 , 0.03 ],
337
- [ 0.91 , 0.96 , 0.98 , 0.93 , 0.77 , 0.53 , 0.27 , 0.06 ],
338
- [ 0.91 , 0.98 , 0.47 , 0.5 , 0.5 , 0.47 , 0.25 , 0.1 ],
339
- [ 0.84 , 0.93 , 0.5 , 0. , 0. , 0.5 , 0.13 , 0.06 ],
340
- [ 0.64 , 0.77 , 0.5 , 0. , 0. , 0.5 , 0.03 , 0.01 ],
341
- [ 0.39 , 0.53 , 0.47 , 0.5 , 0.5 , 0.47 , 0. , 0. ],
342
- [ 0.21 , 0.27 , 0.25 , 0.13 , 0.03 , 0. , 0. , 0. ],
343
- [ 0.03 , 0.06 , 0.1 , 0.06 , 0.01 , 0. , 0. , 0. ]],
344
-
345
- [[ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
346
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
347
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
348
- [ 1. , 1. , 1. , 0. , 0. , 1. , 1. , 1. ],
349
- [ 1. , 1. , 1. , 0. , 0. , 1. , 1. , 1. ],
350
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
351
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
352
- [ 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ]]])
319
+ r = np .array ([[[1.00 , 0.95 , 0.96 , 0.94 , 0.86 , 0.67 , 0.40 , 0.03 ],
320
+ [0.95 , 0.99 , 1.00 , 1.00 , 1.00 , 0.98 , 0.67 , 0.19 ],
321
+ [0.96 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 0.78 , 0.36 ],
322
+ [0.94 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 0.55 , 0.32 ],
323
+ [0.86 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 0.27 , 0.14 ],
324
+ [0.67 , 0.98 , 1.00 , 1.00 , 1.00 , 1.00 , 0.07 , 0.03 ],
325
+ [0.40 , 0.67 , 0.78 , 0.55 , 0.27 , 0.07 , 0.00 , 0.01 ],
326
+ [0.03 , 0.19 , 0.36 , 0.32 , 0.14 , 0.03 , 0.01 , 0.00 ]],
327
+
328
+ [[1.00 , 0.93 , 0.93 , 0.88 , 0.72 , 0.50 , 0.28 , 0.03 ],
329
+ [0.93 , 0.97 , 0.99 , 0.96 , 0.87 , 0.70 , 0.42 , 0.11 ],
330
+ [0.93 , 0.99 , 0.74 , 0.78 , 0.78 , 0.74 , 0.45 , 0.20 ],
331
+ [0.88 , 0.96 , 0.78 , 0.00 , 0.00 , 0.78 , 0.32 , 0.16 ],
332
+ [0.72 , 0.87 , 0.78 , 0.00 , 0.00 , 0.78 , 0.14 , 0.06 ],
333
+ [0.50 , 0.70 , 0.74 , 0.78 , 0.78 , 0.74 , 0.03 , 0.01 ],
334
+ [0.28 , 0.42 , 0.45 , 0.32 , 0.14 , 0.03 , 0.00 , 0.00 ],
335
+ [0.03 , 0.11 , 0.20 , 0.16 , 0.06 , 0.01 , 0.00 , 0.00 ]],
336
+
337
+ [[1.00 , 0.91 , 0.91 , 0.84 , 0.64 , 0.39 , 0.21 , 0.03 ],
338
+ [0.91 , 0.96 , 0.98 , 0.93 , 0.77 , 0.53 , 0.27 , 0.06 ],
339
+ [0.91 , 0.98 , 0.47 , 0.50 , 0.50 , 0.47 , 0.25 , 0.10 ],
340
+ [0.84 , 0.93 , 0.50 , 0.00 , 0.00 , 0.50 , 0.13 , 0.06 ],
341
+ [0.64 , 0.77 , 0.50 , 0.00 , 0.00 , 0.50 , 0.03 , 0.01 ],
342
+ [0.39 , 0.53 , 0.47 , 0.50 , 0.50 , 0.47 , 0.00 , 0.00 ],
343
+ [0.21 , 0.27 , 0.25 , 0.13 , 0.03 , 0.00 , 0.00 , 0.00 ],
344
+ [0.03 , 0.06 , 0.10 , 0.06 , 0.01 , 0.00 , 0.00 , 0.00 ]],
345
+
346
+ [[1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
347
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
348
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
349
+ [1.00 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 1.00 , 1.00 ],
350
+ [1.00 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 1.00 , 1.00 ],
351
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
352
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ],
353
+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ]]])
353
354
# Result stored transposed and rounded for for more compact display...
354
355
assert_array_almost_equal (rgb , r .T , decimal = 2 )
355
356
0 commit comments