moments_region_central_invar moments_region_central_invar MomentsRegionCentralInvar MomentsRegionCentralInvar moments_region_central_invar (Operator)
Name
moments_region_central_invar moments_region_central_invar MomentsRegionCentralInvar MomentsRegionCentralInvar moments_region_central_invar — Geometric moments of regions.
Signature
Herror moments_region_central_invar (const Hobject Regions , double* PSI1 , double* PSI2 , double* PSI3 , double* PSI4 )
Herror T_moments_region_central_invar (const Hobject Regions , Htuple* PSI1 , Htuple* PSI2 , Htuple* PSI3 , Htuple* PSI4 )
def moments_region_central_invar (regions : HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def moments_region_central_invar_s (regions : HObject) -> Tuple[float, float, float, float]
Description
The operator moments_region_central_invar moments_region_central_invar MomentsRegionCentralInvar MomentsRegionCentralInvar MomentsRegionCentralInvar moments_region_central_invar calculates the
moments (PSI1 PSI1 PSI1 PSI1 PSI1 psi1 , PSI2 PSI2 PSI2 PSI2 PSI2 psi2 , PSI3 PSI3 PSI3 PSI3 PSI3 psi3 , PSI4 PSI4 PSI4 PSI4 PSI4 psi4 )
that are invariant under translation and general linear transformations.
Calculation: Then the moments
are defined by:
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 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 regions (input_object) region(-array) → object HRegion HObject HRegion Hobject
Regions to be examined.
PSI1 PSI1 PSI1 PSI1 PSI1 psi1 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 2nd order.
PSI2 PSI2 PSI2 PSI2 PSI2 psi2 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 2nd order.
PSI3 PSI3 PSI3 PSI3 PSI3 psi3 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 2nd order.
PSI4 PSI4 PSI4 PSI4 PSI4 psi4 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment of 2nd order.
Complexity
If Z is the area of the region the mean runtime
complexity is O(sqrt(Z)).
Result
The operator moments_region_central_invar moments_region_central_invar MomentsRegionCentralInvar MomentsRegionCentralInvar MomentsRegionCentralInvar moments_region_central_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>) 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>) SetSystem("empty_region_result",<Result>) set_system("empty_region_result",<Result>) .
If necessary an exception is raised.
Possible Predecessors
threshold threshold Threshold Threshold Threshold threshold ,
regiongrowing regiongrowing Regiongrowing Regiongrowing Regiongrowing regiongrowing ,
connection connection Connection Connection Connection connection
Alternatives
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd moments_region_2nd
See also
elliptic_axis elliptic_axis EllipticAxis EllipticAxis EllipticAxis elliptic_axis
Module
Foundation