region_features🔗
Short description🔗
region_features — Calculate shape features of regions.
Signature🔗
region_features( region Regions, string Features, out real Value )
Description🔗
The operator region_features calculates for each input
region from Regions the indicated features
(Features).
For an illustration of these features, please refer to the documentation of this chapter (Regions / Features).
Possible values for Features:
-
'area': Area of the object
-
'row': Row index of the center
-
'column': Column index of the center
-
'row1': Row index of upper left corner
-
'column1': Column index of upper left corner
-
'row2': Row index of lower right corner
-
'column2': Column index of lower right corner
-
'width': Width of the region (parallel to the coordinate axes)
-
'height': Height of the region (parallel to the coordinate axes)
-
'ratio': Ratio of the height and the width of the region (parallel to the coordinate axes)
-
'circularity': Circularity (see
circularity) -
'compactness': Compactness (see
compactness) -
'contlength': Total length of contour (see operator
contlength) -
'convexity': Convexity (see
convexity) -
'rectangularity': Rectangularity (see
rectangularity) -
'ra': Main radius of the equivalent ellipse (see
elliptic_axis) -
'rb': Secondary radius of the equivalent ellipse (see
elliptic_axis) -
'phi': Orientation of the equivalent ellipse (see
elliptic_axis) -
'anisometry': Anisometry (see
eccentricity) -
'bulkiness': Bulkiness (see operator
eccentricity) -
'struct_factor': Structure Factor (see operator
eccentricity) -
'outer_radius': Radius of smallest surrounding circle (see
smallest_circle) -
'inner_radius': Radius of largest inner circle (see
inner_circle) -
'inner_width': Width of the largest axis-parallel rectangle that fits into the region (see
inner_rectangle1) -
'inner_height': Height of the largest axis-parallel rectangle that fits into the region (see
inner_rectangle1) -
'dist_mean': Mean distance from the region border to the center (see operator
roundness) -
'dist_deviation': Deviation of the distance from the region border to the center (see operator
roundness) -
'roundness': Roundness (see operator
roundness) -
'num_sides': Number of polygon sides (see operator
roundness) -
'connect_num': Number of connection components (see operator
connect_and_holes) -
'holes_num': Number of holes (see operator
connect_and_holes) -
'area_holes': Area of the holes of the object (see operator
area_holes) -
'max_diameter': Maximum diameter of the region (see operator
diameter_region) -
'orientation': Orientation of the region (see operator
orientation_region) -
'euler_number': Euler number (see operator
euler_number) -
'rect2_phi': Orientation of the smallest surrounding rectangle (see operator
smallest_rectangle2) -
'rect2_len1': Half the length of the smallest surrounding rectangle (see operator
smallest_rectangle2) -
'rect2_len2': Half the width of the smallest surrounding rectangle (see operator
smallest_rectangle2) -
'moments_m11': Geometric moments of the region (see operator
moments_region_2nd) -
'moments_m20': Geometric moments of the region (see operator
moments_region_2nd) -
'moments_m02': Geometric moments of the region (see operator
moments_region_2nd) -
'moments_ia': Geometric moments of the region (see operator
moments_region_2nd) -
'moments_ib': Geometric moments of the region (see operator
moments_region_2nd) -
'moments_m11_invar': Geometric moments of the region (see operator
moments_region_2nd_invar) -
'moments_m20_invar': Geometric moments of the region (see operator
moments_region_2nd_invar) -
'moments_m02_invar': Geometric moments of the region (see operator
moments_region_2nd_invar) -
'moments_phi1': Geometric moments of the region (see operator
moments_region_2nd_rel_invar) -
'moments_phi2': Geometric moments of the region (see operator
moments_region_2nd_rel_invar) -
'moments_m21': Geometric moments of the region (see operator
moments_region_3rd) -
'moments_m12': Geometric moments of the region (see operator
moments_region_3rd) -
'moments_m03': Geometric moments of the region (see operator
moments_region_3rd) -
'moments_m30': Geometric moments of the region (see operator
moments_region_3rd) -
'moments_m21_invar': Geometric moments of the region (see operator
moments_region_3rd_invar) -
'moments_m12_invar': Geometric moments of the region (see operator
moments_region_3rd_invar) -
'moments_m03_invar': Geometric moments of the region (see operator
moments_region_3rd_invar) -
'moments_m30_invar': Geometric moments of the region (see operator
moments_region_3rd_invar) -
'moments_i1': Geometric moments of the region (see operator
moments_region_central) -
'moments_i2': Geometric moments of the region (see operator
moments_region_central) -
'moments_i3': Geometric moments of the region (see operator
moments_region_central) -
'moments_i4': Geometric moments of the region (see operator
moments_region_central) -
'moments_psi1': Geometric moments of the region (see operator
moments_region_central_invar) -
'moments_psi2': Geometric moments of the region (see operator
moments_region_central_invar) -
'moments_psi3': Geometric moments of the region (see operator
moments_region_central_invar) -
'moments_psi4': Geometric moments of the region (see operator
moments_region_central_invar)
Several features are processed in the sequence in which they are entered.
Execution information🔗
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Automatically parallelized on tuple level.
Parameters🔗
Regions (input_object) region-array → object
Regions to be examined.
Features (input_control) string(-array) → (string)
Shape features to be calculated.
Default: 'area'
List of values: 'anisometry', 'area', 'area_holes', 'bulkiness', 'circularity', 'column', 'column1', 'column2', 'compactness', 'connect_num', 'contlength', 'convexity', 'dist_deviation', 'dist_mean', 'euler_number', 'height', 'holes_num', 'inner_height', 'inner_radius', 'inner_width', 'max_diameter', 'moments_i1', 'moments_i2', 'moments_i3', 'moments_i4', 'moments_ia', 'moments_ib', 'moments_m02', 'moments_m02_invar', 'moments_m03', 'moments_m03_invar', 'moments_m11', 'moments_m11_invar', 'moments_m12', 'moments_m12_invar', 'moments_m20', 'moments_m20_invar', 'moments_m21', 'moments_m21_invar', 'moments_m30', 'moments_m30_invar', 'moments_phi1', 'moments_phi2', 'moments_psi1', 'moments_psi2', 'moments_psi3', 'moments_psi4', 'num_sides', 'orientation', 'outer_radius', 'phi', 'ra', 'ratio', 'rb', 'rect2_len1', 'rect2_len2', 'rect2_phi', 'rectangularity', 'roundness', 'row', 'row1', 'row2', 'struct_factor', 'width'
Value (output_control) real(-array) → (real)
The calculated features.
Example🔗
(HDevelop)
read_image(Image,'monkey')
threshold(Image,S1,160,255)
connection(S1,S2)
region_features(S2,['area','anisometry'],Value)
Result🔗
The operator region_features returns the value 2 (H_MSG_TRUE)
if the input is not empty. If necessary an exception is raised.
Combinations with other operators🔗
Combinations
Possible predecessors
threshold, regiongrowing, connection, runlength_features
Possible successors
select_shape, select_gray, shape_trans, reduce_domain, count_obj
See also
area_center, circularity, compactness, contlength, convexity, rectangularity, elliptic_axis, eccentricity, inner_circle, smallest_circle, smallest_rectangle1, smallest_rectangle2, inner_rectangle1, roundness, connect_and_holes, area_holes, diameter_region, orientation_region, moments_region_2nd, moments_region_2nd_invar, moments_region_2nd_rel_invar, moments_region_3rd, moments_region_3rd_invar, moments_region_central, moments_region_central_invar, select_obj, select_shape
Module🔗
Foundation