Operator Reference

test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point (Operator)

test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point — Test if the region contains a given point.

Signature

test_region_point(Regions : : Row, Column : IsInside)

Herror test_region_point(const Hobject Regions, const Hlong Row, const Hlong Column, Hlong* IsInside)

Herror T_test_region_point(const Hobject Regions, const Htuple Row, const Htuple Column, Htuple* IsInside)

void TestRegionPoint(const HObject& Regions, const HTuple& Row, const HTuple& Column, HTuple* IsInside)

Hlong HRegion::TestRegionPoint(const HTuple& Row, const HTuple& Column) const

Hlong HRegion::TestRegionPoint(Hlong Row, Hlong Column) const

static void HOperatorSet.TestRegionPoint(HObject regions, HTuple row, HTuple column, out HTuple isInside)

int HRegion.TestRegionPoint(HTuple row, HTuple column)

int HRegion.TestRegionPoint(int row, int column)

def test_region_point(regions: HObject, row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]]) -> int

Description

If an array of regions and one test point is provided, test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point tests if at least one input region of RegionsRegionsRegionsregionsregions contains the single test point given in (RowRowRowrowrow,ColumnColumnColumncolumncolumn). If this is the case, IsInsideIsInsideIsInsideisInsideis_inside is set to TRUE, else to FALSE. Alternatively, if a single region and several test points are provided, test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point tests if at least one of the test points (given in RowRowRowrowrow,ColumnColumnColumncolumncolumn) is contained in the input region given in RegionsRegionsRegionsregionsregions. If this is the case, IsInsideIsInsideIsInsideisInsideis_inside is set to TRUE, otherwise it is set to FALSE. If (RowRowRowrowrow,ColumnColumnColumncolumncolumn) are real-valued, rounding is performed internally since regions are pixel precise.

To test, which points exactly are contained in a region, use the operator test_region_pointstest_region_pointsTestRegionPointsTestRegionPointstest_region_points.

Attention

The test pixel is not contained in an empty region (no pixel of the region corresponds to the pixel). If all regions are empty IsInsideIsInsideIsInsideisInsideis_inside is set to FALSE.

In case of an empty input object (empty tuple) RegionsRegionsRegionsregionsregions and set_system('no_object_result','true')set_system("no_object_result","true")SetSystem("no_object_result","true")SetSystem("no_object_result","true")set_system("no_object_result","true"), an empty tuple is returned in IsInsideIsInsideIsInsideisInsideis_inside. If set_system('no_object_result','false')set_system("no_object_result","false")SetSystem("no_object_result","false")SetSystem("no_object_result","false")set_system("no_object_result","false") was set, an exception is raised.

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

RegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Region(s) to be examined.

RowRowRowrowrow (input_control)  point.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Row index of the test pixel(s).

Default: 100

ColumnColumnColumncolumncolumn (input_control)  point.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Column index of the test pixel(s).

Number of elements: Row == Column

Default: 100

IsInsideIsInsideIsInsideisInsideis_inside (output_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Boolean result value.

Complexity

If F is the area of one region, N is the number of regions, and M is the number of test points, the runtime complexity is O(ln(sqrt(F)) * N) in the case of one test point and several regions and O(ln(sqrt(F)) * M) in the case of one region and several test points.

Result

The operator test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point returns the value 2 ( H_MSG_TRUE) if the parameters are correct. The behavior in case of an empty object 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>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection

Alternatives

union1union1Union1Union1union1, intersectionintersectionIntersectionIntersectionintersection, area_centerarea_centerAreaCenterAreaCenterarea_center, test_region_pointstest_region_pointsTestRegionPointsTestRegionPointstest_region_points

See also

select_region_pointselect_region_pointSelectRegionPointSelectRegionPointselect_region_point, test_region_pointstest_region_pointsTestRegionPointsTestRegionPointstest_region_points

Module

Foundation