@@ -86,20 +86,32 @@ def test_rendering():
8686 500 : (100 , 100 , 100 , 50 ),
8787 1000 : (255 , 255 , 255 , 255 ),
8888 }
89- d = numpy .ma .zeros ((1 , 256 , 256 ), dtype = "float32" ) + 1
90- d [0 , 0 :10 , 0 :10 ] = 500
91- d [0 , 10 :20 , 10 :20 ] = 1000
89+ data = numpy .ma .zeros ((1 , 256 , 256 ), dtype = "float32" ) + 1
90+ data .mask = False
91+
92+ data [0 , 0 , 0 ] = 0
93+ data .mask [0 , 0 , 0 ] = True
94+ data [0 , 1 :, 1 :] = 1
95+ data [0 , 2 :, 2 :] = 500
96+ data [0 , 3 :, 3 :] = 1000
97+
9298 content , media = render_image (
93- ImageData (d ),
99+ ImageData (data ),
94100 output_format = ImageType .png ,
95101 colormap = cm ,
96102 )
97103 assert media == "image/png"
98104
99105 with MemoryFile (content ) as mem :
100106 with mem .open () as dst :
107+ data_converted = dst .read ()
101108 assert dst .count == 4
102109 assert dst .dtypes == ("uint8" , "uint8" , "uint8" , "uint8" )
103- assert dst .read ()[:, 0 , 0 ].tolist () == [100 , 100 , 100 , 50 ]
104- assert dst .read ()[:, 11 , 11 ].tolist () == [255 , 255 , 255 , 255 ]
105- assert dst .read ()[:, 30 , 30 ].tolist () == [0 , 0 , 0 , 0 ]
110+ # Masked from Original Mask | set to UINT8 (0)
111+ assert data_converted [:, 0 , 0 ].tolist () == [0 , 0 , 0 , 0 ]
112+ # masked from CMAP
113+ assert data_converted [:, 1 , 1 ].tolist () == [0 , 0 , 0 , 0 ]
114+ # Partially masked from CMAP
115+ assert data_converted [:, 2 , 2 ].tolist () == [100 , 100 , 100 , 50 ]
116+ # Non-masked from CMAP
117+ assert data_converted [:, 3 , 3 ].tolist () == [255 , 255 , 255 , 255 ]
0 commit comments