label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region (Operator)
Name
label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
— Extract regions with equal gray values from an image.
Signature
Description
label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
segments an image into regions of equal
gray value. One output region is generated for each gray value
occurring in the image. This is similar to calling
thresholdthresholdThresholdThresholdthreshold
multiple times, and accumulating the results
with concat_objconcat_objConcatObjConcatObjconcat_obj
. Another related operator is
regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing
. However, label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
does not perform a connectionconnectionConnectionConnectionconnection
operation on the resulting
regions, i.e., they may be disconnected. A typical application of
label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
is the segmentation of label images,
hence its name.
The number of output regions is limited by the system parameter
'max_outp_obj_par'"max_outp_obj_par""max_outp_obj_par""max_outp_obj_par""max_outp_obj_par", which can be read via
get_system(::'max_outp_obj_par':<number>)get_system("max_outp_obj_par",<number>)GetSystem("max_outp_obj_par",<number>)GetSystem("max_outp_obj_par",<number>)get_system("max_outp_obj_par",<number>)
.
Attention
label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
is not implemented for images of type
real
. The input images must not contain negative gray values.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Parameters
LabelImageLabelImageLabelImagelabelImagelabel_image
(input_object) singlechannelimage(-array) →
objectHImageHObjectHObjectHobject (byte / int2 / int4 / int8)
Label image.
RegionsRegionsRegionsregionsregions
(output_object) region-array →
objectHRegionHObjectHObjectHobject *
Regions having a constant gray value.
Complexity
Let x1 be the minimum x-coordinate, x2 the maximum x-coordinate,
y1 be the minimum y-coordinate, and y2 the maximum y-coordinate
of a particular gray value. Furthermore, let N be the number of
different gray values in the image. Then the runtime complexity is
O(N * (x2 - x1 + 1) * (y2 - y1 + 1))
Result
label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region
returns 2 (
H_MSG_TRUE)
if the gray values lie
within a correct range. The behavior with respect to the input
images and output regions can be determined by setting the values of
the flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result",
'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result", and 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region"
with set_systemset_systemSetSystemSetSystemset_system
. If necessary, an exception is raised.
Possible Predecessors
min_max_graymin_max_grayMinMaxGrayMinMaxGraymin_max_gray
,
sobel_ampsobel_ampSobelAmpSobelAmpsobel_amp
,
binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter
,
gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter
,
reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain
,
diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss
Possible Successors
connectionconnectionConnectionConnectionconnection
,
dilation1dilation1Dilation1Dilation1dilation1
,
erosion1erosion1Erosion1Erosion1erosion1
,
openingopeningOpeningOpeningopening
,
closingclosingClosingClosingclosing
,
rank_regionrank_regionRankRegionRankRegionrank_region
,
shape_transshape_transShapeTransShapeTransshape_trans
,
skeletonskeletonSkeletonSkeletonskeleton
See also
thresholdthresholdThresholdThresholdthreshold
,
concat_objconcat_objConcatObjConcatObjconcat_obj
,
regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing
,
region_to_labelregion_to_labelRegionToLabelRegionToLabelregion_to_label
Module
Foundation