moments_region_central_invar (Operator)

Name

`moments_region_central_invar` — Geometric moments of regions.

Signature

`moments_region_central_invar(Regions : : : PSI1, PSI2, PSI3, PSI4)`

Description

The operator `moments_region_central_invar` calculates the moments (`PSI1`, `PSI2`, `PSI3`, `PSI4`) that are invariant under translation and general linear transformations.

Calculation: Then the moments are defined by:

If more than one region is passed the results are stored in tuples, the index of a value in the tuple corresponding to the index of a region in the input.

In case of empty region all parameters have the value 0.0 if no other behavior was set (see `set_system`).

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.

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

Moment of 2nd order.

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

Moment of 2nd order.

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

Moment of 2nd order.

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

Moment of 2nd order.

Complexity

If Z is the area of the region the mean runtime complexity is O(sqrt(Z)).

Result

The operator `moments_region_central_invar` 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 is raised.

Possible Predecessors

`threshold`, `regiongrowing`, `connection`

Alternatives

`moments_region_2nd`

`elliptic_axis`