Name
thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq — Remove the result of a hit-or-miss operation from a region (sequential).
thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq calculates the sequential thinning of
the input regions with a structuring element from the Golay alphabet
(GolayElementGolayElementGolayElementGolayElementGolayElementgolayElement). To do so, thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq
calls the operator thinning_golaythinning_golayThinningGolaythinning_golayThinningGolayThinningGolay with all possible
rotations of the structuring element IterationsIterationsIterationsIterationsIterationsiterations times.
If IterationsIterationsIterationsIterationsIterationsiterations is chosen large enough, the operator
calculates the skeleton of a region if the structuring elements 'l'
or 'm' are used. For the element 'c' the background and foreground
are exchanged in order to have an effect on the interior boundary of
a region. If a very large value or 'maximal' is passed for
IterationsIterationsIterationsIterationsIterationsiterations the iteration stops if no more changes occur.
The following structuring elements are available:
- 'l'
Skeleton, similar to skeletonskeletonSkeletonskeletonSkeletonSkeleton. This structuring
element is also used in morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz.
- 'm'
A skeleton with many “hairs” and multiple (parallel)
branches.
- 'd'
A skeleton without multiple branches, but with many gaps,
similar to morph_skeletonmorph_skeletonMorphSkeletonmorph_skeletonMorphSkeletonMorphSkeleton.
- 'c'
Uniform erosion of the region.
- 'e'
One pixel wide lines are shortened. This structuring element
is also used in morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz.
- 'i'
Isolated points are removed. (Only IterationsIterationsIterationsIterationsIterationsiterations = 1
is useful.)
- 'f'
Y-junctions are eliminated. (Only IterationsIterationsIterationsIterationsIterationsiterations = 1
is useful.)
- 'f2'
One pixel long branches and corners are removed. (Only
IterationsIterationsIterationsIterationsIterationsiterations = 1 is useful.)
- 'h'
A kind of inner boundary, which, however, is thicker than the
result of boundaryboundaryBoundaryboundaryBoundaryBoundary, is generated. (Only
IterationsIterationsIterationsIterationsIterationsiterations = 1 is useful.)
- 'k'
Junction points are eliminated, but also new ones are
generated.
The Golay elements, together with all possible rotations, are
described with the operator golay_elementsgolay_elementsGolayElementsgolay_elementsGolayElementsGolayElements.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Result of the thinning operator.
Structuring element from the Golay alphabet.
Default value:
'l'
"l"
"l"
"l"
"l"
"l"
List of values: 'c'"c""c""c""c""c", 'd'"d""d""d""d""d", 'e'"e""e""e""e""e", 'f'"f""f""f""f""f", 'f2'"f2""f2""f2""f2""f2", 'h'"h""h""h""h""h", 'i'"i""i""i""i""i", 'k'"k""k""k""k""k", 'l'"l""l""l""l""l", 'm'"m""m""m""m""m"
Number of iterations. For 'f', 'f2', 'h' and 'i'
the only useful value is 1.
Default value: 20
Suggested values: 'maximal'"maximal""maximal""maximal""maximal""maximal", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, 70, 100, 150, 200
Typical range of values: 1
≤
Iterations
Iterations
Iterations
Iterations
Iterations
iterations
(lin)
Minimum increment: 1
Recommended increment: 1
Let F be the area of an input region. Then the runtime complexity for one
region is:
thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq 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.
thresholdthresholdThresholdthresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionconnectionConnectionConnection,
union1union1Union1union1Union1Union1,
watershedswatershedsWatershedswatershedsWatershedsWatersheds,
class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm,
gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle,
gen_ellipsegen_ellipseGenEllipsegen_ellipseGenEllipseGenEllipse,
gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1,
gen_rectangle2gen_rectangle2GenRectangle2gen_rectangle2GenRectangle2GenRectangle2,
draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion,
gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints,
gen_struct_elementsgen_struct_elementsGenStructElementsgen_struct_elementsGenStructElementsGenStructElements,
gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled
pruningpruningPruningpruningPruningPruning,
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain,
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter,
connectionconnectionConnectionconnectionConnectionConnection,
complementcomplementComplementcomplementComplementComplement
skeletonskeletonSkeletonskeletonSkeletonSkeleton,
morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz,
expand_regionexpand_regionExpandRegionexpand_regionExpandRegionExpandRegion
hit_or_miss_seqhit_or_miss_seqHitOrMissSeqhit_or_miss_seqHitOrMissSeqHitOrMissSeq,
erosion_golayerosion_golayErosionGolayerosion_golayErosionGolayErosionGolay,
differencedifferenceDifferencedifferenceDifferenceDifference,
thinning_golaythinning_golayThinningGolaythinning_golayThinningGolayThinningGolay,
thinningthinningThinningthinningThinningThinning,
thickening_seqthickening_seqThickeningSeqthickening_seqThickeningSeqThickeningSeq
Foundation