# gray_features (Operator)

## Name

`gray_features` — Calculates gray value features for a set of regions.

## Signature

`gray_features(Regions, Image : : Features : Value)`

## Description

`gray_features` has a set of regions (`Regions`) as input. For each of these regions the features (`Features`) are calculated and returned in `Value`. Possble values for `Features`:

'area'

Gray value volume of region (see `area_center_gray`)

'row'

Row index of the center of gravity (see `area_center_gray`)

'column'

Column index of the center of gravity (see `area_center_gray`)

'ra'

Major axis of equivallent ellipse (see `elliptic_axis_gray`)

'rb'

Minor axis of equivallent ellipse (see `elliptic_axis_gray`)

'phi'

Orientation of equivallent ellipse (see `elliptic_axis_gray`)

'min'

Minimum gray value (see `min_max_gray`)

'max'

Maximum gray value (see `min_max_gray`)

'median'

Median gray value (see `min_max_gray`, with Percent=50)

'mean'

Mean gray value (see `intensity`)

'deviation'

Deviation of gray values (see `intensity`)

'plane_deviation'

Deviation from the approximating plane (see `plane_deviation`)

'anisotropy'

Anisotropy (see `entropy_gray`)

'entropy'

Entropy (see `entropy_gray`)

'fuzzy_entropy'

Fuzzy entropie of region (see `fuzzy_entropy`, with a fuzzy function from Apar=0 to Cpar=255)

'fuzzy_perimeter'

Fuzzy perimeter of region (see `fuzzy_perimeter`, with a fuzzy function from Apar=0 to Cpar=255)

'moments_row'

Mixed moments along a row (see `moments_gray_plane`)

'moments_column'

Mixed moments along a column (see `moments_gray_plane`)

'alpha'

Approximating plane, parameter Alpha (see `moments_gray_plane`)

'beta'

Approximating plane, parameter Beta (see `moments_gray_plane`)

## Attention

Several features are processed in the order in which they are entered.

Note that the operator `gray_features` only considers the given `Regions` and ignores any previously set domain of the input image `Image`.

## 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.

`Image` (input_object)  singlechannelimage `→` object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Gray value image.

`Features` (input_control)  string(-array) `→` (string)

Names of the features.

Default value: 'mean'

List of values: 'alpha', 'anisotropy', 'area', 'beta', 'column', 'deviation', 'entropy', 'fuzzy_entropy', 'fuzzy_perimeter', 'max', 'mean', 'median', 'min', 'moments_column', 'moments_row', 'phi', 'plane_deviation', 'ra', 'rb', 'row'

`Value` (output_control)  real(-array) `→` (real)

Value sof the features.

## Complexity

If F is the area of the region and N the number of features the runtime complexity is O(F * N).

## Result

The operator `gray_features` returns the value 2 (H_MSG_TRUE) if the input image has the defined gray values and the parameters are correct. If necessary an exception is raised.

## Possible Predecessors

`connection`, `mean_image`, `entropy_image`, `sobel_amp`, `median_separate`

## Possible Successors

`select_gray`, `shape_trans`, `reduce_domain`, `count_obj`

`select_gray`, `deviation_image`, `entropy_gray`, `intensity`, `mean_image`, `min_max_gray`, `select_obj`