Keywords

1 Introduction

Ankylosing Spondylitis (AS) is a progressive inflammatory arthritis affecting primarily the spine. It characteristically causes back pain and can lead to structural and functional impairments. As a result, AS patients may suffer from work disability, unemployment, and reduced quality of life. Estimates of prevalence rates range from 0.1 to 1.4 % of the general population. AS is about twice as common in men as in women. It has a known association with an important immunogenetic component of DNA known as HLA-B27. The majority of patients affected by AS are HLA-B27 positive. AS patients may also develop inflammation of tendon–bone junctions and the eye. Commonly affected areas of bony involvement are the spine and sacroiliac joints. Progression of AS is best characterized by abnormal bone (syndesmophytes) formation along the margins of inter-vertebral disk spaces (IDS). Syndesmophytes cause irreversible and progressive structural damage, and over decades, can lead to spinal fusion [1, 2].

Monitoring syndesmophyte evolution is essential for many clinical studies of AS. Recently available treatments, tumor necrosis factor (TNF) inhibitors, have attracted much attention and fostered new hope by substantially reducing signs of inflammation and improving quality of life [35]. However it is still an open question whether they slow syndesmophyte growth or not. Most studies seem to show a slight deceleration but without statistical significance [610]. The causes of bone formation in AS are still poorly understood. In particular, the involvement of inflammation, which has face value plausibility, constitutes a perplexing and still unanswered question. Evidence of the correlation between inflammation and syndesmophyte growth has been marginal at best despite extensive studies [1118]. To elucidate the mechanisms of bone formation in AS at a molecular level, correlation between syndesmophyte growth and various biomarkers of bone turnover has been investigated [19, 20]. Predictors of syndesmophyte formation have been sought with only limited success [21, 22]. New promising perspectives on syndesmophyte growth have been opened by genetic studies [23, 24]. In particular, Dickkopf-1 (DKK-1), a regulatory molecule of the Wnt pathway which controls embryonic development, has attracted much attention [2527].

Unfortunately, all those studies have been hampered by the fact that the current standard for assessing syndesmophyte growth, the visual examination of radiographs, has very poor sensitivity to change. This low sensitivity to change is not only a reflection of the slow growth rate of syndesmophytes. It is also caused by the limitations of radiography, which projects 3D objects onto 2D images with attendant losses of spatial information and ambiguities in density caused by superimposition. Moreover, syndesmophytes on radiographs are usually rated using coarse semi-quantitative reading systems [28, 29]. The modified Stoke Ankylosing Spondylitis Spinal Score (mSASSS) has emerged as the most widely used reading system [30]. The crudeness of the scoring systems further limits sensitivity to change [31]. Figure 1 shows an example of syndesmophyte growth visible on reformatted CT but not radiography.

Fig. 1
figure 1

Example of syndesmophyte growth from baseline (BL) to year 1 (Y1) visible on CT reformations but not on radiographs

To overcome the limitations of radiographic methods, we designed a computer algorithm that quantitatively measures syndesmophyte volumes in the 3D space of CT scans [32, 33]. The algorithm is described in the following section. In Sect. 3, we investigate its accuracy and precision. Results of a 2-year longitudinal study are presented in Sect. 4. We review the future challenges of the new method in Sect. 5 before concluding in Sect. 6.

2 The Algorithm

The complete algorithm, summarized in Fig. 2, has of three main parts. First, vertebral bodies are segmented using a 3D multi-stage level set method. Triangular meshes representing the surfaces of the segmentations are made [34]. The 3D surfaces shown in Fig. 2 are triangular meshes obtained from our segmentation results. The vertebral surfaces of corresponding vertebrae are then registered. The purpose of the registration is to extract the syndesmophytes of both vertebrae using the same reference level. Syndesmophytes are cut from the vertebral body using the end plate’s ridgeline as the reference level.

Fig. 2
figure 2

Overview of the complete algorithm

2.1 Segmentation of the Vertebral Bodies

Many image processing segmentation techniques have previously been applied to the extraction of vertebral bodies in CT [3542]. For our algorithm, we chose to use level sets for their flexibility [43]. Flexibility is essential in our application as syndesmophytes can deform the normal vertebral shape in unexpected ways. Level sets are evolving contours or surfaces that can expand, contract, and even split or merge. For the purpose of segmentation they are designed to deform so as to match an object of interest. Many different types of level set exist, depending on the image features chosen to guide the segmentation. For our particular purpose, we selected two level sets based on edge features: the geodesic active contour (GAC) [44] and what we call for convenience the classical level set (CLS) [43]. The GAC evolves according to the equation [44]:

$$\frac{d\psi }{dt} = \alpha g\left( {\vec{x}} \right)c\left| {\nabla \psi } \right| + \beta g\left( {\vec{x}} \right)\kappa \left| {\nabla \psi } \right| + \gamma \nabla g\left( {\vec{x}} \right)\nabla \psi$$
(1)

