Find junctions and end points in a skeleton.
junc 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::) > junc(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).
junc always returns the value 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 is raised.
area_center, connection, fetch_coord, difference