Name
moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvar — Geometric moments of regions.
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
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:
-
Z0 and S0 are the coordinates
of the center of a region R with the area F.
Then the moments Mij are defined by:
Mij = 1/F^2 * SUM ( (Z0 - Z)^i (S0 - S)^j ),
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).
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Product of inertia of the axes through the center
parallel to the coordinate axes.
Moment of 2nd order (line-dependent).
Moment of 2nd order (column-dependent).
If F is the area of the region the mean runtime
complexity is O(sqrt(F)).
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.
thresholdthresholdThresholdthresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionconnectionConnectionConnection
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd
elliptic_axiselliptic_axisEllipticAxiselliptic_axisEllipticAxisEllipticAxis
Foundation