Operator Reference

region_to_labelregion_to_labelRegionToLabelRegionToLabelregion_to_label (Operator)

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_labelRegionToLabelRegionToLabelregion_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-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_regionExpandRegionExpandRegionexpand_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

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

RegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regions to be converted.

ImageLabelImageLabelImageLabelimageLabelimage_label (output_object)  image objectHImageHObjectHObjectHobject * (byte / int2 / int4)

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

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

Pixel type of the result image.

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

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

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

Width of the image to be generated.

Default: 512

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

Value range: 1 ≤ Width Width Width width width ≤ 1024 (lin)

Minimum increment: 1

Recommended increment: 16

Restriction: Width >= 1

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

Height of the image to be generated.

Default: 512

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

Value range: 1 ≤ Height Height Height height height ≤ 1024 (lin)

Minimum increment: 1

Recommended increment: 16

Restriction: Height >= 1

Complexity

O(2*HeightHeightHeightheightheight*WidthWidthWidthwidthwidth).

Result

region_to_labelregion_to_labelRegionToLabelRegionToLabelregion_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>)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>)set_system("empty_region_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection, expand_regionexpand_regionExpandRegionExpandRegionexpand_region

Possible Successors

get_grayvalget_grayvalGetGrayvalGetGrayvalget_grayval, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1

Alternatives

region_to_binregion_to_binRegionToBinRegionToBinregion_to_bin, paint_regionpaint_regionPaintRegionPaintRegionpaint_region

See also

label_to_regionlabel_to_regionLabelToRegionLabelToRegionlabel_to_region

Module

Foundation