Quick Links

After collecting seed points and generating the KRLT response for every pixel, the last stage is utilizing previous information to trace the nerve. To achieve this, each seed point will extend to two paths in opposite directions by continuously moving forward according to a stepping scheme. A path will stop if the end point meets one of three stopping criteria. The whole nerve picture will be produced after all the seed points finish exploring. The output is a binary image of the same size as the original photo, where pixels with value 1 stand for a point on the nerve.

Stepping scheme

The first path of a seed point will start at itself, whose initial direction is determined as the one with the maximum KRLT response. According to the direction, the next point is chosen from a collection of pixels ahead (Wu, Schulte, Sepp, Littleton, Hong).Specifically, if the direction is 0, the collection is a 3-by-3 matrix right ahead of the current point; if the direction is 1, the collection will move upward by one row; the collection will move up additional one row if the direction is 2; for direction 3, the collection will shift one column to left. The collection for remaining directions will be produced in the similar way. Graphic interpretation is presented in Figure4.1.

Figure4.1_3-by-3 Matrix

From this 3-by-3 matrix, the pixel with maximum value is set as the next point. By linking the current point and the next point, the path steps forward by the resulting line segment. Then, we repeat the same procedure for the next point. However, to avoid going backwards when the path is stepping, the direction is chosen among the heading directions with maximum KRLT response. For example, if the previous direction is 4 (strictly upward), we will only consider the direction of 012345678. Otherwise, we might as well fall into an infinity loop by jumping back and forth in a small region. The first path will finish when the next point meets any one stopping criteria.

The second path of a seed point will be generated in the exactly the same way except that the initial direction is the opposite from the one of the first path.

Stopping criteria

We set up three stopping criteria proposed by Mitchel, Martin, Hoffman-Kim. The path will stop moving forward if the next point meets any one of the stopping criteria.

First, the path will terminate if the point is close to the boundary of the image. This condition can be easily checked when we mark out the 3-by-3 matrix. If any point in the matrix is outside the image, this stopping criterion is satisfied. In this way, the nerve along the edge would not be traced. However, since the matrix is really small, this will not lead to much performance degradation.

Second, the path will end up when the point is outside the actual nerve. We will use the threshold value calculated in the seed point stage to test this condition. After indexing into the original nerve image, the path will stop if the value is below this threshold.

Finally, the path will stop if it steps onto another piece of nerve that has already been traced. To check this restriction, we would examine the value for next point on the output binary image. If it is already 1 instead of 0, we will not continue tracing forward.

Strength

As a comparison to other similar algorithms for stepping, we want to bring up three points where our algorithm outperforms others.

To begin with, our 3-by-3 matrix technique proves crucial to produce desirable paths. By finding the maximum point with respect to our destination, we are assured that the path will stay on the nerve. As a matter of fact, we first tried a solution of stepping a fixed length segment ahead of direction. This solution is simple to implement with several lines of code, but it is also quite easy to step out of the nerve or retrack the same nerve twice. A comparison testing is illustrated below.

Figure4.2_Test with Simple Step
Figure4.3_Test with Matrix

Besides, we avoid being stuck at a region when we only choose to go forward with respect to the pervious direction. If we get the direction with maximum KRLT response directly, there is a high probability the path will go back and forth without moving forward. Alternatively, we decide to choose the forward direction with maximum KRLT response. The test below demonstrates that this modification hugely improves our performance.

Figure4.4_Test with Simple Direction Choice
Figure4.5_Test with Forward Directions

Finally, the performance becomes more satisfying when we produce two paths with opposite direction for each seed point. If we only track one path with initial direction to be the maximum KRLT response, we might as well lose the path for some nerves. By repeating the same procedure with the opposite initial direction for each seed point, we could catch more nerves in the photo. The following figure shows the comparison between these two approaches. Note that some pieces of nerve in the first image can be linked in the second image.

Figure4.6_Test with One Path Per Seed Point
Figure4.7_Test with Two Paths Per Seed Point

Weakness

For step stage, we have also recognized two situations where our algorithm could lead to an imperfect performance.

First, the algorithm fails to identify seed points that will not lead to long enough paths. After some preliminary tests on our nerve photo, we have found the output image could be with covered with little dots instead of a continuous nerve path. This case is illustrated with following figure.

Figure4.8_Covered with White Patches

As we can see, among the seed points detected, many could not generate a path and remain as pieces of white patch on the image. For this particular case, one of the reasons is because our stepping algorithm does not have the function to rule out these unpromising seed points. We expect a further processing on output image could help produce a better result.

Second, our direction choice cannot catch nerve path that has a sharp turn. As we illustrate above, to avoid being stuck at a local maximum, we will only stepping forward with respect to the previous direction of current point. This approach implies that the paths are likely to step out of the nerve and stop on the sharp turn (Mitchel, Martin, Hoffman-Kim). However, in terms of biological observation, this situation could be pretty rare. Based on our nerve photos, most of nerves will extend smoothly enough such that our algorithm could track out the path.

Page 7/11