Keywords

1 Introduction

Lung diseases (e.g. asthma & COPD) are life-long chronic inflammatory diseases of the airways, affecting over 500 million people worldwide with related costs exceeding 56 billion Euros per year in the European Union [1]. Their main characteristic is the narrowing of the lung airways, a condition known as bronchoconstriction, which alters the geometry and the mechanical properties of the airways and reduces the airflow that reaches the oxygen exchanging areas.

The diagnosis and severity classification of these diseases are largely based on global lung measurements from pulmonary function tests (PFTs). However, these measures have been proven to be poor predictors of patient outcomes for individuals. Therefore, patient specific computational models of the lung, that will provide more sensitive measures of the pulmonary function are required. The knowledge and understanding of the pathophysiology behind the obstructive lung diseases could lead to improved diagnosis and assessment, through the development of novel computational models that take into account details related to (i) the lung geometry deformations, (ii) different lung mechanical features and (iii) the changes of the airflow inside the lung airways.

There are several state of the art approaches related to computational modeling of the lung and other parts of the human body that use 3D computational fluid dynamics, utilizing generic 3D representations of the structure [4, 9, 14]. Although, both experimental and simulation studies have demonstrated the influence of geometric structure on functional outcomes none of the SoA approaches considers fully patient specific structures, represented by high-resolution computational meshes of the central airways that are deformed appropriately in order to simulate bronchoconstriction effects. To overcome these limitations and allow the processing of the patient specific lung geometry, we provide a toolset allowing to view and deform lung 3D structures in order to be used for computational fluid dynamics, allowing the visualization of the airflow for different kinds of geometry. The output of the CFD simulation is essential for predicting particle deposition upon the inner part of the airway walls, allowing: (i) the clinician to study the way the drug or other harmful particles that cause inflammation are dispersed inside the lungs for different stages of a crisis and for different levels of inflammation (ii) the user to determine the effectiveness of a delivery system upon inflamed airways [7, 9] and use the results as input for assessing which parts of the patient’s lung are more easily affected and predicting an obstruction of a specific airway.

The rest of the paper is organized as follows: The second section presents the related work on computational models. The third focuses on the developed geometry processing approaches that allow the user to simulate realistic bronchoconstriction that occur during exacerbation episodes. In section four, we analyze the adopted 3D computational fluid dynamics methodology. The fifth section deals with the demonstration of the tool interface and the presentation of the simulation results. Finally, the sixth section is dedicated to discussion related to the strengths, weaknesses and future directions of the presented work.

Notation: Lower- and upper-case boldface letters are used to denote column vectors and matrices, respectively; calligraphic letters are used to denote sets; The entry in the i-th row and j-th column of a matrix \(\mathbf {A}\) is denoted by \(\mathbf {A}_{\left( i,j\right) }\), while the i-th row and j-th column is denoted by \(\mathbf {A}_{\left( i,:\right) }\), \(\mathbf {A}_{\left( :,j\right) }\) respectively. \((\cdot )^T\) denotes transposition;

2 Related Work

There are several studies related to computational modeling of different aspects of the pulmonary function. These include aspects related to airflow analysis and ventilation [4, 8, 12, 14], particle transportation and deposition [3, 7, 9] and mechanical properties of the lung airways tissue [10, 13]. However, their major drawback is that they refer to healthy lungs without taking into account structural alterations present in obstructive lung diseases.

In addition to the aforementioned models there are applications that focus on the lung geometry allowing either to reconstruct the 3D lung model from CT scans or to view and study the lung geometry [11] without proving the ability to perform alterations appropriate for applying computational fluid dynamics simulation. Thus, their major drawback is that they do not combine the ability to simulate geometry alterations present in obstructive lung diseases with computational fluid dynamics simulations. To cope with the aforementioned issues and allow the processing of patient specific lung airways geometry we propose a method that combines the deformation of the geometry in a manner that simulates bronchoconstriction with computational fluid dynamics models. The output of the simulation can be used for predicting particle transfer and deposition to the lung airways walls allowing the researcher or the clinician to study how drug particles or harmful particles travel inside the airways for different levels of airways obstruction.

