From 29fd2864cd71b5cb33f6e12d9fed523de4a66ba2 Mon Sep 17 00:00:00 2001 From: Julius Bier Kirekgaard Date: Sun, 30 Aug 2015 12:52:38 +0100 Subject: [PATCH 1/4] hough_circle radius accepts scalars and lists --- skimage/transform/hough_transform.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/skimage/transform/hough_transform.py b/skimage/transform/hough_transform.py index 200aa5dc..726b1a07 100644 --- a/skimage/transform/hough_transform.py +++ b/skimage/transform/hough_transform.py @@ -163,5 +163,7 @@ def hough_circle(image, radius, normalize=True, full_output=False): (25, 35, 23) """ + + radius = np.atleast_1d(np.asarray(radius)) return _hough_circle(image, radius.astype(np.intp), normalize=normalize, full_output=full_output) From 9a4a3c674ede53923410961dc560a788525330fe Mon Sep 17 00:00:00 2001 From: Julius Bier Kirekgaard Date: Sun, 30 Aug 2015 13:16:33 +0100 Subject: [PATCH 2/4] test and docstring update for hough_circle --- skimage/transform/hough_transform.py | 3 ++- skimage/transform/tests/test_hough_transform.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/skimage/transform/hough_transform.py b/skimage/transform/hough_transform.py index 726b1a07..7e853f06 100644 --- a/skimage/transform/hough_transform.py +++ b/skimage/transform/hough_transform.py @@ -132,8 +132,9 @@ def hough_circle(image, radius, normalize=True, full_output=False): ---------- image : (M, N) ndarray Input image with nonzero values representing edges. - radius : ndarray + radius : scalar or sequence of scalars Radii at which to compute the Hough transform. + Floats are converted to integers. normalize : boolean, optional (default True) Normalize the accumulator with the number of pixels used to draw the radius. diff --git a/skimage/transform/tests/test_hough_transform.py b/skimage/transform/tests/test_hough_transform.py index e7030494..3eaf92bf 100644 --- a/skimage/transform/tests/test_hough_transform.py +++ b/skimage/transform/tests/test_hough_transform.py @@ -140,8 +140,9 @@ def test_hough_circle(): y, x = circle_perimeter(y_0, x_0, radius) img[x, y] = 1 + out = tf.hough_circle(img, radius) + out = tf.hough_circle(img, [radius]) out = tf.hough_circle(img, np.array([radius], dtype=np.intp)) - x, y = np.where(out[0] == out[0].max()) assert_equal(x[0], x_0) assert_equal(y[0], y_0) From 8c5ce8504af4b2149dd33779959b296aeb0b39eb Mon Sep 17 00:00:00 2001 From: Julius Bier Kirekgaard Date: Sun, 30 Aug 2015 15:13:45 +0100 Subject: [PATCH 3/4] assert equal scalar, seqeunce output of hough circle --- skimage/transform/tests/test_hough_transform.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/skimage/transform/tests/test_hough_transform.py b/skimage/transform/tests/test_hough_transform.py index 3eaf92bf..0e6c6573 100644 --- a/skimage/transform/tests/test_hough_transform.py +++ b/skimage/transform/tests/test_hough_transform.py @@ -140,9 +140,11 @@ def test_hough_circle(): y, x = circle_perimeter(y_0, x_0, radius) img[x, y] = 1 - out = tf.hough_circle(img, radius) - out = tf.hough_circle(img, [radius]) + out1 = tf.hough_circle(img, radius) + out2 = tf.hough_circle(img, [radius]) + assert_equal(out1,out2) out = tf.hough_circle(img, np.array([radius], dtype=np.intp)) + assert_equal(out,out1) x, y = np.where(out[0] == out[0].max()) assert_equal(x[0], x_0) assert_equal(y[0], y_0) From e79a0a2dc14e4cab1d5ddb42bd19ba61c8dfdabe Mon Sep 17 00:00:00 2001 From: Julius Bier Kirekgaard Date: Sun, 30 Aug 2015 15:35:50 +0100 Subject: [PATCH 4/4] Added pep8 spaces --- skimage/transform/tests/test_hough_transform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skimage/transform/tests/test_hough_transform.py b/skimage/transform/tests/test_hough_transform.py index 0e6c6573..fce7013c 100644 --- a/skimage/transform/tests/test_hough_transform.py +++ b/skimage/transform/tests/test_hough_transform.py @@ -142,9 +142,9 @@ def test_hough_circle(): out1 = tf.hough_circle(img, radius) out2 = tf.hough_circle(img, [radius]) - assert_equal(out1,out2) + assert_equal(out1, out2) out = tf.hough_circle(img, np.array([radius], dtype=np.intp)) - assert_equal(out,out1) + assert_equal(out, out1) x, y = np.where(out[0] == out[0].max()) assert_equal(x[0], x_0) assert_equal(y[0], y_0)