ClassesClassesClassesClasses | | | | Operators

gen_region_runsgen_region_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns (Operator)


gen_region_runsgen_region_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns — Create a region from a runlength coding.


gen_region_runs( : Region : Row, ColumnBegin, ColumnEnd : )

Herror gen_region_runs(Hobject* Region, const Hlong Row, const Hlong ColumnBegin, const Hlong ColumnEnd)

Herror T_gen_region_runs(Hobject* Region, const Htuple Row, const Htuple ColumnBegin, const Htuple ColumnEnd)

Herror gen_region_runs(Hobject* Region, const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

HRegion HRegion::GenRegionRuns(const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

void GenRegionRuns(HObject* Region, const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

void HRegion::GenRegionRuns(const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

void HRegion::GenRegionRuns(Hlong Row, Hlong ColumnBegin, Hlong ColumnEnd)

void HOperatorSetX.GenRegionRuns(
[out] IHUntypedObjectX*Region, [in] VARIANT Row, [in] VARIANT ColumnBegin, [in] VARIANT ColumnEnd)

void HRegionX.GenRegionRuns(
[in] VARIANT Row, [in] VARIANT ColumnBegin, [in] VARIANT ColumnEnd)

static void HOperatorSet.GenRegionRuns(out HObject region, HTuple row, HTuple columnBegin, HTuple columnEnd)

void HRegion.GenRegionRuns(HTuple row, HTuple columnBegin, HTuple columnEnd)

void HRegion.GenRegionRuns(int row, int columnBegin, int columnEnd)


The operator gen_region_runsgen_region_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns creates a region described by the input runlength structure. The runlength representation is created by examining a region line by line with ascending line number (= from “top” to “bottom”). Every line runs through from left to right (ascending column number). All starting and ending points being stored by region segments (=runs). Thus a region can be described by a sequence of runs, a run being defined by line number as well as starting and ending points (column number).

The storing is fastest when the runs are sorted. The order is as follows:

       (l1,b1,e1) <= (l2,b2,e2) := l1 < l2 or l1 = l2 and b1 <= b2



For runtime reasons, it is not checked whether the restriction ColumnEndColumnEndColumnEndColumnEndColumnEndcolumnEnd >= ColumnBeginColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin is fulfilled. Note that if this restriction is violated, subsequent operations will likely lead to errors or unexpected behavior.



RegionRegionRegionRegionRegionregion (output_object)  region objectHRegionHRegionHRegionHRegionXHobject *

Created region.

RowRowRowRowRowrow (input_control)  chord.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Lines of the runs.

Default value: 100

Suggested values: 0, 50, 100, 200, 300, 500

Typical range of values: Row Row Row Row Row row (lin)

Minimum increment: 1

Recommended increment: 10

ColumnBeginColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin (input_control)  chord.x1(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Columns of the starting points of the runs.

Number of elements: ColumnBegin == Row

Default value: 50

Suggested values: 0, 50, 100, 200, 300, 500

Typical range of values: ColumnBegin ColumnBegin ColumnBegin ColumnBegin ColumnBegin columnBegin (lin)

Minimum increment: 1

Recommended increment: 10

ColumnEndColumnEndColumnEndColumnEndColumnEndcolumnEnd (input_control)  chord.x2(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Columns of the ending points of the runs.

Number of elements: ColumnEnd == Row

Default value: 200

Suggested values: 50, 100, 200, 300, 500

Typical range of values: ColumnEnd ColumnEnd ColumnEnd ColumnEnd ColumnEnd columnEnd (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: ColumnEnd >= ColumnBegin


F shall be the number of pixels. If the pixels are sorted in ascending order the runtime complexity is: O(F), otherwise it is O(log(F)*F).


If the data is correct the operator gen_region_runsgen_region_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns returns the value 2 (H_MSG_TRUE), otherwise an exception is raised. The clipping according to the current image format is set via the operator set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">). If an empty region is created (by the clipping or by an empty input) the operator set_system('store_empty_region',<'true'/'false'>)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">) determines whether the region is returned or an empty object tuple.

Possible Predecessors



gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, gen_region_polygongen_region_polygonGenRegionPolygongen_region_polygonGenRegionPolygonGenRegionPolygon, gen_region_linegen_region_lineGenRegionLinegen_region_lineGenRegionLineGenRegionLine, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled

See also




ClassesClassesClassesClasses | | | | Operators