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