erosion_golayerosion_golayErosionGolayErosionGolay (Operator)


erosion_golayerosion_golayErosionGolayErosionGolay — Erode a region with an element from the Golay alphabet.


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


erosion_golay(Region : RegionErosion : GolayElement, Iterations, Rotation : )

Herror erosion_golay(const Hobject Region, Hobject* RegionErosion, const char* GolayElement, const Hlong Iterations, const Hlong Rotation)

Herror T_erosion_golay(const Hobject Region, Hobject* RegionErosion, const Htuple GolayElement, const Htuple Iterations, const Htuple Rotation)

void ErosionGolay(const HObject& Region, HObject* RegionErosion, const HTuple& GolayElement, const HTuple& Iterations, const HTuple& Rotation)

HRegion HRegion::ErosionGolay(const HString& GolayElement, Hlong Iterations, Hlong Rotation) const

HRegion HRegion::ErosionGolay(const char* GolayElement, Hlong Iterations, Hlong Rotation) const

HRegion HRegion::ErosionGolay(const wchar_t* GolayElement, Hlong Iterations, Hlong Rotation) const   (Windows only)

static void HOperatorSet.ErosionGolay(HObject region, out HObject regionErosion, HTuple golayElement, HTuple iterations, HTuple rotation)

HRegion HRegion.ErosionGolay(string golayElement, int iterations, int rotation)


erosion_golayerosion_golayErosionGolayErosionGolayErosionGolay erodes a region with the selected element GolayElementGolayElementGolayElementGolayElementgolayElement from the Golay alphabet. The following structuring elements are available:

'l', 'm', 'd', 'c', 'e', 'i', 'f', 'f2', 'h', 'k'.

The rotation number RotationRotationRotationRotationrotation determines which rotation of the element should be used, and whether the foreground (even) or background version (odd) of the selected element should be used. The Golay elements, together with all possible rotations, are described with the operator golay_elementsgolay_elementsGolayElementsGolayElementsGolayElements. The operator works by shifting the structuring element over the region to be processed (RegionRegionRegionRegionregion). For all positions of the structuring element fully contained in the region, the corresponding reference point (relative to the structuring element) is added to the output region. This means that the intersection of all translations of the structuring element within the region is computed.

The parameter IterationsIterationsIterationsIterationsiterations determines the number of iterations which are to be performed with the structuring element. The result of iteration n-1 is used as input for iteration n.


Not all values of RotationRotationRotationRotationrotation are valid for any Golay element. For some of the values of RotationRotationRotationRotationrotation, the resulting regions are identical to the input regions.

Execution Information


RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regions to be eroded.

RegionErosionRegionErosionRegionErosionRegionErosionregionErosion (output_object)  region(-array) objectHRegionHRegionHobject *

Eroded regions.

GolayElementGolayElementGolayElementGolayElementgolayElement (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Structuring element from the Golay alphabet.

Default value: 'h' "h" "h" "h" "h"

List of values: 'c'"c""c""c""c", 'd'"d""d""d""d", 'e'"e""e""e""e", 'f'"f""f""f""f", 'f2'"f2""f2""f2""f2", 'h'"h""h""h""h", 'i'"i""i""i""i", 'k'"k""k""k""k", 'l'"l""l""l""l", 'm'"m""m""m""m"

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

Number of iterations.

Default value: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50

Typical range of values: 1 ≤ Iterations Iterations Iterations Iterations iterations (lin)

Minimum increment: 1

Recommended increment: 1

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

Rotation of the Golay element. Depending on the element, not all rotations are valid.

Default value: 0

List of values: 0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 15


Let F be the area of an input region. Then the runtime complexity for one region is:


erosion_golayerosion_golayErosionGolayErosionGolayErosionGolay returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior in case of empty or no input region can be set via:

Otherwise, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, watershedswatershedsWatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm

Possible Successors

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection


erosion_seqerosion_seqErosionSeqErosionSeqErosionSeq, erosion1erosion1Erosion1Erosion1Erosion1, erosion2erosion2Erosion2Erosion2Erosion2

See also

dilation_golaydilation_golayDilationGolayDilationGolayDilationGolay, opening_golayopening_golayOpeningGolayOpeningGolayOpeningGolay, closing_golayclosing_golayClosingGolayClosingGolayClosingGolay, hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayHitOrMissGolay, thinning_golaythinning_golayThinningGolayThinningGolayThinningGolay, thickening_golaythickening_golayThickeningGolayThickeningGolayThickeningGolay, golay_elementsgolay_elementsGolayElementsGolayElementsGolayElements