Contours encoded as the zero level set of a distance function \(\psi \left( {\vec{x},t} \right)\): points that verify \(\psi \left( {\vec{x},t} \right) = 0\) form the contour. The three terms on the right-hand side of the equation respectively control the expansion or contraction of the contour (velocity c), the smoothness of the contour using the mean curvature \(\kappa\) and the adherence of the contour to the boundary of the object to be segmented. The last term, often called advection term, is specific to the GAC and is responsible for its robustness to gaps in an object’s boundary. The parameters \(\alpha\), \(\beta\) and \(\gamma\) allow the user to weight the importance of each term. The spatial function \(g\left( {\vec{x}} \right)\), often called speed function, is derived from the images to be segmented and contains information about the objects’ boundaries. The design of the speed function is crucial for the success of the segmentation. Depending on the specific needs of the application, information on the object’s boundary can be based on image gradient, Laplacian or any other relevant feature. The CLS is equivalent to the GAC without the advection term. The omission of the advection term makes the CLS more flexible.

A vertebral body is composed of trabecular bone surrounded by denser cortical bone. Syndesmophytes are made of cortical bone (Fig. 1). To capture those different components, we adopted a multistage strategy in which successive level sets segment the trabecular and cortical bone. Our algorithm is also multiscale. It was originally uniscale [45] but we found that multiscaling made the segmentation not only faster but also more robust and accurate. Our multiscale, multistage, 3D segmentation algorithm is summarized in the flowchart in Fig. 3. We first linearly subsample our data (step 1). Then the original algorithm is applied to the obtained half-scale volume. The preprocessing (described below) determines the parameters of the sigmoid used to compute the speed function of the first GAC (step 2.1). The first GAC roughly segments the interior of the vertebra (step 2.2). Its seed is the result of a fast marching (FM) stage starting from a seed point roughly placed by the user in the center of the vertebral body and lasting 20 iterations. The second level set, also a GAC, refines this segmentation using a Laplacian convolution of the image as the speed function (step 2.3). The third level set, a CLS, segments the cortical bone (step 2.4). A postprocessing step fills some remaining holes using a dilation followed by an erosion (step 2.5). The resulting segmentation is then super-sampled back to full scale (step 3) and refined using a CLS (step 4). A last hole-filling postprocessing is performed (step 5).

Fig. 3
figure 3

Flowchart of the algorithm for segmenting vertebral bodies

The speed function \(g\left( {\vec{x}} \right)\) should ideally have values close to 1 where there are no boundaries (so that the level set can expand rapidly) and values close to 0 where boundaries are present (so that the level set stops). This can be achieved for instance by writing [46]:

$$g\left( {\vec{x}} \right) = 1 - \frac{1}{{1 + \exp \left( { - \frac{I - \xi }{\eta }} \right)}}$$
(2)

where I is the gradient magnitude of the grey level image at voxel \(\vec{x}\). The two parameters \(\xi\) and \(\eta\) are typically computed using the equations [46]:

$$\eta = \frac{{K_{1} - K_{2} }}{6}\quad \quad \xi = \frac{{K_{1} + K_{2} }}{2}$$
(3)

where K 1 is the minimum gradient magnitude value along the object’s boundary and K 2 the average gradient magnitude inside the object where the level set is initialized. Those definitions ensure that the level set advances over internal gradients but stops at the minimum gradient along the boundary, as Eq. (2) maps gradients values up to K 2 to approximately 1 and gradient values equal or larger than K 1 to approximately 0. K 2 can be evaluated as the mean gradient magnitude inside a neighborhood around the seed placed by the user in the center of the vertebral body. K 1 can be determined by a search algorithm. Along lines originating from the center of the vertebral body, the maximal gradient magnitude is considered as belonging to the object’s boundary and is recorded. The mean of the 10 % lowest recorded values constitutes our estimate for K 1 [32]. The optimal values for parameters \(\alpha\), \(\beta\) and \(\gamma\) were determined experimentally [32]. Figure 4 shows an example of segmentation obtained by the algorithm.

Fig. 4
figure 4

Example of vertebral body segmentation (original image on the left, segmentation results on the right)

2.2 Segmentation of the Vertebral Body Ridgelines

The segmentation of vertebral body ridgelines is a preliminary step to both the registration stage (Sect. 2.3) and the syndesmophyte extraction stage (Sect. 2.4). The vertebral body ridgelines provide the landmarks that aid the registration process and the reference level from which syndesmophytes are cut. We extract the ridgelines from the triangular meshes representing the surfaces of the vertebrae using the same level set as Eq. (1), but transposed from the Cartesian domain of rectangular grids to the domain of a surface mesh. While in the usual image grids of CT scans the relevant features are grey level gradients, on a surface mesh, the useful features are curvature measures (the vertebral body surface is more curved at the ridgelines than on the end plates). The curvature measure we used is curvedness (C) [47]:

$$C = \sqrt {\frac{{\kappa_{1}^{2} + \kappa_{2}^{2} }}{2}}$$
(4)

where \(\kappa_{1}\) and \(\kappa_{2}\) are the principal curvatures. Curvedness is a local measure that can be computed at each vertex on the mesh. The larger C is, the more curved the local surface is. The speed function, constructed using Eqs. 2 and 3 but with curvedness replacing grey level gradients, ensures that the level set contour expands in the center of the end plates (low curvedness) and stops at the ridgelines (high curvedness) [32].

The level set evolution equation (Eq. 1) can be implemented on a mesh with two important adjustments relative to level sets in rectangular grids: (1) Gradients and curvatures have to be computed in local coordinate systems defined around each vertex as small enough neighborhoods can reasonably be considered planar. (2) Gradients and curvatures have to be computed using least square estimation methods rather than finite differences [32].

We use the following definitions and notations for level sets on mesh. A function \(f\left( V \right)\) defined on a mesh associates to each vertex \(V\) the quantity \(f\left( V \right)\). A vertex \(V\) is defined by its three coordinates (x, y, z) which can be relative to a global or a local orthonormal frame. \(V\) can therefore also be seen as a vector. By immediate neighbor of vertex \(V\), we mean a vertex linked to \(V\) by an edge. The 1-ring neighborhood of \(V\) is the set of immediate neighbors of \(V\). The 2-ring neighborhood of \(V\) consists of its 1-ring neighborhood and all the immediate neighbors of the vertices in the 1-ring neighborhood. The process can be iterated. Thus, the n-ring neighborhood of \(V\) is comprised of its (n − 1)-ring neighborhood and all the immediate neighbors of the vertices in the (n − 1)-ring neighborhood.

To implement Eq. 1, the gradients of the distance function \(\psi\) and the speed function \(g\) have to be evaluated. We do this locally on the mesh in a 1-ring neighborhood around each vertex. The components of \(\nabla f\left( V \right)\) the gradient of any function \(f\) at vertex \(V\) can be evaluated by minimizing:

$$E = \sum\limits_{i = 1}^{N} {\left( {\nabla f\left( V \right) \cdot \vec{n}_{i} - \nabla f\left( V \right)_{i} } \right)^{2} }$$
(5)

The summation is over the N immediate neighbors of \(V\). The ith neighbor \(V_{i}\) of \(V\) defines the unit directional vector \(\vec{n}_{i}\):

$$\vec{n}_{i} = \frac{{V_{i} - V}}{{\left| {V_{i} - V} \right|}}$$
(6)

The quantity \(\nabla f\left( V \right)_{i}\) is the finite difference of function \(f\) in the direction of the ith neighbor \(V_{i}\):

$$\nabla f\left( V \right)_{i} = \frac{{f\left( {V_{i} } \right) - f\left( V \right)}}{{\left| {V_{i} - V} \right|}}$$
(7)

The vector components in Eqs. (5)–(7) are relative to local orthonormal frames defined at each vertex \(V\). The gradients \(\nabla \psi\) and \(\nabla g\) in Eq. (1) are computed using Eqs. (5)–(7). \(\nabla \psi\) is then used to compute the mean curvature \(\kappa\).

The gradient \(\nabla \psi\) is used to form two functions on the mesh: \(\psi_{x} \left( V \right)\) and \(\psi_{y} \left( V \right)\), which respectively associate the x and y components of \(\nabla \psi\) to each vertex \(V\). We can then evaluate the gradients of \(\psi_{x} \left( V \right)\) and \(\psi_{y} \left( V \right)\) using Eqs. (5)–(7), which in turn yields \(\psi_{xx}\), \(\psi_{xy}\) and \(\psi_{yy}\). Those are the quantities necessary to compute the mean curvature \(\kappa\) of the distance function \(\psi\):

$$\kappa = \frac{{\psi_{xx} \psi_{y}^{2} - 2\psi_{x} \psi_{y} \psi_{xy} + \psi_{yy} \psi_{x}^{2} }}{{\left( {\psi_{x}^{2} + \psi_{y}^{2} } \right)^{\frac{3}{2}} }}$$
(8)

The seeding for the mesh level set is also derived from the user placed seed for the vertebral body segmentation. From that seed (roughly in the center of the vertebral body), a vertical line cuts the upper and lower end plates in two points. Those points are used as the seeds for the mesh level sets on the upper and lower end plates. An alternative seeding technique without user input and that relies on the clustering of vertices with low curvedness has recently been proposed [48]. Figure 5 shows an example of contour evolution on the upper end plate of a vertebra. Figure 6 shows several examples of final segmentation results.