3 Structural Modeling of the Lung, Parametrization and Deformation

In this section, we present the developed geometry processing approaches, that allow the user to simulate the effects of the obstructive diseases in the 3D lung structure, and study their impact on airflow in the lung, by using a 3D CFD simulation. The proposed approaches are executed directly on already available 3D models of the lung, extracted from CT scans, by using conventional SoA methods. The user interface allow the user to select the area of interest, e.g. either a specific branch, or all the branches of the i-th generation, or the whole model itself and perform narrowing by executing a Laplacian mesh contraction approach. The surface of the given object is iteratively contracted either in the direction of the inward normal or according to a customized function that deforms the mesh in a user selected manner. A skeleton extraction technique has been also developed for converting the 3D object into a 1D curve skeleton that is essential for airway segmentation, for personalization and for predicting the structure of airways in models that include more than 9 generations of branching.

3.1 Lung Geometry Contraction in the Direction of the Inward Normals

In order to apply mesh contraction we employ the Laplacian mesh processing scheme presented in [2]. For the shake of self-completeness, we provide a short overview of the method. A lung 3D model is described by a mesh \(G=\left( V,E\right) \) with vertices V and edges E. Using cotangent weighting the Laplacian coordinates approximate the curvature-flow inward normal. Thus solving iteratively the discrete Laplacian equation \(\mathbf {L}\mathbf {v}=0\) we can achieve mesh contraction and reduce the 3D model to an 1D shape. Let \(\mathbf {L}\) be the Laplacian operator and \(\mathbf {v}'\) the vertices final position, then we have:

$$\begin{aligned} \mathbf {L}_{i,j}=\left\{ \begin{array}{l}\omega _{i,j} = cot\ a_{ij}+ cot\ b_{ij}\\ \mathop {\sum }\nolimits _{i,k\in E}^k-\omega _{ik}\\ 0\end{array}\right. \end{aligned}$$
(1)

Since \(\mathbf {L}\) is singular, further constrains need to be used in order to ensure a unique solution for \(\mathbf {v}'\). Thus we focus on solving the equations:

$$\begin{aligned} \left[ \begin{array}{c}\mathbf {W}_L \mathbf {L}\\ \mathbf {W}_H\end{array}\right] \mathbf {v'} = \left[ \begin{array}{c}\mathbf {0}\\ \mathbf {W}_H\mathbf {V}\end{array}\right] \end{aligned}$$
(2)

where \(\mathbf {W}_L\) and \(\mathbf {W}_H\) are the diagonal matrices. These matrices represent a contraction and an attraction force correspondingly. However by experimentation on can easily observe that the solution of (2) does not converge to an 1D shape and thus an iterative scheme need to be used as the one described below:

figure a

Based on the aforementioned scheme we can also apply mesh contraction at a selected part of the mesh in order to simulate narrowing by using stopping criteria related to the difference between the updated and the initial position. The part can be any type of airway of the 3D mesh under investigation. After the user has selected the branch by using the available interface, the branch is segmented for more efficient processing and mesh contraction is achieved. For this procedure we choose the same attraction weight and a different contraction weight for every node. However, as the processed part is reconnected with the rest of the mesh discontinuities may appear. In order to cope with this fact, we gradually reduce the weight of points of the stable regions of the mesh based on geodesic distance between each processed point and the edge points (anchor points) of the stable region of the mesh (Fig. 1).

Fig. 1.
figure 1

Airway narrowing based on mesh contraction augmented by a custom function

3.2 Custom Function Based Mesh Contraction and Skeletonization

The aforementioned method of mesh contraction will generate a contracted mesh meaning that the airway diameter will be smaller for the contracted parts. In order to augment the mesh contraction process so as to simulate the surface abnormalities during bronchoconstriction we propose the application of different levels of deformation across the airways as a function of distance. Thus we propose a new \({W}^0_L\) weighting diagonal matrix using the following formulation:

$$\begin{aligned} \mathbf {W}^0_L = {W}^0_L \cdot {W}_V \end{aligned}$$
(7)

where \({W}_V\) is a diagonal weighting matrix. For \({W}_V\) we can use a customized function:

$$\begin{aligned} \mathbf {W}_V = f(d) \end{aligned}$$
(8)

where d is the geodesic distance of a point of the mesh from an anchor point. In this study and for demonstration purposes only we used a sinusoidal function. The function can be defined by the user on a case-by-case basis. Thus a weighting parameter is set for each vertex equal to:

$$\begin{aligned} \mathbf {W}_V\left( i\right) = r_0 +\frac{1-r_0}{2}sin d \end{aligned}$$
(9)

where \(r_0\) is the minimum allowable radius as percentage of the initial radius of the airways cylindrical like shape. The result of this method is shown in the following section.

The aforementioned scheme can be used in order to extract the 1D skeleton. This can be achieved by repeating the iterative process until any face area of the model is smaller than \(10^{-7}\). In Fig. 3 we present the result of curve skeleton extraction by applying the iterative mesh contraction process.

4 Computational Fluid Dynamics

The resulting mesh is used for computational fluid dynamics simulation. The CFD simulation is based on the integration of open source fluid dynamics libraries [6]. The volume inside the surface mesh is assumed to be the fluid domain consisting only of air. The flow is assumed to be incompressible and the fluid to be Newtonian. The used scheme is the solving the Reynolds Averaged Navier-Stokes equation allowing the simulation of turbulence written as:

$$\begin{aligned} \rho&\left[ \frac{\partial \tilde{u}_i}{\partial t}+\tilde{u}_j\frac{\partial \tilde{u}_i}{\partial x_j}\right] = -\frac{\partial \tilde{p}}{\partial x_i}+\frac{\partial \tilde{T}_{ij}^{(v)}}{\partial x_j} \end{aligned}$$
(10)
$$\begin{aligned}&\left[ \frac{\partial \tilde{\rho }}{\partial t}+\tilde{u}_j\frac{\partial \tilde{\rho }}{\partial x_j}\right] + \tilde{\rho }\frac{\partial \tilde{u}_j}{\partial x_j} = 0 \end{aligned}$$
(11)

where \(\tilde{u_i}(\mathbf {x},t)\) represents the i-the component of the fluid velocity at a point in space,\([\mathbf {x}]_i=x_i\), and time,t. Also \(\tilde{p}(\mathbf {x},t)\) represents the static pressure, \(\tilde{T}_{ij}^{(v)}(\mathbf {x},t)\), the viscous(or deviatoric) stresses, and \(\tilde{\rho }\) the fluid density. The tilde over the symbol indicates that an instantaneous quantity is being considered. Also the einstein summation convention has been employed. In Eq. (10), the subscript i is a free index which can take on the values 1, 2 and 3. Thus Eq. (10) is three separate equations. These equations represent the Newton’s second law written for a continuum in a spatial(or Eulerian) reference frame. Together they relate the rate of change of momentum per unit mass (\(\rho {u_i}\)) which is a vector quantity, to the contact and body forces. Equation (11) is the equation for mass conservation in the absence of sources(or sinks) of mass. Incompressible flow implies that derivative of the fluid density is zero. Thus for incompressible flows, the mass conservation equation reduces to:

$$\begin{aligned} \frac{D \tilde{\rho }}{Dt}=\frac{\partial \tilde{\rho }}{\partial t}+\tilde{u}_j\frac{\partial \tilde{\rho }}{\partial x_j}= 0 \end{aligned}$$
(12)

The solution scheme is the Semi-Implicit Method for Pressure Linked Equations algorithm (SIMPLE) [5]. Regarding the boundary conditions, the input and the outputs are manually selected by the user through ray tracing technique via the user interface. The initial conditions, the velocity and pressure input is selected by the user.

5 Simulation Studies

This section presents the simulation setup and the user interface implemented in c++ for illustrating the output of the simulation. The input required by the proposed method is a 3D bronchial tree model. The aforementioned model can either be synthetic or originate from available CT scans [7]. After the model is loaded the implemented tool allows the user to pan, rotate zoom in or out the object. The figure below presents a screenshot of the interface after having loaded a synthetic 3D lung model (Fig. 2).

Fig. 2.
figure 2

User interface snapshot

Fig. 3.
figure 3

Curve skeleton for a certain bronchial tree mesh

5.1 Interface

The interface includes a geometry processing module and a fluid dynamics module. The first includes an analysis, a skeletonization and a narrowing functional module. The analysis module presents data to the user regarding the number of vertices, the number of faces, minimum and maximum bounds of the object in the 3d space. Additionally, it segments the mesh in selectable parts. The skeletonization converts the 3D Mesh to a curve skeleton allowing the 1D representation providing morphological information to the user. The narrowing part includes a selection functionality, allowing the user to select parts of the mesh and specify the reduction percentage and the custom narrowing function.

Fig. 4.
figure 4

(a), (b): Bronchoconstriction simulation. The left image shows a uniformly narrowed airway and the right the narrowing of another airway based on a sinusoidal function. (c), (d): Fluid dynamics simulation depicting the air velocity distribution in contracted airways. (e), (f): Fluid dynamics simulation depicting the pressure drop in contracted airways.

The fluid dynamics module includes a simplistic interface setup and an interface setup for the user that is familiar with CFD. The first includes a mesh generation tab, a boundary conditions tab and a runtime tab leaving out details. The mesh generation part includes a functionality that creates the tetrahedral mesh from the processed surface mesh and a functionality that checks the integrity of the final mesh. The boundary conditions tab allows the user to set the input velocity and pressure and select the inputs and the outputs for the fluid dynamics simulation. Finally, the runtime part allows the user to set the time duration for the simulation to run and start the simulation. After the simulation completion the user can see the results. The advanced user interface part includes specific details relevant to the simulation.

5.2 Results

This section presents results of the execution of the geometry processing module and the fluid dynamics simulation module illustrating all the output of all the supported functionalities that were described in sections three and four. By inspecting Fig. 3 it can be easily seen that the skeletonization process produces a 1D curve skeleton providing a simple morphological representation of the input mesh.

The mesh contraction process either uniform or based on a custom function deforms the selected airway, simulating bronchoconstriction. The results of this method are shown in the following figures. In Fig. 4a we present a branch narrowed by applying a custom(e.g. sinusoidal) function to the lung part selected by the user presented while in Fig. 4b we illustrate the branch contracted in a uniform manner.

Finally, the results of the CFD simulation are presented in Fig. 4. as they were generated by our interface. Figure 4c shows the output of the fluid dynamics simulation depicting velocity distribution. It is obvious that air velocity has decreased in the contracted part in relevance to the non-contracted branch. Within the contracted branch by inspecting the figure we can also see that air velocity is slightly greater in most contracted parts. Similarly, Fig. 4e shows a fluid dynamics simulation showing the pressure drop in the contracted part. Correspondingly, for the uniform case, Fig. 4d shows air velocity distribution verifying the aforementioned observations. Finally Fig. 4f shows clearly a pressure drop in the contracted part in relevance with the non-contracted one.

6 Discussion and Conclusions

The benefits of including the proposed lung geometry processing approaches to a computational model are twofold. The first is that these approaches are essential for creating patient specific 3d models, corresponding to different levels of airway narrowing related to different levels of inflammation, from existing 3D models that have been constructed from available CT/MRI scans. Thus, the user can study the changes in airflow during bronchoconstriction by inspecting the outcome of the CFD simulations. In addition, they could be also applied in cases that these scans are not available. This can be achieved by performing iteratively the aforementioned geometry deformations in the context of an optimization approach so as to match specific Pulmonary Function Test (PFT) metrics that assess and quantify airflow limitation. These metrics include forced vital capacity (FVC), i.e. the amount of air a person can exhale with force after inhaling as deeply as possible and forced expiratory volume (FEV) i.e. the amount of air a person can exhale with force in one breath.

Regarding our limitations, in order to be able to provide validation of the bronchoconstriction appearing in obstructive lung diseases during crisis such as asthma or permanently COPD, are needed CT scans from patients with the aforementioned diseases. Additionally, we would like to point out that the definition of a custom function that simulates appropriately the surface abnormalities during bronchoconstriction is a crucial task that we are currently investigating.