Geometric moments of regions.
The operator ::moments_region_central calculates the central moments (I1, I2, I3, I4).
Calculation: Then the moments Ii are defined by:
I1 = MU20 MU02 - MU11^2
I2 = ( MU30 MU03 - MU21 MU12 )^2
-4( MU30 MU12 - MU21^2)( MU21 MU03 - MU12^2)
I3 = MU20 ( MU21 MU03- MU12^2 )- MU11 (MU30 MU03
- MU21 MU12 ) + MU02 (MU30 MU12 - MU21^2)
I4 = MU30^2 MU02^3 - 6 MU30 MU21 MU11 MU02^2 +
6 MU30 MU12 MU02 (2 MU11^2 - MU20 MU02 )
+ MU30 MU03 (6 MU20 MU11 MU02 -8 MU11^3) +
9{ MU21 ^2} MU20 MU02^2 - 18 MU21 MU12 MU20 MU11 MU02
+6 MU21 MU03 MU20 (2 MU11^2 - MU20 MU02 )+
9 MU12^2 MU20^2 MU02 -
6 MU12 MU03 MU11 MU20^2 + MU03^2 MU20^3
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).
|
Regions (input_object) |
region(-array) -> Hobject: HRegion(Array) |
| Regions to be examined. | |
|
I1 (output_control) |
real(-array) -> (HTuple.) double * |
| Moment of 2nd order. | |
|
I2 (output_control) |
real(-array) -> (HTuple.) double * |
| Moment of 2nd order. | |
|
I3 (output_control) |
real(-array) -> (HTuple.) double * |
| Moment of 2nd order. | |
|
I4 (output_control) |
real(-array) -> (HTuple.) double * |
| Moment of 3nd order. | |
If Z is the area of the region the mean runtime complexity is O(Z).
The operator ::moments_region_central returns the value 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.
::threshold, ::regiongrowing, ::connection
Region processing