Keywords

1 Introduction

According to the National Center for Health Statistics, cardiovascular diseases (CVD), including coronary heart disease and stroke, are the most common cause of death in the USA [35]. Since the beginning of the 20th century, researchers have shown that retinal microvascular abnormalities can be used as biomarkers of CVD [15, 16, 23]. Retinal vasculature can be non-invasively assessed using DFIs, which can be easily obtained using a fundus camera. Consequently, retinal vascular features obtained from DFI may be used to characterize and analyze vascular health. In order to enable reproducible research, it is necessary to fully automate the computation of these biomarkers from the segmented vasculature. We developed a Python Vasculature Biomarker Toolbox (PVBM), based on DFI segmentations made by expert annotators from the University Hospitals Leuven in Belgium. PVBM enables a quantitative analysis of the vascular geometry thereof with broad application in retinal research. In this paper we illustrate the potential of PVBM by characterizing vascular changes in glaucoma patients.

1.1 Prior Works

Connection Between Retinal Vasculature and Cardiovascular Health: As early as of beginning of the 20th Century research has been carried out to assess the relationship between the retinal vasculature and cardiovascular health. Marcus Gunn can be seen as one of the first to describe the relation between hypertension and retinal characteristics [15, 16], and is followed by the work of H.G Scheie [43] in 1953. In 1974, N.M Keith showed that hypertension and its mortality risk is reflected in the retinal vasculature [23] and in 1999 Sharrett et al. [44] added arterio-venous nicking and arteriole narrowing to the list of pathological findings. Examples of retinal microvascular abnormalities in hypertensive patients can be seen in Fig. 1. Witt et al. [50] concluded that vessel tortuosity significantly distinguished between patients with ischemic heart disease and healthy controls. Over the years retinal vessel calibres were shown to change in hypertension [4], obesity [18], chronic kidney disease [33, 42], diabetes mellitus [4], coronary artery disease [17] and glaucoma [22]. Fractal dimensions of the retinal vascular tree are among the newest biomarkers to study cardiovascular risk. Monofractal dimension was shown to change with age, smoking behaviour [24], blood pressure [27], diabetic retinopathy [6], chronic kidney disease [45], stroke [9], and coronary heart disease mortality [25], while Multifractal dimensions were found to be negatively associated with blood pressure and WHO/ISH cardiovascular risk score [49]. The established association between vascular biomarkers and CVD prompts the development of algorithmic solutions for automated computation thereof.

Automated Biomarker Computation Based on DFIs: Several attempts have been made to extract meaningful biomarkers to characterize cardiovascular health based on DFI vasculature. In 2000, Martinez-Perez et al. [32] introduced a semi-automated algorithms capable of computing vasculature biomarkers (VBMs) such as vessel diameter, length, tortuosity, area and branching angles. In 2011, Perez-Rovira et al. [38] created Vessel Assessment and Measurement Platform for Images of the REtina (VAMPIRE), a semi-automatic software that can extract the optic disk and compute vessel width, tortuosity, fractal dimension, and branching coefficient. RetinaCAD was developed in 2014 [8]. This automated system is able to calculate Central Retinal Arteriolar Equivalent (CRAE), the Central Retinal Venular Equivalent (CRVE), and the Arteriolar-to-Venular Ratio (AVR). Lastly, many algorithmic approaches have been developed to estimate the blood vessel tortuosity [14, 19, 36]. Last year, Provost et al. [40] used the MONA REVA software which semi-automatically segments retinal blood vessels and measures tortuosity and fractal dimension in order to analyze the impact of their changes on children’s behaviour.

Fig. 1.
figure 1

Examples of retinal vascular signs in patients with cardiovascular diseases. Reproduced with permission from Liew et al. [26]. Black arrow: focal arteriolar narrowing, White arrow: arterio-venous nicking, Yellow arrow: haemorrhage, Blue arrow: micro-aneurysm, Red arrow: cotton wool spot. (Color figure online)

1.2 Research Gap and Objectives