Fig. 5
figure 5

Example of level set evolution on a mesh

Fig. 6
figure 6

Examples of end plate (white) and ridgeline (green) segmentation

2.3 Vertebral Body Registration

Ideally, ridgelines detected on different scans of the same vertebra should be located at identical positions at the junction where the syndesmophytes merge with the end plates. In reality, those positions can be subject to variations, especially for syndesmophytes that do not grow at a right angle in respect to the end plate but laterally and merge with the end plate in a smooth gradual junction. In such cases, the curvature at the junction can be low and the level set might stop at the syndesmophyte’s base or slightly leak into the syndesmophyte depending on differing image resolution, sharpness or noise. Figure 7 shows such a discrepancy between baseline and year 1 ridgelines, with a small leak at year 1 (red arrow). Bone above the ridgeline will be labeled as syndesmophyte. If the syndesmophytes at baseline and year 1 were cut from their respective ridgelines, the leak in the year 1 syndesmophyte would cause a deficit in volume compared to baseline. This difference would not be due to real syndesmophyte change. Because real growth may be small, it is important to reduce the error coming from ridgeline discrepancies. We use registration to correct such inconsistencies. Registration aligns the vertebral bodies of scans (middle of Fig. 2). Once the vertebral bodies are registered, either of the two ridgelines can be used. The important point is to use only one of the ridgelines so that the same syndesmophyte is cut from the exactly the same level on two scans.

Fig. 7
figure 7

End plate (red) and ridgeline (black) segmentation at baseline (left) and year 1 (right)

We used the iterative closest point (ICP) algorithm to register the surfaces of the vertebrae segmented at baseline and year 1. Given 2 sets of points, the ICP algorithm finds the rigid transformation that minimizes the mean square distance between them [4951]. We added landmark matching to address the problem of entrapment in local minima. Our ICP algorithm is performed successively on the ridgelines, end plates and the complete surface, the result of each stage serving as the initialization for the following stage [52]. Figure 8 shows some examples of registration results.

Fig. 8
figure 8

Two examples of vertebral surface registration

2.4 Syndesmophyte Segmentation

Once corresponding pairs of vertebrae are registered, syndesmophytes can be cut from the vertebral bodies using the ridgeline of the baseline vertebra (using the year 1 or 2 ridgelines is also possible). The algorithm identifies syndesmophytes in each IDS unit. The cutting algorithm marks as syndesmophyte bone voxels lying between the two end plates that bound each IDS. Because of the high precision required by our application, we found it necessary to operate this cutting with subvoxel accuracy. We also address the problem of differing degrees of smoothness in the reconstructions and partial volume effect, and refine the segmentation of syndesmophytes [33].

2.4.1 Syndesmophyte Cutting

Each IDS is bounded by the lower end plate of the superior vertebra, that we note EP1, and the upper end plate of the inferior vertebra, noted EP2. The corresponding ridgelines are respectively noted RL1 and RL2. The cutting algorithm marks as syndesmophyte those previously segmented voxels that are between those 2 end plates. Each candidate voxel is considered in relation to the local ridgelines. If it is below the local level of EP 1/RL1 and above the local level of EP2/RL2 it is marked as syndesmophyte.

However the representation of a continuous space by discrete voxels can introduce inaccuracies in this algorithm. In the first version of our algorithm, a whole voxel was considered either totally above or below the local ridgeline level [32]. However, in reality, most voxels close to the ridgeline level are neither completely above nor completely below that level. Rather, part of the voxel is above while the other part is below. The following algorithm achieves syndesmophyte cutting with subvoxel accuracy. We show how to determine the proportion of a voxel above the local level of EP2/RL2. Determining the proportion of a voxel below the local level of EP1/RL1 is straightforwardly similar.

First we extract the normal to the end plate EP2, \(\vec{N}\), using a least square estimate method [32]. Let V be a voxel under consideration. We determine the local ridgeline/end plate level in the following way. The point of RL2 closest to V is found. Neighboring points of EP2/RL2 are averaged to form the point \(R_{V}\), which, as an average, is an estimate more robust to noise. \(\vec{N}\) and \(R_{V}\) define a plane P (orthogonal to \(\vec{N}\) and containing \(R_{V}\)), that can be used to cut syndesmophyte from vertebral body. We now determine the position of V relative to this plane. V is a rectangle defined by 8 vertices \(V_{i}\) with i \(\in \{1,\ldots, 8 \}.\) The sign of the scalar product:

$$s\left( {V_{i} } \right) = sign(\overrightarrow {{R_{V} V_{i} }} \cdot \vec{N})$$
(9)

