morph_skizmorph_skizMorphSkizMorphSkiz (Operator)


morph_skizmorph_skizMorphSkizMorphSkiz — Thinning of a region.


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


morph_skiz(Region : RegionSkiz : Iterations1, Iterations2 : )

Herror morph_skiz(const Hobject Region, Hobject* RegionSkiz, const Hlong Iterations1, const Hlong Iterations2)

Herror T_morph_skiz(const Hobject Region, Hobject* RegionSkiz, const Htuple Iterations1, const Htuple Iterations2)

void MorphSkiz(const HObject& Region, HObject* RegionSkiz, const HTuple& Iterations1, const HTuple& Iterations2)

HRegion HRegion::MorphSkiz(const HTuple& Iterations1, const HTuple& Iterations2) const

HRegion HRegion::MorphSkiz(Hlong Iterations1, Hlong Iterations2) const

static void HOperatorSet.MorphSkiz(HObject region, out HObject regionSkiz, HTuple iterations1, HTuple iterations2)

HRegion HRegion.MorphSkiz(HTuple iterations1, HTuple iterations2)

HRegion HRegion.MorphSkiz(int iterations1, int iterations2)


morph_skizmorph_skizMorphSkizMorphSkizMorphSkiz first performs a sequential thinning (thinning_seqthinning_seqThinningSeqThinningSeqThinningSeq) of the input region with the element 'l' of the Golay alphabet. The number of iterations is determined by the parameter Iterations1Iterations1Iterations1Iterations1iterations1. Then a sequential thinning of the resulting region with the element 'e' of the Golay alphabet is carried out. The number of iterations for this step is determined by the parameter Iterations2Iterations2Iterations2Iterations2iterations2. The skiz operation serves to compute a kind of skeleton of the input regions, and to prune the branches of the resulting skeleton. If the skiz operation is applied to the complement of the region, the region and the resulting skeleton are separated.

If very large values or 'maximal' are passed for Iterations1Iterations1Iterations1Iterations1iterations1 or Iterations2Iterations2Iterations2Iterations2iterations2, the processing stops if no more changes occur.

Execution Information


RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regions to be thinned.

RegionSkizRegionSkizRegionSkizRegionSkizregionSkiz (output_object)  region(-array) objectHRegionHRegionHobject *

Result of the skiz operator.

Iterations1Iterations1Iterations1Iterations1iterations1 (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Number of iterations for the sequential thinning with the element 'l' of the Golay alphabet.

Default value: 100

Suggested values: 'maximal'"maximal""maximal""maximal""maximal", 0, 1, 2, 3, 5, 7, 10, 15, 20, 30, 40, 50, 70, 100, 150, 200, 300, 400

Typical range of values: 0 ≤ Iterations1 Iterations1 Iterations1 Iterations1 iterations1 (lin)

Minimum increment: 1

Recommended increment: 1

Iterations2Iterations2Iterations2Iterations2iterations2 (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Number of iterations for the sequential thinning with the element 'e' of the Golay alphabet.

Default value: 1

Suggested values: 'maximal'"maximal""maximal""maximal""maximal", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50

Typical range of values: 0 ≤ Iterations2 Iterations2 Iterations2 Iterations2 iterations2 (lin)

Minimum increment: 1

Recommended increment: 1


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


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

Otherwise, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection, union1union1Union1Union1Union1, watershedswatershedsWatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm

Possible Successors

pruningpruningPruningPruningPruning, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection, background_segbackground_segBackgroundSegBackgroundSegBackgroundSeg, complementcomplementComplementComplementComplement


skeletonskeletonSkeletonSkeletonSkeleton, thinning_seqthinning_seqThinningSeqThinningSeqThinningSeq, morph_skeletonmorph_skeletonMorphSkeletonMorphSkeletonMorphSkeleton, interjacentinterjacentInterjacentInterjacentInterjacent

See also

thinningthinningThinningThinningThinning, hit_or_miss_seqhit_or_miss_seqHitOrMissSeqHitOrMissSeqHitOrMissSeq, differencedifferenceDifferenceDifferenceDifference