Vasculature biomarkers have been previously proposed and implemented in a semi or fully automated manner. However, these biomarkers were only analyzed individually across multiple groups. Hence the need to use a combined, comprehensive set of VBM within a machine learning (ML) framework for disease diagnosis and risk prediction. The large number of images needed to train ML algorithms require a fully automated computation of these VBM. In this paper we created a computerized toolbox, denoted PVBM, that enables the computation of 11 VBMs engineered from segmented arteriolar or venular networks. A potential application of PVBM is demonstrated by comparison of VBM in glaucoma patients versus healthy controls.

2 Methods

2.1 Dataset

A database provided by the University Hospitals of Leuven (UZ) in Belgium was used. This database contains 108,516 DFIs, centered around the optic disc. The resolution of \(1444\times 1444\) is higher than most public databases, which enables the visualization of smaller blood vessels. Median age was 66 (Q1 and Q3 respectively 54 and 75 years old) and \(52\%\) were women. For a subset of the database, the blood vessels were manually segmented by retinal experts using Lirot.ai on Apple iPad Pro 11” and 13” [12]. This subset is denoted UZFG and consists of 69 DFIs. The patients included in UZFG were between 19 and 90 years old with a median age of 61 (Q1 and Q3 were 57 and 70 years old), \(58\%\) were female. UZFG has \(59\%\) of left and \(41\%\) of right eye DFIs. Patients belonging to the UZFG are separated into the classes: Normal ophthalmic findings (NOR) and Glaucoma (GLA) (Table 1).

Table 1. Leuven A/V segmented database (UZFG) summary including the median (Q1–Q3) age, the gender and the diagnosis for the glaucoma (GLA) patient and normal ophthalmic findings (NOR) patient.

Protocol for DFI Vasculature Segmentation by Experts: Arterioles carry higher concentration of oxyhemoglobin than venules and therefore exhibit a brighter inner part compared to their walls. This feature is known as the central reflex and is more typical for larger arterioles [34]. The exact intensity of this reflection is additionally influenced by the composition of the vessel wall [21], the roughness of the surface, the caliber of the blood column, the indices of refraction of erythrocytes and plasma, the pupil size, the axial length of the eye and the tilt of the blood vessel relative to the direction of incident light. Since the branching of arterioles and venules can be found inside the optic nerve head, two arterioles or venules can be found adjacently at the optic disc rim [5]. The image variability in term of color, contrast, and illumination, challenge an accurate (automatic) arteriole-venule discrimination [3]. Vessel segmentation was manually performed by a pool of ten ophthalmology students experienced in microvascular research, using the software Lirot.ai [12] and afterwards corrected by an UZ retinal expert. Arteriole-venule discrimination was carried out based on the following visual and geometric features [34]:

  • Venules are darker than arterioles.

  • The central reflex is more recognizable in arterioles.

  • Venules are usually thicker than arterioles.

  • Venules and arterioles usually alternate near the optic disc.

  • It is unlikely that arterioles cross arterioles or that venules cross venules.

2.2 Digital Vasculature Biomarkers

A total of 11 VBMs were implemented in PVBM (Table 2). The biomarkers were computed separately for arterioles and venules.

Table 2. List of digital vasculature biomarker implemented in PVBM.

Overall Length: The OVLEN biomarker refers to the sum of the length of a vascular network, whether for arterioles or venules. To compute it, the first step is to extract the skeleton of the vascular network, which can be seen in Fig. 2. Then the number of pixels that belong to this skeleton are summed, and divided by the image size (1444\(\,\times \,\)1444), then multiplied by 1000 for scaling purposes. It is computed using the following formula:

$$\begin{aligned} OVLEN = 1e3*\frac{\varSigma _{p \in S} \sqrt{2}*\mathbb {1}_{|\partial _x p| + |\partial _y p| = 0}(p) + \mathbb {1}_{|\partial _x p| + |\partial _y p| \ne 0}(p)}{1444^2} \end{aligned}$$
(1)

where S is the set of pixel inside the skeletonized image (Fig. 2), and x/y represent the horizontal/vertical direction.