tells us if \(V_{i}\) is above or below the plane P. If all signs are positive or negative, then voxel V is either completely a syndesmophyte voxel or not. If we have a mix, then V is a partial syndesmophyte voxel. To determine what proportion of V is syndesmophyte, we subdivide V into smaller rectangles. A voxel V of dimensions \(p_{x}\), \(p_{y}\) and \(p_{z}\) can be subdivided into M3 equal subvoxels of dimensions \(\frac{{p_{x} }}{M}\), \(\frac{{p_{y} }}{M}\) and \(\frac{{p_{z} }}{M}\). For this, we simply take as locations of the vertices of the new subvoxels the coordinates \(\left( {i \cdot \frac{{p_{x} }}{M},j \cdot \frac{{p_{y} }}{M},k \cdot \frac{{p_{z} }}{M}} \right)\) where M is an integer controlling the number of subdivisions and (i, j, k) are integers. The choice M = 10, which means each voxel is divided into M3 = 1,000 subvoxels, is a good trade-off between computational speed and gain in precision. The better precision results produced by finer subdivisions (larger M) are limited by diminishing returns. Then, for each subvoxel, it is straightforward to determine if it is above or below P using the same scalar product (Eq. 9). However, since we do not want to pursue the subdivision process further, it is not necessary to test all 8 vertices. We only test one, corresponding to the smallest (i, j, k). For every subvoxel of V, if the test is positive in sign we increment N S that we define as the number of subvoxels of V found to be syndesmophyte (conversely to determine the proportion of a voxel below the local level of EP1/RL1, we would increment when the test is negative in sign). The corresponding partial syndesmophyte volume is:

$$PSV = \frac{{N_{S} }}{{M^{3} }} \cdot p_{x} \cdot p_{y} \cdot p_{z}$$
(10)

Figure 9 illustrates the difference between whole voxel and subvoxel cutting.

Fig. 9
figure 9

Comparison between subvoxel and whole voxel cutting. a Coronal view of a CT scan of an IDS. b Lateral view of the 3D surface reconstruction of the registered right-hand side syndesmophytes. View of the registered syndesmophyte upper surfaces after c subvoxel and d whole voxel cutting from the vertebral body. The view is from the direction of the blue arrow in (a) and (b)

2.4.2 Equalization of Image Smoothness

In a longitudinal study, patients imaged at different times can be scanned using different scanners and/or different scanning parameters. Even when a protocol specifies the scanner and scanning parameters, errors can occur. Images from different scanners and/or with different scanning parameters have different levels of smoothness. The influence of differing degrees of image smoothness on quantitative measurements has been recognized before [53]. In our case, it has an impact on the apparent size of the syndesmophytes. In general, the smoother an image is, the larger the syndesmophyte will appear. To compensate for this effect we devised an algorithm for harmonizing the degree of smoothness of two images. Although we strongly recommend using scanners and scanning parameters in a consistent manner, the ability to compensate for image smoothness differences can allow more flexibility in scanner use when consistency is impractical.

We first devised a measure of image smoothness in a homogeneous region containing only trabecular bone. A region containing both trabecular and cortical bone could produce misleading results. For each voxel in homogeneous region, a mean difference with its neighbors is computed. All those voxel-wise differences are then averaged across the region. This measure can be written:

$$S = \sum\limits_{j = 1}^{M} {\sum\limits_{i = 1}^{{N_{j} }} {\frac{{\left| {GL_{j} - GL_{i} } \right|}}{{MN_{j} }}} }$$
(11)

where GL j is the grey level of voxel j in the region, GL i is the grey level of voxel i in the neighborhood of j. M is the total number of voxels in the region. N j is the total number of neighbors of j that are also in the region. N j is 26 unless voxel j is at the boundary of the region. To extract a homogeneous region we make use of the segmentations of the vertebral bodies (Sect. 2.1). Eroding those with a structuring element of 5 voxels we obtain homogeneous regions in the trabecular bone. The standard deviation of grey levels in the homogeneous region described can also be used as a smoothness measure. In our experiments, we found that our measure (Eq. 11) performed slightly better in regards to the precision of syndesmophyte volume measurement.

Our procedure for equalizing the smoothness of two images is as follows. We first compute the smoothness measures of the two images. The smoother image has the lower measure, which we call S min. We call the smoothness measure of the other image S. We convolve the least smooth image with Gaussians of increasing standard deviations. We start with a standard deviation of 0.025 mm and increase it by increments of 0.025 mm. After each convolution we compute S. When S becomes smaller than S min we stop the process. Let us call that measure S n and the previous one S n−1. We compute the differences \(\left| {S_{\hbox{min} } - S_{n} } \right|\) and \(\left| {S_{\hbox{min} } - S_{n - 1} } \right|\). If the first difference is smaller we use the Gaussian associated with S n to equalize the smoothness of the two images. Otherwise we use the Gaussian associated with S n−1. Figure 10 shows an example of the procedure. The standard deviation of the Gaussian needed to smooth (a) to the level of (b) was 0.125 mm. This stage is a pre-processing step for the following refinement technique.

