orientation_xldorientation_xldOrientationXldOrientationXldorientation_xld (Operator)

Name

orientation_xldorientation_xldOrientationXldOrientationXldorientation_xld — Orientierung von Konturen oder Polygonen.

Signatur

orientation_xld(XLD : : : Phi)

Herror orientation_xld(const Hobject XLD, double* Phi)

Herror T_orientation_xld(const Hobject XLD, Htuple* Phi)

void OrientationXld(const HObject& XLD, HTuple* Phi)

HTuple HXLD::OrientationXld() const

static void HOperatorSet.OrientationXld(HObject XLD, out HTuple phi)

HTuple HXLD.OrientationXld()

def orientation_xld(xld: HObject) -> Sequence[float]

def orientation_xld_s(xld: HObject) -> float

Beschreibung

orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld berechnet die Orientierung (PhiPhiPhiPhiphiphi) für jede Eingabekontur bzw. jedes Eingabepolygon. Das Verfahren basiert auf dem Winkel, der mit elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld bestimmt wird. Es wird jedoch zusätzlich der Punkt auf der Kontur bzw. dem Polygon mit maximalem Abstand bestimmt. Ist dessen Spaltenkoordinate kleiner als die Spaltenkoordinate des Schwerpunkts, so wird zu dem Winkel hinzugezählt. Es wird vorausgesetzt, dass die Kontur geschlossen ist. Ist das nicht der Fall, wird sie künstlich geschlossen.

Es ist zu beachten, dass orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld nur dann sinnvolle Ergebnisse liefert, falls die Kontur oder das Polygon eine Fläche in der Ebene einschließt. Insbesondere darf sich die Kontur oder das Polygon nicht selbst schneiden. Dies ist insbesondere dann zu beachten, wenn offene Konturen und Polygone übergeben werden, da diese automatisch geschlossen werden, was dazu führen kann, dass sich die Kontur oder das Polygon selbst schneidet. Ob sich die Konturen oder Polygone selbst schneiden, kann leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld überprüft werden. Falls sich die Kontur oder das Polygon selbst schneidet, kann ein sinnvoller Wert für die Orientierung mit orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXldorientation_points_xld berechnet werden.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse für die Orientierungen in einem Tupel in der Reihenfolge ihrer entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLDxld abgespeichert.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLDxld (input_object)  xld(-array) objectHXLDHObjectHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

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

Orientierung der Konturen bzw. Polygone (Bogenmaß).

Zusicherung: - pi < Phi && Phi <= pi

Ergebnis

orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld liefert den Wert TRUE, falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingabekontur vorhanden) lässt sich mittels 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld, test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld

Alternativen

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld

Siehe auch

moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd

Modul

Foundation