Fig. 2.
figure 2

Skeletonization process of a vascular network. (A): Example of a vascular network \(y_{a}\), (B): Corresponding skeleton of \(y_{a}\).

Fig. 3.
figure 3

Border computation process of a vascular network. (A): Vascular network \(y_{a}\), (B): Corresponding computed edge of \(y_{a}\).

Overall Perimeter: The OVPER refers to the sum of perimeter’s length of a vascular network. It is computed as the length of the border of the overall segmentation. It required an edge extraction of the segmentation, which could be easily found by convolving the original segmentation by a Laplacian filter (Fig. 3). It is computed using the following formula:

$$\begin{aligned} OVPER = 1e2*\frac{\varSigma _{p \in E} \sqrt{2}*\mathbb {1}_{|\partial _x p| + |\partial _y p| = 0}(p) + \mathbb {1}_{|\partial _x p| + |\partial _y p| \ne 0}(p)}{1444^2} \end{aligned}$$
(2)

where E is set of pixel inside the edge image of the vascular network (Fig. 3) and x/y represent the horizontal/vertical direction.

Overall Area: OVAREA is defined as the surface covered by the segmentation. In terms of pixels, it could be represented as the ratio of white pixels in the segmentation to the overall number of pixels. It is computed using the following formula:

$$\begin{aligned} OVAREA = 1e2*\frac{\varSigma _{p \in V} \mathbb {1}_{1}(p)}{1444^2} \end{aligned}$$
(3)

where V is set of pixel inside the image of the vascular network (Fig. 3).

Endpoints and Intersection Points: The endpoints are the points at the end of the vascular network, which means in the skeleton version of the network, the points which have only one neighbor which belongs to the skeleton. The intersection points are the points where a blood vessel is divided into more than one blood vessel, which means in the skeleton version of the network, the points which have more than two neighbors which belong to the skeleton. Their automatic detection was done using a filter k of size (3\(\,\times \,\)3) where \(k_{i,j} = 10\) if \(i=j\), or \(k_{i,j} = 1\) otherwise. The skeleton is then convolved with this filter to obtain a new image. In this new image, the endpoints will be the pixels with a value of 11, and the intersection points will be the pixels with a value of 13 or larger (Fig. 4). We can represent the endpoints and the intersection points according to the following equation:

$$\begin{aligned} END = \{p = (i,j) \in Skeleton | (Skeleton \circledast \begin{pmatrix} 1 &{} 1 &{} 1\\ 1 &{} 10 &{} 1\\ 1&{}1&{}1 \end{pmatrix})[i,j] = 11 \} \end{aligned}$$
(4)
$$\begin{aligned} INTER = \{p = (i,j) \in Skeleton | (Skeleton \circledast \begin{pmatrix} 1 &{} 1 &{} 1\\ 1 &{} 10 &{} 1\\ 1&{}1&{}1 \end{pmatrix})[i,j] \ge 13 \} \end{aligned}$$
(5)
Fig. 4.
figure 4

Automatic detection of the particular points of a vascular network. (A): Vascular network \(y_{a}\), (B): Automatic detection of the intersection points (INTER = 32) of \(y_{a}\), (C): Automatic detection of the endpoints (END = 40) of \(y_{a}\).

Particular points is the name given to the combinated set of points resulting from the union of the endpoints and intersection points. The number of endpoints (END) and the number of intersection points (INTER) were computed as VBMs.

Median Tortuosity: The simplest mathematical method to estimate tortuosity is the arc-chord ratio, defined as the ratio between the length of the curve and the distance between its ends [19]. In our work, the median tortuosity was computed using the arc-chord ratio based on the linear interpolation of all the blood vessels. For that purpose, the skeleton is treated as a graph and particular points are extracted. To compute the linear interpolation it is then required to find all the particular points connected to a given particular point. The connection between each particular point was stored in a dictionary according to Algorithm 1; the output of this algorithm is a dictionary where the keys are the particular points, and the values are the list of the connected particular points. Having this dictionary, it is possible to generate the linear interpolation between each connected particular point, as it is shown in Fig. 5. The tortuosity of each blood vessel can be estimated by computing the ratio between the blood vessel’s length (yellow curves in Fig. 5) and the length of the interpolation of this blood vessel (red lines in Fig. 5). The median tortuosity will then be the median value of the tortuosity of all the blood vessels.

