I suggest the following overlap resolution method:
Given is a complex agglomerate with several junction points
Start with next junction point
2.1. Search for line positions P at a specific search radius r (e.g. 3 * line width) which are part of the agglomerate. The position on the current line (which belongs to junction point) is P1. If the current line is shorter then r use midpoint of current line as P1.
2.2. Calculate the shortest paths S from the position P1 to each position in P
2.3. Select the path S1 with the highest straightness§
2.4. If the straightness is below some defined threshold, accept it, merge all lines in S1 and update the junction points accordingly
Return to 2 when other potential junction points exist
§Straightness: The straightness of a path p is calculated the following way: distance between start and end point divided by the length of the path
@hinerm This approach would be like an extension of yours. And it exploits that we roughly know the width of the lines (because it is specified by the user anyhow). Furthermore I guess it would be able to handle situations like these:
http://fiji.sc/_images/e/ec/Slope_detection_low_sigma.png
I would like to hear your opinon!
I suggest the following overlap resolution method:
§Straightness: The straightness of a path p is calculated the following way: distance between start and end point divided by the length of the path
@hinerm This approach would be like an extension of yours. And it exploits that we roughly know the width of the lines (because it is specified by the user anyhow). Furthermore I guess it would be able to handle situations like these: http://fiji.sc/_images/e/ec/Slope_detection_low_sigma.png I would like to hear your opinon!