hough_circle_peaks(hspaces, radii, min_xdistance=1, min_ydistance=1, threshold=None, num_peaks=inf, total_num_peaks=inf, normalize=False)
Identifies most prominent circles separated by certain distances in given Hough spaces. Non-maximum suppression with different sizes is applied separately in the first and second dimension of the Hough space to identify peaks. For circles with different radius but close in distance, only the one with highest peak is kept.
Circles with bigger radius have higher peaks in Hough space. If larger circles are preferred over smaller ones, :None:None:`normalize`
should be False. Otherwise, circles will be returned in the order of decreasing voting number.
Hough spaces returned by the hough_circle
function.
Radii corresponding to Hough spaces.
Minimum distance separating centers in the x dimension.
Minimum distance separating centers in the y dimension.
Minimum intensity of peaks in each Hough space. Default is :None:None:`0.5 * max(hspace)`
.
Maximum number of peaks in each Hough space. When the number of peaks exceeds :None:None:`num_peaks`
, only :None:None:`num_peaks`
coordinates based on peak intensity are considered for the corresponding radius.
Maximum number of peaks. When the number of peaks exceeds :None:None:`num_peaks`
, return :None:None:`num_peaks`
coordinates based on peak intensity.
If True, normalize the accumulator by the radius to sort the prominent peaks.
Peak values in Hough space, x and y center coordinates and radii.
Return peaks in a circle Hough transform.
>>> from skimage import transform, drawSee :
... img = np.zeros((120, 100), dtype=int)
... radius, x_0, y_0 = (20, 99, 50)
... y, x = draw.circle_perimeter(y_0, x_0, radius)
... img[x, y] = 1
... hspaces = transform.hough_circle(img, radius)
... accum, cx, cy, rad = hough_circle_peaks(hspaces, [radius,])
The following pages refer to to this document either explicitly or contain code examples using this.
skimage.transform.hough_transform.hough_circle_peaks
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them