From 764c59693c65c2e685bc3b1913fb53dde7f56911 Mon Sep 17 00:00:00 2001 From: Vighnesh Birodkar Date: Fri, 28 Mar 2014 00:12:18 +0530 Subject: [PATCH] removed array cast, added not equals test --- skimage/measure/_regionprops.py | 8 +++----- skimage/measure/tests/test_regionprops.py | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index 48162723..4cc3dab5 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -333,13 +333,11 @@ class _RegionProperties(MutableMapping): if not isinstance(other, _RegionProperties): return False - attr1 = np.array([getattr(self, k, None)for k in PROP_VALS]) - attr2 = np.array([getattr(other, k, None)for k in PROP_VALS]) - - for x, y in zip(attr1, attr2): + for key in PROP_VALS: try: #so that NaNs are equal - np.testing.assert_equal(x, y) + np.testing.assert_equal( + getattr(self, key, None), getattr(other, key, None)) except AssertionError: return False diff --git a/skimage/measure/tests/test_regionprops.py b/skimage/measure/tests/test_regionprops.py index 89525fa2..eea71c5f 100644 --- a/skimage/measure/tests/test_regionprops.py +++ b/skimage/measure/tests/test_regionprops.py @@ -372,9 +372,20 @@ def test_invalid(): def test_equals(): - r1 = regionprops(SAMPLE)[0] - r2 = regionprops(SAMPLE)[0] + arr = np.zeros((100, 100), dtype=np.int) + arr[0:25, 0:25] = 1 + arr[50:99, 50:99] = 2 + + regions = regionprops(arr) + r1 = regions[0] + + regions = regionprops(arr) + r2 = regions[0] + r3 = regions[1] + assert r1 == r2 + assert r1 != r3 + if __name__ == "__main__": from numpy.testing import run_module_suite