From d9213beddef3293e387eecd89dd35dcb9d1005db Mon Sep 17 00:00:00 2001 From: David Koeller Date: Sun, 12 Jul 2015 11:07:21 -0500 Subject: [PATCH] Fix notebook display bug for novice module io.Image was previously removed, but the novice Picture still depended on it. Now moved the relevant functionality back into the Picture class. --- skimage/novice/_novice.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/skimage/novice/_novice.py b/skimage/novice/_novice.py index 80bc9649..77583146 100644 --- a/skimage/novice/_novice.py +++ b/skimage/novice/_novice.py @@ -384,9 +384,6 @@ class Picture(object): def height(self, value): self.size = (self.width, value) - def _repr_png_(self): - return io.Image(self._rescale(self.array))._repr_png_() - def show(self): """Display the image.""" io.imshow(self._rescale(self.array)) @@ -498,6 +495,19 @@ class Picture(object): def __repr__(self): return "Picture({0} x {1})".format(*self.size) + def _repr_png_(self): + return self._repr_image_format('png') + + def _repr_jpeg_(self): + return self._repr_image_format('jpeg') + + def _repr_image_format(self, format_str): + str_buffer = six.BytesIO() + io.imsave(str_buffer, self.array, format_str=format_str) + return_str = str_buffer.getvalue() + str_buffer.close() + return return_str + if __name__ == '__main__': import doctest