An open-source tool for patient-specific fluid-structure vessel mesh generation

Vascular diseases are known to be associated with changes in blood flow dynamics and the distribution of wall shear stress. In recent years, computational methods have been widely used to better understand vascular diseases and eventually develop efficient treatment methods. Moreover, increasingly widespread is the interest in the use of fluid-structure interaction methods to study the blood dynamics and the wall mechanics and the interaction between the two. In this context it is very important to have high quality patient-specific mesh. Patient-specific meshing is a growing area of research and nowadays there is no a universal way to fulfill all the requirements in a single algorithm. The aim of this talk is to present a complete, flexible open-source tool for the generation of optimal meshes for patient-specific fluid-structure interaction simulations that we have developed in the last years. This tool starts from a surface mesh representing the vessel lumen (i.e. the interface between blood and vessel wall) and produces as output two tetrahedral meshes: one for the fluid volume and one conforming mesh for the wall. The input lumen mesh can be generated directly from medical images: in fact, in the most widespread techniques of diagnostic imaging like CT scans and the majority of MRI sequences, only the vessel lumen is visible while the vessel wall is usually not visible. Our tool consists in a combination of methods available in the vmtk library (www.vmtk.com) and ad-hoc algorithms developed for this specific application. The tool could be described by four main steps: 1. Interactive surface mesh correction. Often the result of a segmentation process includes, in addition to the main arterial tree, the presence of some artifacts due to small branches not interesting for the purposes of the numerical simulation. These artifacts are small or large bumps on the surface of the vessel which, if not corrected, may cause errors in the results of the numerical simulations. The first step of our tool allows the user to select these regions on the surface, to eliminate them and to interpolate the area eliminated through the use of a thin-plate spline algorithm. 2. Surface re-meshing and refinement. To obtain an high quality surface mesh the procedure proposed in [1] and implemented in vmtk is used. In addition, during the optimization procedure, we require that the local triangle dimension is proportional to the local radius. We compute the local radius combining the information about the local distance between the surface and the vessel centerline [1] and the local maximum inscribed sphere radius: in this way we are able to avoid over refinement of large structures (e.g. the aorta) and to provide a mesh fine enough for small vessels (e.g. coronary artery), and, at the same time, to avoid under refinement of aneurysms where the distance between surface and centerline can be very large. An additional flexibility introduced by our tool is that the user can manually select the regions on the surface to be further refined. 3. Fluid tetrahedral mesh generation. Concerning the computational fluid domain, we implemented a new technique for the generation of the boundary layer mesh. The idea is to construct the boundary layer projecting each surface mesh triangle vertex along the direction of the internal surface normal. To avoid self-intersections, vertex normal direction is iteratively corrected using the information coming from the normals of the vertices directly connected with the considered vertex. All boundary layer parameters (i.e. number of sublayer, ratio between sublayer and dimension of the layer) can be decided by the user; the dimension of the boundary layer can be decided using the local radius information as for the refinement step. Once the boundary layer is constructed the internal mesh is generated using the tetgen library. 4. Wall tetrahedral mesh generation. The procedure used to generate the mesh of the vessel wall is the same used to generate the boundary layer except that the direction will be that of the normal outgoing the surface. Also in this case the wall thickness can be chosen constant or proportional to the local radius. Moreover, the user can define regions on the surface mesh with a different thickness. Finally, the algorithm automatically gives different surface flags to the external surface (triangles) of the wall mesh and different volumetric flags to the tetrahedra of the wall volume for each of the selected areas. This possibility is of great interest for a variety of applications where different structures need to be defined with different thicknesses and with different properties (for example simulations of an artery with an artificial cannula connected, with an atherosclerotic plaque or with an aneurysm). To the best of our knowledge there is no other free software that allows this high flexibility and completeness for the generation of high quality meshes for fluid-structure interaction simulations; we believe it is a very useful tool for many patient-specific applications. In our talk we will show the features of our tool illustrating through concrete examples its potentialities. References: [1] L. Antiga, M. Piccinelli, L. Botti, B. Ene-Iordache, A. Remuzzi, and D. Steinman, “An image-based modeling framework for patient-specific computational hemodynamics,” Medical and Biological Engineering and Computing, vol. 46, pp. 1097–1112, 2008.