region_to_labelregion_to_labelRegionToLabelRegionToLabelregion_to_label (Operator)

Name

region_to_labelregion_to_labelRegionToLabelRegionToLabelregion_to_label — Convert regions to a label image.

Signature

region_to_label(Region : ImageLabel : Type, Width, Height : )

Herror region_to_label(const Hobject Region, Hobject* ImageLabel, const char* Type, const Hlong Width, const Hlong Height)

Herror T_region_to_label(const Hobject Region, Hobject* ImageLabel, const Htuple Type, const Htuple Width, const Htuple Height)

void RegionToLabel(const HObject& Region, HObject* ImageLabel, const HTuple& Type, const HTuple& Width, const HTuple& Height)

HImage HRegion::RegionToLabel(const HString& Type, Hlong Width, Hlong Height) const

HImage HRegion::RegionToLabel(const char* Type, Hlong Width, Hlong Height) const

HImage HRegion::RegionToLabel(const wchar_t* Type, Hlong Width, Hlong Height) const   (Windows only)

static void HOperatorSet.RegionToLabel(HObject region, out HObject imageLabel, HTuple type, HTuple width, HTuple height)

HImage HRegion.RegionToLabel(string type, int width, int height)

def region_to_label(region: HObject, type: str, width: int, height: int) -> HObject

Description

region_to_labelregion_to_labelRegionToLabelRegionToLabelRegionToLabelregion_to_label converts the input regions into a label image according to their index (1..n), i.e., the first region is painted with the gray value 1, the second the gray value 2, etc. Only positive gray values are used. For 'byte'"byte""byte""byte""byte""byte"-images the index is entered modulo 256.

Regions larger than the generated image are clipped appropriately. If regions overlap the regions with the higher image are entered (i.e., they are painted in the order in which they are contained in the input regions). If so desired, the regions can be made non-overlapping by calling expand_regionexpand_regionExpandRegionExpandRegionExpandRegionexpand_region.

The background, i.e., the area not covered by any regions, is set to 0. This can be used to test in which image range no region is present.

Execution Information

Parameters

RegionRegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regions to be converted.

ImageLabelImageLabelImageLabelImageLabelimageLabelimage_label (output_object)  image objectHImageHObjectHImageHobject * (byte / int2 / int4)

Result image of dimension Width * Height containing the converted regions.

TypeTypeTypeTypetypetype (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Pixel type of the result image.

Default value: 'int2' "int2" "int2" "int2" "int2" "int2"

List of values: 'byte'"byte""byte""byte""byte""byte", 'int2'"int2""int2""int2""int2""int2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8"

WidthWidthWidthWidthwidthwidth (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the image to be generated.

Default value: 512

Suggested values: 64, 128, 256, 512, 1024

Typical range of values: 1 ≤ Width Width Width Width width width ≤ 1024 (lin)

Minimum increment: 1

Recommended increment: 16

Restriction: Width >= 1

HeightHeightHeightHeightheightheight (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the image to be generated.

Default value: 512

Suggested values: 64, 128, 256, 512, 1024

Typical range of values: 1 ≤ Height Height Height Height height height ≤ 1024 (lin)

Minimum increment: 1

Recommended increment: 16

Restriction: Height >= 1

Complexity

O(2*HeightHeightHeightHeightheightheight*WidthWidthWidthWidthwidthwidth).

Result

region_to_labelregion_to_labelRegionToLabelRegionToLabelRegionToLabelregion_to_label always returns 2 (H_MSG_TRUE). The behavior in case of empty input (no regions given) can be set via 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>)set_system("no_object_result",<Result>) and the behavior in case of an empty input region via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection, expand_regionexpand_regionExpandRegionExpandRegionExpandRegionexpand_region

Possible Successors

get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayvalget_grayval, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1get_image_pointer1

Alternatives

region_to_binregion_to_binRegionToBinRegionToBinRegionToBinregion_to_bin, paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region

See also

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegionlabel_to_region

Module

Foundation