hamming_distance🔗
Short description🔗
hamming_distance — Hamming distance between two regions.
Signature🔗
hamming_distance( region Regions1, region Regions2, out integer Distance, out real Similarity )
Description🔗
The operator hamming_distance returns the hamming distance
between two regions,
i.e., the number of pixels of the regions which are different
(Distance), i.e., the number of pixels contained in one region
but not in the other:
The parameter Similarity describes the similarity between the
two regions based on the hamming distance Distance:
If both regions are empty Similarity is set to 0.
The regions with the same index from both input parameters are
always compared.
Attention🔗
In both input parameters the same number of regions must be passed.
Execution information🔗
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
Parameters🔗
Regions1 (input_object) region(-array) → object
Regions to be examined.
Regions2 (input_object) region(-array) → object
Comparative regions.
Distance (output_control) integer(-array) → (integer)
Hamming distance of two regions.
Assertion: Distance >= 0
Similarity (output_control) real(-array) → (real)
Similarity of two regions.
Assertion: 0 <= Similarity && Similarity <= 1
Complexity🔗
If \(F\) is the area of a region the mean runtime complexity is \(O(\sqrt{F})\).
Result🔗
hamming_distance returns the value 2 (H_MSG_TRUE) if the number of objects in
both parameters is the same and is not 0.
The behavior in case of empty input (no input objects available) is
set via the operator set_system('no_object_result',<Result>).
The behavior in case of empty region (the region is the empty set) is set via
set_system('empty_region_result',<Result>).
If necessary an exception is raised.
Combinations with other operators🔗
Combinations
Possible predecessors
threshold, regiongrowing, connection
Alternatives
intersection, complement, area_center
See also
Module🔗
Foundation