From be1d81f3fc75b0ec23ffd07fc9c24bcc9a56fbf2 Mon Sep 17 00:00:00 2001 From: Tony S Yu Date: Sat, 28 Sep 2013 17:08:58 -0500 Subject: [PATCH] Simplify interface --- skimage/novice/_novice.py | 17 +++++++++++------ skimage/novice/tests/test_novice.py | 7 ++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/skimage/novice/_novice.py b/skimage/novice/_novice.py index 17b1613a..d058a708 100644 --- a/skimage/novice/_novice.py +++ b/skimage/novice/_novice.py @@ -355,13 +355,13 @@ class Picture(object): new_size = (self.height * self.scale, self.width * self.scale) return img_as_ubyte(resize(array, new_size, order=0)) - def _get_channel(self, dim): + def _get_channel(self, channel): """Return a specific dimension out of the raw image data slice.""" - return self._array[:, :, dim] + return self._array[:, :, channel] - def _set_channel(self, dim, value): + def _set_channel(self, channel, value): """Set a specific dimension in the raw image data slice.""" - self._array[:, :, dim] = value + self._array[:, :, channel] = value @property def red(self): @@ -393,11 +393,11 @@ class Picture(object): @property def rgb(self): """The RGB color components of the pixel (3 values 0-255).""" - return self._get_channel(None) + return self.xy_array @rgb.setter def rgb(self, value): - self._set_channel(None, value) + self.xy_array[:] = value def __iter__(self): """Iterates over all pixels in the image.""" @@ -425,6 +425,11 @@ class Picture(object): raise TypeError("Invalid value type") self._array_modified() + def __eq__(self, other): + if not isinstance(other, Picture): + raise NotImplementedError() + return np.all(self.array == other.array) + def __repr__(self): return "Picture({0} x {1})".format(*self.size) diff --git a/skimage/novice/tests/test_novice.py b/skimage/novice/tests/test_novice.py index 5b8c7bd8..685a9131 100644 --- a/skimage/novice/tests/test_novice.py +++ b/skimage/novice/tests/test_novice.py @@ -180,11 +180,8 @@ def test_slicing(): pic[:rest, :] = pic[cut:, :] pic[rest:, :] = temp - for pixel, pixel_orig in zip(pic[rest:, :], pic_orig[:cut, :]): - assert pixel.rgb == pixel_orig.rgb - - for pixel, pixel_orig in zip(pic[:rest, :], pic_orig[cut:, :]): - assert pixel.rgb == pixel_orig.rgb + assert pic[rest:, :] == pic_orig[:cut, :] + assert pic[:rest, :] == pic_orig[cut:, :] @raises(IndexError)