From a56c6071c27a13818c051e949bc5e2f6a5d30331 Mon Sep 17 00:00:00 2001 From: emmanuelle Date: Wed, 23 Dec 2015 16:09:13 +0100 Subject: [PATCH 1/2] Corrected bug in the computation of the Euler characteristic. --- skimage/measure/_regionprops.py | 2 +- skimage/measure/tests/test_regionprops.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/skimage/measure/_regionprops.py b/skimage/measure/_regionprops.py index de523592..ddd0c8f5 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -125,7 +125,7 @@ class _RegionProperties(object): def euler_number(self): euler_array = self.filled_image != self.image _, num = label(euler_array, neighbors=8, return_num=True, - background=-1) + background=0) return -num + 1 def extent(self): diff --git a/skimage/measure/tests/test_regionprops.py b/skimage/measure/tests/test_regionprops.py index 259967ea..919c0229 100644 --- a/skimage/measure/tests/test_regionprops.py +++ b/skimage/measure/tests/test_regionprops.py @@ -129,12 +129,12 @@ def test_equiv_diameter(): def test_euler_number(): en = regionprops(SAMPLE)[0].euler_number - assert en == 0 + assert en == 1 SAMPLE_mod = SAMPLE.copy() SAMPLE_mod[7, -3] = 0 en = regionprops(SAMPLE_mod)[0].euler_number - assert en == -1 + assert en == 0 def test_extent(): From d62524f10369188b3956c669123b85b7a4078cec Mon Sep 17 00:00:00 2001 From: emmanuelle Date: Wed, 23 Dec 2015 16:26:23 +0100 Subject: [PATCH 2/2] Mentioned Euler characteristic (instead of Euler number) in docstring of regionprops. --- 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 ddd0c8f5..99258c66 100644 --- a/skimage/measure/_regionprops.py +++ b/skimage/measure/_regionprops.py @@ -340,7 +340,7 @@ def regionprops(label_image, intensity_image=None, cache=True): **equivalent_diameter** : float The diameter of a circle with the same area as the region. **euler_number** : int - Euler number of region. Computed as number of objects (= 1) + Euler characteristic of region. Computed as number of objects (= 1) subtracted by number of holes (8-connectivity). **extent** : float Ratio of pixels in the region to pixels in the total bounding box.