mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-13 17:45:20 +08:00
Merge pull request #1596 from david1koeller/novice_picture_fixes
Fix notebook display in novice module
This commit is contained in:
+15
-13
@@ -249,7 +249,6 @@ class Picture(object):
|
||||
|
||||
def __init__(self, path=None, array=None, xy_array=None):
|
||||
self._modified = False
|
||||
self.scale = 1
|
||||
self._path = None
|
||||
self._format = None
|
||||
|
||||
@@ -325,7 +324,7 @@ class Picture(object):
|
||||
path : str
|
||||
Path (with file extension) where the picture is saved.
|
||||
"""
|
||||
io.imsave(path, self._rescale(self.array))
|
||||
io.imsave(path, self.array)
|
||||
self._modified = False
|
||||
self._path = os.path.abspath(path)
|
||||
self._format = imghdr.what(path)
|
||||
@@ -384,12 +383,9 @@ 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))
|
||||
io.imshow(self.array)
|
||||
io.show()
|
||||
|
||||
def _makepixel(self, x, y):
|
||||
@@ -397,13 +393,6 @@ class Picture(object):
|
||||
rgb = self.xy_array[x, y]
|
||||
return Pixel(self, self.array, x, y, rgb)
|
||||
|
||||
def _rescale(self, array):
|
||||
"""Rescale image according to scale factor."""
|
||||
if self.scale == 1:
|
||||
return array
|
||||
new_size = (self.height * self.scale, self.width * self.scale)
|
||||
return img_as_ubyte(resize(array, new_size, order=0))
|
||||
|
||||
def _get_channel(self, channel):
|
||||
"""Return a specific dimension out of the raw image data slice."""
|
||||
return self._array[:, :, channel]
|
||||
@@ -498,6 +487,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
|
||||
|
||||
@@ -32,7 +32,6 @@ def test_pic_info():
|
||||
assert_equal(pic.width, 451)
|
||||
assert_equal(pic.height, 300)
|
||||
assert not pic.modified
|
||||
assert_equal(pic.scale, 1)
|
||||
|
||||
|
||||
def test_pixel_iteration():
|
||||
|
||||
Reference in New Issue
Block a user