thinning_golaythinning_golayThinningGolayThinningGolay (Operator)


thinning_golaythinning_golayThinningGolayThinningGolay — Remove the result of a hit-or-miss operation from a region (using a Golay structuring element).


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


thinning_golay(Region : RegionThin : GolayElement, Rotation : )

Herror thinning_golay(const Hobject Region, Hobject* RegionThin, const char* GolayElement, const Hlong Rotation)

Herror T_thinning_golay(const Hobject Region, Hobject* RegionThin, const Htuple GolayElement, const Htuple Rotation)

void ThinningGolay(const HObject& Region, HObject* RegionThin, const HTuple& GolayElement, const HTuple& Rotation)

HRegion HRegion::ThinningGolay(const HString& GolayElement, Hlong Rotation) const

HRegion HRegion::ThinningGolay(const char* GolayElement, Hlong Rotation) const

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

static void HOperatorSet.ThinningGolay(HObject region, out HObject regionThin, HTuple golayElement, HTuple rotation)

HRegion HRegion.ThinningGolay(string golayElement, int rotation)


thinning_golaythinning_golayThinningGolayThinningGolayThinningGolay performs a thinning of the input regions using morphological operations and structuring elements from the Golay alphabet. The operator first applies a hit-or-miss-transformation to RegionRegionRegionRegionregion (cf. hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayHitOrMissGolay), and then removes the detected points from the input region. 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. The Golay elements, together with all possible rotations, are described with the operator golay_elementsgolay_elementsGolayElementsGolayElementsGolayElements.


Not all values of RotationRotationRotationRotationrotation are valid for any Golay element.

Execution Information


RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regions to be processed.

RegionThinRegionThinRegionThinRegionThinregionThin (output_object)  region(-array) objectHRegionHRegionHobject *

Result of the thinning operator.

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"

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:


thinning_golaythinning_golayThinningGolayThinningGolayThinningGolay 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 Successors

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection


thinning_seqthinning_seqThinningSeqThinningSeqThinningSeq, thinningthinningThinningThinningThinning

See also

erosion_golayerosion_golayErosionGolayErosionGolayErosionGolay, hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayHitOrMissGolay