Name
eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld — Anisometrie von Konturen oder Polygonen, die wie Punktwolken behandelt
werden.
Herror eccentricity_points_xld(const Hobject XLD, double* Anisometry)
Herror T_eccentricity_points_xld(const Hobject XLD, Htuple* Anisometry)
Herror eccentricity_points_xld(Hobject XLD, double* Anisometry)
Herror eccentricity_points_xld(Hobject XLD, HTuple* Anisometry)
double HXLD::EccentricityPointsXld() const
HTuple HXLDArray::EccentricityPointsXld() const
eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld berechnet das Formmerkmal
AnisometryAnisometryAnisometryAnisometryAnisometryanisometry, das aus den geometrischen Momenten abgeleitet
wird. Im Gegensatz zu eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld werden nur die
Eigenschaften der Konturpunkte, nicht die der durch die Kontur
eingeschlossenen Fläche berechnet. Die Reihenfolge der Kontur- oder
Polygonpunkte wird nicht berücksichtigt. Bei
geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird
der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da
er sonst doppeltes Gewicht erhielte.
Ist die Kontur XLDXLDXLDXLDXLDXLD nicht kreuzungsfrei oder kann sie nicht
kreuzungsfrei durch eine Line vom End- zum Anfangspunkt geschlossen
werden, liefert eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld immer noch sinnvolle
Ergebnisse und ist in diesem Fall eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld
vorzuziehen. Ob sich die Konturen oder Polygone selbst schneiden, kann
leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden.
Berechnung:
Seien die Ellipsenradien Ra, Rb
(siehe elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXld) gegeben, dann gilt:
Die Anisometrie eines Kreises ist 1.0.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Ergebnisse für die Anisometrie in einem Tupel in der Reihenfolge
ihrer entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLDXLD abgespeichert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Konturen bzw. Polygone.
Anisometrie der Konturen bzw. Polygone.
Zusicherung: Anisometry >= 1.0
eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld liefert den Wert 2 (H_MSG_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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld
eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld
elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXld,
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd,
select_shape_xldselect_shape_xldSelectShapeXldselect_shape_xldSelectShapeXldSelectShapeXld
Foundation