Operator Reference

distance_rr_min_dildistance_rr_min_dilDistanceRrMinDilDistanceRrMinDildistance_rr_min_dil (Operator)

distance_rr_min_dildistance_rr_min_dilDistanceRrMinDilDistanceRrMinDildistance_rr_min_dil — Minimum distance between two regions with the help of dilation.

Signature

distance_rr_min_dil(Regions1, Regions2 : : : MinDistance)

Herror distance_rr_min_dil(const Hobject Regions1, const Hobject Regions2, Hlong* MinDistance)

Herror T_distance_rr_min_dil(const Hobject Regions1, const Hobject Regions2, Htuple* MinDistance)

void DistanceRrMinDil(const HObject& Regions1, const HObject& Regions2, HTuple* MinDistance)

HTuple HRegion::DistanceRrMinDil(const HRegion& Regions2) const

static void HOperatorSet.DistanceRrMinDil(HObject regions1, HObject regions2, out HTuple minDistance)

HTuple HRegion.DistanceRrMinDil(HRegion regions2)

def distance_rr_min_dil(regions_1: HObject, regions_2: HObject) -> Sequence[int]

def distance_rr_min_dil_s(regions_1: HObject, regions_2: HObject) -> int

Description

The operator distance_rr_min_dildistance_rr_min_dilDistanceRrMinDilDistanceRrMinDildistance_rr_min_dil calculates the minimum distance between pairs of regions, by iteratively applying dilations on both regions until their intersection is non empty. If several regions are passed in Regions1Regions1Regions1regions1regions_1 and Regions2Regions2Regions2regions2regions_2 the distance between the i-th elements in each case is calculated. It then forms the i-th entry in the output parameter MinDistanceMinDistanceMinDistanceminDistancemin_distance. The calculation is carried out with the help of dilation with the Golay element 'h' (see dilation_golaydilation_golayDilationGolayDilationGolaydilation_golay for further information). The result is: where is the number of iterations. The mask 'h' has the effect that precisely the maximum metrics are calculated.

Attention

Both parameters must contain the same number of regions. The regions must not be empty.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.

Parameters

Regions1Regions1Regions1regions1regions_1 (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regions to be examined.

Regions2Regions2Regions2regions2regions_2 (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regions to be examined.

MinDistanceMinDistanceMinDistanceminDistancemin_distance (output_control)  integer(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimum distances of the regions.

Assertion: -1 <= MinDistance

Result

The operator distance_rr_min_dildistance_rr_min_dilDistanceRrMinDilDistanceRrMinDildistance_rr_min_dil returns the value 2 ( H_MSG_TRUE) if the input is not empty. Otherwise an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection

Alternatives

distance_rr_mindistance_rr_minDistanceRrMinDistanceRrMindistance_rr_min, dilation1dilation1Dilation1Dilation1dilation1, intersectionintersectionIntersectionIntersectionintersection

Module

Foundation