Detects circles within grayscale images using the Hough transform.
Description
Detects circles within grayscale images using the Hough transform. Input images can be of binary or grayscale format, but the circle features must be brighter than their surrounding background and have dark centres (i.e. be rings). For solid circles, a gradient filter or equivalent should be applied to the image first. Detected circles are output to the workspace as solid objects. Circles are detected within a user-defined radius range and must exceed a user-defined threshold score (based on the intensity of the circle feartures in the input image and the feature circularity.
Parameters
Input image (default = "") Input image from which circles will be detected.
Output objects (default = "") Output circle objects to be added to the workspace. Irrespective of the form of the input circle features, output circles are always solid.
Output transform image (default = "false") When selected, the Hough-transform image will be output to the workspace with the name specified by "Output image".
Output image (default = "") If "Output transform image" is selected, this will be the name assigned to the transform image added to the workspace. The transform image has XY dimensions equal to the input image and an equal number of Z-slices to the number of radii tested. Circluar features in the input image appear as bright points, where the XYZ location of the point corresponds to the XYR (i.e. X, Y, radius) parameters for the circle.
Minimum radius (px) (default = "10") The minimum radius to detect circles for. Specified in pixel units.
Maximum radius (px) (default = "20") The maximum radius to detect circles for. Specified in pixel units.
Downsample factor (default = "1") To speed up the detection process, the image can be downsampled. For example, a downsample factor of 2 will downsize the image in X and Y by a factor of 2 prior to detection of circles.
Detection threshold (default = "1.0") The minimum score a detected circle must have to be stored. Scores are the sum of all pixel intensities lying on the perimeter of the circle. As such, higher scores correspond to brighter circles, circles with high circularity (where all points lie on the perimeter of the detected circle) and circles with continuous intensity along their perimeter (no gaps).
Exclusion radius (px) (default = "10") The minimum distance between adjacent circles. For multiple candidate points within this range, the circle with the highest score will be retained. Specified in pixel units.
Enable multithreading (default = "true") Process multiple radii simultaneously. This can provide a speed improvement when working on a computer with a multi-core CPU.
Output radius resize (px) (default = "0") Radius of output objects will be adjusted by this value. For example, a detected circle of radius 5 with a "radius resize" of 2 will have an output radius of 7. Similarly, setting "radius resize" to -3 would produce a circle of radius 2.
Show transform image (default = "true") When selected, the transform image will be displayed (as long as the module is currently set to show its output).
Show detection image (default = "true") When selected, the detection image will be displayed (as long as the module is currently set to show its output).
Show detection score (default = "false") When selected, the detection image will also show the score associated with each detected circle.
Label size (default = "12") Font size of the detection score text label.