closing_golayclosing_golayClosingGolayClosingGolayclosing_golay (Operator)

Name

closing_golayclosing_golayClosingGolayClosingGolayclosing_golay — Close a region with an element from the Golay alphabet.

Warning

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

Signature

closing_golay(Region : RegionClosing : GolayElement, Rotation : )

Herror closing_golay(const Hobject Region, Hobject* RegionClosing, const char* GolayElement, const Hlong Rotation)

Herror T_closing_golay(const Hobject Region, Hobject* RegionClosing, const Htuple GolayElement, const Htuple Rotation)

void ClosingGolay(const HObject& Region, HObject* RegionClosing, const HTuple& GolayElement, const HTuple& Rotation)

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

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

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

static void HOperatorSet.ClosingGolay(HObject region, out HObject regionClosing, HTuple golayElement, HTuple rotation)

HRegion HRegion.ClosingGolay(string golayElement, int rotation)

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

Description

closing_golayclosing_golayClosingGolayClosingGolayClosingGolayclosing_golay is defined as a Minkowski addition followed by a Minkowski subtraction. First the Minkowski addition of the input region (RegionRegionRegionRegionregionregion) with the structuring element from the Golay alphabet defined by GolayElementGolayElementGolayElementGolayElementgolayElementgolay_element and RotationRotationRotationRotationrotationrotation is computed. Then the Minkowski subtraction of the result and the structuring element rotated by 180 degrees is performed.

The following structuring elements are available:

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

The rotation number RotationRotationRotationRotationrotationrotation 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_elementsGolayElementsGolayElementsGolayElementsgolay_elements.

closing_golayclosing_golayClosingGolayClosingGolayClosingGolayclosing_golay serves to close holes smaller than the structuring element, and to smooth regions' boundaries.

Attention

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

Execution Information

Parameters

RegionRegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regions to be closed.

RegionClosingRegionClosingRegionClosingRegionClosingregionClosingregion_closing (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Closed regions.

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

Structuring element from the Golay alphabet.

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

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

RotationRotationRotationRotationrotationrotation (input_control)  integer HTupleintHTupleHtuple (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

Complexity

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

Result

closing_golayclosing_golayClosingGolayClosingGolayClosingGolayclosing_golay returns 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

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection, union1union1Union1Union1Union1union1, watershedswatershedsWatershedsWatershedsWatershedswatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm

Possible Successors

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, connectionconnectionConnectionConnectionConnectionconnection

Alternatives

closingclosingClosingClosingClosingclosing

See also

erosion_golayerosion_golayErosionGolayErosionGolayErosionGolayerosion_golay, dilation_golaydilation_golayDilationGolayDilationGolayDilationGolaydilation_golay, opening_golayopening_golayOpeningGolayOpeningGolayOpeningGolayopening_golay, hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayHitOrMissGolayhit_or_miss_golay, thinning_golaythinning_golayThinningGolayThinningGolayThinningGolaythinning_golay, thickening_golaythickening_golayThickeningGolayThickeningGolayThickeningGolaythickening_golay, golay_elementsgolay_elementsGolayElementsGolayElementsGolayElementsgolay_elements

Module

Foundation