test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point (Operator)

Name

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.

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

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

See also

select_region_pointselect_region_pointSelectRegionPointSelectRegionPointselect_region_point

Module

Foundation