Operator Reference

erosion_golayerosion_golayErosionGolayErosionGolayerosion_golay (Operator)

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

Warning

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

Signature

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)

def erosion_golay(region: HObject, golay_element: str, iterations: int, rotation: int) -> HObject

Description

erosion_golayerosion_golayErosionGolayErosionGolayerosion_golay erodes a region with the selected element GolayElementGolayElementGolayElementgolayElementgolay_element 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_elementsGolayElementsGolayElementsgolay_elements. 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.

Attention

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

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.

Parameters

RegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regions to be eroded.

RegionErosionRegionErosionRegionErosionregionErosionregion_erosion (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Eroded regions.

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

Structuring element from the Golay alphabet.

Default: '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 HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of iterations.

Default: 1

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

Value range: 1 ≤ Iterations Iterations Iterations iterations iterations (lin)

Minimum increment: 1

Recommended increment: 1

RotationRotationRotationrotationrotation (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

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

Default: 0

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

Complexity

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

Result

erosion_golayerosion_golayErosionGolayErosionGolayerosion_golay 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_normClassNdimNormClassNdimNormclass_ndim_norm

Possible Successors

reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterarea_center, connectionconnectionConnectionConnectionconnection

Alternatives

erosion_seqerosion_seqErosionSeqErosionSeqerosion_seq, erosion1erosion1Erosion1Erosion1erosion1, erosion2erosion2Erosion2Erosion2erosion2

See also

dilation_golaydilation_golayDilationGolayDilationGolaydilation_golay, opening_golayopening_golayOpeningGolayOpeningGolayopening_golay, closing_golayclosing_golayClosingGolayClosingGolayclosing_golay, hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayhit_or_miss_golay, thinning_golaythinning_golayThinningGolayThinningGolaythinning_golay, thickening_golaythickening_golayThickeningGolayThickeningGolaythickening_golay, golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements

Module

Foundation