Operator Reference

find_neighborsT_find_neighborsFindNeighborsFindNeighborsfind_neighbors (Operator)

find_neighborsT_find_neighborsFindNeighborsFindNeighborsfind_neighbors — Search direct neighbors.

Signature

Herror T_find_neighbors(const Hobject Regions1, const Hobject Regions2, const Htuple MaxDistance, Htuple* RegionIndex1, Htuple* RegionIndex2)

void FindNeighbors(const HObject& Regions1, const HObject& Regions2, const HTuple& MaxDistance, HTuple* RegionIndex1, HTuple* RegionIndex2)

HTuple HRegion::FindNeighbors(const HRegion& Regions2, Hlong MaxDistance, HTuple* RegionIndex2) const

def find_neighbors(regions_1: HObject, regions_2: HObject, max_distance: int) -> Tuple[Sequence[int], Sequence[int]]

Description

The operator find_neighborsfind_neighborsFindNeighborsFindNeighborsfind_neighbors determines neighboring regions with Regions1Regions1Regions1regions1regions_1 and Regions2Regions2Regions2regions2regions_2 containing the regions to be examined. Regions1Regions1Regions1regions1regions_1 can have three different states:

The operator find_neighborsfind_neighborsFindNeighborsFindNeighborsfind_neighbors uses the chessboard distance between neighboring regions. It can be specified by the parameter MaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance. Neighboring regions are located at the n-th position in RegionIndex1RegionIndex1RegionIndex1regionIndex1region_index_1 and RegionIndex2RegionIndex2RegionIndex2regionIndex2region_index_2, i.e., the region with index RegionIndex1RegionIndex1RegionIndex1regionIndex1region_index_1[n] from Regions1Regions1Regions1regions1regions_1 is the neighbor of the region with index RegionIndex2RegionIndex2RegionIndex2regionIndex2region_index_2[n] from Regions2Regions2Regions2regions2regions_2.

Attention

Covered regions are not found!

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

Regions1Regions1Regions1regions1regions_1 (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Starting regions.

Regions2Regions2Regions2regions2regions_2 (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Comparative regions.

MaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximal distance of regions.

Default: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 10, 15, 20, 50

Value range: 1 ≤ MaxDistance MaxDistance MaxDistance maxDistance max_distance ≤ 255

Minimum increment: 1

Recommended increment: 1

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

Indices of the found regions from Regions1Regions1Regions1regions1regions_1.

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

Indices of the found regions from Regions2Regions2Regions2regions2regions_2.

Result

The operator find_neighborsfind_neighborsFindNeighborsFindNeighborsfind_neighbors returns the value 2 ( H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)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>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection

See also

spatial_relationspatial_relationSpatialRelationSpatialRelationspatial_relation, select_region_spatialselect_region_spatialSelectRegionSpatialSelectRegionSpatialselect_region_spatial, expand_regionexpand_regionExpandRegionExpandRegionexpand_region, distance_transformdistance_transformDistanceTransformDistanceTransformdistance_transform, interjacentinterjacentInterjacentInterjacentinterjacent, boundaryboundaryBoundaryBoundaryboundary

Module

Foundation