Operator Reference

golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements (Operator)

golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements — Generate the structuring elements of the Golay alphabet.

Warning

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

Signature

Herror golay_elements(Hobject* StructElement1, Hobject* StructElement2, const char* GolayElement, const Hlong Rotation, const Hlong Row, const Hlong Column)

Herror T_golay_elements(Hobject* StructElement1, Hobject* StructElement2, const Htuple GolayElement, const Htuple Rotation, const Htuple Row, const Htuple Column)

void GolayElements(HObject* StructElement1, HObject* StructElement2, const HTuple& GolayElement, const HTuple& Rotation, const HTuple& Row, const HTuple& Column)

HRegion HRegion::GolayElements(const HString& GolayElement, Hlong Rotation, Hlong Row, Hlong Column)

HRegion HRegion::GolayElements(const char* GolayElement, Hlong Rotation, Hlong Row, Hlong Column)

HRegion HRegion::GolayElements(const wchar_t* GolayElement, Hlong Rotation, Hlong Row, Hlong Column)   ( Windows only)

static void HOperatorSet.GolayElements(out HObject structElement1, out HObject structElement2, HTuple golayElement, HTuple rotation, HTuple row, HTuple column)

HRegion HRegion.GolayElements(string golayElement, int rotation, int row, int column)

def golay_elements(golay_element: str, rotation: int, row: int, column: int) -> Tuple[HObject, HObject]

Description

golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements generates the structuring elements from the Golay alphabet. The parameter GolayElementGolayElementGolayElementgolayElementgolay_element determines the name of the structuring element, while RotationRotationRotationrotationrotation determines its rotation. The structuring elements are intended for use in hit_or_misshit_or_missHitOrMissHitOrMisshit_or_miss: In StructElement1StructElement1StructElement1structElement1struct_element_1 the structuring element for the foreground is returned, while in StructElement2StructElement2StructElement2structElement2struct_element_2 the structuring element for the background is returned. RowRowRowrowrow and ColumnColumnColumncolumncolumn determine the reference point of the structuring element.

The rotations are numbered from 0 to 15. This does not mean, however, that there are 16 different rotations: Even values denote rotations of the foreground elements, while odd values denote rotations of the background elements.

For golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements only even values are accepted, and determine the Golay element for StructElement1StructElement1StructElement1structElement1struct_element_1. The next larger odd value is used for StructElement2StructElement2StructElement2structElement2struct_element_2. There are no rotations for the Golay elements 'h' and 'i'. Therefore, only the values 0 and 1 are possible as “rotations” (and hence only 0 for golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements). The element 'e' has only four possible rotations, and hence the rotation must be between 0 and 7 (for golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements the values 0, 2, 4, or 6 must be used).

The tables below show the elements of the Golay alphabet with all possible rotations. The characters used have the following meaning: * Foreground pixel o Background pixel . Don't care pixel The names of the elements and their rotation numbers are displayed below the respective element. The elements with even number contain the foreground pixels, while the elements with odd numbers contain the background pixels. * * * * * * * * * h(0,1) o o o o o o o o o i(0,1) . . . o o . o o o . o o o * o o * . o * o . * o o o o o o . . . . . o o e(0,1) e(2,3) e(4,5) e(6,7) o * * o o o o . . o * . o * . . * * * . . * o . * o . . . * . * . * . o * * o * . * . o . * . o . * . * o * * o . * * * * * * . . * . o . . o o o o o . . o . * . . * * o o * l(0,1) l(2,3) l(4,5) l(6,7) l(8,9) l(10,11) l(12,13) l(14,15) * * . . * . . * . . * * * . . * . . * o . . . o . . . o * * o * . * . . . * . . . * . * o * * . . * . * . * . * . * . . * . . . . o . o . o . . . . * . . * * * * * . . . . * * m(0,1) m(2,3) m(4,5) m(6,7) m(8,9) m(10,11) m(12,13) m(14,15) o o . . o . . o . . o o o . . o . . o * . . . * . . . * o * * o . * . . . * . . . * . o * * o . . * . o . * . o . * . . o . . . . * . * . * . . . . o . . o o o o o . . . . o o d(0,1) d(2,3) d(4,5) d(6,7) d(8,9) d(10,11) d(12,13) d(14,15) * * o o * o o o * o * o * o * o o o * * . o o * o o . * o * * * * * . o o * o o . * * * * * o o . * * * o * o * * * . o * o o o . * o * o * . o o o * o * o * o * o * o o o * * f(0,1) f(2,3) f(4,5) f(6,7) f(8,9) f(10,11) f(12,13) f(14,15) * o o * * * * o . * o o * o . o o o o o . o * o o * . o o * o o . * . * o * * o . * . * o * o * . * . o * * o * . * . o o o o o . o o o * o . * * * * * . o * o o o . o o * * o f2(0,1) f2(2,3) f2(4,5) f2(6,7) f2(8,9) f2(10,11)f2(12,13) f2(14,15) * . . o * * o . . * . . * . . . . . . . . . o . . * . . . * . . . * . o . * * . . * . * . * . o . * . . * * . * . * . . . . . . . . . . o . . * o * * * . . * . . . . . . o * . k(0,1) k(2,3) k(4,5) k(6,7) k(8,9) k(10,11) k(12,13) k(14,15) * . . * * * * * . . * . . . . . * o . * . . . o . . . * . o * . . . . o . . . . * . . * . o . . . . . . . o . * . . * . . o * * * * * o . . . . . . . . . . * * . . . . * * c(0,1) c(2,3) c(4,5) c(6,7) c(8,9) c(10,11) c(12,13) c(14,15)

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

StructElement1StructElement1StructElement1structElement1struct_element_1 (output_object)  region objectHRegionHObjectHObjectHobject *

Structuring element for the foreground.

StructElement2StructElement2StructElement2structElement2struct_element_2 (output_object)  region objectHRegionHObjectHObjectHobject *

Structuring element for the background.

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

Name of the structuring element.

Default: 'l' "l" "l" "l" "l"

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

RowRowRowrowrow (input_control)  point.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row coordinate of the reference point.

Default: 16

Suggested values: 0, 16, 32, 128, 256

Value range: 0 ≤ Row Row Row row row ≤ 511 (lin)

Minimum increment: 1

Recommended increment: 1

ColumnColumnColumncolumncolumn (input_control)  point.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column coordinate of the reference point.

Default: 16

Suggested values: 0, 16, 32, 128, 256

Value range: 0 ≤ Column Column Column column column ≤ 511 (lin)

Minimum increment: 1

Recommended increment: 1

Result

golay_elementsgolay_elementsGolayElementsGolayElementsgolay_elements returns 2 ( H_MSG_TRUE) if all parameters are correct. Otherwise, an exception is raised.

Possible Successors

hit_or_misshit_or_missHitOrMissHitOrMisshit_or_miss

Alternatives

gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsgen_region_points, gen_struct_elementsgen_struct_elementsGenStructElementsGenStructElementsgen_struct_elements, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled

See also

dilation_golaydilation_golayDilationGolayDilationGolaydilation_golay, erosion_golayerosion_golayErosionGolayErosionGolayerosion_golay, opening_golayopening_golayOpeningGolayOpeningGolayopening_golay, closing_golayclosing_golayClosingGolayClosingGolayclosing_golay, hit_or_miss_golayhit_or_miss_golayHitOrMissGolayHitOrMissGolayhit_or_miss_golay, thickening_golaythickening_golayThickeningGolayThickeningGolaythickening_golay

References

J. Serra: “Image Analysis and Mathematical Morphology”. Volume I. Academic Press, 1982

Module

Foundation