{ } Raw JSON

bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / transform / hough_transform / hough_line_peaks

function

skimage.transform.hough_transform:hough_line_peaks

source: /dev/scikit-image/src/skimage/transform/hough_transform.py :8

Signature

def   hough_line_peaks ( hspace angles dists min_distance = 9 min_angle = 10 threshold = None num_peaks = inf )

Summary

Return peaks in a straight line Hough transform.

Extended Summary

Identifies most prominent lines separated by a certain angle and distance in a Hough transform. Non-maximum suppression with different sizes is applied separately in the first (distances) and second (angles) dimension of the Hough space to identify peaks.

Parameters

hspace : ndarray, shape (M, N)

Hough space returned by the hough_line function.

angles : array, shape (N,)

Angles returned by the hough_line function. Assumed to be continuous. (angles[-1] - angles[0] == PI).

dists : array, shape (M,)

Distances returned by the hough_line function.

min_distance : int, optional

Minimum distance separating lines (maximum filter size for first dimension of hough space).

min_angle : int, optional

Minimum angle separating lines (maximum filter size for second dimension of hough space).

threshold : float, optional

Minimum intensity of peaks. Default is 0.5 * max(hspace).

num_peaks : int, optional

Maximum number of peaks. When the number of peaks exceeds num_peaks, return num_peaks coordinates based on peak intensity.

Returns

accum, angles, dists : tuple of array

Peak values in Hough space, angles and distances.

Examples

from skimage.transform import hough_line, hough_line_peaks
from skimage.draw import line
img = np.zeros((15, 15), dtype=bool)
rr, cc = line(0, 0, 14, 14)
img[rr, cc] = 1
rr, cc = line(0, 14, 14, 0)
img[cc, rr] = 1
hspace, angles, dists = hough_line(img)
hspace, angles, dists = hough_line_peaks(hspace, angles, dists)
len(angles)

Aliases

  • skimage.transform.hough_line_peaks