A general framework for vessel segmentation in retinal images Changhua Wu, Gady Agam, Peter Stanchev
Abstract— We present a general framework for vessel segmentation in retinal images with a particular focus on small vessels. The retinal images are first processed by a nonlinear diffusion filter to smooth vessels along their principal direction. The vessels are then enhanced using a compound vessel enhancement filter that combines the eigenvalues of the Hessian matrix, the response of matched filters, and edge constraints on multiple scales. The eigenvectors of the Hessian matrix provide the orientation of vessels and so only one matched filter is necessary at each pixel on a given scale. This makes the enhancement filter is more efficient compared with existing multiscale matched filters. Edge constraints are used to suppress the response of spurious boundary edges. Finally, the center lines of vessels are tracked from seeds obtained using multiple thresholds of the enhanced image. Evaluation of the enhancement filter and the segmentation is performed on the publicly available DRIVE database.
I. I NTRODUCTION Optic fundus assessment is widely used in the medical community for diagnosing vascular and non-vascular pathology. Inspection of the retinal vasculature may reveal early signs of hypertension, diabetes, arteriosclerosis, cardiovascular disease and stroke [8]. Due to various imaging conditions retinal images may be degraded. Consequently, the enhancement of such images and vessels in them is an important task with direct clinical applications. There is substantial research on vessel segmentation in retinal images. Hoover [6] proposed the segmentation of vessels using matched filters, where the second derivative of Gaussian functions in 12 directions are convolved with the image. To detect vessels of various radii, the Gaussian functions at multiple scales are applied. Many other methods have been proposed, such as adaptive threshold [7], intensity edges [10], region growing [16], statistical inferencing [15], mathematical morphology [12], principal component separation [1], probabilistic modeling [22], and Hessian measures [20]. Hessian-based multiscale segmentation/enhancement of vessels in retinal images have been extensively studied. By convolving with Gaussian kernels of various sizes, the normalized second order derivatives [14] can indicate the scale and orientation of vessels. The use of eigenvalues of the Hessian on multiple scales is still not sufficient to distinguish false positives at the boundary of retinal images, the optic disc, and various pathologies. Sofka et al. [19] proposed a method to segment vessels based on six features: response of multiscale matched filters, vessel confidence measure, Changhua Wu and Peter Stanchev are with the Department of Computer Science, Kettering University, Flint, MI 48504. Email: {cwu,
pstanche}@kettering.edu
Gady Agam is with the Department of Computer Science at Illinois Institute of Technology, Chicago, IL 60616. Email:
[email protected]
gradient at the boundary of vessels, and the edge strength at the boundary. The features on all pixels are computed and their distributions are evaluated based on training images from the publicly available DRIVE database [17]. Based on the distribution of features of known vessels from 20 training images, the vesselness of each pixel is defined statistically by the the likelihood ratio based on the Neyman-Pearson Lemma [9]. The six features have some redundancy in them. For example, vessel confidence measure is correlated with edge strength. In [23], we proposed a hybrid filter that combines the edge response, Hessian eigenvalues, and matched filter for enhancing retinal vessel. In this paper, we propose an general framework for vessel segmentation in retinal images which is based on a sequence of processing steps. In the proposed approach, retinal images are first smoothed by a nonlinear diffusion technique. Vessels are then enhanced using a compound enhancement filter which combines the advantages of Hessian-based filters and matched filters, and incorporates edge constraints of vessels. The final step in the proposed approach is composed of the tracking of vessels along ridges using the orientation and size information obtained from the enhancement filter. As the green channel of retinal images presents the largest contrast between vessels and the background, we first convert retinal color images into gray scale images by keeping the green channel, and discarding the rest of the color channels. Unlike vessels in other imaging modalities, vessels in retinal images appear darker than the background. To be consistent with other modalities, we invert the image intensities so that that the intensity of vessels is higher compared to the background. The following discussion is based on inverted gray scale images. The paper is organized as follows. Section II describes the nonlinear diffusion that is applied to smooth vessels. Section III presents in detail the compound vessel enhancement filter. Section IV discusses the tracking of vessels after enhancement. Evaluation of the proposed filter and experimental results are provided in section V. Section VI concludes this paper. II. D IFFUSION - BASED VESSEL ENHANCEMENT The first step in the enhancement of vessel that is taken in the proposed approach is the smoothing of vessels along their principal direction using a diffusion filter. This diffusion technique is capable of smoothing the image without blurring vessel boundaries. Several diffusion techniques have been proposed [11], [21], [2]. The nonlinear technique we use has been proposed by Weickert [21], and has been shown to perform well in applications where enhancement of linear
structures is necessary. Nonlinear diffusion is closely related to Fick’s law [18]:
180 180
j = −D u
(1)
Where j is the diffusion flux, D is the diffusion tensor, and u is the concentration. This equation states that a concentration gradient u causes a diffusion flux j that aims to compensate for this gradient. The relation between u and j is described by the diffusion tensor D, which a positive-definite symmetric matrix. For isotropic diffusion, j and u are parallel, whereas in the general anisotropic case, j and u are not parallel. The observation that diffusion only transports mass without destroying it or creating new mass is expressed by the continuity equation: ∂t u = −divj
(2)
where t denotes time. Plugging Fick’s law into the continuity equation, we get the diffusion equation: ∂t u = div(D u)
(3)
For nonlinear diffusion filters, the diffusion tensor D is often a function of the structure tensor, Jρ (uσ ), of the evolving image itself. Jρ (uσ ) is defined by: Jρ (uσ ) = Kρ × (uσ ⊗ uσ )
(4)
where Kρ is a Gaussian kernel with standard deviation of ρ, uσ is the gradient of the image after convolving it with a Gaussian kernel with a standard deviation of σ, and ⊗ represents outer product. The diffusion tensor D is constructed so that it has the same eigenvectors as Jρ and with eigenvalues that are given [21] by: λi = α when i = 1, · · · , m − 1 and α if k = 0, λi = (5) α + (1 − α)exp( −C ) else k when i = m. In this expression, k is a coherence measure and C is a threshold parameter. When k C we have λm ≈ 1 whereas when k C we have λm ≈ α. Using the diffusion tensor estimate D in Equation (3), the temporal derivative ∂t u can be computed. The filtered image at time step t + 1 is then produced by u + ∂t u. This process is then repeated until convergence to produce the filtered image. Figure 1 illustrates the effectiveness of the diffusion filter in removing noise. In this figure the intensity of a small and large retinal vessels is plotted as a height surface before and after the application of the diffusion filter. As can be observed, the vessel structures are much more pronounced after the application of the diffusion filter, due to the elimination of noise. The parameters used to produce this example are given by: ρ = 0.5, σ = 1, C = 0.001, α = 0.01. The time step used in the diffusion filter was set to 0.1. Note that the elimination of noise by the diffusion filter is of particular importance to subsequent processing steps which involve second order derivatives and so are sensitive to noise.
170
170 160 160
40
150
150
30
140
20
10 15
10
5
0
40 140
20
130 20
130 18
0
160
16
14
12
10
8
6
4
2
0
0
156 154
155
152 150
150
148 145
146 144 30
140 40
20
30 20
10
10 0
0
2
4
6
8
10
12
14
16
18
0
0
5
10
15
20
Fig. 1. Illustration of the diffusion filter results on a large (top) and small (bottom) retinal vessels. The left column show the intensity of the vessels plotted as a height surface before the filter is applied, whereas the right column shows the intensity after the filter is applied.
III. T HE COMPOUND VESSEL ENHANCEMENT FILTER The compound vessel enhancement filter we propose is based on our previous work [23]. It assums that the intensity profile of vessels in the cross section is Gaussian. This is a common assumption that is employed in numerous algorithms [3], [19], [6], [5]. It is also commonly assumed that the intensity does not change much along vessels. Although some large vessels in retinal images may have a dark line in their center, such lines can be easily removed by smoothing, and so such lines do not invalidate the Gaussian profile assumption. To distinguish vessels from other non-tubular structures such as planes, we can use second order derivative features such as curvatures. Planes have zero curvature in all directions except at the boundary. Vessels have a large curvature in the sectional direction and a small curvature along their center lines. The two principal curvatures can be obtained from the Hessian matrix H, which is a second order descriptor. For a 3D image the Hessian is given by: Ixx Ixy Ixz (6) H = Iyx Iyy Iyz Izx Izy Izz Let |λ1 | ≥ |λ2 | ≥ |λ3 | be the three eigenvalues of the Hessian matrix. For a 3D vessel, λ3 should be close to zero while |λ1 | ≈ |λ2 | |λ3 |. Therefore, many researchers [4], [13] have proposed using the ratio between the eigenvalues to enhance vessels. Frangi et al. [3], [4] compute = |λ |/ |λ1 ||λ2 |, RA = |λ2 |/|λ1 |, and the scores R B 3 S = λ21 + λ22 + λ23 and define the response of his filter for 3D vessel as: 2 2 RB S2 (1 − exp(− R2αA2 )) exp(− 2β 2 )(1 − exp(− 2γ 2 )) Vs (x) = if λ1 < 0 ∧ λ2 < 0 0 otherwise (7) where parameter α, β and γ are constants. For 2D images the first exponential is removed, and so this filter is not effective
in distinguishing between step edges and vessels. Hence, in 2D images more information is necessary for effective vessel segmentation. Hessian based filters can enhance vessels of various size and simultaneously estimate their directions. However, Hessian-based filters can not distinguish step edges from vessels effectively. Matched filters [5], [19] are capable of distinguishing step edges from vessels more effectively. In a coordinate system rotated to align u with the tangential direction and v with the normal direction, a matched filter response is given by: ∞ ∞ gvv (v − v ; tv )· M (R; u, v; tu , tv ) = − (8) −∞ −∞ g(u − u ; tu ) · f (u , v ; t0 )du dv Where f (u , v ; t0 ) is the image intensity after smoothing by a Gaussian function with kernel size of t0 , gvv is the second order derivative of a Gaussian function with a standard deviation of tv , and g(.) is a Gaussian kernel with a standard deviation of tu . To detect vessels at a variety of widths, the matched filter is applied at multiple scales and the responses at multiple scales are combined. Matched filters still produce strong response at step edges, as shown in Figure 3. To solve the problem of false detection of edges, Sofka [19] proposed using the edge information at the boundary of vessels. A vessel should have two edges on each side of it, which can be used to effectively distinguish between vessels and edges in the image. Sofka’s approach is based on classification and so require a training process. The compound enhancement filter we propose combines the advantages of Hessian-based filters, matched filters, and edge information. The proposed filter is parametric and is simple to implement. We assume that vessels in retinal images have the following three properties: the profile in the cross section is Gaussian, the intensity changes little along the center line of vessels, and there are two edges at the boundary of vessels. Similar to Hessian-based filters, we compute the Hessian matrix at each pixel of the image on multiple scales by convolving the image with Gaussian kernels of multiple sizes. Let |λ1τ | ≥ |λ2τ | be the eigenvalues of the Hessian matrix at scale τ and let uτ , vτ be the eigenvector associated with λ1τ , λ2τ respectively. Based 2τ | on the vessel assumptions above the ratio |λ |λ1τ | should be close to zero and uτ should be in the cross section of the vessel whereas vτ should be in the direction of the center line. Based on λ1τ , λ2τ , and τ , the first response follows the definition of the Frangi filter: /λ1τ |2 S2 )(1 − exp(− 2γ if λ1τ < 0 exp(− |λ2τ2β 2 2 )) Vhτ (x) = 0 otherwise (9) where S = λ21τ + λ22τ . We believe the ratio of eigenvalues used in Frangi filter can not distinguish edges from vessels as effectively as matched filters due to the fact the it only uses the local information while the matched filter uses all pixels in the cross section of a vessel. Therefore, an additional filter response is obtained
by convolving the image with a matched filter in the cross direction of the vessels. The matched filter is a second order derivative of a one dimensional Gaussian function as shown in Equation 8. The kernel size of the Gaussian function is τ . For simplicity, this filter can be implemented by convolving the pixels in the cross section with a vector m, where mi |i=1:τ = −1, mi |i=τ +1:3τ = 1, mi |i=3τ +1:4τ = −1. Let p be the vector that stores the intensities of pixels within 2τ from the center line in the cross section. The length of p is 4τ . The response of the matched filter at scale τ is p·m . The vesselness of the proposed computed as Vmτ = |p||m| filter at scale τ is defined by Vτ = Vhτ · Vmτ . Beside the vesselness measure Vτ , the proposed filter also incorporates the constraint that a vessel has two edges. Given a vessel of radius r, there should be two parallel edges at distance r from the center line. The two edges can be simply modeled as step edges. The response of the two edges is obtained by convolving the pixels with a step edge filter m , where mi |i=1:τ = 1 and mi |i=τ +1:2τ = −1. Let p be a vector that contains the intensity of pixels in the cross direction of the vessel on one side of the center line. The ·m edge response at scale τ is given by: Veτ = |pp ||m | . Since vessels are brighter than the background, the edge response 1 2 and Veτ be the two on vessels should be positive. Let Veτ 1 edge responses. By applying the constraint that both Veτ 2 and Veτ must be positive, we can effectively distinguish step edges in retinal images from vessels. The final response of the filter on one scale is defined by: 1 2 Vhτ · Vmτ if Veτ > 0 ∧ Veτ >0 Fτ (x) = (10) 0 otherwise Given a set of scales S, the final filter response is given by: F (x) = max{Fτ (x) | τ ∈ S}
(11)
IV. V ESSEL TRACKING ALONG RIDGES After the vessel enhancement filter is applied as described before, the contrast between vessels and other tissues is improved. However, this enhancement is not uniform. Big vessels are enhanced more than small vessels due to the second component of Equation 9, which is used to suppress the response based on the magnitude of the Hessian eigenvalue. The response from small vessels can be very similar to the response of false positives. Thus, using a single threshold may not be sufficient to distinguish vessels. The compound filter as described before provides in addition to the enhanced image the size and orientation of enhanced vessels. Using this information it is possible to track vessel center lines via ridges in the enhanced image. The ridges are detected by checking the zero-crossing of the gradients and the curvature. For simplification, the condition for a pixel (i, j) to be marked as a ridge point can be expressed by the following equations: g(i − 1, j) · g(i + 1, j) < 0 and cx < τ
(12)
g(i, j − 1) · g(i, j + 1) < 0 and cy < τ
(13)
where g(i, j) is the gradient at (i, j), and cx and cy are the curvatures in the direction of the axes. In our experiments,
V. E XPERIMENTAL RESULTS
Comparison of the ROC curves 1 Matched Filter Frangi our filter
0.9 0.8
Fraction of True Positives
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.1
0.2
0.3
0.4 0.5 0.6 Fraction of False Positives
0.7
0.8
0.9
1
(1 Precision) Recall Curve 1 Matched Filter Frangi our filter
0.9 0.8 0.7 0.6 Recall
τ was set to −0.2. The size of a ridge is identical to the size of the vessel it belongs to. Before detecting ridges, the enhanced image is further processed using the diffuse filter described in Section II. The selection of seeds is an important issue in any tracking algorithm. There are generally two ways for selecting seeds: manually selecting seeds (which is labor intensive and depends on the expertise of the user) and automatically selecting seeds. The approach taken in this paper is that of automatically selecting seeds. Vessels in retinal images can be classified into veins and arteries. Veins appear usually larger compared to arteries which are much smaller. Ideally, vessels in retinal images should be connected to each other. However, in practice we observed that some vessels are isolated. This makes it necessary to find multiple seeds. In our approach, a ridge pixel can be a seed only if its intensity is larger than the average intensity of all ridges whose size is no less than 2 pixels or if it is within 10 pixels away along the ridge from a vessel which is already tracked. The tracking starts from the seeds with the highest intensity. Vessel segments which are shorter than a given threshold (e.g. 10 pixels in our experiments), or shorter than 30 pixels and with a height to width ratio bigger than a given threshold (e.g. 0.3 in our experiments) are removed.
0.5 0.4
A. The vessel enhancement filter
0.3
The combined performance of the proposed compound filter is evaluated by comparing it with a multiscale matched filter and the Frangi filter using the publicly available DRIVE database [17]. The three filters were applied to all 40 images in this database. Figure 3 shows an example of obtained results. Figure 2 shows the Receiver Operating Characteristic (ROC) curves and the 1-Precision Recall curves of the three filters. To cope with potential inaccuracies in the ground truth which was created by manual labeling, true positives are counted in the following way. For every pixel in the known vessels, if there is a pixel marked as vessel pixels by the filters within a 3 × 3 neighborhood, it is counted as a true positive. If a pixel is marked as a vessel pixel but it is not included in any known vessel, it is counted as a false positive. The ROC curve produced by the compound filter after diffusion is better than that of the compared filters. The areas under the ROC curve of the compound filter, the multiscale matched filter, and the Frangi filter are 0.9629, 0.9618, and 0.9478, respectively. The difference is not large due to the small area portion of vessels in retinal images, which makes all three ROC curves steep. To demonstrate the effectiveness of the compound filter better, we use a 1-Precision Recall curve. The vertical axis of the 1-Precision Recall curve is the same as that of the ROC curve. The horizontal axis is defined as the fraction of false positives and all marked positives. It shows how many detected vessels are false positives. As can be observed, the curve of the compound filter is to the left of the curves of the other filters, thus demonstrating that the compound filter can distinguish vessels from other structures in retinal images more effectively.
0.2 0.1 0
0
0.1
0.2
0.3
0.4
0.5 1−precision
0.6
0.7
0.8
0.9
1
Fig. 2. ROC curves of a matched filter, Hessian-based filter, and the compound filter on the DRIVE database (top). 1-Precision Recall curves (bottom).
B. The vessel tracking algorithm The vessel tracking stage of the proposed approach is performed on the enhanced image, obtained as described before. Qualitative results of vessel tracking in two cases are presented in Figure 4. The first column shows manual segmentation of the vessels, the second column shows ridges, and the third column shows the tracked vessels. The fourth column shows the overlap between tracked vessels and the manual segmentation. To obtain quantitative evaluation of the tracking step on retinal images, the manually segmented image was skeletonized using mathematical morphology operations. The tracked vessels were then compared with the skeleton of the manual image. We tested the tracking performance on all the images in the DRIVE database. The results show that the tracking algorithm, when applied to the enhanced images, successfully detected 84.4% of vessel skeletons with a 19.3% rate of false positives. Table V-B presents the false positive and true positive rates obtained for the first twelve images of the training set of the DRIVE database. The majority of the vessels which were not tracked
(a)
(b)
(c)
(d)
Fig. 3. From left to right: the input image, the enhancement result by proposed filter after applying diffusion on the original image, the matched filter, and the Frangi-filter respectively.
correctly are small vessels. Such vessels are the subject of ongoing work. VI. C ONCLUSION We present a general framework for the segmentation of blood vessels in the retinal images. In this framework, we propose a compound filter which combines a diffusion enhancement filter with a Hessian-based filter, a matched filter, and incorporates edge constraints. The filter results are then tracked using a ridge-based tracking algorithm. In the compound filter, the eigenvalues and eigenvectors are computed from the Hessian matrix at multiple scales. The filter response depends in part on the ratio between the smallest and largest eigenvalues. The eigenvectors determine the direction in which the matched filter is applied. Thus, only one matched filter is needed at each scale. This is in contrast to other matched filters which require multiple filter applications per pixel. The product between the response from eigenvalue filter and the matched filter is computed under an edge constraint which mandates that two edges must exist at the boundary of vessels. The final output of the filter is the maximal response at multiple scales. Following the enhancement filter, we employ a tracking algorithm to track vessels vessels along ridges using the orientation and size information obtained from the enhancement filter. The tracking process combines the constraint of size and linearity of vessels, and is capable of handing small gaps in vessels. Experimental evaluation using the DRIVE database shows improvement over several existing filters. The final tracking evaluation shows that the proposed approach is successful in tracking 84% of the vessels with a false positive rate of 19%. The majority of the vessels which were not tracked correctly are small vessels. Such vessels are the subject of ongoing work. R EFERENCES [1] G. Agam, S. G. Armato III, and C. Wu. Vessel tree reconstruction in thoracic CT scans with application to nodule detection. IEEE Trans. Medical Imaging, 24(4):486–499, 2005. [2] C. Caero and P. Radeva. Vesselness enhancement diffusion. Pattern Recognition Letters, 24(16):3141–3151, December 2003. [3] A. Frangi. Three-dimensional Model-based Analysis of Vascular and Cardiac Images. PhD thesis, Utrecht University, The Netherlands, 2001.
[4] A. F. Frangi, W. J. Niessen, K. L. Vincken, and M. A. Viergever. Multiscale vessel enhancement filtering. Lecture Notes in Computer Science, 1496:130–138, 1998. [5] L. Gang, O. Chutatape, and S. M. Krishnan. Detection and measurement of retinal vessels in fundus images using amplitude modified second-order gaussian. IEEE Transactions on Biomedical Engineering, 49(2):168–172, February 2002. [6] A. Hoover, V. Kouznetsova, and M. Goldbaum. Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response. IEEE Transactions on Medical Imaging, 19(3):203–210, 2000. [7] X. Jiang and D. Mojon. Adaptive local thresholding by verfication -based multthreshold probing with application to vessel detection retinal images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(1):131–137, Jan 2003. [8] J. J. Kanski. Clinical Ophthalmology: A systematic approach. Butterworth-Heinemann, London, 1989. [9] S. M. Kay. Fundamentals of Statistical Signal Processing: Detection Theory. Prentice Hall, 1998. [10] D. Koozekanani, K. L. Boyer, and C. Roberts. Tracking the optic nervehead in oct video dual eigensapces and an adaptive vascular distribution model. IEEE Transactions on Medical Imaging, 22(12):1519–1536, 2003. [11] K. Krissian. Flux-based anisotropic diffusion applied to enhancement of 3-d angiogram. IEEE Transactions on Medical Imaging, 21(11):1440 – 1442, Nov. 2002. [12] J. Leandro, R. Cesar, Jr., and H. Jelinek. Blood vessels segmentation in retina: preliminary assessment of the mathematical morphology and of the wavelet transform techniques. In Proceedings of XIV Brazilian Symposium on Computer Graphics and Image Processing,, pages 84– 90, Oct. 15-18 2001. [13] Q. Li. Selective enhancement filters for vessels and airway walls in two- and three-dimensional CT scans. Medical Physics, 30(8):2040– 2051, 2003. [14] T. Lindeberg. Feature detection with automatic scale selection. International Journal of Computer Vision, 30(2):77–116, 1998. [15] V. Mahadevan, H. Narasimha-Iyer, B. Roysam, and H. Tanenbaum. Robust model-based vasculature detection in noisy biomedical imagings. IEEE Transaction on Information Technology in Biomedicine, 8(3):360–376, 2004. [16] M. E. Martinez-Perez, A. D. Hughes, A. V. Stanton, S. A. Thom, A. A. Bharath, and K. H. Parker. Retinal blood vessel segmentation by means of scale-space analysis and region growing. In Proceedings of the 2nd International Conference of Medical Imaging Computing and Computer-assisted Intervention (MICCAI), pages 90–97, 1999. [17] M. Niemeijer, J. Staal, B. van Ginneken, M. Loog, and M. Abrmoff. Comparative study of retinal vessel segmentation methods on a new publicly available database. In J. M. Fitzpatrick and M. Sonka, editors, Proceedings of SPIE Medical Imaging, volume 5370, pages 648–656, 2004. [18] W. Smith. Foundations of Materials Science and Engineering. McGraw-Hill, 3rd ed. edition, 2004. [19] M. Sofka and C. V. Stewar. Retinal vessel extraction using multiscale matched filters confidence and edge measures. Technical Report 05-20, the Department of Computer Science, Rensselaer Polytechnic Institute, August 16 2005. [20] J. Staal, M. D. Abrmoff, M. Niemeijer, M. A. Viergever, and B. van
TP FP
0.8908 0.2095
0.8072 0.1502
0.8824 0.5385
0.8167 0.1538
0.7329 0.1344
0.8144 0.1784
0.8569 0.1815
0.8392 0.2282
0.7585 0.1329
0.8191 0.1251
0.8188 0.2955
0.8786 0.2197
TABLE I FP AND TP RATES OF THE VESSEL TRACKING IN IMAGES FROM DRIVE DATABASE .
manual segmentation
ridges
vessels
overlapping
Fig. 4. Vessel tracking in two cases. The fourth column shows the overlap between the skeleton of the manual segmentation (shown in green) and the tracked vessels (shown in red). The overlapping parts appear in yellow.
Ginneken. Ridge-based vessel segmentation in color images of the retina. IEEE Transactions on Medical Imaging, 23(4):501–509, April 2004. [21] J. Weickert. Coherence-enhancing diffusion filtering. International Journal of Computer Vision, 31(2-3):111 – 127, 1999. [22] C. Wu and G. Agam. Expectation maximization approach to vessel enhancement in thoracic CT scans. In Proc. of SPIE Medical Imaging: Image Processing, volume 5747, pages 1703–1712, San Diego, California, Feb. 2005. [23] C. Wu, G. Agam, and P. Stanchev. A hybrid filtering approach to retinal vessel segmentation. In Proceedings of IEEE International Symposium on Biomedical Imaging from Nano to Macro, April 2007.