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
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
- 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
See also
select_region_pointselect_region_pointSelectRegionPointSelectRegionPointselect_region_point
Module
Foundation