Operator Reference

gen_random_regiongen_random_regionGenRandomRegionGenRandomRegiongen_random_region (Operator)

gen_random_regiongen_random_regionGenRandomRegionGenRandomRegiongen_random_region — Create a random region.

Signature

gen_random_region( : RegionRandom : Width, Height : )

Herror gen_random_region(Hobject* RegionRandom, const Hlong Width, const Hlong Height)

Herror T_gen_random_region(Hobject* RegionRandom, const Htuple Width, const Htuple Height)

void GenRandomRegion(HObject* RegionRandom, const HTuple& Width, const HTuple& Height)

void HRegion::GenRandomRegion(Hlong Width, Hlong Height)

static void HOperatorSet.GenRandomRegion(out HObject regionRandom, HTuple width, HTuple height)

void HRegion.GenRandomRegion(int width, int height)

def gen_random_region(width: int, height: int) -> HObject

Description

The operator gen_random_regiongen_random_regionGenRandomRegionGenRandomRegiongen_random_region returns a random region. During this process every pixel in the image area [0...WidthWidthWidthwidthwidth-1] [0...HeightHeightHeightheightheight-1] is adapted into the region with the probability 0.5. The created region can be imagined as the threshold formation in an image with noise.

This procedure is particularly important for the creation of uncorrelated binary patterns.

The random pattern is generated using the C function “nrand48()”. See the parameter 'seed_rand'"seed_rand""seed_rand""seed_rand""seed_rand" of set_systemset_systemSetSystemSetSystemset_system for information on the used random seed.

Attention

If WidthWidthWidthwidthwidth and HeightHeightHeightheightheight are chosen large (> 100) the created region may require much storage space due to the internally used runlength coding. The gray values of the output region are undefined.

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

RegionRandomRegionRandomRegionRandomregionRandomregion_random (output_object)  region objectHRegionHObjectHObjectHobject *

Created random region with expansion WidthWidthWidthwidthwidth x HeightHeightHeightheightheight.

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

Maximum horizontal expansion of random region.

Default: 128

Suggested values: 16, 32, 50, 64, 100, 128, 256, 300, 400, 512

Value range: Width Width Width width width (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: Width > 0

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

Maximum vertical expansion of random region.

Default: 128

Suggested values: 16, 32, 50, 64, 100, 128, 256, 300, 400, 512

Value range: Height Height Height height height (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: Height > 0

Complexity

The worst case for the storage complexity for the created region (in byte) is: O(Width * Height * 2).

Result

If the parameter values are correct, the operator gen_random_regiongen_random_regionGenRandomRegionGenRandomRegiongen_random_region returns the value 2 ( H_MSG_TRUE) . Otherwise an exception is raised. The clipping according to the current image format is set via the operator set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">).

Possible Successors

paint_regionpaint_regionPaintRegionPaintRegionpaint_region, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

See also

gen_checker_regiongen_checker_regionGenCheckerRegionGenCheckerRegiongen_checker_region, add_noise_distributionadd_noise_distributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution, add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteadd_noise_white, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Module

Foundation