From 157fef3963180be05c8cf436096b4116c0b74001 Mon Sep 17 00:00:00 2001 From: stevendbrown Date: Mon, 9 Nov 2015 10:50:20 -0800 Subject: [PATCH 1/3] Added label vs. intensity shape checking to regionprops --- skimage/measure/_regionprops.py | 5 +++++ skimage/measure/tests/test_regionprops.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index 1655ec61..08005a4e 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -108,6 +108,11 @@ class _RegionProperties(object): def __init__(self, slice, label, label_image, intensity_image, cache_active): + + if not intensity_image is None: + if not intensity_image.shape == label_image.shape: + raise ValueError('Label and intensity image must be the same shape.') + self.label = label self._slice = slice self._label_image = label_image diff --git a/skimage/measure/tests/test_regionprops.py b/skimage/measure/tests/test_regionprops.py index 514b84d3..8944cabc 100644 --- a/skimage/measure/tests/test_regionprops.py +++ b/skimage/measure/tests/test_regionprops.py @@ -362,6 +362,11 @@ def test_invalid(): assert_raises(AttributeError, get_intensity_image) +def test_invalid_size(): + wrong_intensity_sample = np.array([[1], [1]]) + assert_raises(ValueError, regionprops, SAMPLE, wrong_intensity_sample) + + def test_equals(): arr = np.zeros((100, 100), dtype=np.int) arr[0:25, 0:25] = 1 From 87adb532e7f5311b22853ceab50f0576b4dbac48 Mon Sep 17 00:00:00 2001 From: stevendbrown Date: Mon, 9 Nov 2015 18:30:27 -0800 Subject: [PATCH 2/3] Changed to scikit-image preferred syntax --- skimage/measure/_regionprops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index 08005a4e..32356a4a 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -109,7 +109,7 @@ class _RegionProperties(object): def __init__(self, slice, label, label_image, intensity_image, cache_active): - if not intensity_image is None: + if intensity_image is not None: if not intensity_image.shape == label_image.shape: raise ValueError('Label and intensity image must be the same shape.') From 6638c92125080694eb751d7b7f4db5089b09b7f6 Mon Sep 17 00:00:00 2001 From: stevendbrown Date: Tue, 17 Nov 2015 08:16:58 -0800 Subject: [PATCH 3/3] fixed error language --- skimage/measure/_regionprops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index 32356a4a..d0a06bac 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -111,7 +111,7 @@ class _RegionProperties(object): if intensity_image is not None: if not intensity_image.shape == label_image.shape: - raise ValueError('Label and intensity image must be the same shape.') + raise ValueError('Label and intensity image must have the same shape.') self.label = label self._slice = slice