figure a
Fig. 5.
figure 5

Computing the linear interpolation of a vascular network. (A): Vascular network \(y_{a}\) and (B): Linear interpolation between all the particular points of \(y_{a}\).

Branching Angles: A vascular network’s branching angles (BA) can be defined as the angle where a blood vessel is divided into smaller blood vessels. The computation of BA is performed using the following steps: starting by extracting all the angles of a vascular network using a simple modification of the linear interpolation algorithm that we developed to compute the tortuosity (Fig. 6). To extract only the branching angles, all other angles need to be discarded. For instance, in Fig. 6 an ellipse has been drawn around a branching angle, giving us the following four points A, B, C and D. These points define the following two segments: [A, C] and [B, D] with their intersection point C. Three different angles can be computed from this branching: \(\widehat{ACD}\), \(\widehat{ACB}\) and \(\widehat{BCD}\). The branching angle corresponds to \(\widehat{ACB}\). We need to define the centroid of the graph in order to find the only relevant angle.

In a connected graph, we define a centroid as the closest point to any other particular point of the graph. To compute the centroid, we will need to extract a set of points S, which will be our particular points in a connected graph;

$$\begin{aligned} S = \{p, p \in skeleton, N(p) \not \in \{2,0\}\} \end{aligned}$$
(6)

where N(p) is the number of neighbouring pixels of p which belong to the skeleton.

Then we create a metric f such that for any point p in the skeleton of the segmentation:

$$\begin{aligned} f(p)=max_{s \in skeleton} dist(p,s) \end{aligned}$$
(7)

where dist is the distance, measured as the number of pixels required to reach s from p by staying inside the skeleton. The centroid will naturally be the point with the lowest value according to this function. And for a random point p, the higher the value of f(p), the farther p is from the centroid. A simple example can be seen in Fig. 7. This also generalizes to segmentation with multiple disconnected parts, assuming that each part has a centroid. The branching angle between A, B, C, and D is the angle between the 3 points that are the farthest from the centroid of the blood vessel in terms of pixel distance when you navigate through the graph of the vascular network which is equivalent to our challenge of deleting the closest point to the centroid of the blood vessel. It is possible to delete the irrelevant point thanks to this centroid detection, and to compute the set of the branching angles \(\varGamma = \{BA_{i}\}_{i=1:n}\) automatically (Fig. 8). The BA biomarker is defined by the median of all the found angles.

$$\begin{aligned} BA = median\{a \in \varGamma \} \end{aligned}$$
(8)

where \(\varGamma \) is the set of the detected branching angles.

Fig. 6.
figure 6

Computation of all the angle of a vascular network.

Fig. 7.
figure 7

Computation of the centroid of a simple graph. (A): Original graph, (B): Particular point detection, (C) Value of the f(.) function for each pixel of this graph, (D): Heatmap where the centroid is the point with the lowest value according to the function f(.).

Fig. 8.
figure 8

Automated computation of the branching angles of the vascular network. (A): Original segmentation, (B): Branching angles detected automatically.

Fractal Dimensions: The retinal blood vessels form a complex branching pattern that can be quantified using fractal dimension (monofractal) [11, 30, 31]. In fractal geometry, the fractal dimension is a measure of the space-filling capacity of a pattern that tells how a fractal scales differently from the space it is embedded in. Fractal dimension can be thought of as an extension of the familiar Euclidean dimensions allowing intermediate states. The fractal dimension of the retinal vascular tree lies between 1 and 2, indicating that its branching pattern fills space more thoroughly than a line, but less than a plane [30]. The fractal dimension measures the global branching complexity, which can be altered by the vessel rarefaction, proliferation and other anatomical changes in a pathological scenario. The simplest and most common method used in the literature for monofractal calculation is the box-counting method [31].

