Figure 1.
Wavelet levels and the final scaling coefficients calculated from four iterations of the IUWT.
(A) The original image from the DRIVE database. (B–E) Wavelet levels 1–4, computed using the IUWT algorithm. Wavelet coefficients have been scaled linearly for display, so that light and dark pixels indicate positive and negative coefficients respectively, while zero is represented by a mid-tone gray. (F) The smooth residual image. Adding this residual to all the wavelet levels would reconstruct the original image.
Figure 2.
Thresholding wavelet coefficients of the IUWT.
(A) The sum of wavelet levels 2 and 3. (B) A threshold was applied to A to identify the lowest 15% of wavelet coefficients within the FOV. (C) A cleaner version of the segmentation in B, created by removing connected objects and filling holes with areas smaller than 75 and 20 pixels respectively. (D) A hand-segmented image from the DRIVE database, shown for reference.
Figure 3.
(A) Part of an image from the REVIEW database containing a pronounced central light reflex, which is the bright region seen running through one of the vessels (blue arrow). (B) The pixel intensity profile computed along the red line shown in A. Here, the central light reflex appears as a small ‘hill’ in the rightmost vessel.
Figure 4.
Determining vessel edges by zero-crossings.
(A) A ‘straightened’ vessel image, created by stacking many image profiles alongside one another. (B) Corresponding stacked profiles determined from the initially-segmented image. White pixels belong to the vessel under consideration, while gray pixels belong to other detected vessels. An initial vessel width estimate is determined from the median of the sum of white pixels on each row, and refined using the averaged profile in F. (C) The profiles in A after smoothing with an anisotropic Gaussian filter, and subsequently applying a second filter to approximate the second derivative computed perpendicular to the vessel (i.e. horizontally). In this representation most of the vessel consists of negative values, but the central light reflex contains positive values. (D) Pixels in C representing positive-to-negative (red) and negative-to-positive (blue) transitions. Transitions corresponding to the second vessel region in B are removed. The length of each connected line is computed, and only the longest lines that fall close to the estimated vessel boundaries are retained. (E) The edges identified by the algorithm, superimposed on top of the straighted vessel. (F) A mean vessel profile, computed by averaging all the profiles in A, excluding pixels belonging to other vessels. The locations of the maximum and minimum gradients to the left and right of centre are shown in blue. The transitions in D are removed if they do not fall close to these locations, and the distance between them is also used when calculating the Gaussian filter sizes. (G) The edges identified by the algorithm, shown on the original image from the REVIEW database.
Figure 5.
Overview of the main steps taken by our algorithm when processing a fundus image.
(A) The image (here, from the DRIVE database) is read. (B) The green channel is selected for later processing. (C) A mask is produced by thresholding. (D) The IUWT is applied to B. (E) Wavelet coefficients are thresholded. (F) Small objects are removed and holes are filled in E. (G) Morphological thinning is applied to F. (H) The distance transform is applied to F to assist with estimating diameters and removing erroneously detected segments. (I) Branches are removed from G and spline fitting applied to determine centrelines. (J) Edges are detected perpendicular to the centrelines.
Table 1.
Vessel segmentation algorithm accuracy.
Table 2.
Vessel segmentation algorithm times.
Figure 6.
Application of vessel detection to DRIVE database images.
Overlays of detected edge points (black) applied to the first four images in the DRIVE database test image set, superimposed on the corresponding manually segmented images (red).
Table 3.
REVIEW database comparison.
Figure 7.
Application of vessel detection to REVIEW database images.
(A–C) Vessels detected in example images from the CLRIS, HRIS and VDIS respectively. (D) Individual diameters found for a vessel in a KPIS image. Note that in the KPIS image, the visible branching vessels are much narrower and dimmer in comparison to the main vessel, so that they occur as unconnected objects in the segmented image. This difference in contrast then allows edges still to be found for the main vessel at these branching locations.
Table 4.
Total image analysis times.