Herror ::thickening_golay (
    Hobject Region,
    Hobject *RegionThick,
    const HTuple &GolayElement,
    const HTuple &Rotation
)
HRegion HRegion::ThickeningGolay (
    const HTuple &GolayElement,
    const HTuple &Rotation
) const
HRegionArray HRegionArray::ThickeningGolay (
    const HTuple &GolayElement,
    const HTuple &Rotation
) const

Add the result of a hit-or-miss operation to a region (using a Golay structuring element).

::thickening_golay performs a thickening of the input regions using morphological operations and structuring elements from the Golay alphabet. The operator first applies a hit-or-miss-transformation to Region (cf.::hit_or_miss_golay), and then adds the detected points to the input region. 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. The Golay elements, together with all possible rotations, are described with the operator ::golay_elements.


Attention

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


Parameters

Region (input_object)
region(-array) -> Hobject: HRegion(Array)
Regions to be processed.

RegionThick (output_object)
region(-array) -> Hobject * : HRegion(Array)
Result of the thickening operator.

GolayElement (input_control)
string -> HTuple.char *
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 -> HTuple.long
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:

       O(6 * sqrt(F)) .


Result

::thickening_golay returns H_MSG_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 Successors

::reduce_domain, ::select_shape, ::area_center, ::connection


Alternatives

::thickening, ::thickening_seq


See also

::erosion_golay, ::hit_or_miss_golay


Module

Morphology



Copyright © 1996-2002 MVTec Software GmbH