Shape factor for the compactness of a region.
The operator compactness calculates the compactness of the input regions.
Calculation: If L is the length of the contour (see contlength) and F
the area of the region the shape factor C is defined as:
C = L^2 / (4 F pi))
The shape factor C of a circle is 1. If the region
is long or has holes C is larger than 1.
The operator compactness responds to the course of the contour
(roughness) and to holes.
In case of an empty region the operator compactness returns the
value 0 if no other behavior was set (see set_system).
If more than one region 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 region in the input tuple.
|
Regions (input_object) |
region(-array) -> object |
| Region(s) to be examined. | |
|
Compactness (output_control) |
real(-array) -> real |
| Compactness of the input region(s). | |
| Assertion: (Compactness >= 1.0) || (Compactness == 0) | |
The operator compactness returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator set_system('no_object_result',<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>). If necessary an exception handling is raised.
compactness is reentrant and automatically parallelized (on tuple level).
threshold, regiongrowing, connection
compactness, convexity, eccentricity
contlength, area_center, select_shape
Foundation