diameter_regiondiameter_regionDiameterRegionDiameterRegion (Operator)

Name

diameter_regiondiameter_regionDiameterRegionDiameterRegion — Ermitteln des maximalen Abstands zweier Randpunkte einer Region.

Signatur

diameter_region(Regions : : : Row1, Column1, Row2, Column2, Diameter)

Herror diameter_region(const Hobject Regions, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2, double* Diameter)

Herror T_diameter_region(const Hobject Regions, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2, Htuple* Diameter)

void DiameterRegion(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter)

void HRegion::DiameterRegion(HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter) const

void HRegion::DiameterRegion(Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2, double* Diameter) const

static void HOperatorSet.DiameterRegion(HObject regions, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HRegion.DiameterRegion(out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HRegion.DiameterRegion(out int row1, out int column1, out int row2, out int column2, out double diameter)

Beschreibung

diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegion berechnet den maximalen Abstand zweier Randpunkte einer Region. Es werden die Koordiaten der beiden Extrempunkte und der Abstand zwischen diesen Punkten zurückgegeben.

In der Dokumentation zu diesem Kapitel (Regionen / Merkmale) finden Sie ein Bild mit Regionen, die sich in dem maximalen Abstands zweier Randpunkte unterscheiden.

Achtung

Bei leerer Region kann das Ergebnis von Row1Row1Row1Row1row1, Column1Column1Column1Column1column1, Row2Row2Row2Row2row2 und Column2Column2Column2Column2column2 (alle sind 0) zu Konfusionen führen.

Ausführungsinformationen

Parameter

RegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHobject

Zu untersuchende Regionen.

Row1Row1Row1Row1row1 (output_control)  line.begin.y(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenindex des ersten Extrempunktes.

Column1Column1Column1Column1column1 (output_control)  line.begin.x(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenindex des ersten Extrempunktes.

Row2Row2Row2Row2row2 (output_control)  line.end.y(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenindex des zweiten Extrempunktes.

Column2Column2Column2Column2column2 (output_control)  line.end.x(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenindex des zweiten Extrempunktes.

DiameterDiameterDiameterDiameterdiameter (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Abstand der beiden Extrempunkte.

Komplexität

Sei F die Fläche einer Region, dann beträgt die Laufzeitkomplexität im Mittel O(sqrt(F)).

Ergebnis

diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegion liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingaberegionen 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>) festlegen. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit 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>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection, runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures

Nachfolger

disp_linedisp_lineDispLineDispLineDispLine

Alternativen

smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2

Modul

Foundation