1. From the result we can see that most of the branch point can be found.

2. There also might be some missing branch point which can not be detected, although this case is rare in my program.

3. Many points which are not branch points are misclassified as branch points.

4. Different masks may provide different results. However, there is no rigid way to define a mask.

5. Generally, the results are so-so. My personal view is: 1) masks are not accurate and it is difficult to find a satisfied mask. 2) the thin process to the original finger image is a little tricky. The result may depend on image itself, as well as the thin function.Information may be lost (or redundant information may also be added) during the process. I show the thin result of the image. It seems difficult to do exactly correct branch detection based on the thinned result.

Run function [ finger_branch ] = branch( finger_print ) in the MATLAB command window. Parameter finger_print can be replaced with 'fp1.jpg' or 'fp2.jpg'.