skeletonskeletonSkeletonSkeletonskeleton (Operator)
Name
skeletonskeletonSkeletonSkeletonskeleton
— Compute the skeleton of a region.
Signature
def skeleton(region: HObject) -> HObject
Description
skeletonskeletonSkeletonSkeletonSkeletonskeleton
computes the skeleton, i.e., the medial axis of the input
regions. The skeleton is constructed in a way that each point on it
can be seen as the center point of a circle with the largest radius possible
while still being completely contained in the region.
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
RegionRegionRegionRegionregionregion
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Region to be thinned.
SkeletonSkeletonSkeletonSkeletonskeletonskeleton
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Resulting skeleton.
Number of elements: Skeleton == Region
Complexity
Let F be the area of the enclosing rectangle of the input region.
Then the runtime complexity is O(F) (per region).
Result
skeletonskeletonSkeletonSkeletonSkeletonskeleton
returns TRUE if all parameters are correct.
The behavior in case of empty input (no regions given) can be set
via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
and the behavior in case of an empty input region via
set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)
.
If necessary, an exception is raised.
Possible Predecessors
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp
,
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image
,
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image
,
thresholdthresholdThresholdThresholdThresholdthreshold
,
hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold
Possible Successors
junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton
,
pruningpruningPruningPruningPruningpruning
Alternatives
morph_skeletonmorph_skeletonMorphSkeletonMorphSkeletonMorphSkeletonmorph_skeleton
,
thinningthinningThinningThinningThinningthinning
See also
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton
,
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp
,
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image
,
robertsrobertsRobertsRobertsRobertsroberts
,
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image
,
thresholdthresholdThresholdThresholdThresholdthreshold
References
Eckardt, U. “Verdünnung mit Perfekten Punkten”,
Proceedings 10. DAGM-Symposium, IFB 180, Zurich, 1988
Module
Foundation