gen_region_runs
— Create a region from a runlength coding.
gen_region_runs( : Region : Row, ColumnBegin, ColumnEnd : )
The operator gen_region_runs
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:
.
For runtime reasons, it is not checked whether the restriction
ColumnEnd
>= ColumnBegin
is fulfilled. Note that
if this restriction is violated, subsequent operations will likely
lead to errors or unexpected behavior.
Region
(output_object) region →
object
Created region.
Row
(input_control) chord.y(-array) →
(integer)
Lines of the runs.
Default value: 100
Suggested values: 0, 50, 100, 200, 300, 500
Typical range of values:
Row
(lin)
Minimum increment: 1
Recommended increment: 10
ColumnBegin
(input_control) chord.x1(-array) →
(integer)
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
(lin)
Minimum increment: 1
Recommended increment: 10
ColumnEnd
(input_control) chord.x2(-array) →
(integer)
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
(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_runs
returns the value
TRUE, otherwise an exception is raised.
The clipping according to the current image format is set via the
operator set_system('clip_region',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)
.
If an empty region is created (by the clipping or by an empty input)
the operator
set_system('store_empty_region',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)
determines
whether the region is returned or an empty object tuple.
gen_region_points
,
gen_region_polygon
,
gen_region_line
,
gen_region_polygon_filled
Foundation