junctions_skeleton ( Region : EndPoints, JuncPoints : : )

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.


Parameters

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


Example
/* 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). 

Complexity

Let F be the area of the input region. Then the runtime complexity is O(F).


Result

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.


Parallelization Information

junctions_skeleton is reentrant and automatically parallelized (on tuple level).


Possible Predecessors

skeleton


Possible Successors

area_center, connection, get_region_points, difference


See also

pruning, split_skeleton_region


Module

Region processing



Copyright © 1996-2005 MVTec Software GmbH