Skip to content

thickening_seqThickeningSeqThickeningSeqthickening_seqthickening_seq🔗

Short description🔗

thickening_seqThickeningSeqThickeningSeqthickening_seqthickening_seq — Add the result of a hit-or-miss operation to a region (sequential).

Warning🔗

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

Signature🔗

thickening_seq( region Region, out region RegionThick, string GolayElement, integer Iterations )void ThickeningSeq( const HObject& Region, HObject* RegionThick, const HTuple& GolayElement, const HTuple& Iterations )static void HOperatorSet.ThickeningSeq( HObject region, out HObject regionThick, HTuple golayElement, HTuple iterations )def thickening_seq( region: HObject, golay_element: str, iterations: int ) -> HObject

Herror thickening_seq( const Hobject Region, Hobject* RegionThick, const char* GolayElement, const Hlong Iterations )

Herror T_thickening_seq( const Hobject Region, Hobject* RegionThick, const Htuple GolayElement, const Htuple Iterations )

HRegion HRegion::ThickeningSeq( const HString& GolayElement, Hlong Iterations ) const

HRegion HRegion::ThickeningSeq( const char* GolayElement, Hlong Iterations ) const

HRegion HRegion::ThickeningSeq( const wchar_t* GolayElement, Hlong Iterations ) const (Windows only)

HRegion HRegion.ThickeningSeq( string golayElement, int iterations )

Description🔗

thickening_seqThickeningSeq calculates the sequential thickening of the input regions with a structuring element from the Golay alphabet (GolayElementgolayElementgolay_element). To do so, thickening_seqThickeningSeq calls the operator thickening_golayThickeningGolay with all possible rotations of the structuring element Iterationsiterationsiterations times. The following structuring elements are available:

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

The Golay elements, together with all possible rotations, are described with the operator golay_elementsGolayElements. For all elements of the Golay alphabet, except for ‘c’, the foreground and background masks are exchanged in order to have an effect for them on the outer boundary of the region. The element ‘c’ can be used to generate the convex hull of the input region if enough iterations are performed.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on tuple level.

Parameters🔗

Regionregionregion (input_object) region(-array) → objectHObjectHRegionHObjectHobject

Regions to be processed.

RegionThickregionThickregion_thick (output_object) region(-array) → objectHObjectHRegionHObjectHobject *

Result of the thickening operator.

GolayElementgolayElementgolay_element (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)

Structuring element from the Golay alphabet.

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

Iterationsiterationsiterations (input_control) integer → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Number of iterations.

Default: 11
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50, 70, 100, 2001, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50, 70, 100, 200
Value range: 1 ≤ Iterations (lin)
Minimum increment: 1
Recommended increment: 1

Complexity🔗

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

\[\begin{eqnarray*} O(Iterations \cdot 6 \cdot \sqrt{F}) \enspace . \end{eqnarray*}\]

Result🔗

thickening_seqThickeningSeq returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior in case of empty or no input region can be set via:

  • no region: set_system('no_object_result',<RegionResult>)

  • empty region: set_system('empty_region_result',<RegionResult>)

Otherwise, an exception is raised.

Combinations with other operators🔗

Combinations

Possible successors

reduce_domainReduceDomain, select_shapeSelectShape, area_centerAreaCenter, connectionConnection

Alternatives

thickening_golayThickeningGolay, thickeningThickening

See also

erosion_golayErosionGolay, thinning_seqThinningSeq

Module🔗

Foundation