ClassesClasses | | Operators

select_region_pointselect_region_pointSelectRegionPointSelectRegionPoint (Operator)

Name

select_region_pointselect_region_pointSelectRegionPointSelectRegionPoint — Choose all regions containing a given pixel.

Signature

select_region_point(Regions : DestRegions : Row, Column : )

Herror select_region_point(const Hobject Regions, Hobject* DestRegions, const Hlong Row, const Hlong Column)

Herror T_select_region_point(const Hobject Regions, Hobject* DestRegions, const Htuple Row, const Htuple Column)

void SelectRegionPoint(const HObject& Regions, HObject* DestRegions, const HTuple& Row, const HTuple& Column)

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

static void HOperatorSet.SelectRegionPoint(HObject regions, out HObject destRegions, HTuple row, HTuple column)

HRegion HRegion.SelectRegionPoint(int row, int column)

Description

The operator select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPoint selects all regions from RegionsRegionsRegionsRegionsregions containing the test pixel (RowRowRowRowrow,ColumnColumnColumnColumncolumn), i.e.:

Attention

If the regions overlap more than one region might contain the pixel. In this case all these regions are returned. If no region contains the indicated pixel the empty tuple (= no region) is returned.

Execution Information

Parameters

RegionsRegionsRegionsRegionsregions (input_object)  region-array objectHRegionHRegionHobject

Regions to be examined.

DestRegionsDestRegionsDestRegionsDestRegionsdestRegions (output_object)  region-array objectHRegionHRegionHobject *

All regions containing the test pixel.

RowRowRowRowrow (input_control)  point.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Line index of the test pixel.

Default value: 100

ColumnColumnColumnColumncolumn (input_control)  point.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column index of the test pixel.

Default value: 100

Example (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Example (C)

read_image(&Image,"fabrik");
open_window(0,0,-1,-1,0,"visible","",&WindowHandle);
regiongrowing(Image,&Seg,3,3,5.0,0);
set_color(WindowHandle,"red");
set_draw(WindowHandle,"margin");
do {
  printf("Select the region with the mouse (End right buttonn \n");
  get_mbutton(WindowHandle,&Row,&Column,&Button);
  select_region_point(Seg,&Single,Row,Column);
  disp_image(Image);
  disp_region(Single,WindowHandle);
  clear(Single);
} while(Button != 4);

Example (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Example (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Example (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Complexity

If F is the area of the region and N is the number of regions, the mean runtime complexity is O(ln(sqrt(F)) * N).

Result

The operator select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPoint returns the value 2 (H_MSG_TRUE) if the parameters are correct. 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>)SetSystem("no_object_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection

Alternatives

test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPoint

See also

get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbutton, get_mpositionget_mpositionGetMpositionGetMpositionGetMposition

Module

Foundation


ClassesClasses | | Operators