Fig. 10
figure 10

Smoothness equalization: the least smooth image (a) is convolved with a Gaussian (c) to match the smoothness level of (b)

2.4.3 Density and Laplacian Based Correction

The last step refines the segmentation of the syndesmophytes using the Laplacian filter and gray level density. The output of the Laplacian filter allowed us to pinpoint the boundary between bone and soft tissue. The interface between the two materials can be modeled as a smooth step function. Its Laplacian is positive on one side of the step and negative on the other. The Laplacian divides the interface between 2 materials of different densities with the zero-crossing roughly in the middle. Figure 11 shows an IDS processed with a Laplacian. The color code is green for negative values and red for positive ones. Cortical bone is mainly green. Cortical bone is thin and can be seen as two step functions back to back.

Fig. 11
figure 11

Effect of the Laplacian filter on an intervertebral disk space: a Original image. b Laplacian of image (a), color-coded with green (negative values) and red (positive values)

At the boundary between bone and soft tissue, the representation of a continuous space by discrete voxels leads to the creation of voxels containing both materials, a phenomenon usually called partial volume effect. Our algorithm incorporates partial voxels, assigning them a partial volume value depending on their “density”, that is, their grey level intensity. The density criterion is obtained in the following manner. From the initial rough syndesmophyte segmentation we estimate the mean voxel intensity for syndesmophyte, GL S . Syndesmophytes are surrounded by soft tissue. Considering the neighbors of syndesmophyte voxels we mark the first soft tissue layer, T1 and second soft tissue layer T2. From those layers (T1 and T2) we extract the mean voxel intensity for soft tissue, GL T . For a voxel i labeled as syndesmophyte or belonging to T1 or T2, our density criterion is based on the measure D i defined as:

$$D_{i} = \frac{{GL_{i} - GL_{T} }}{{GL_{S} - GL_{T} }}$$
(12)

where GL i is the grey level of voxel i. The higher the bone content of the voxel, the higher D i is.

The density and Laplacian criteria are combined in the following manner:

  1. (a)

    First we consider all syndesmophyte, T1 and T2 voxels. If a voxel i (syndesmophyte, T1 or T2) verifies the conditions:

    $$D_{i} > D_{1} \quad and\quad L_{i} < 0$$
    (13)

    where D 1 is a threshold, it is classified as syndesmophyte (L i is the Laplacian at voxel i). Otherwise it is labeled as soft tissue. This first step mainly corrects leaks. An example is shown in Fig. 12.

    Fig. 12
    figure 12

    First stage of the syndesmophyte refinement algorithm: a original image, b initial segmentation and c leak correction

  2. (b)

    The labeling of soft tissue layers T1 and T2 and the computing of GL S and GL T are updated based on the new more accurate segmentation resulting from step (a). We then process the first soft tissue layer T1. If a voxel i of T1 verifies the conditions:

    $$D_{i} > D_{2} \quad and\quad L_{i} < 0$$
    (14)

    where D 2 is a threshold, it is classified as partial syndesmophyte with proportion of bone corresponding to D i . This second step adds a layer at the bone/soft tissue boundary where, due to partial volume effect, voxels are likely to contain both types of tissues.

The thresholds D 1 and D 2 control how selective the algorithm is in admitting syndesmophyte voxels. They can be used to add partial bone voxels that were not segmented or exclude soft tissue voxels that were mistakenly labeled as syndesmophyte. Both thresholds can be set between 0 and 1. Lower thresholds are more permissive in syndesmophyte selection. Extensive experimentation led us adopt the set of threshold (0.8, 0.2) for D 1 and D 2 respectively [33].

3 Accuracy and Precision of the Algorithm

3.1 Accuracy and Validity

As an accuracy test, we compared manually and automatically segmented syndesmophytes [33]. Patients were scanned on either a Philips Brilliance 64 or a GE Lightspeed Ultra. For both scanners, voltage and current parameters were 120 kVp and 300 mAs, respectively. Slice thicknesses were 1.5 and 1.25 mm, respectively, for the Philips and GE. Spacing between slices was 0.7 and 0.625 mm for the Philips and GE respectively. Each patient was scanned from the middle of the T10 vertebra to the middle of the L4 vertebra providing 4 IDSs for analysis (T11/T12, T12/L1, L1/L2 and L2/L3). These scanning parameters were used for all the studies including the reliability and longitudinal studies. Using the ITK-SNAP software [54], one operator manually segmented syndesmophytes in two IDSs (L1/L2 and L2/L3) for 6 patients. The agreement between manually and automatically segmented syndesmophytes was evaluated using the overlap similarity index (OSI), also known as the Dice similarity coefficient [55]:

$$OSI = \frac{{2\left( {V_{1} \cap V_{2} } \right)}}{{V_{1} + V_{2} }}$$
(15)

where V 1 and V 2 are the two volumes compared. OSI is always comprised between 0 and 1, with 1 indicating perfect overlap. Out of the 12 IDSs processed, the mean (±std) OSI was 0.76 (±0.06). Considering that syndesmophytes are small objects, an OSI of 0.76 indicates good agreement. Figure 13 shows an example of syndesmophyte segmentations by the manual and automated methods.

Fig. 13
figure 13

Comparison between manual (red) and automated (green) segmentation of syndesmophytes on a 3D surface reconstructions, b, c sagittal slices. The yellow line in a indicates the position of the sagittal slices. The overlap similarity index in this example is 0.77

In a more extensive validation study involving 38 patients, the syndesmophyte volumes computed by the algorithm were compared with the readings of physicians [56]. Two physicians scored 152 IDSs (4 IDSs per patient) using a 4-point grading system (0 = no syndesmophyte; 1 = small isolated syndesmophytes involving less than a quarter of the vertebral rim and no bridging; 2 = syndesmophyte involving more than a quarter of the vertebral rim or focal bridging; 3 = bridging involving more than a quarter of the vertebral rim). The physicians examined the IDSs in the axial, coronal and sagittal views of the CT reconstructions. Figure 14 shows the association of computed volumes with the physicians’ ratings. Volumes computed by the algorithm increased with the readers’ scores (p < 0.0001 using a stratified Kruskal–Wallis trend test accounting for non-independence of observations within patients [57]).

Fig. 14
figure 14

Boxplots of computed syndesmophyte volume and height by physicians’ scores (white for one reader, grey for the other). N is the number of intervertebral disc spaces

3.2 Reliability/Precision

The precision of the algorithm was evaluated by comparing the results of 2 scans performed on the same day in 9 patients [56]. The protocol was approved by the institutional review board and all subjects provided written informed consent. After the first scan, patients stood up before lying down again for the second scan. This ensured that they did not lie in exactly the same position and that the variation was in the range expected for patients in a longitudinal study. That enabled us to include the variability originating from CT artifacts such as beam hardening [58]. Syndesmophyte volumes from the 4 IDSs were added to form a total per patient.

Various measures of reliability were computed (Table 1). The mean (±std) difference between the two scans, 18.3 (±19.6) mm3, only represents 1.31 % of the total mean syndesmophyte volume, 1,396 (±1,564) mm3. The intraclass correlation coefficient (ICC) was very high. The coefficient of variation (CV) was estimated according to the guidelines of Gluer et al. [59]. Bland-Altman analysis was used to determine the 95 % limits of agreement [60]. Volume measures were heteroskedastic, with larger inter-scan differences for larger syndesmophyte volumes. Bland–Altman analysis was therefore performed on log-transformed values, and the 95 % limits of agreement for volume were in terms of percentage [61]. Using this method it was found that an increase in syndesmophyte volume of more than 3 % represented a change greater than measurement error.

Table 1 Reliability/precision of computed syndesmophytes volumes

4 Longitudinal Study

For this study, we performed lumbar spine CT scans on 33 patients at baseline, year 1 and year 2 [62]. The same 4 IDSs as in the precision study were processed. Radiographs of these 4 IDSs were also scored by a physician using mSASSS but without the score of 1 which does not represent syndesmophyte growth. The scores were: 0 = no syndesmophyte; 2 = syndesmophyte but not complete bridging; 3 = bridging. Results from the 4 IDSs were added. Figures 15 and 16 show examples of syndesmophyte progression detected by the algorithm but not visible on radiographs from baseline to year 1 and 2 respectively.

Fig. 15
figure 15

Examples of syndesmophyte progression from baseline (BL) to year 1 (Y1). From left to right 3D surface mesh (syndesmophytes in red and vertebral bodies in green), CT slice, radiograph

Fig. 16
figure 16

Examples of syndesmophyte progression from baseline (BL) to year 2 (Y2). From left to right 3D surface mesh (syndesmophytes in red and vertebral bodies in green), CT slice, radiograph

The mean (±std) computed syndesmophyte volume change was 87 (±186) mm3 at year 1 and 201 (±366) mm3 at year 2, which respectively represents an increase of about 8 and 18 % in respect to the mean baseline volume. At year 1 and 2, respectively 24 (73 %) and 26 (79 %) patients had a volume increase. By contrast, only 4 (12 %) had a mSASSS increase at year 1 and 2 (Table 2). From baseline to year 1, 18 patients (55 %) had an increase larger than 3 %, the 95 % limit of agreement derived from Bland-Altman analysis in the reliability study. From baseline to year 2, 23 patients (70 %) had an increase larger than 3 %. Additionally, two patients in whom the algorithm detected no syndesmophytes in all 4 IDSs at baseline developed new syndesmophytes at year 1, and three patients did so at year 2. For these patients, the rate of change cannot be computed because their baseline was 0.

