Herror ::dilation_seq (
    Hobject Region,
    Hobject *RegionDilation,
    const HTuple &GolayElement,
    const HTuple &Iterations
)
HRegion HRegion::DilationSeq (
    const HTuple &GolayElement,
    const HTuple &Iterations
) const
HRegionArray HRegionArray::DilationSeq (
    const HTuple &GolayElement,
    const HTuple &Iterations
) const

Dilate a region sequentially.

::dilation_seq computes the sequential dilation of the input region Region with the selected structuring element GolayElement from the Golay alphabet. This is done by executing the operator ::dilation_golay with all rotations of the structuring element Iterations times. The following structuring elements can be selected:

'l', 'd', 'c', 'f', 'h', 'k'.

In order to compute the skeleton of a region, usually the elements 'l' and 'm' are used. Only the ``foreground elements'' (even rotation numbers) are used. The elements 'i' and 'e' result in unchanged output regions. The elements 'l', 'm' and 'f2' are identical for the foreground. The Golay elements, together with all possible rotations, are described with the operator ::golay_elements.


Parameters

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

RegionDilation (output_object)
region(-array) -> Hobject * : HRegion(Array)
Dilated regions.

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

Iterations (input_control)
integer -> HTuple.long
Number of iterations.
Default value: 1
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50
Typical range of values: 1 <= Iterations
Minimum increment: 1
Recommended increment: 1


Complexity

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

       O(Iterations * 20 * sqrt(F)) .


Result

::dilation_seq 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 Predecessors

::threshold, ::regiongrowing, ::connection, ::union1, ::watersheds, ::class_ndim_norm


Possible Successors

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


Alternatives

::dilation1, ::dilation2, ::dilation_golay


See also

::erosion_seq, ::hit_or_miss_seq, ::thinning_seq


Module

Morphology



Copyright © 1996-2002 MVTec Software GmbH