hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegion (Operator)


hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegion — Generate a region having a given Hamming distance.


hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegionHammingChangeRegion is obsolete and is only provided for reasons of backward compatibility.


hamming_change_region(InputRegion : OutputRegion : Width, Height, Distance : )

Herror hamming_change_region(const Hobject InputRegion, Hobject* OutputRegion, const Hlong Width, const Hlong Height, const Hlong Distance)

Herror T_hamming_change_region(const Hobject InputRegion, Hobject* OutputRegion, const Htuple Width, const Htuple Height, const Htuple Distance)

void HammingChangeRegion(const HObject& InputRegion, HObject* OutputRegion, const HTuple& Width, const HTuple& Height, const HTuple& Distance)

HRegion HRegion::HammingChangeRegion(Hlong Width, Hlong Height, Hlong Distance) const

static void HOperatorSet.HammingChangeRegion(HObject inputRegion, out HObject outputRegion, HTuple width, HTuple height, HTuple distance)

HRegion HRegion.HammingChangeRegion(int width, int height, int distance)


hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegionHammingChangeRegion changes the region in the left upper part of the image given by WidthWidthWidthWidthwidth and HeightHeightHeightHeightheight such that the resulting regions have a Hamming distance of DistanceDistanceDistanceDistancedistance to the input regions. This is done by adding or removing DistanceDistanceDistanceDistancedistance points from the input region.


If WidthWidthWidthWidthwidth and HeightHeightHeightHeightheight are chosen too large the resulting region requires a lot of memory.

Execution Information


InputRegionInputRegionInputRegionInputRegioninputRegion (input_object)  region(-array) objectHRegionHRegionHobject

Region to be modified.

OutputRegionOutputRegionOutputRegionOutputRegionoutputRegion (output_object)  region(-array) objectHRegionHRegionHobject *

Regions having the required Hamming distance.

WidthWidthWidthWidthwidth (input_control)  extent.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the region to be changed.

Default value: 100

Suggested values: 64, 128, 256, 512

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

Minimum increment: 1

Recommended increment: 10

Restriction: Width > 0

HeightHeightHeightHeightheight (input_control)  extent.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the region to be changed.

Default value: 100

Suggested values: 64, 128, 256, 512

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

Minimum increment: 1

Recommended increment: 10

Restriction: Height > 0

DistanceDistanceDistanceDistancedistance (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Hamming distance between the old and new regions.

Default value: 1000

Suggested values: 100, 500, 1000, 5000, 10000

Typical range of values: 0 ≤ Distance Distance Distance Distance distance ≤ 10000 (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: Distance >= 0 && Distance < Width * Height


Memory requirement of the generated region (worst case): O(2 * WidthWidthWidthWidthwidth * HeightHeightHeightHeightheight).


hamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegionHammingChangeRegion returns 2 (H_MSG_TRUE) if all parameters are correct. 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>). If necessary, an exception is raised.

Possible Predecessors

connectionconnectionConnectionConnectionConnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, pouringpouringPouringPouringPouring, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm

Possible Successors


See also