However, a single monofractal is limited in describing human eye retinal vasculature. It has been observed that retinal vasculature has multifractal properties which are a generalized notion of a fractal dimension [46,47,48]. Multifractal dimensions are characterized by a hierarchy of exponents which can reveal more complex geometrical properties in a structure [47]. The most common multifractal dimensions for measuring retinal vasculature are \(D_{0},D_{1},D_{2}\) which satisfy the inequality \(D_{0}>D_{1}>D_{2}\) [39, 46] and also called the capacity dimension (a monofractal), entropy dimension and correlation dimension respectively. Following [49], we have implemented \(D_{0},D_{1},D_{2}\) and Singularity length in a similar manner to Chhabra et al. [7] and the commonly used plugin FracLac [20] for ImageJ software [41]. The generalized multifractal dimensions are defined as:

$$\begin{aligned} D_{q}={\left\{ \begin{array}{ll} -\lim _{\epsilon \rightarrow 1}\frac{\sum _{i}P_{i}\left( \epsilon \right) \log P_{i}\left( \epsilon \right) }{\log \epsilon } &{} ,q=1\\ \\ \frac{1}{q-1}\lim _{\epsilon \rightarrow 0}\frac{\log \sum _{i}P_{i}^{q}\left( \epsilon \right) }{\log \epsilon } &{} o.w. \end{array}\right. } \end{aligned}$$
(9)

where \(P_{i}(\epsilon )\) is the pixel probability in the \(i^{\text {th}}\) grid box sized \(\epsilon \), and q is the order of the moment of the measure. In addition, multifractals can be described by a singularity spectrum \(f\left( \alpha \right) -\alpha \) which is related to the \(D_{q}-q\) spectrum by the Legendre transformation. In order to calculate \(f\left( \alpha \right) -\alpha \) spectrum, we use an alternative approach described by [7]:

$$\begin{aligned} f\left( q\right) =\lim _{\epsilon \rightarrow 0}\frac{\sum _{i}\mu _{i}\left( q,\epsilon \right) \log \mu _{i}\left( q,\epsilon \right) }{\log \epsilon } \end{aligned}$$
(10)
$$\begin{aligned} \alpha \left( q\right) =\lim _{\epsilon \rightarrow 0}\frac{\sum _{i}\mu _{i}\left( q,\epsilon \right) \log P_{i}\left( \epsilon \right) }{\log \epsilon } \end{aligned}$$
(11)
$$\begin{aligned} \mu _{i}\left( q,\epsilon \right) =\frac{P_{i}\left( \epsilon \right) ^{q}}{\sum _{i}P_{i}\left( \epsilon \right) ^{q}} \end{aligned}$$
(12)

The \(f\left( \alpha \right) -\alpha \) spectrum is characterized by a bell shaped curve with one maxima point. From this curve, an additional biomarker is computed - the spectrum range \(\varDelta \alpha \) which is also called Singularity Length (SL).

$$\begin{aligned} \alpha _{\text {min}}=\lim _{q\rightarrow \infty }\alpha \left( q\right) ,\,\alpha _{\text {max}}=\lim _{q\rightarrow -\infty }\alpha \left( q\right) \end{aligned}$$
(13)
$$\begin{aligned} \varDelta \alpha =\alpha _{\text {max}}-\alpha _{\text {min}} \end{aligned}$$
(14)

SL quantifies the multifractality degree [29] of an image.

The calculation of Eqs. 9, 10, 11 was done by linear regression with a linear set of box sizes \(\epsilon \) for every q. The values of these graphs are sensitive to grid placement on the segmented DFI image, as they depend on pixel distribution across the image. We followed a similar optimization method as used by the FracLac plugin [20], which is to change the sampling grid location by rotating the image randomly, and to choose the measurement which satisfies the inequality \(D_{0}>D_{1}>D_{2}\) and has the highest value of \(D_{0}\). In addition, to overcome numerical issues saturated grid boxes and grid boxes with low occupancy of pixels were ignored. \(\alpha _{\text {min}}\) and \(\alpha _{\text {max}}\) were estimated by \(\alpha _{\text {min}}\approx \alpha \left( q=10\right) \) and \(\alpha _{\text {max}}\approx \alpha \left( q=-10\right) \).

Benchmark Against Existing Software: In order to validate the implementation of some of the biomarkers we implemented in PVBM we benchmarked their values against two ImageJ plugins, namely AnalyzeSkeleton [2] and FracLac [20]. The benchmark was performed for the arterioles from the entire UZFG dataset. A direct benchmark could be performed for the following biomarkers: OVAREA, TOR, D0, D1, D2 and SL. An extrapolated comparison could be performed for the OVLEN. Indeed, these were not directly outputted by the plugin, but could be derived from the AnalyzeSkeleton [2] plugin. No benchmark could be performed for OVPER, END, INTER and BA because of the lack of open source available benchmark software.

3 Results

Table 3 shows that the VBMs benchmarked against reference software had very close values with normalized root mean square errors ranging from 0 to 0.316.

Tables 4 and 5 provide summary statistics and a statistical analysis of the VBMs for the GLA NOR groups. The statistics were presented as median and interquartile (Q1 and Q3), and the p-value from the Wilcoxon signed-rank. The arteriolar OVAREA, OVLEN, and END were the most significant in distinguishing between the two groups. Figure 9 presents qualitative examples of three DFIs with arteriolar OVAREA, OVLEN, BA, END and D0 VBM values.

Fig. 9.
figure 9

Example of biomarkers computed from the arterioles of two DFIs. The first row is a DFI of a healthy control (NOR) and the second column is from a glaucoma patient (GLA). The OVAREA biomarker shows a larger vascular area in the NOR images. The BA biomarker shows that the branching of the NOR image are bigger than the one of the GLA image. Finally, the END biomarker indicates that the GLA image had less arteriolar branching compared to healthy controls, leading to a lower number of endpoints.

Table 3. PVBM benchmark against reference ImageJ plugins using the arterioles of the UZFG dataset. \(\mu \): mean, \(\sigma \): standard deviation, RMSE: root mean square error, NRMSE: normalized root mean square error.
Table 4. Summary of the biomarkers analyzed for arterioles (a) and extracted with the PVBM toolbox with their median (Q1–Q3). Refer to Table 2 for the definition of the VBM acronyms. P-values are provided using the Wilcoxon signed-rank test.
Table 5. Summary of the biomarkers analyzed for venules (v) and extracted with the PVBM toolbox with their median (Q1–Q3). Refer to Table 2 for the definition of the VBM acronyms. P-values are provided using the Wilcoxon signed-rank test.

4 Discussion and Future Work

The first contribution of this work is the creation of a toolbox for VBMs, which is made open source under a GNU GPL 3 license and will be made available on physiozoo.com (following publication). In particular, novel algorithms were introduced to estimate the tortuosity and branching angles.

The second contribution of this work is the application of the PVBM toolbox to a new dataset of manually segmented vessels from DFIs. The statistical analysis that we have performed showed that the arterioles-based biomarkers are the most significant in distinguishing between NOR and GLA. For arterioles and venules, all biomarkers were significant and lower in glaucoma patients compared to healthy controls except for tortuosity, venular singularity length and venular branching angles.

A limitation of our experiment is that although the images were taken with the same procedure, which includes the disk being centered, there is some variation in the exact location of the disk due to the non-automated operation. In future work, we need to consider the detection of the disk to delineate a circular frame centered on the disk to engineer the vasculature biomarkers more consistently. Furthermore, other biomarkers may be implemented such as the vessel diameter [13], CRAE [37], CRVE [37], branching coefficients [10] which is the ratio of the sum of the cross-sectional areas of the two daughter vessels to the cross-sectional area of the parent vessel at an arteriolar bifurcation [10]. Finally, it is to be studied to what extent VBMs may be evaluated from vasculature obtained using an automated (versus manual) segmentation algorithm as well as the effect of DFI quality [1] on the results.