moments_region_3rd_invar moments_region_3rd_invar MomentsRegion3rdInvar MomentsRegion3rdInvar moments_region_3rd_invar (Operator)
Name
moments_region_3rd_invar moments_region_3rd_invar MomentsRegion3rdInvar MomentsRegion3rdInvar moments_region_3rd_invar
— Geometric moments of regions.
Signature
Herror moments_region_3rd_invar (const Hobject Regions , double* M21 , double* M12 , double* M03 , double* M30 )
Herror T_moments_region_3rd_invar (const Hobject Regions , Htuple* M21 , Htuple* M12 , Htuple* M03 , Htuple* M30 )
def moments_region_3rd_invar (regions : HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def moments_region_3rd_invar_s (regions : HObject) -> Tuple[float, float, float, float]
Description
The operator moments_region_3rd_invar moments_region_3rd_invar MomentsRegion3rdInvar MomentsRegion3rdInvar moments_region_3rd_invar
calculates the
scale-invariant moments (M21 M21 M21 m21 m21
, M12 M12 M12 m12 m12
,
M03 M03 M03 m03 m03
, M30 M30 M30 m30 m30
).
Calculation:
Then the moments
are defined by:
,
wherein
and
.
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 set_system SetSystem SetSystem set_system
).
Execution Information
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 Regions Regions regions regions
(input_object) region(-array) →
object HRegion HObject HObject Hobject
Regions to be examined.
M21 M21 M21 m21 m21
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 3rd order (line-dependent).
M12 M12 M12 m12 m12
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 3rd order (column-dependent).
M03 M03 M03 m03 m03
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 3rd order (column-dependent).
M30 M30 M30 m30 m30
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 3rd order (line-dependent).
Complexity
If Z is the area of the region the mean runtime
complexity is O(sqrt(Z)).
Result
The operator moments_region_3rd_invar moments_region_3rd_invar MomentsRegion3rdInvar MomentsRegion3rdInvar moments_region_3rd_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>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) 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>) set_system("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) set_system("empty_region_result",<Result>)
.
If necessary an exception is raised.
Possible Predecessors
threshold threshold Threshold Threshold threshold
,
regiongrowing regiongrowing Regiongrowing Regiongrowing regiongrowing
,
connection connection Connection Connection connection
Alternatives
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd moments_region_2nd
See also
elliptic_axis elliptic_axis EllipticAxis EllipticAxis elliptic_axis
Module
Foundation