Table 2 Change in syndesmophyte volume (CT) and mSASSS (radiography)

Figure 17 shows the cumulative probability plots for computed volume changes and mSASSS changes. The curves for computed volumes show the progressivity of the disease. The curves for year 1 and 2 are clearly distinguishable and syndesmophyte volume changes are larger for year 2 than for year 1. By contrast, for mSASSS the two curves are nearly identical and both mostly located at zero.

Fig. 17
figure 17

Cumulative probability plots for changes in a syndesmophyte computed volume, b modified stoke AS spine score (mSASSS)

5 Discussion and Future Challenges

The algorithm is still new and has so far been validated on a relatively small numbers of patients. More extensive work is needed to establish the method. The method still requires an operator to place a seed to initiate the segmentation. Automation of this task should be explored. The algorithm also requires high resolution especially in the z direction (slice thickness of 1.5 mm and spacing between slices of 0.7 mm). Additional work is needed to adapt the method to more common lower resolution scans. It is probable that lower resolution will entail lower precision in volume measurements.

Registration makes the choice of the ridgeline (baseline, year 1 or year 2) unimportant. In our work, we chose the baseline ridgeline as the reference. Averaging ridgelines may be advantageous, since an average is generally more robust to errors. Although registration will ensure that the same errors are made for the scans to be compared and will therefore not impact the computed syndesmophyte volume differences, it is always benefic to start with the most accurate ridgeline. Many methods can be proposed to define the average of 2 or more curves. In our case where the ridgelines (same vertebral body at different times) should be fairly similar, averaging can for instance be done in the direction normal to the curves. Starting from the baseline curve, for each curve point, a local normal direction can be estimated. On the year 1 or 2 curve, the curve point most aligned with that normal direction can be determined and averaged with the curve point on the baseline curve.

The higher sensitivity to change of our computed volumes reflects both the fully quantitative nature of the method and the improved visualisation of syndesmophytes using CT. Exploiting the 3D imaging capability of CT, we were able to quantitate syndesmophytes along the entire vertebral body rim. It has been suggested that magnetic resonance imaging (MRI) could also be used to image the spine tomographically and with less exposure for patients. Several rating systems for structural chronic damage in AS have been proposed [6366]. However, few longitudinal studies tracking syndesmophyte growth in MRI have been published [67]. In [62], it was found that computed volumes in CT were much more sensitive to change than MRI readings. Cortical bone is poorly visualised on MRI because its water content is similar to the water content of surrounding tissues. Scoring systems based on MRI are semiquantitative, which also may limit their sensitivity to change. In addition, higher resolution can be achieved in CT and long acquisition time for MRI causes motion artefacts.

A major criticism of the work has centered on the radiation exposure associated with a CT scan. With the protocol used in the study, patients received an average radiation dose of 8.01 mSv compared with 2.59 mSv for lateral radiographs of the cervical and lumbar spine (as would be used in a complete mSASSS assessment) [56, 62]. However, the question of radiation exposure has to be considered in close relation with the information obtained. Although the radiation exposure of CT is substantially higher than the radiation exposure of radiographs, each CT scan provides complete information on syndesmophytes, and, in our study, none needed to be discarded because of poor visualisation. The advantages of low radiation exposure need to be weighed by the usefulness of the information gathered by that exposure. It should be stressed that scanner technology is improving fast and, with the introduction of iterative reconstruction, dose reduction of 50 % or more has been achieved with minimal loss in image quality [68, 69]. The reliability of the algorithm has to be evaluated using such dose saving methods.

Because the algorithm visualizes and quantitates syndesmophytes in their real 3D environment for the first time, it opens the door to new research possibilities. For instance, the distribution of the syndesmophytes around the rim of the vertebral end plates, if not random, could shed some light on the drivers of osteoproliferation, which are still unknown. The testing of drugs that can potentially halt or slow syndesmophyte progression will benefit from the greatly improved sensitivity and reliability of the new method. Similarly, studies that seek to associate syndesmophyte progression with gene expression, biomarkers and lifestyle risk factors (such as smoking or lack of exercise for example) should use a method that can capture syndesmophytes in their totality and quantitatively.

6 Conclusion

To improve the low sensitivity to change associated radiographic reading, we have designed a quantitative measurement of syndesmophytes in CT scans. The method has very good reliability. In a 2-year longitudinal study, the algorithm could detect syndesmophyte growth in 79 % of the patients compared to only 12 % for radiographic reading. The mean 2-year change represented a 18 % increase in syndesmophyte volume in respect to the baseline volume. This method holds promise for longitudinal clinical studies that need to track syndesmophyte growth.