gen_random_regiongen_random_regionGenRandomRegionGenRandomRegiongen_random_region (Operator)

Name

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_regionGenRandomRegionGenRandomRegionGenRandomRegiongen_random_region returns a random region. During this process every pixel in the image area [0...Width-1][0...Height-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 created by the C function “nrand48()”.

Attention

If WidthWidthWidthWidthwidthwidth and HeightHeightHeightHeightheightheight 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

Parameters

RegionRandomRegionRandomRegionRandomRegionRandomregionRandomregion_random (output_object)  region objectHRegionHObjectHRegionHobject *

Created random region with expansion WidthWidthWidthWidthwidthwidth x HeightHeightHeightHeightheightheight.

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

Maximum horizontal expansion of random region.

Default value: 128

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

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

Minimum increment: 1

Recommended increment: 10

Restriction: Width > 0

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

Maximum vertical expansion of random region.

Default value: 128

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

Typical range of values: 1 ≤ Height Height Height Height height height ≤ 512 (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_regionGenRandomRegionGenRandomRegionGenRandomRegiongen_random_region returns the value TRUE. Otherwise an exception is raised. The clipping according to the current image format is set via the operator set_system('clip_region',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)set_system("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)set_system("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">).

Possible Successors

paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain

See also

gen_checker_regiongen_checker_regionGenCheckerRegionGenCheckerRegionGenCheckerRegiongen_checker_region, add_noise_distributionadd_noise_distributionAddNoiseDistributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution, add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteAddNoiseWhiteadd_noise_white, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain

Module

Foundation