Operator Reference

orientation_regionorientation_regionOrientationRegionOrientationRegionorientation_region (Operator)

orientation_regionorientation_regionOrientationRegionOrientationRegionorientation_region — Orientation of a region.

Signature

orientation_region(Regions : : : Phi)

Herror orientation_region(const Hobject Regions, double* Phi)

Herror T_orientation_region(const Hobject Regions, Htuple* Phi)

void OrientationRegion(const HObject& Regions, HTuple* Phi)

HTuple HRegion::OrientationRegion() const

static void HOperatorSet.OrientationRegion(HObject regions, out HTuple phi)

HTuple HRegion.OrientationRegion()

def orientation_region(regions: HObject) -> Sequence[float]

def orientation_region_s(regions: HObject) -> float

Description

The operator orientation_regionorientation_regionOrientationRegionOrientationRegionorientation_region calculates the orientation of the region. The operator is based on elliptic_axiselliptic_axisEllipticAxisEllipticAxiselliptic_axis. In addition the point on the contour with maximal distance to the center of gravity is calculated. If, in the rotated coordinate system, the column coordinate of this point is less than the column coordinate of the center of gravity, the value of is added to the angle.

In the documentation of this chapter (Regions / Features), you can find an image illustrating regions which vary in their orientation.

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

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

RegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Region(s) to be examined.

PhiPhiPhiphiphi (output_control)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Orientation of region (arc measure).

Assertion: - pi <= Phi && Phi < pi

Complexity

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

Result

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

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection

Possible Successors

disp_arrowdisp_arrowDispArrowDispArrowdisp_arrow

Alternatives

elliptic_axiselliptic_axisEllipticAxisEllipticAxiselliptic_axis, smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2

See also

moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd, line_orientationline_orientationLineOrientationLineOrientationline_orientation

Module

Foundation