INTRODUCTION {#sec1-1}
============

Vessels crossing through the surface of retina have important characteristics in detection and diagnosis of retinopathies such as Glaucoma,\[[@ref1]\] hypertension,\[[@ref2]\] diabetic retinopathy,\[[@ref3][@ref4][@ref5]\] retinal artery occlusion and arteriosclerosis.\[[@ref6]\] Eye specialist often use Fundus camera to scan retina\'s surface of patients and then by probing the situations of retinal vessels in digital images, they diagnose retinal disease.\[[@ref7]\] In some images taken by Fundus cameras, vessels have poor contrast toward background retina, thus using image processing techniques permit eye specialists and/or computer aided diagnostic tools to detect vessels accurately.

Fundamentally, retinal vessel detection is categorized as line detection methods.\[[@ref6]\] At a first glance, conducting edge detectors such as Canny, Sobel or Prewitt seems to be useful, but as the intensity of vessels change smoothly, ordinary edge detectors are not able to identify them satisfactorily.

Besides, non-edge detecting methods such as morphological image processing methods, line tracking\[[@ref8]\] method and ridge based vessel segmentation,\[[@ref7]\] do not detect vessels accurate enough to be used in medical diagnosis.

Filter based operators are another class of methods used to detect retinal vessels.\[[@ref7][@ref9][@ref10][@ref11][@ref12][@ref13][@ref14][@ref15]\] Wavelet high-pass filter and matched filter are two examples of filter-based methods. Matched filter seems to be the best vessel detection method among all filter base approaches.\[[@ref7]\] In fact, comparing the alternation of intensity level of the vessel\'s cross section with a predefined vessel template, the matched filter detects vessels and identifies them brighter than they are in the non-processed image.

First attempt to use the matched filter as a vessel detector in retinal images was done by Chaudhuri *et al.*\[[@ref9]\] They assumed vessels as piece-wise lines, which have approximated bell-shape change in intensity of their cross section.\[[@ref9]\] Thus they defined the template of the matched filter like the bell-shape curve of a Gaussian density function. In order to make the bell-shape curve, they used the Gaussian function as the kernel of the matched filter. Using a thresholding method they obtained binary image from the gray scale retinal image.

Later researchers mainly worked to improve the thresholding techniques rather than changing the kernel function which produces the template. As an instance, Al-Rawi *et al.*\[[@ref7]\] successfully proposed a new thresholding method and also enhanced the values for the parameters of the matched filter to advance the accuracy of Gaussian matched filter.

The first attempt to alter the kernel function of the matched filter was done by the authors of this article as reported.\[[@ref15]\] In this article, Student probability density function (PDF) was proposed to be used as the kernel of the matched filter instead of customary Gaussian function. They showed that using Student PDF can perk up the accuracy of the matched filter substantially.

Encouraged by this improvement, we examined other PDFs. In this paper, we propose Cauchy PDF as the new kernel of the matched filter and show the new PDF improves the accuracy of the vessel detection. In fact, Cauchy PDF appears to model the alternation in intensity of the vessel\'s cross section better than Gaussian function. That resulted in a better vessel detection as will be shown in the experimental section of this article.

THE MATCHED FILTER {#sec1-2}
==================

Distinct by its name, the matched filter detects features in an image which are most likely to a predefined template (known as kernel).\[[@ref9]\] In the matched filter vessels are assumed to be piece-wise lines with the cross sectional intensity change similar to predefined kernel. To detect lines in every direction, a set of the kernel is required.

Previous works asserted that twelve kernels are adequate to detect vessels in any directions. All the twelve kernels are produced by rotating each kernel by 15° apart from the previous one.\[[@ref7][@ref9][@ref13]\]

A study by Chaudhuri *et al.* modeled the bell-shape curve of the vessels\' cross section as Gaussian curve, using Gaussian PDF. The intensity for a cross section of a typical vessel in depicted in [Figure 1a](#F1){ref-type="fig"}, comparing to [Figure 1b](#F1){ref-type="fig"} which contains approximated Gaussian PDF.\[[@ref9]\]

![(a) Cross section of a typical vessel and (b) Its bell-shaped approximation](JMSS-4-1-g001){#F1}

The Gaussian PDF is expressed as follows:

![](JMSS-4-1-g002.jpg)

Here, σ^2^ is the variance which draws up the scale of Gaussian bell-shape curve. Using Chuadhuri\'s notation, L defines the length of the vessel which is assumed as piece-wise line in the kernel. The pair (*x*, *y*) are the coordinates of each element in the kernel, and are used to rotate the kernel due to calculate all kernels in the kernel set.

Kernels with different orientations are calculated using the rotation translation matrix defined as:

![](JMSS-4-1-g003.jpg)

The pair (*u*, *v*) are new rotated coordinates of (*x*, *y*), and *θ* is the angle which the kernel is rotated.

The number of elements in the matrix denoted by *N* and computed as:

![](JMSS-4-1-g004.jpg)

Here, T is trunk value in which the Gaussian curve should be cut. It is important to note that more than 99% of the area beneath the Gaussian curve is bounded between \[−3σ, 3σ\].\[[@ref6]\] Chaudhuri *et al.* chose 3σ for the trunk value of their Gaussian matched filter.\[[@ref6][@ref9]\]

In order to filter out an image, each pixel is convolved with all kernels. With all pixels examined, the output image consists of bright pixels, which belong to vessels and darker ones which are non-vessels. Chaudhuri *et al.* showed that the pixel response is maxima when both kernel and vessel have the same direction. To construct a set containing filters in different directions, they argued that the rotated kernel can be written as:\[[@ref9]\]

![](JMSS-4-1-g005.jpg)

After each kernel is calculated, it should be normalized to have zero mean as follows:\[[@ref9]\]

![](JMSS-4-1-g006.jpg)

Where *m*~i~ is calculated using:

![](JMSS-4-1-g007.jpg)

Where the parameter A defines the number of elements belongs to *N*.

Experimentally calculated, Chaudhuri *et al.* selected parameters are follows,

(*L*, σ, *T*) = (9, 2, 6)

It should be noted that the trunk value, which is chosen six is calculate from *T* = 3σ where σ =2.\[[@ref9]\]

Later, few attempts were conducted to improve proposed matched filter. In these attempts, researchers tried to develop better thresholding method. One of the best attempts have been done by Al-Rawi *et al.* who improved the accuracy of the matched filter by altering the parameters governing both the Gaussian function and the matched filter. Using same Gaussian PDF as the kernel, they proposed two improvements:\[[@ref7]\]

Introducing optimized Gaussian matched filter (OGMF) with enhanced parameters: (*L*, σ, *T*) = (10.8, 1.9, 8)Formulizing two stage Gaussian matched filter (TSGMF), which commencing two sets of filters. Incorporating improvement (1) above, parameters for the first stage are set as (*L*, σ, *T*) = (7.6, 1.9, 8) and the second stage uses the parameters: (*L*, σ, *T*) = (10.8, 1.9, 8).

With no changes in the orientation and the kernel size (which we refer it as window size later), the TSGMF detects vessels through two matched filters. In their method, each pixel in a raw retinal image convolves with 24 produced kernels using two different parameters defined in TSGMF. They showed that the TSGMF filtering brings more accurate the vessel detections better than solely use OGMF.

Later, the authors of this article focused on changing the type of the kernel function from Gaussian to student PDF, which resulted in more accurate retinal vessel detection filter.\[[@ref15]\] In that paper, it is shown that the accuracy of the matched filter improves further when the student PDF is used to generate the template of the matched filter.

In this paper, we propose a new kernel function, namely Cauchy function, as the matched filter template generator. The results reported in the following sections shows a boost in the vessel detection accuracy. The Cauchy function as the new kernel for the matched filter is formulated in the next section.

CAUCHY FUNCTION AS MATCHED FILTER\'S KERNEL {#sec1-3}
===========================================

Earlier, we explained that the matched filter uses a kernel function to approximate the vessel\'s cross section. Gaussian matched filter uses the Gaussian function to detect vessels of the retina. We discovered that the Cauchy PDF imitates the vessels patterns better and behaves more flexible than Gaussian matched filter, thus more vessels can be detected via a matched filter uses Cauchy function as the template generator.

The Cauchy PDF is defined as:

![](JMSS-4-1-g008.jpg)

[Figure 2](#F2){ref-type="fig"} shows a significant difference comparing the Cauchy and Gaussian functions on how these functions diminish toward their trunk values. The Cauchy PDF reaches to its trunk value slower than the Gaussian function. On the other hand, retinal blood vessels do not vanish as fast as the Gaussian function diminishes toward trunk values. Therefore, the Cauchy characteristic fits the vessel lines better than its Gaussian counterpart and thus it is makes it much more flexible to detect blood vessels in retinal images.

![The plot compares the Cauchy curve with *γ* = 1 (solid line) to the shorter tailed, standard Gaussian function (dashed line)](JMSS-4-1-g009){#F2}

Analyzing the Cauchy PDF, similar to the variance in Gaussian function, which governs the curve scales, the Cauchy PDF uses parameter *γ* for this purpose. That is, analogous to σ in the Gaussian function, small values for *γ* lead to a tight Cauchy curve. In contrast, larger σ and *γ* values expand the Gaussian and Cauchy curves on X axis, respectively.

Beside the scaling parameter, *γ*, the Cauchy function has a displacement parameter called *x*~0~. These two parameters shape the Cauchy curve and therefore have an effect on the vessels detection template. [Figure 3](#F3){ref-type="fig"} shows how *γ* and *x*~0~ affect the Cauchy\'s curve. Choosing non-zero values for *x*~0~ shifts the peak of the curve on the horizontal axis. Since we want to detect vessels which pass across the center of aperture placed of the image, we select zero value for *x*~0~ to construct an acceptable template for our detection procedure.

![Comparison between *γ* = 1 (solid line) and *γ* = 2 (dashed line) both with *x*~0~ = 0 and *γ* = 1.5 with *x*~0~ = 3 (bold line) in Cauchy function](JMSS-4-1-g010){#F3}

Constructing the filter set using Cauchy kernel, the retinal image is convolved and maximum response based on the direction of filter is calculated. To obtain final retinal map, we proposed to use local entropy thresholding algorithm that was introduced in\[[@ref16]\]- and also used in\[[@ref13]\]- to produce the binary image of the Cauchy matched filtered image. This entropy based thresholding algorithm is more accurate than other competitive methods because the dependencies between pixels\' intensity of the filtered image allows us to preserve the spatial structure in the thresholding images as argued in.\[[@ref13]\] Furthermore, combining it with global thresholding, it is assured that vessels are correctly distinguished from non-vessels.

For our experiments, we use the retinal images of DRIVE database of retinal images.\[[@ref3]\] In order to find the best suitable value for Cauchy PDF parameter, *γ*, template curves trunk value, *T*, and length, *L*, and also to measure the method\'s accuracy, we compared the resulted images from our Cauchy matched filter algorithm as well as other competitive methods with their corresponding hand labeled images provided in DRIVE database. There are three metrics to which are considered in both parameter selection and comparisons:

True positive ratio (TPR) which is defined as the number of correct detected pixels of the output image which belong to vessels divided by the number of pixels belong to vessels in the corresponding hand labeled imageFalse positive ratio (FPR) that is the number of pixels in the output image which are detected incorrectly divided by the number of pixels belong to vessels in the corresponding hand labeled imageTrue negative ratio (TNR) which is calculated by dividing the number of non-vessel pixels detected correctly in the output image by the number of pixels belong to non-vessels in the corresponding hand labeled image.

The expressed metrics are calculated for just one image. Since all images should be examined with the proposed matched filter, the mean value of expressed metrics are calculated which are abbreviated by MTPR, MFPR and MTNR, for the mean of true positive ratio, mean of false positive ratio and the mean of true negative ratio, respectively.

Note that the competitive researches reported "accuracy" as their customary metric for comparison purpose,\[[@ref6][@ref7][@ref12]\] This "accuracy" is defined by the sum of both vessel and non-vessel pixels of a resulted image detected by the matched filter divided by the sum of both vessel and non-vessel pixels in the corresponding hand labeled image. In this paper, the "accuracy" of the method for different values for Cauchy PDF parameter, *γ*, template curves trunk value, *T*, and length, *L* and also for comparison purposes, with the given definition is provided and denoted by *τ*.

The comparison among four matched filters, the Gaussian matched filter introduces in\[[@ref9]\] as a classical matched filter, the improved Gaussian matched filter introduced in\[[@ref7]\] as the most precise Gaussian based matched filter,\[[@ref6]\] the Student matched filter proposed in\[[@ref15]\] and our Cauchy matched filter introduced in this paper.

For all mentioned matched filter algorithms, images in DRIVE database are used and examined and comparison parameters (MTPR, MFPR, MTNR and *τ*) are reported.

EXPERIMENTAL RESULTS {#sec1-4}
====================

Initially, we used trial and error technique to obtain the best *γ* value for our Cauchy matched filter, the template curves trunk value, *T*, and the length value, *L*, which are led to the best accuracy, *τ*. For each parameter, a reasonable range of values are examined on all images in DRIVE database\[[@ref3]\] and then the value, which corresponds to the highest accuracy is selected. Finally, obtaining the matched filter parameters, proposed method is compared with three most prominent methods.

Parameters Selection {#sec2-1}
--------------------

As discussed earlier, the Cauchy PDF includes the parameter *γ* to control the scale of its curve. [Figure 3](#F3){ref-type="fig"} shows that decreasing or increasing in *γ* values causes the Cauchy curve to be tightened or loosen up, respectively. Arguably, considering the DRIVE database\[[@ref3]\] images as the proper general representative of blood vessels curves, to select a suitable value for *γ*, a reasonable range of integers between\[[@ref1][@ref14]\] are examined on all the blood vessels images on DRIVE database\[[@ref3]\] and the corresponding *γ* to the highest accuracy, *τ*, is chosen. As a reference, other parameters, namely MTPR, MFPR and MTNR, are also computed and reported in [Table 1](#T1){ref-type="table"}. Both the results of [Table 1](#T1){ref-type="table"} and the [Figure 4](#F4){ref-type="fig"}, which shows the comparison of different *τ* values, indicate that the best integer value for *γ* of the Cauchy matched filter is *γ* =1.

###### 

Values examined to obtain suitable value for γ

![](JMSS-4-1-g011)

![Results of [Table 1](#T1){ref-type="table"} indicates that *γ* = 1 has best accuracy among other *γ* values](JMSS-4-1-g012){#F4}

Next, we examine the DRIVE database\[[@ref3]\] to identify the best trunk value, *T*. Note that the trunk value specifies where the curve should be cut. In other words, trunk value shows the edge of the vessels in the template in the kernel of the matched filter.

Small values for trunk cause to detect only the center of the vessels, while the edges are ignored, so the accuracy decreases because some of the pixels placed in the edges of a vessel may not be detected. On the other hand, too large values for trunk cause the matched filter to interpret the texture near the vessels as vessels, incorrectly which increases FPR, and decreases subsequently the accuracy.

To identify the best value for the trunk, *T*, a valid range of integers between\[[@ref1][@ref14]\] are examined and the results are reported in [Table 2](#T2){ref-type="table"}. As both [Table 2](#T2){ref-type="table"} and [Figure 5](#F5){ref-type="fig"} indicates, *T* = 9 has the highest accuracy, *τ*, so it is chosen as the trunk value for the template of the Cauchy matched filter.

###### 

Result of examining different values for trunk parameter, T

![](JMSS-4-1-g013)

![Comparison among trunk parameter, T](JMSS-4-1-g014){#F5}

Similarly, a valid range of integers between\[[@ref1][@ref14]\] are examined on the images of the DRIVE database\[[@ref3]\] to identify the best suited value for the length of the template denoted with *L*. The length corresponds to the length of assumed piece wise line embedded in the kernel. Reported in [Table 3](#T3){ref-type="table"}, experimental results indicates that L = 8 leads to highest *τ* among others and therefore, L is selected as such. The impact of different length is also depicted in [Figure 6](#F6){ref-type="fig"}.

###### 

Results of examining range of values for vessel length, L

![](JMSS-4-1-g015)

![Choosing L = 8 as an adequate value for length](JMSS-4-1-g016){#F6}

Next parameter to be considered is the kernel size, which affects both the accuracy and the algorithm run time. While a small kernel size decreases the accuracy, a large kernel size increases the computational complexity. Small kernel size decreases the accuracy because vessels with large diameters fulfill the whole kernel, so for the matched filter, they are detected like the retinal texture where the bell-shape feature is not found in it. This causes the matched filter to detect just the edges of thick vessels like a two side-rail which are imprecisely interpreted as two parallel vessels.

In contrast, a large kernel size has no positive effect on the accuracy because the template is bounded by the parameter *L*. The large kernel size, however, requires more computations during the filtering procedure since many more pixels need to be convolved for the elements in the kernel.

Chaudhuri *et al.* in\[[@ref9]\] proposed to use a 17-pixel kernel size for their Gaussian matched filter. Al-Rawi *et al.* in\[[@ref7]\] used this same kernel size in their improved matched filter algorithm and avoid discussing on why the 17-pixel kernel size is picked up. Zolfagharnasab and Naghsh-Nilchi in\[[@ref15]\] used a 13-pixel kernel size concluded from their practical experiments set. Similar experiment is done here and the results are reported in [Table 4](#T4){ref-type="table"}. This table consists of reasonable kernel size, *W*, and the resulted accuracy and calculation times are reported. [Table 4](#T4){ref-type="table"} and [Figure 7](#F7){ref-type="fig"} shows that *W* = 17 pixels have the highest accuracy among others.

###### 

Results of examining different values for window size, W, running on a 2.53 GHz Intel core i5, 3 GB DDRIII PC

![](JMSS-4-1-g017)

![The effect of increasing window size, W, on accuracy](JMSS-4-1-g018){#F7}

Implementing and Comparison {#sec2-2}
---------------------------

We implemented our proposed Cauchy matched filter in Mathworks MATLAB 7.6.0 and we examined all the retinal blood vessel images in the DRIVE database of retinal images.\[[@ref3]\] As mentioned earlier, we compared our proposed Cauchy matched filter with three other prominent matched filter algorithms, namely the classic Gaussian matched filter first introduced by Chaudhuri *et al.* in,\[[@ref9]\] best available Gaussian matched filter introduced by Al-Rawi *et al.* in\[[@ref7]\] and the Student matched filter as the most accurate kernel based matched filter methods in detecting retinal vessels introduced by Zolfagharnasab and Naghsh-Nilchi in.\[[@ref15]\]

Matlab codes for all four methods are prepared and then, several experiments conducted using the same thresholding method for all four. Thresholding method could affect the accuracy. Since each of them used their own thresholding method, in order to have a fair comparison, we used a combination of Otsu\[[@ref17]\] and local entropy thresholding methods\[[@ref14]\] as the universal thresholding method to obtain binary images for all four methods. Filtered image is segmented in 32 levels with Otsu method. Later, by applying local entropy thresholding method, the segmented image is converted to the binary vessel map. Such two-step threshold guarantee the effectiveness of the method, because pixels in the first and fourth quarter of the histogram can change the threshold value applied in entropy thresholding method.

The MTPR, MFPR, MTNR and accuracy, *τ* for our new method and all other three methods are calculated and reported in [Table 5](#T5){ref-type="table"}. In addition, [Figure 8](#F8){ref-type="fig"} provides the accuracy of the overall methods in compare to each other.

###### 

Comparing matched filters with different kernel functions to determine which kernel function is more accurate

![](JMSS-4-1-g019)

![Accuracy comparison amidst four matched filter kernels. As it is shown, the proposed matched filter is more accurate](JMSS-4-1-g020){#F8}

The reported MTPR in [Table 5](#T5){ref-type="table"} indicates that the Student matched filter method provide the best MTPR, meaning that the correct detection of the vessels is best done by this algorithm. Other than that, our Cauchy matched filter, provides the best MFPR and MTNR among all. That is, our method is able to not falsely detect pixels as vessels\' pixels and also it is able to correctly detect non-vessel pixels better than all other methods. In addition, our Cauchy matched filter algorithm provides the most accurate results with the accuracy of *τ* =92.69%, a 1.34% and a 1.73% better than Student matched filter and Al-Rawi *et al.* methods, respectively and a significant 5.60% better than Chuadhuri\'s *et al.* method.

[Figure 9](#F9){ref-type="fig"} shows an example of the retinal image being processed by classical Gaussian matched filter algorithm introduced by Chaudhuri *et al.*, Al-Rawi *et al.* improved Gaussian matched and Cauchy matched filter algorithm of this paper. Visually, one can confirm the experimental results of [Table 5](#T5){ref-type="table"}. It can clearly be seen that some vessels could be detected by our method while they are not visible in other methods\' results. That is, Cauchy filter based algorithm of this article results a clearer and more precise image of the blood vessels.

![Visual comparison among different matched filter outputs: (a) Retinal image, (b) Classical matched filter proposed by Chaudhuri *et al.* (c) Improved matched filter proposed by Al-Rawi *et al.* and (d) Cauchy matched filter proposed in this paper](JMSS-4-1-g021){#F9}

Moreover [Figure 10](#F10){ref-type="fig"} contains segmented vessels from an abnormal retina. Although the retina contains some abnormalities, the overall accuracy remains 91.70% with 3.5% of FPR, since the algorithm tried to detect structure similar to the constructed Cauchy template.

![(a) Digital fundus image from an abnormal retina, (b) Filtered image with Cauchy matched filter, (c) Manual vessel extraction, (d) binary resulted image obtained by combination of Otsu and local entropy thresholding methods](JMSS-4-1-g022){#F10}

CONCLUSION {#sec1-5}
==========

In this paper, we proposed a new kernel function for the retinal blood vessels matched filters based detectors. It is shown that the Cauchy probability distribution function could be substituted with customary Gaussian function used by prominent researchers reported in\[[@ref7][@ref9]\] and even replacing the Student PDF offered in our previous works. The reason of higher accuracy is due to better matching between Cauchy-based template and vessel profile.

In addition, with a trial and error technique, suitable values for the matched filters variables such as length, *L*, trunk, *T* and kernel size, *W*, in general; and for the scale variable, *γ*, of the offered Cauchy method based, in specific, could be determined. In general, the identified values improved the matched filters offered by others as well as set a well-designed Cauchy matched filter.

The proposed Cauchy matched filter is compared under similar circumstances with three other matched filters to have a fair comparison on all kernel functions. That is, the same local entropy and Otsu thresholding methods demonstrated in\[[@ref14]\] and\[[@ref17]\] are used for all three matched filters as well as our Cauchy matched filter.

All retinal blood vessels images at DRIVE database in\[[@ref3]\] are used for our experiments and four comparing parameters including MTPR, MFPR, MTNR and accuracy *τ* are measured to compare the results. Experimental results reported in [Table 5](#T5){ref-type="table"} and [Figure 8](#F8){ref-type="fig"}. All in all, from the results, it is deduced that the offered matched filter with the Cauchy PDF as its kernel is a better choice to detect blood vessels in the digital retinal images.

BIOGRAPHIES {#sec1-6}
===========

![](JMSS-4-1-g023.jpg)

**Hooshiar Zolfagharnasab** was born in 1987. Regarding B.Sc., he received Computer Hardware Engineering degree from Shahed University of Tehran in 2009. Graduated in 2011, he got M.Sc. degree in Computer Architecture Engineering from the University of Isfahan, Iran. Currently he is studying PhD in Electrical and Computer Engineering at the University of Porto, Portugal. His main research fields are pointcloud registration, medical image processing and computer networks.

**E-mail:** <hozo19@gmail.com>, <dee12012@fe.up.pt>

![](JMSS-4-1-g024.jpg)

**Ahmad Reza Naghsh-Nilchi** is an associate professor at the University of Isfahan, Iran. He received his B.S., M.S. and PhD, all in electrical engineering from the University of Utah, Salt Lake City, Utah, USA. His research interests include medical image and signal processing as well as intensive computing. He has been an author or co-author of several journal articles and conference papers and a couple of book sections. He is the editor-in-chief of the Journal of Computing and Security. He has served as the chairman of the Computer Engineering department for three terms and now is the chairman of newly established department of Artificial Intelligent and Multimedia Engineering all at the University of Isfahan. He has collaboration with internationally known institutions and peers and served as research scholar at the National University of Ireland (summer 2011), and the University of California, Irvine (2012), He was listed as Who\'s Who in the World 2011^®^.

**E-mail:** <nilchi@eng.ui.ac.ir>

**Source of Support:** Nil

**Conflict of Interest:** None declared
