def getImage(self, tileData): signal, alpha = tileData.getSmoothed() signal = self.scaleAndClip(signal, self.colorRange) rgba = self.rgba rgba = matplotlib.cm.jet(signal, bytes=True) # pylint: disable=E1101 rgba[:, :, 3] = pilutil.bytescale(alpha, cmin=0.0, cmax=1.0) rgbaT = rgba.transpose((1, 0, 2)).copy() return Image.frombuffer('RGBA', (N, N), rgbaT, 'raw', 'RGBA', 0, 1)
def test_bytescale(self): x = np.array([0,1,2],np.uint8) y = np.array([0,1,2]) assert_equal(pilutil.bytescale(x),x) assert_equal(pilutil.bytescale(y),[0,127,255])
for name, flt in filters: start = time() for i in xrange(RESIZE_COUNT): img.resize(width, height, flt) end = time() - start print " - resize %0.3f sec (%s)" % (end, name) # numpy if HAS_NUMPY: tiff = Image(TIFF) start = time() for i in xrange(RW_COUNT): arr = asarray(tiff) # change last BGR -> RGB arr = arr[..., ::-1] bytescale(arr, 64, 192) end = time() - start print " - tiff numpy.asarray() with bytescale() %0.3f sec" % end start = time() for i in xrange(RW_COUNT): tiff = Image(TIFF) arr = asarray(tiff) arr = arr[..., ::-1] bytescale(arr, 64, 192) end = time() - start print " - tiff load + numpy.asarray() with bytescale() %0.3f sec" % end # ------------------------------------------------------------------- # PIL load hdr = "PIL %s (with standard libjpeg)" % PIL_VERSION