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

label_to_region(LabelImage : Regions : : )

Herror label_to_region(const Hobject LabelImage, Hobject* Regions)

Herror T_label_to_region(const Hobject LabelImage, Hobject* Regions)

void LabelToRegion(const HObject& LabelImage, HObject* Regions)

HRegion HImage::LabelToRegion() const

static void HOperatorSet.LabelToRegion(HObject labelImage, out HObject regions)

HRegion HImage.LabelToRegion()

def label_to_region(label_image: HObject) -> HObject

Description

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegionlabel_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 thresholdthresholdThresholdThresholdThresholdthreshold multiple times, and accumulating the results with concat_objconcat_objConcatObjConcatObjConcatObjconcat_obj. Another related operator is regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing. However, label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegionlabel_to_region does not perform a connectionconnectionConnectionConnectionConnectionconnection operation on the resulting regions, i.e., they may be disconnected. A typical application of label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegionlabel_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""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>)GetSystem("max_outp_obj_par",<number>)get_system("max_outp_obj_par",<number>).

Attention

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegionlabel_to_region is not implemented for images of type real. The input images must not contain negative gray values.

Execution Information

Parameters

LabelImageLabelImageLabelImageLabelImagelabelImagelabel_image (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / int2 / int4 / int8)

Label image.

RegionsRegionsRegionsRegionsregionsregions (output_object)  region-array objectHRegionHObjectHRegionHobject *

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_regionLabelToRegionLabelToRegionLabelToRegionlabel_to_region returns 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""no_object_result", 'empty_region_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""store_empty_region" with set_systemset_systemSetSystemSetSystemSetSystemset_system. If necessary, an exception is raised.

Possible Predecessors

min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss

Possible Successors

connectionconnectionConnectionConnectionConnectionconnection, dilation1dilation1Dilation1Dilation1Dilation1dilation1, erosion1erosion1Erosion1Erosion1Erosion1erosion1, openingopeningOpeningOpeningOpeningopening, closingclosingClosingClosingClosingclosing, rank_regionrank_regionRankRegionRankRegionRankRegionrank_region, shape_transshape_transShapeTransShapeTransShapeTransshape_trans, skeletonskeletonSkeletonSkeletonSkeletonskeleton

See also

thresholdthresholdThresholdThresholdThresholdthreshold, concat_objconcat_objConcatObjConcatObjConcatObjconcat_obj, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, region_to_labelregion_to_labelRegionToLabelRegionToLabelRegionToLabelregion_to_label

Module

Foundation