hamming_distancehamming_distanceHammingDistanceHammingDistance (Operator)

Name

hamming_distancehamming_distanceHammingDistanceHammingDistance — Ermitteln des Hamming-Abstands zweier Regionen.

Signatur

hamming_distance(Regions1, Regions2 : : : Distance, Similarity)

Herror hamming_distance(const Hobject Regions1, const Hobject Regions2, Hlong* Distance, double* Similarity)

Herror T_hamming_distance(const Hobject Regions1, const Hobject Regions2, Htuple* Distance, Htuple* Similarity)

void HammingDistance(const HObject& Regions1, const HObject& Regions2, HTuple* Distance, HTuple* Similarity)

HTuple HRegion::HammingDistance(const HRegion& Regions2, HTuple* Similarity) const

Hlong HRegion::HammingDistance(const HRegion& Regions2, double* Similarity) const

static void HOperatorSet.HammingDistance(HObject regions1, HObject regions2, out HTuple distance, out HTuple similarity)

HTuple HRegion.HammingDistance(HRegion regions2, out HTuple similarity)

int HRegion.HammingDistance(HRegion regions2, out double similarity)

Beschreibung

hamming_distancehamming_distanceHammingDistanceHammingDistanceHammingDistance liefert den Hamming-Abstand zweier Regionen, d.h. die Zahl der Punkte der Regionen, die sich unterscheiden (DistanceDistanceDistanceDistancedistance), also die Zahl der Punkte, die in der einen Region enthalten sind, in der anderen jedoch nicht: Der Parameter SimilaritySimilaritySimilaritySimilaritysimilarity beschreibt die Ähnlichkeit der beiden Regionen, basierend auf dem Hamming-Abstand DistanceDistanceDistanceDistancedistance: Sind beide Regionen leer, dann wird SimilaritySimilaritySimilaritySimilaritysimilarity auf 0 gesetzt. Es werden immer die Regionen mit dem gleichen Index aus den beiden Eingabeparametern miteinander verglichen.

Achtung

In beiden Eingabeparametern muss die gleiche Anzahl von Regionen übergeben werden.

Ausführungsinformationen

Parameter

Regions1Regions1Regions1Regions1regions1 (input_object)  region(-array) objectHRegionHRegionHobject

Zu untersuchende Regionen.

Regions2Regions2Regions2Regions2regions2 (input_object)  region(-array) objectHRegionHRegionHobject

Vergleichsregionen.

DistanceDistanceDistanceDistancedistance (output_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Hamming-Abstand zweier Regionen.

Zusicherung: Distance >= 0

SimilaritySimilaritySimilaritySimilaritysimilarity (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Ähnlichkeit zweier Regionen.

Zusicherung: 0 <= Similarity && Similarity <= 1

Komplexität

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

Ergebnis

hamming_distance liefert den Wert 2 (H_MSG_TRUE), falls die Anzahl der Objekte in beiden Parametern gleich ist und nicht 0 beträgt. Das Verhalten bei leerer Eingabe (keine Eingabeobjekte 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

Alternativen

intersectionintersectionIntersectionIntersectionIntersection, complementcomplementComplementComplementComplement, area_centerarea_centerAreaCenterAreaCenterAreaCenter

Siehe auch

hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegionHammingChangeRegion

Modul

Foundation