diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index 798e04cc..dfb7eb8c 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -503,6 +503,9 @@ def regionprops(label_image, properties=None, objects = ndimage.find_objects(label_image) for i, sl in enumerate(objects): + if sl is None: + continue + label = i + 1 props = _RegionProperties(sl, label, label_image, diff --git a/skimage/measure/tests/test_regionprops.py b/skimage/measure/tests/test_regionprops.py index c0c6443d..5a4dd117 100644 --- a/skimage/measure/tests/test_regionprops.py +++ b/skimage/measure/tests/test_regionprops.py @@ -347,6 +347,20 @@ def test_old_dict_interface(): assert_equal(len(feats[0]), 8) +def test_label_sequence(): + a = np.empty((2, 2), dtype=np.int) + a[:, :] = 2 + ps = regionprops(a) + assert len(ps) == 1 + assert ps[0].label == 2 + + +def test_pure_background(): + a = np.zeros((2, 2), dtype=np.int) + ps = regionprops(a) + assert len(ps) == 0 + + if __name__ == "__main__": from numpy.testing import run_module_suite run_module_suite()