Once the FA sequence is pruned of the outlier frames, we find a pilot global transform that registers the remaining frames. Our global registration algorithm is based on finding a geometric transformation corresponding to the matching point pairs using a variant of the RANSAC method called the statistically robust M-estimator SAmple Consensus (MSAC) algorithm.
53 The iterative RANSAC method estimates parameters of a mathematical model from a set of observed data that are contaminated with outliers. In MSAC the cost function is modified, whereas inliers are scored according to their fitness to the model while the outliers are given a constant weight. In order to find the matching point pairs, we first roughly segment the vessels in each image. While virtually any vessel detection algorithm can be employed for this task,
28,54–56 in this paper we use the exploratory Dijkstra forest algorithm of Estrada et al.
54 In this method, after preprocessing, in each iteration the best unvisited vessel pixel in the image is chosen as a starting point for a dynamic-programming exploration of the unvisited part of the image, which results in a new tree in the growing forest of vessels. A threshold is chosen as stop criterion, which stops forest growth when the best unvisited vessel pixel is worse than this threshold.
After this pilot vessel detection step, we utilize the scale and rotation-invariant interest point detector/descriptor Speeded-Up Robust Features (SURF) on the binary vessel map to extract blob features.
57–60 A blob is a region with a (relatively) constant value in properties such as brightness or color compared to areas surrounding that region, which can be utilized as a salient point for registration. In SURF, the determinant of Hessian (DoH) is utilized as the blob detector, computed from the sum of the Haar wavelet response around the point of interest.
Figure 4e shows the output of blob detection for two FA frames of a DME patient, and the strongest SURF features are shown in
Figure 4f. Next, outliers in blob maps are excluded by using the MSAC algorithm.
58–60 Finally, the remaining blob regions are matched by finding a geometric transformation based on an affine model. This transform was estimated using the estimateGeometricTransform function in MATLAB (MathWorks, Natick, MA, USA) with the parameters of maximum distance threshold, maximum number of random trials for finding the inliers, and desired confidence (in percentage) for finding the maximum number of inliers set at 5, 1000, and 99, respectively.
Figure 4 shows an example of global rigid registration between two FA frames of a DME patient. Although global registration improves spatial matching of similar regions in an FA sequence,
Figures 5a and
5c show that in some regions further refinement steps are necessary.