diameter_regiondiameter_regionDiameterRegionDiameterRegiondiameter_region (Operator)
Name
diameter_regiondiameter_regionDiameterRegionDiameterRegiondiameter_region — Ermitteln des maximalen Abstands zweier Randpunkte einer Region.
Signatur
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)
def diameter_region(regions: HObject) -> Tuple[Sequence[int], Sequence[int], Sequence[int], Sequence[int], Sequence[float]]
def diameter_region_s(regions: HObject) -> Tuple[int, int, int, int, float]
Beschreibung
diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegiondiameter_region berechnet den
maximalen Abstand zweier Randpunkte einer Region.
Es werden die Koordinaten 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 Row1Row1Row1Row1row1row_1, Column1Column1Column1Column1column1column_1,
Row2Row2Row2Row2row2row_2 und Column2Column2Column2Column2column2column_2 (alle sind 0) zu Konfusionen führen.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Parameter
RegionsRegionsRegionsRegionsregionsregions (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Zu untersuchende Regionen.
Row1Row1Row1Row1row1row_1 (output_control) line.begin.y(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Zeilenindex des ersten Extrempunktes.
Column1Column1Column1Column1column1column_1 (output_control) line.begin.x(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Spaltenindex des ersten Extrempunktes.
Row2Row2Row2Row2row2row_2 (output_control) line.end.y(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Zeilenindex des zweiten Extrempunktes.
Column2Column2Column2Column2column2column_2 (output_control) line.end.x(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Spaltenindex des zweiten Extrempunktes.
DiameterDiameterDiameterDiameterdiameterdiameter (output_control) number(-array) → HTupleSequence[float]HTupleHtuple (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_regionDiameterRegionDiameterRegionDiameterRegiondiameter_region 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>)set_system("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>)set_system("empty_region_result",<Result>) bestimmt.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
thresholdthresholdThresholdThresholdThresholdthreshold,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing,
connectionconnectionConnectionConnectionConnectionconnection,
runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeaturesrunlength_features
Nachfolger
disp_linedisp_lineDispLineDispLineDispLinedisp_line
Alternativen
smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2
Modul
Foundation