From 977ec17d8a475c43c374912eb18973375ba04f0b Mon Sep 17 00:00:00 2001 From: Tony S Yu Date: Mon, 16 Feb 2015 22:40:58 -0600 Subject: [PATCH] Fix numpy 1.9 warnings about array.fromstring --- skimage/io/_plugins/pil_plugin.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/skimage/io/_plugins/pil_plugin.py b/skimage/io/_plugins/pil_plugin.py index 7ff2e191..ae74ff7b 100644 --- a/skimage/io/_plugins/pil_plugin.py +++ b/skimage/io/_plugins/pil_plugin.py @@ -176,20 +176,23 @@ def ndarray_to_pil(arr, format_str=None): mode = 'L' mode_base = 'L' + try: + array_buffer = arr.tobytes() + except AttributeError: + array_buffer = arr.tostring() # Numpy < 1.9 + if arr.ndim == 2: im = Image.new(mode_base, arr.T.shape) try: - im.frombytes(arr.tobytes(), 'raw', mode) + im.frombytes(array_buffer, 'raw', mode) except AttributeError: - im.fromstring(arr.tostring(), 'raw', mode) - + im.fromstring(array_buffer, 'raw', mode) # PIL 1.1.7 else: + image_shape = (arr.shape[1], arr.shape[0]) try: - im = Image.frombytes(mode, (arr.shape[1], arr.shape[0]), - arr.tobytes()) + im = Image.frombytes(mode, image_shape, array_buffer) except AttributeError: - im = Image.fromstring(mode, (arr.shape[1], arr.shape[0]), - arr.tostring()) + im = Image.fromstring(mode, image_shape, array_buffer) # PIL 1.1.7 return im