Operators

# 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 PSIi are defined by:

PSI1 = I1 / MU^4
PSI2 = I2 / MU^10
PSI3 = I3 / MU^7
PSI4 = I4 / MU^11
```

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

## Parallelization

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