closing_golay ( Region : RegionClosing : GolayElement, Rotation : )

Close a region with an element from the Golay alphabet.

closing_golay is defined as a Minkowski addition followed by a Minkowski subtraction. First the Minkowski addition of the input region (Region) with the structuring element from the Golay alphabet defined by GolayElement and Rotation 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 Rotation 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_elements.

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


Attention

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


Parameters

Region (input_object)
region(-array) -> object
Regions to be closed.

RegionClosing (output_object)
region(-array) -> object
Closed regions.

GolayElement (input_control)
string -> string
Structuring element from the Golay alphabet.
Default value: 'h'
List of values: 'l', 'm', 'd', 'c', 'e', 'i', 'f', 'f2', 'h', 'k'

Rotation (input_control)
integer -> integer
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 for one region is:

       O(6 * sqrt(F)) .


Result

closing_golay returns TRUE if all parameters are correct. The behavior in case of empty or no input region can be set via:

  a) no region:    set_system(::'no_object_result',<RegionResult>:)
  b) empty region: set_system(::'empty_region_result',<RegionResult>:)
Otherwise, an exception is raised.


Possible Predecessors

threshold__, regiongrowing__, connection, union1, watersheds, class_ndim1__


Possible Successors

reduce_domain, select_shape, area_center, connection


Alternatives

closing


See also

erosion_golay, dilation_golay, opening_golay, hit_or_miss_golay, thinning_golay, thickening_golay, golay_elements



Copyright © 1996-1997 MVTec Software GmbH