ClassesClassesClassesClasses | | | | Operators

moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvar (Operator)

Name

moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvar — Geometric moments of regions.

Signature

moments_region_2nd_invar(Regions : : : M11, M20, M02)

Herror moments_region_2nd_invar(const Hobject Regions, double* M11, double* M20, double* M02)

Herror T_moments_region_2nd_invar(const Hobject Regions, Htuple* M11, Htuple* M20, Htuple* M02)

Herror moments_region_2nd_invar(Hobject Regions, double* M11, double* M20, double* M02)

Herror moments_region_2nd_invar(Hobject Regions, HTuple* M11, HTuple* M20, HTuple* M02)

double HRegion::MomentsRegion2ndInvar(double* M20, double* M02) const

HTuple HRegionArray::MomentsRegion2ndInvar(HTuple* M20, HTuple* M02) const

void MomentsRegion2ndInvar(const HObject& Regions, HTuple* M11, HTuple* M20, HTuple* M02)

HTuple HRegion::MomentsRegion2ndInvar(HTuple* M20, HTuple* M02) const

double HRegion::MomentsRegion2ndInvar(double* M20, double* M02) const

void HOperatorSetX.MomentsRegion2ndInvar(
[in] IHUntypedObjectX* Regions, [out] VARIANT* M11, [out] VARIANT* M20, [out] VARIANT* M02)

VARIANT HRegionX.MomentsRegion2ndInvar(
[out] VARIANT* M20, [out] VARIANT* M02)

static void HOperatorSet.MomentsRegion2ndInvar(HObject regions, out HTuple m11, out HTuple m20, out HTuple m02)

HTuple HRegion.MomentsRegion2ndInvar(out HTuple m20, out HTuple m02)

double HRegion.MomentsRegion2ndInvar(out double m20, out double m02)

Description

The operator moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvar calculates the scaled moments (M20M20M20M20M20m20, M02M02M02M02M02m02) and the procut of inertia of the axes through the center parallel to the coordinate axes (M11M11M11M11M11m11).

Calculation:

and are the coordinates of the center of a region R with the area F. Then the moments are defined by:

,

wherein Z and S run through all pixels of the region R.

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

Parallelization

Parameters

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regions to be examined.

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

Product of inertia of the axes through the center parallel to the coordinate axes.

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

Moment of 2nd order (line-dependent).

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

Moment of 2nd order (column-dependent).

Complexity

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

Result

The operator moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvar 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

Alternatives

moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd

See also

elliptic_axiselliptic_axisEllipticAxiselliptic_axisEllipticAxisEllipticAxis

Module

Foundation


ClassesClassesClassesClasses | | | | Operators