ClassesClassesClassesClasses | | | | Operators

moments_region_centralmoments_region_centralMomentsRegionCentralmoments_region_centralMomentsRegionCentralMomentsRegionCentral (Operator)


moments_region_centralmoments_region_centralMomentsRegionCentralmoments_region_centralMomentsRegionCentralMomentsRegionCentral — Geometric moments of regions.


moments_region_central(Regions : : : I1, I2, I3, I4)

Herror moments_region_central(const Hobject Regions, double* I1, double* I2, double* I3, double* I4)

Herror T_moments_region_central(const Hobject Regions, Htuple* I1, Htuple* I2, Htuple* I3, Htuple* I4)

Herror moments_region_central(Hobject Regions, double* I1, double* I2, double* I3, double* I4)

Herror moments_region_central(Hobject Regions, HTuple* I1, HTuple* I2, HTuple* I3, HTuple* I4)

double HRegion::MomentsRegionCentral(double* I2, double* I3, double* I4) const

HTuple HRegionArray::MomentsRegionCentral(HTuple* I2, HTuple* I3, HTuple* I4) const

void MomentsRegionCentral(const HObject& Regions, HTuple* I1, HTuple* I2, HTuple* I3, HTuple* I4)

HTuple HRegion::MomentsRegionCentral(HTuple* I2, HTuple* I3, HTuple* I4) const

double HRegion::MomentsRegionCentral(double* I2, double* I3, double* I4) const

void HOperatorSetX.MomentsRegionCentral(
[in] IHUntypedObjectX* Regions, [out] VARIANT* I1, [out] VARIANT* I2, [out] VARIANT* I3, [out] VARIANT* I4)

VARIANT HRegionX.MomentsRegionCentral(
[out] VARIANT* I2, [out] VARIANT* I3, [out] VARIANT* I4)

static void HOperatorSet.MomentsRegionCentral(HObject regions, out HTuple i1, out HTuple i2, out HTuple i3, out HTuple i4)

HTuple HRegion.MomentsRegionCentral(out HTuple i2, out HTuple i3, out HTuple i4)

double HRegion.MomentsRegionCentral(out double i2, out double i3, out double i4)


The operator moments_region_centralmoments_region_centralMomentsRegionCentralmoments_region_centralMomentsRegionCentralMomentsRegionCentral calculates the central moments (I1I1I1I1I1i1, I2I2I2I2I2i2, I3I3I3I3I3i3, I4I4I4I4I4i4).

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



RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regions to be examined.

I1I1I1I1I1i1 (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Moment of 2nd order.

I2I2I2I2I2i2 (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Moment of 2nd order.

I3I3I3I3I3i3 (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Moment of 2nd order.

I4I4I4I4I4i4 (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Moment of 3rd order.


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


The operator moments_region_centralmoments_region_centralMomentsRegionCentralmoments_region_centralMomentsRegionCentralMomentsRegionCentral 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("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>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection



See also




ClassesClassesClassesClasses | | | | Operators