@@ -254,6 +254,7 @@ def test_light_source_topo_surface():
254254 ax .imshow (rgb )
255255 ax .set (xticks = [], yticks = [])
256256
257+
257258def test_light_source_shading_default ():
258259 """Array comparison test for the default "hsv" blend mode. Ensure the
259260 default result doesn't change without warning."""
@@ -264,43 +265,43 @@ def test_light_source_shading_default():
264265 ls = mcolors .LightSource (315 , 45 )
265266 rgb = ls .shade (z , cmap )
266267
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. ]]])
302268 # Result stored transposed and rounded for for more compact display...
303- assert_array_almost_equal (rgb , r .T , decimal = 2 )
269+ expect = np .array ([[[0.87 , 0.85 , 0.90 , 0.90 , 0.82 , 0.62 , 0.34 , 0.00 ],
270+ [0.85 , 0.94 , 0.99 , 1.00 , 1.00 , 0.96 , 0.62 , 0.17 ],
271+ [0.90 , 0.99 , 1.00 , 1.00 , 1.00 , 1.00 , 0.71 , 0.33 ],
272+ [0.90 , 1.00 , 1.00 , 1.00 , 1.00 , 0.98 , 0.51 , 0.29 ],
273+ [0.82 , 1.00 , 1.00 , 1.00 , 1.00 , 0.64 , 0.25 , 0.13 ],
274+ [0.62 , 0.96 , 1.00 , 0.98 , 0.64 , 0.22 , 0.06 , 0.03 ],
275+ [0.34 , 0.62 , 0.71 , 0.51 , 0.25 , 0.06 , 0.00 , 0.01 ],
276+ [0.00 , 0.17 , 0.33 , 0.29 , 0.13 , 0.03 , 0.01 , 0.00 ]],
277+
278+ [[0.87 , 0.79 , 0.83 , 0.80 , 0.66 , 0.44 , 0.23 , 0.00 ],
279+ [0.79 , 0.88 , 0.93 , 0.92 , 0.83 , 0.66 , 0.38 , 0.10 ],
280+ [0.83 , 0.93 , 0.99 , 1.00 , 0.92 , 0.75 , 0.40 , 0.18 ],
281+ [0.80 , 0.92 , 1.00 , 0.99 , 0.93 , 0.75 , 0.28 , 0.14 ],
282+ [0.66 , 0.83 , 0.92 , 0.93 , 0.87 , 0.44 , 0.12 , 0.06 ],
283+ [0.44 , 0.66 , 0.75 , 0.75 , 0.44 , 0.12 , 0.03 , 0.01 ],
284+ [0.23 , 0.38 , 0.40 , 0.28 , 0.12 , 0.03 , 0.00 , 0.00 ],
285+ [0.00 , 0.10 , 0.18 , 0.14 , 0.06 , 0.01 , 0.00 , 0.00 ]],
286+
287+ [[0.87 , 0.75 , 0.78 , 0.73 , 0.55 , 0.33 , 0.16 , 0.00 ],
288+ [0.75 , 0.85 , 0.90 , 0.86 , 0.71 , 0.48 , 0.23 , 0.05 ],
289+ [0.78 , 0.90 , 0.98 , 1.00 , 0.82 , 0.51 , 0.21 , 0.08 ],
290+ [0.73 , 0.86 , 1.00 , 0.97 , 0.84 , 0.47 , 0.11 , 0.05 ],
291+ [0.55 , 0.71 , 0.82 , 0.84 , 0.71 , 0.20 , 0.03 , 0.01 ],
292+ [0.33 , 0.48 , 0.51 , 0.47 , 0.20 , 0.02 , 0.00 , 0.00 ],
293+ [0.16 , 0.23 , 0.21 , 0.11 , 0.03 , 0.00 , 0.00 , 0.00 ],
294+ [0.00 , 0.05 , 0.08 , 0.05 , 0.01 , 0.00 , 0.00 , 0.00 ]],
295+
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 ],
303+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ]]]).T
304+ assert_array_almost_equal (rgb , expect , decimal = 2 )
304305
305306
306307def test_light_source_masked_shading ():
@@ -315,43 +316,43 @@ def test_light_source_masked_shading():
315316 ls = mcolors .LightSource (315 , 45 )
316317 rgb = ls .shade (z , cmap )
317318
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. ]]])
353319 # Result stored transposed and rounded for for more compact display...
354- assert_array_almost_equal (rgb , r .T , decimal = 2 )
320+ expect = np .array ([[[1.00 , 0.95 , 0.96 , 0.94 , 0.86 , 0.67 , 0.40 , 0.03 ],
321+ [0.95 , 0.99 , 1.00 , 1.00 , 1.00 , 0.98 , 0.67 , 0.19 ],
322+ [0.96 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 0.78 , 0.36 ],
323+ [0.94 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 0.55 , 0.32 ],
324+ [0.86 , 1.00 , 1.00 , 0.00 , 0.00 , 1.00 , 0.27 , 0.14 ],
325+ [0.67 , 0.98 , 1.00 , 1.00 , 1.00 , 1.00 , 0.07 , 0.03 ],
326+ [0.40 , 0.67 , 0.78 , 0.55 , 0.27 , 0.07 , 0.00 , 0.01 ],
327+ [0.03 , 0.19 , 0.36 , 0.32 , 0.14 , 0.03 , 0.01 , 0.00 ]],
328+
329+ [[1.00 , 0.93 , 0.93 , 0.88 , 0.72 , 0.50 , 0.28 , 0.03 ],
330+ [0.93 , 0.97 , 0.99 , 0.96 , 0.87 , 0.70 , 0.42 , 0.11 ],
331+ [0.93 , 0.99 , 0.74 , 0.78 , 0.78 , 0.74 , 0.45 , 0.20 ],
332+ [0.88 , 0.96 , 0.78 , 0.00 , 0.00 , 0.78 , 0.32 , 0.16 ],
333+ [0.72 , 0.87 , 0.78 , 0.00 , 0.00 , 0.78 , 0.14 , 0.06 ],
334+ [0.50 , 0.70 , 0.74 , 0.78 , 0.78 , 0.74 , 0.03 , 0.01 ],
335+ [0.28 , 0.42 , 0.45 , 0.32 , 0.14 , 0.03 , 0.00 , 0.00 ],
336+ [0.03 , 0.11 , 0.20 , 0.16 , 0.06 , 0.01 , 0.00 , 0.00 ]],
337+
338+ [[1.00 , 0.91 , 0.91 , 0.84 , 0.64 , 0.39 , 0.21 , 0.03 ],
339+ [0.91 , 0.96 , 0.98 , 0.93 , 0.77 , 0.53 , 0.27 , 0.06 ],
340+ [0.91 , 0.98 , 0.47 , 0.50 , 0.50 , 0.47 , 0.25 , 0.10 ],
341+ [0.84 , 0.93 , 0.50 , 0.00 , 0.00 , 0.50 , 0.13 , 0.06 ],
342+ [0.64 , 0.77 , 0.50 , 0.00 , 0.00 , 0.50 , 0.03 , 0.01 ],
343+ [0.39 , 0.53 , 0.47 , 0.50 , 0.50 , 0.47 , 0.00 , 0.00 ],
344+ [0.21 , 0.27 , 0.25 , 0.13 , 0.03 , 0.00 , 0.00 , 0.00 ],
345+ [0.03 , 0.06 , 0.10 , 0.06 , 0.01 , 0.00 , 0.00 , 0.00 ]],
346+
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 , 1.00 , 1.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 , 0.00 , 0.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 ],
354+ [1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 , 1.00 ]]]).T
355+ assert_array_almost_equal (rgb , expect , decimal = 2 )
355356
356357
357358def test_light_source_hillshading ():
0 commit comments