Find junctions and end points in a skeleton.
junctions_skeleton detects junctions and end points in a skeleton (see skeleton). The junctions in the input region Region are output as a region in JuncPoints, while the end points are output as a region in EndPoints.
|
Region (input_object) |
region(-array) -> object |
| Input skeletons. | |
|
EndPoints (output_object) |
region(-array) -> object |
| Extracted end points. | |
| Number of elements: EndPoints == Region | |
|
JuncPoints (output_object) |
region(-array) -> object |
| Extracted junctions. | |
| Number of elements: JuncPoints == Region | |
/* non-connected branches of a skeleton */
skeleton(Region,Skeleton)
junctions_skeleton(Skeleton,EPoints,JPoints)
difference(S,JPoints,Rows)
set_system('heighbourhood',4)
connection(Rows,Parts).
Let F be the area of the input region. Then the runtime complexity is O(F).
junctions_skeleton always returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no regions given) can be set via set_system('no_object_result',<Result>), the behavior in case of an empty input region via set_system('empty_region_result',<Result>), and the behavior in case of an empty result region via set_system('store_empty_region',<true/false>). If necessary, an exception handling is raised.
junctions_skeleton is reentrant and automatically parallelized (on tuple level).
area_center, connection, get_region_points, difference
pruning, split_skeleton_region
Region processing