circularity_xld ( XLD : : : Circularity )

Shape factor for the circularity (similarity to a circle) of a contour.

The operator circularity_xld calculates the similarity of the input contour with a circle. The input contour must not intersect itself, otherwise the resulting parameter is not meaningful. If the input contour is not closed it will be closed automatically.

Calculation: If F is the area enclosed by the contour and max is the 
maximum distance from the center to all contour pixels, the shape factor C
is defined as:
                               C = F / (max^2 * pi)
The shape factor C of a circle is 1. If the contour encloses an elongated area C is smaller than 1. The operator circularity_xld especially responds to large bulges.

If more than one contour is passed the numerical values of the shape factor are stored in a tuple, the position of a value in the tuple corresponding to the position of the contour in the input tuple.


Parameters

XLD (input_object)
xld(-array) -> object
Contour(s) to be examined.

Circularity (output_control)
real(-array) -> real
Roundness of the input contour(s).
Assertion: (0 <= Circularity) && (Circularity <= 1.0)


Result

The operator circularity_xld returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input contour available) is set via the operator set_system('no_object_result',<Result>). If necessary an exception handling is raised.


Parallelization Information

circularity_xld is reentrant and automatically parallelized (on tuple level).


Possible Predecessors

gen_contours_skeleton_xld, edges_sub_pix, threshold_sub_pix, gen_contour_polygon_xld


Alternatives

compactness_xld, convexity_xld, eccentricity_xld


See also

area_center_xld, select_shape_xld


Module

Sub-pixel operators


Copyright © 1996-2001 MVTec Software GmbH