From 713e5dc734f817601ea4c68c04b918161d1a70fa Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 28 Dec 2012 00:53:23 -0600 Subject: [PATCH 1/4] BUG: Adapthist error caused by divisor operator change in py3k --- skimage/exposure/_adapthist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/exposure/_adapthist.py b/skimage/exposure/_adapthist.py index 88729ce2..91787513 100644 --- a/skimage/exposure/_adapthist.py +++ b/skimage/exposure/_adapthist.py @@ -226,7 +226,7 @@ def clip_histogram(hist, clip_limit): n_excess = excess.sum() - excess.size * clip_limit # Second part: clip histogram and redistribute excess pixels in each bin - bin_incr = n_excess / hist.size # average binincrement + bin_incr = int(n_excess / hist.size) # average binincrement upper = clip_limit - bin_incr # Bins larger than upper set to cliplimit hist[excess_mask] = clip_limit From 1af3d69cde636c1f76cb9eb895ad6da6e1f085ce Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 28 Dec 2012 01:33:01 -0600 Subject: [PATCH 2/4] BUG: Fixed another division error --- skimage/exposure/_adapthist.py | 8 ++++---- skimage/exposure/tests/test_exposure.py | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/skimage/exposure/_adapthist.py b/skimage/exposure/_adapthist.py index 91787513..c2b85d8d 100644 --- a/skimage/exposure/_adapthist.py +++ b/skimage/exposure/_adapthist.py @@ -158,11 +158,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for y in range(ntiles_y + 1): xstart = 0 if y == 0: # special case: top row - ystep = y_size / 2 + ystep = int(y_size / 2) yU = 0 yB = 0 elif y == ntiles_y: # special case: bottom row - ystep = y_size / 2 + ystep = int(y_size / 2) yU = ntiles_y - 1 yB = yU else: # default values @@ -172,11 +172,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for x in range(ntiles_x + 1): if x == 0: # special case: left column - xstep = x_size / 2 + xstep = int(x_size / 2) xL = 0 xR = 0 elif x == ntiles_x: # special case: right column - xstep = x_size / 2 + xstep = int(x_size / 2) xL = ntiles_x - 1 xR = xL else: # default values diff --git a/skimage/exposure/tests/test_exposure.py b/skimage/exposure/tests/test_exposure.py index a5d72cbb..6c7dd9a4 100644 --- a/skimage/exposure/tests/test_exposure.py +++ b/skimage/exposure/tests/test_exposure.py @@ -87,8 +87,9 @@ def test_adapthist_scalar(): full_scale = skimage.exposure.rescale_intensity(skimage.img_as_uint(img)) assert_almost_equal = np.testing.assert_almost_equal - assert peak_snr(full_scale, adapted) > 95.0 - assert norm_brightness_err(full_scale, adapted) < 0.05 + assert_almost_equal(peak_snr(full_scale, adapted), 101.231, 3) + assert_almost_equal(norm_brightness_err(full_scale, adapted), + 0.041, 3) return img, adapted @@ -102,8 +103,8 @@ def test_adapthist_grayscale(): nbins=128) assert_almost_equal = np.testing.assert_almost_equal assert img.shape == adapted.shape - assert peak_snr(img, adapted) > 95.0 - assert norm_brightness_err(img, adapted) < 0.05 + assert_almost_equal(peak_snr(img, adapted), 97.949, 3) + assert_almost_equal(norm_brightness_err(img, adapted), 0.03077, 3) return data, adapted @@ -117,8 +118,9 @@ def test_adapthist_color(): assert adapted.max() == 1.0 assert img.shape == adapted.shape full_scale = skimage.exposure.rescale_intensity(img) - assert peak_snr(img, adapted) > 95.0 - assert norm_brightness_err(img, adapted) < 0.05 + assert_almost_equal(peak_snr(full_scale, adapted), 102.940, 3) + assert_almost_equal(norm_brightness_err(full_scale, adapted), + 0.0110, 3) return data, adapted From f48f94f0be6ce5808314765176054c48d137f17a Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 28 Dec 2012 18:37:15 -0600 Subject: [PATCH 3/4] BUG: Adapthist interpolation grids could be improperly spaces --- skimage/exposure/_adapthist.py | 8 ++++---- skimage/exposure/tests/test_exposure.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/skimage/exposure/_adapthist.py b/skimage/exposure/_adapthist.py index c2b85d8d..0cf569d4 100644 --- a/skimage/exposure/_adapthist.py +++ b/skimage/exposure/_adapthist.py @@ -158,11 +158,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for y in range(ntiles_y + 1): xstart = 0 if y == 0: # special case: top row - ystep = int(y_size / 2) + ystep = y_size / 2. yU = 0 yB = 0 elif y == ntiles_y: # special case: bottom row - ystep = int(y_size / 2) + ystep = y_size / 2. yU = ntiles_y - 1 yB = yU else: # default values @@ -172,11 +172,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for x in range(ntiles_x + 1): if x == 0: # special case: left column - xstep = int(x_size / 2) + xstep = x_size / 2. xL = 0 xR = 0 elif x == ntiles_x: # special case: right column - xstep = int(x_size / 2) + xstep = x_size / 2. xL = ntiles_x - 1 xR = xL else: # default values diff --git a/skimage/exposure/tests/test_exposure.py b/skimage/exposure/tests/test_exposure.py index 6c7dd9a4..086739de 100644 --- a/skimage/exposure/tests/test_exposure.py +++ b/skimage/exposure/tests/test_exposure.py @@ -103,8 +103,8 @@ def test_adapthist_grayscale(): nbins=128) assert_almost_equal = np.testing.assert_almost_equal assert img.shape == adapted.shape - assert_almost_equal(peak_snr(img, adapted), 97.949, 3) - assert_almost_equal(norm_brightness_err(img, adapted), 0.03077, 3) + assert_almost_equal(peak_snr(img, adapted), 97.531, 3) + assert_almost_equal(norm_brightness_err(img, adapted), 0.0313, 3) return data, adapted From eeaf04ed59cecf5cf95272767fe387f6e8d788f6 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 28 Dec 2012 21:59:19 -0600 Subject: [PATCH 4/4] STY: Minor change to trigger Travis build --- skimage/exposure/_adapthist.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/skimage/exposure/_adapthist.py b/skimage/exposure/_adapthist.py index 0cf569d4..346d8424 100644 --- a/skimage/exposure/_adapthist.py +++ b/skimage/exposure/_adapthist.py @@ -158,11 +158,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for y in range(ntiles_y + 1): xstart = 0 if y == 0: # special case: top row - ystep = y_size / 2. + ystep = y_size / 2.0 yU = 0 yB = 0 elif y == ntiles_y: # special case: bottom row - ystep = y_size / 2. + ystep = y_size / 2.0 yU = ntiles_y - 1 yB = yU else: # default values @@ -172,11 +172,11 @@ def _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins=128): for x in range(ntiles_x + 1): if x == 0: # special case: left column - xstep = x_size / 2. + xstep = x_size / 2.0 xL = 0 xR = 0 elif x == ntiles_x: # special case: right column - xstep = x_size / 2. + xstep = x_size / 2.0 xL = ntiles_x - 1 xR = xL else: # default values