From 33e36542d5f457a50c5fa00371fb9fe18a620f15 Mon Sep 17 00:00:00 2001 From: Andrew Mark Date: Thu, 12 Mar 2015 02:52:38 +0100 Subject: [PATCH 1/3] Fix missing peaks in hough_line_peaks. --- skimage/transform/hough_transform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/transform/hough_transform.py b/skimage/transform/hough_transform.py index 0760f5e7..6467c62f 100644 --- a/skimage/transform/hough_transform.py +++ b/skimage/transform/hough_transform.py @@ -84,7 +84,7 @@ def hough_line_peaks(hspace, angles, dists, min_distance=9, min_angle=10, -min_angle:min_angle + 1] for dist_idx, angle_idx in coords: - accum = hspace[dist_idx, angle_idx] + accum = hspace_max[dist_idx, angle_idx] if accum > threshold: # absolute coordinate grid for local neighbourhood suppression dist_nh = dist_idx + dist_ext From bc52e4a411ab6d4aa10d38281e979158e6f21f19 Mon Sep 17 00:00:00 2001 From: Andrew Mark Date: Thu, 12 Mar 2015 03:15:37 +0100 Subject: [PATCH 2/3] Local neighbourhood suppression on hspace_max. --- skimage/transform/hough_transform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skimage/transform/hough_transform.py b/skimage/transform/hough_transform.py index 6467c62f..45dac3fc 100644 --- a/skimage/transform/hough_transform.py +++ b/skimage/transform/hough_transform.py @@ -105,7 +105,7 @@ def hough_line_peaks(hspace, angles, dists, min_distance=9, min_angle=10, angle_nh[angle_high] -= cols # suppress neighbourhood - hspace[dist_nh, angle_nh] = 0 + hspace_max[dist_nh, angle_nh] = 0 # add current line to peaks hspace_peaks.append(accum) From ff29d2ccd166b18cc1c6802ef4dc303d33314d38 Mon Sep 17 00:00:00 2001 From: Andrew Mark Date: Thu, 12 Mar 2015 04:39:18 +0100 Subject: [PATCH 3/3] Sort peak candidates by intensity before starting supression. --- skimage/transform/hough_transform.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skimage/transform/hough_transform.py b/skimage/transform/hough_transform.py index 45dac3fc..f1402883 100644 --- a/skimage/transform/hough_transform.py +++ b/skimage/transform/hough_transform.py @@ -72,7 +72,8 @@ def hough_line_peaks(hspace, angles, dists, min_distance=9, min_angle=10, hspace_t = hspace > threshold label_hspace = measure.label(hspace_t) - props = measure.regionprops(label_hspace) + props = measure.regionprops(label_hspace, hspace_max) + props = sorted(props, key= lambda x: x.max_intensity)[::-1] coords = np.array([np.round(p.centroid) for p in props], dtype=int) hspace_peaks = []