KlassenKlassenKlassenKlassen | | | | Operatoren

eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld (Operator)

Name

eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld — Aus den Ellipsenparametern abgeleitete Formmerkmale von Konturen bzw. Polygonen.

Signatur

eccentricity_xld(XLD : : : Anisometry, Bulkiness, StructureFactor)

Herror eccentricity_xld(const Hobject XLD, double* Anisometry, double* Bulkiness, double* StructureFactor)

Herror T_eccentricity_xld(const Hobject XLD, Htuple* Anisometry, Htuple* Bulkiness, Htuple* StructureFactor)

Herror eccentricity_xld(Hobject XLD, double* Anisometry, double* Bulkiness, double* StructureFactor)

Herror eccentricity_xld(Hobject XLD, HTuple* Anisometry, HTuple* Bulkiness, HTuple* StructureFactor)

double HXLD::EccentricityXld(double* Bulkiness, double* StructureFactor) const

HTuple HXLDArray::EccentricityXld(HTuple* Bulkiness, HTuple* StructureFactor) const

void EccentricityXld(const HObject& XLD, HTuple* Anisometry, HTuple* Bulkiness, HTuple* StructureFactor)

HTuple HXLD::EccentricityXld(HTuple* Bulkiness, HTuple* StructureFactor) const

double HXLD::EccentricityXld(double* Bulkiness, double* StructureFactor) const

void HOperatorSetX.EccentricityXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Anisometry, [out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDContX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDPolyX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDParaX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDModParaX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

VARIANT HXLDExtParaX.EccentricityXld(
[out] VARIANT* Bulkiness, [out] VARIANT* StructureFactor)

static void HOperatorSet.EccentricityXld(HObject XLD, out HTuple anisometry, out HTuple bulkiness, out HTuple structureFactor)

HTuple HXLD.EccentricityXld(out HTuple bulkiness, out HTuple structureFactor)

double HXLD.EccentricityXld(out double bulkiness, out double structureFactor)

Beschreibung

eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld berechnet die drei Formmerkmale AnisometryAnisometryAnisometryAnisometryAnisometryanisometry, BulkinessBulkinessBulkinessBulkinessBulkinessbulkiness und StructureFactorStructureFactorStructureFactorStructureFactorStructureFactorstructureFactor, die aus den geometrischen Momenten hergeleitet sind, für jede Eingabekontur bzw. jedes Eingabepolyon. Ist die Eingabekontur oder das Eingabepolygon nicht geschlossen, so wird sie/es vor der Berechnung automatisch geschlossen.

Berechnung: Seien die Ellipsenradien Ra, Rb (siehe elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld) und die eingeschlossene Fläche F der Kontur bzw. des Polygons gegeben, dann gilt:

Die Anisometrie eines Kreises ist 1.0.

Es ist zu beachten, dass eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld 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_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden. Falls sich die Kontur oder das Polygon selbst schneidet, kann ein sinnvoller Wert für die Anisometrie mit eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld berechnet werden.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse in Tupeln in der Reihenfolge ihrer entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLDXLD abgespeichert.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen bzw. Polygone.

AnisometryAnisometryAnisometryAnisometryAnisometryanisometry (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Anisometrie der Konturen bzw. Polygone.

Zusicherung: Anisometry >= 1.0

BulkinessBulkinessBulkinessBulkinessBulkinessbulkiness (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Sperrigkeit der Konturen bzw. Polygone.

StructureFactorStructureFactorStructureFactorStructureFactorStructureFactorstructureFactor (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Strukturfaktor der Konturen bzw. Polygone.

Ergebnis

eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld 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.

Vorgänger

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

Alternativen

eccentricity_points_xldeccentricity_points_xldEccentricityPointsXldeccentricity_points_xldEccentricityPointsXldEccentricityPointsXld

Siehe auch

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld, moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd, select_shape_xldselect_shape_xldSelectShapeXldselect_shape_xldSelectShapeXldSelectShapeXld, area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren