<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Algorithm for Visualization of Patient-specific CT- based Vascular Data for the Model of 1D Hemodynamics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>V. Karlov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S. Simakov</string-name>
          <email>simakovss@ya.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Sechenov University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>52</fpage>
      <lpage>61</lpage>
      <abstract>
        <p>This paper accounts for the problem of the postprocess data visualisation coming from the patient-specific CT-based 1D blood flow modelling. Two approaches and their modifications are studied and analysed. Finally, the own method of interactive data representation is developed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Nowadays, cardiovascular diseases are a severe problem of all humankind. In
many cases, such diseases develop for years without symptoms with unexpected acute
termination. Recent achievements of mathematics and mathematical modelling allow
advanced diagnosis and treatment of such conditions [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1-4</xref>
        ]. With the help of
numerical calculations and simulations, it is possible to predict the practical outcome
of surgical operations on the vessels, to optimise the shape and position of
endovascular implants, to study their effect on hemodynamics, to study the impact of
graduated stocking compression of veins [
        <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
        ]. The most advanced mathematical
models use patient-specific data, which clinicians measure in regular practice
[
        <xref ref-type="bibr" rid="ref1 ref2 ref4 ref5">1,2,4,5</xref>
        ]. Such data include CT-scans, ultrasound velocity measurements, heart rate,
systolic and diastolic arterial pressure, the velocity of the pulse wave propagation, etc.
In many practical cases, this information is sufficient for the quantitative prognosis of
patient conditions basing on the computational experiments without real surgical
procedure and other types of medical treatment, such as noninvasive assessment of
fractional flow reserve of coronary flow [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. In this connection, especially useful,
are the reduced order models [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6-8</xref>
        ].
      </p>
      <p>
        Along with sophisticated mathematical models, a task of the data visualisation is
very difficult important. The vascular network of a human has a complex 3D structure
with a significant number of elements. Several algorithms of patient-specific CT data
segmentation has been proposed. They successfully produce a 3D structure of the
local vascular region. Algorithms dealing with centerline extraction and 1D core
graph generation for reduced order modelling are less common [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        This article concerns the problem of algorithm development, which provides a
user-friendly, interactive, cross-platform tool for the interaction with computed data,
which are mapped to the virtual geometric model of the individual vascular structure.
This tool is intended both for the experienced IT users with excellent programming
skills, who perform the simulations, and for the medical doctors, who need fast, and
reliable processing of the data from the patient. The proposed algorithm is an
extension of CT data processing. As an input, it takes the centerlines and average
diameters of the vascular segments, which were generated by the other algorithm
[
        <xref ref-type="bibr" rid="ref10 ref9">9,10</xref>
        ]. It produces a mapping and visualises the data from a computational module of
1D hemodynamics. Thus, it is a postprocessing algorithm of the general workflow,
which provides flexible frontend with possible access thorugh the Internet or local
network.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Related works</title>
      <p>
        The generation of individualised geometrical domains based on medical imaging
is a well-known task. The assumed 1D hemodynamic model [
        <xref ref-type="bibr" rid="ref6 ref8">6,8</xref>
        ] uses a 1D network
of a patientspecific vascular region with a large number of ve ssels. The 1D network
is the graph with nodes in the 3D space, which keeps geometric data such as length
and average diameter of the vessel segments as parameters. 1D network generation
algorithm, includes reconstruction, correction, and local adaptation with two modes of
centerline representation: sets of connected voxels and parametric curves with
assigned parametric diameters. The efficiency of this algorithm was tested on several
examples. Also, it can be applied to other tubular structures, such as a network of
lymphatic vessels or trachea-bronchial tree [
        <xref ref-type="bibr" rid="ref11 ref12">11,12</xref>
        ].
      </p>
      <p>
        Several algorithms of skeletonisation and centerline extraction for tubular
structures have been proposed. Voronoi diagram methods find centerlines as the paths
in Voronoi diagrams that minimise the integral of the radii of the maximal inscribed
spheres along the pathway [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Distance mapping methods are generally used to
construct the shortest path between two points. It generates the distance from the
source map (DFSM), which is the distance from the source point to each voxel inside
the 3D object. The shortest path from the endpoint to the source point is found by
descending through the gradient of the DFSM. The centredness problem is solved by
adding a penalty to the distance cost at each node to keep the shortest paths away
from the boundary [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        The centerlines also accurately produced by level set methods [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Skeletons of 3D
regions can be generated by voxelbased algorithms [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. A comp arison of different
skeletonisation methods can be found in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. It also exists a method of direct
centerline extraction without segmentation [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. The topological thinning process
removes voxels on the boundary of the shape with preserving connectivity and
topology [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        Review and more details on these algorithms can be found in [
        <xref ref-type="bibr" rid="ref17 ref9">9,17</xref>
        ], which also
proposes fully automatic coronary artery segmentation, automated reconstruction of
1D network using the skeleton extraction from a segmented image, automatic 1D
network extraction from a set of centerlines with a common root, two 1D network
graph postprocessing algorithms for graph correction, and local adaptation.
      </p>
      <p>
        Our algorithm takes the output of some of these algorithms for backward
reconstruction of the 3D tubular domain with assigned data from the computational
module of 1D haemodynamics and interactive features allowing a visual analysis of
the flow in patient vascular network in different virtually generated situations.
Currently, this unusual but essential task for successful development of monolithic
technology covering all stages from patient data collecting to final personalised
analysis and recommendations. This work is focused on two approaches. The first
approach is based on the PyMesh library developed by Qingnan Zhou as part of his
research at New York University [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]. The method uses client-server architecture
involving the generation of a 3D model on the server and its subsequent transfer to the
client's side. The second approach uses Babylon library.js, which contains a large
number of possibilities for generating and displaying 2D and 3D objects [
        <xref ref-type="bibr" rid="ref22 ref23 ref24">22-24</xref>
        ]. The
advantage of this approach is fully client-oriented algorithms for constructing 3D
models without a server. Further, in this work, we will give details on both of these
approaches with the analysis of the advantages and disadvantages relative to our
specific task.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 PyMesh library approach</title>
      <p>
        The first approach is the use of implementation-based PyMesh library [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ].
Zindani Zhou developed this library in the framework of his research at New York
University. PyMesh is a rapid prototyping platform for processing geometrical data.
PyMesh is developed using both C++ and Python. C++ is used for the complex parts
of the code. Python is used as a high-level wrapper, which was designed to provide a
minimalistic and straightforward interface. One of the purposes of this library is to
generate meshes for elementary shapes (primitives), such as a cube, sphere and
cylinder. A mesh is a collection of vertices, edges, and faces, which defines the shape
of a multi-faceted object in 3D graphics and volume modelling. Faces are typically
triangles, quadrilaterals or other convex polygons. The meshes may also include
nonconvex polygons and polygons with the holes. The interface allows specifying the
number of vertices in the generated objects, thereby enabling variation of quality of
the 3D image and required memory. The consumed memory is especially important
for network applications. Figure 1 shows the results of the sphere rendering with a
different number of polygons. The first (left) case uses 2 KB memory. The second
refined case uses 52 KB.
      </p>
      <p>A script generates the 3D tubular structure. First, we divide centerlines into
segments and substitute them with the cylinders (see Figure 2, top). At the joints of
the cylinders, the spheres were added. The radius of each sphere is calculated as the
maximum radius of the adjacent cylinders (see Figure 2, bottom). It makes this
approach difficult for the applications, which deals with a wide tubular network
rendering. It requires the construction of a lot of primitives for every tubular segment,
which results in increased memory consumption, which is critical for the
networkbased applications.</p>
      <p>
        This approach can be improved by a Display Model Concept (DMC). This
concept combines PyMesh as a mechanism for generating a 3D model and some other
stack for the rendering on the terminal device. We assume the target platform as a
web browser. The suitable library for final rendering is a Three.js [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Three.js is a
lightweight cross-browser JavaScript library for creating and displaying animated 3D
computer graphics in web applications. Thanks to the WebGL technology [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]
Three.js allows developing GPU-accelerated 3D graphics using JavaScript as a part of
the site without proprietary plugins.
      </p>
      <p>
        Three.js allows loading generated meshes and performing various transformations
on them, including change of the colour, texture, size, etc. The DMC with Three.js
requires splitting 3D model into parts. After that, every component can be
transformed separately, which enables the interactive behaviour of the 3D model.
From one hand, this splitting is a natural consequence of using PyMesh. From the
other hand, it decreases the performance of the model. Figure 3 shows the result of
model construction for the two coronary networks [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] using DMC implementation.
The surface is sufficiently rugged due to the presence of a large number of cylindrical
and spherical primitives, especially in the high-quality rendering. The memory, which
is used by these models, is more than 50Mb, which is unacceptable.
      </p>
      <p>We conclude, that, since the PyMesh library is a python language library and
contains source code written in C++ it is challenging to use it as a cross-platform
and/or browser-based solution. The only available solution is to delegate the
generation of 3D models to a remote server. This solution has several side effects:
 the need for a permanent Internet connection from the user,
 the need to maintain the server infrastructure,
 related difficulties in scaling the service,
 the complexity of the service architecture, which often prevents further support
and development,
 the need to maintain the user authorisation, and the security of the system.</p>
      <p>When using PyMesh, difficulties may arise at the time of the library installation.
The easiest way is to install the docker image, although this solution allows using the
library in sandbox mode, it is not suitable for full deployment on the server. The only
possible option is to build the entire library using the CMake utility. C++ is not a
cross-platform language, so if after changing the server infrastructure, the build
process should be repeated. This method, although acceptable, in practice causes a lot
of difficulties and problems, and also makes it impossible to maintain the versions of
all necessary libraries up to date.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Babylon library approach</title>
      <p>The use of PyMesh based approach gave us an understanding of the significant
problems and bottlenecks, which have to be solved for developing a quality and
convenient service. The further work was concentrated on
 increasing the smoothness of the model with the memory limitations,
 improving the service/model performance by reducing the limit of consumed
resources and transferring the mesh generation to the client side within a thick-client
architecture.</p>
      <p>
        In this connection, the Babylon library [
        <xref ref-type="bibr" rid="ref22 ref23 ref24">22-24</xref>
        ] was examined. Babylon.js is a 3D
real-time engine that uses JavaScript library to display 3D graphics in a web browser
using HTML5 technology. The source code is available on GitHub and is licensed
under the Apache License 2.0. David Katuhe and David Russe with the support of
artist Michel Rousseau developed and released this library in 2013 as an engine for
3D games. The source code is written in TypeScript and then compiled into a
JavaScript version. The JavaScript version is available to end users via NPM or CDN,
who then encode their projects in JavaScript, accessing the engine API. 3D engine
and custom Babylon code are interpreted in its way by all web browsers, which
support HTML5 and WebGL. The library interface makes it possible to generate and
display objects with the help of a browser. Thus, this approach allows for avoiding
problems related to the support of the remote server infrastructure.
      </p>
      <p>The primitives of the Babylon library are custom defined shell models. Polygons
perform the 3D modelling of shell models with triangular faces, which are combined
to a predefined set (shell model). The library allows the use of structural block
geometry methods to construct the union, difference, and the intersection of shell
models. Once the objects are built, they are displayed on the HTML5 canvas element
using a Shader program that determines the position of pixels and colours on the
canvas with polygon models, textures applied to each model, scene camera, light
sources, and 4x4 world matrices for each object that stores their position, rotation
angle, and scale.</p>
      <p>The Structurally Solid Geometry (SSG) allows decreasing the memory and
performance requirements. SSG is a technology, which used in solid modelling. This
technology allows creating complex surfaces or objects from basic primitives (cube,
cylinder, prism, pyramid, sphere, cone) using logical operators (logical union, logical
subtraction, and logical intersection). Thus, one may develop models of nontrivial
objects without storing vertices and edges, which will never be visible.</p>
      <p>
        We use Bezier curves to smooth the image of the graph [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. The drawback of this
approach is the loss of information about the centerlines. But it allows producing a
more visually attractive and user-friendly rendering. The useful properties of the
Bezier parametrisation are:
 the segment is filled continuously from start to endpoint,
 the curve does not go beyond the shape specified by the lines connecting the
terminal points,
 the Bezier curve is symmetric, that is, the order of the points forming it does not
affect the shape of the curve,
 scaling and changing the proportions of the curve does not break its, stability, as
it is an affine invariant.
      </p>
      <p>A Bezier curve is a parametric curve, which cand be defined as</p>
      <p>B t    Pk Fk,n t , 0  t  1,
where P is the vector of the support vertices and F is the basis functions of the Bezier
curve, also called Bernstein polynomial</p>
      <p>Fk,n t  </p>
      <p>n!
k ! n  k !
t k 1 t nk ,
where n is the order of the curve, k is the order of the vertex. 3D curves allow
construction of a model of the vessels. The following equation gives the Cubic Bezier
curve (n = 3)</p>
      <p>B t   1  t 3 P  3t 1  t 2 P  3t 2 1 t  P2  t3P3.</p>
      <p>0 1</p>
      <p>
        This method of interpolation is used in the final version of our application. Figures
4 and 5 shows the result of the developed algorithm for the coronary [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] and
cerebral [
        <xref ref-type="bibr" rid="ref4 ref5">4,5</xref>
        ] vessels, which are initially based on the patient-specific CT data. One
may see smooth visual representation, which is also stable for interactive
transformations (rotations, scaling, etc) and allows manual selection of the small
element of the model.
      </p>
      <p>The developed algorithm of visualization of the system of centerlines should be
extended with some additional functionality. It includes
 uploading and downloading files with computational data,
 parsing input data and convert tham to a suitable format for displaying,
 implementing interface of chart drawing for the data, which are associated with
the selected region of the network.</p>
      <p>
        We use the Vue framework [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] for the implementation of all these functions. In
contrast to monolithic frameworks, Vue is intended for gradual development and
implementation of web projects. This framework primarily solves the problems of the
application view layer and allows reusing other libraries and existing projects. One of
the main features of this framework is the component approach. Components help
extend basic HTML elements and connect reusable code.
      </p>
      <p>During the design phase, we break our application into independent parts and
obtain a tree structure of the components. Having described the application in the
architecture of this framework, we get a set of separate modules that can be worked
with as a constructor. Each module remains independent and could be changed
without effect to the other modules.</p>
      <p>The final pipeline of our solution is as follows
 user uploads data files to the service,
 service parses files and converts them into the internal format,
 Bezier curves are generated based on the centre lines,
 the obtained Bezier curves are used as a skeleton for constructing meshes,
 event listeners are added to the meshes,
 a camera, light sources, built meshes are added to the empty scene,


listeners of keystrokes are bounded to the meshes,
the graphics display module is activated.</p>
      <p>It should be mentioned, that the data parser does not contain complex logic. Its
only task is to convert the input data into a format suitable for other modules. The
graphs are implemented in such a way that it is possible to fix the constructed curves
and compare them with the values at other points. The state machine uses a queue
structure so one may reuse the free colours in the legend of the graphs.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusion</title>
      <p>This paper presents the solution, which allows attractive visualisation of the data
computed using a 1D blood flow model. Review of existing algorithms and analysis
of their advantages and disadvantages allows developing a cross-platform web service
with acceptable network, memory and CPU performance. The performance and
crossplatform nature make the solution suitable to most modern personal computers
without any restrictions. Modular architecture enables to update individual
components independently.</p>
    </sec>
    <sec id="sec-6">
      <title>6 Acknowledgements</title>
      <p>This work was supported by the Russian Foundation for Basic Research, Grants
No 18-00-01524, 18-31-20048.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Gognieva</surname>
            ,
            <given-names>D.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Syrkin</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vassilevski</surname>
          </string-name>
          , Yu.V.:
          <article-title>Noninvasive Assessment of Fractional Flow Reserve Using Mathematical Modeling of Coronary Flow</article-title>
          .
          <source>Kardiologiya</source>
          , Vol.
          <volume>58</volume>
          , #
          <volume>12</volume>
          , pp.
          <fpage>8</fpage>
          -
          <lpage>92</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ge</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vassilevski</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , et.al.:
          <article-title>Sensitivity of Coronary Flow Reserve to Cardiovascular Parameters: A Computational Model-Based Study</article-title>
          .
          <source>IECBES 2018 - Proceedings</source>
          , pp.
          <fpage>32</fpage>
          -
          <lpage>35</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , et.al.:
          <source>Model-based Study on the Hemodynamic Effects of Graduated Compression Stockings in Supine and Standing Positions</source>
          .
          <source>2018 IEEE EMBS Conference on Biomedical Engineering and Sciences, IECBES 2018 - Proceedings</source>
          , pp.
          <fpage>27</fpage>
          -
          <lpage>31</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kopylov</surname>
            ,
            <given-names>F.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bykova</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shchekochikhin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          ., et.al.:
          <article-title>Asymptomatic Atherosclerosis of the Brachiocephalic Arteries: Current Approaches to Diagnosis and Treatment</article-title>
          .
          <source>Terapevticheskii Arkhiv</source>
          , Vol.
          <volume>89</volume>
          , #4, pp.
          <fpage>95</fpage>
          -
          <lpage>100</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Simakov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gamilov</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Computational Study of the Cerebral Circulation Accounting for the Patient-Specific Anatomical Features</article-title>
          .
          <source>Smart Innovation, Systems and Technologies</source>
          , Vol.
          <volume>133</volume>
          , pp.
          <fpage>309</fpage>
          -
          <lpage>330</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Simakov</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          :
          <article-title>Modern Methods of Mathematical Modeling of Blood Flow Using Reduced Order Methods</article-title>
          .
          <source>Computer Research and Modeling</source>
          , Vol.
          <volume>10</volume>
          , #5, pp.
          <fpage>581</fpage>
          -
          <lpage>604</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Petrov</surname>
            ,
            <given-names>I.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favorskaya</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favorskaya</surname>
            ,
            <given-names>M.N.</given-names>
          </string-name>
          , et.al.:
          <article-title>Development and Applications of Computational Methods</article-title>
          .
          <source>Smart Innovation, Systems and Technologies</source>
          , Vol.
          <volume>133</volume>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>7</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bessonov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sequeira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simakov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et.al.:
          <article-title>Methods of Blood Flow Modelling</article-title>
          .
          <source>Mathematical Modelling of Natural Phenomena</source>
          , Vol.
          <volume>11</volume>
          , #1, pp.
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Danilov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pryamonosov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vassilevski</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Methods of Graph Network Reconstruction in Personalized Medicine</article-title>
          .
          <source>International Journal of Numerical Methods in Biomedical Engineering</source>
          . Vol.
          <volume>32</volume>
          , #8, pp.
          <year>e02754</year>
          :
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pryamonosov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Danilov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Robustness Analysis of Coronary Arteries Segmentation</article-title>
          .
          <source>Smart Innovation, Systems and Technologies</source>
          , Vol.
          <volume>133</volume>
          , pp.
          <fpage>331</fpage>
          -
          <lpage>344</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Golov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simakov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soe</surname>
            ,
            <given-names>Y.N.</given-names>
          </string-name>
          , et.al.:
          <article-title>Multiscale CT-Based Computational Modeling of Alveolar Gas Exchange during Artificial Lung Ventilation, Cluster (Biot) and Periodic (Cheyne-Stokes) Breathings and Bronchial Asthma Attack</article-title>
          .
          <source>Computation</source>
          , Vol.
          <volume>5</volume>
          , #1, pp.
          <volume>11</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Golov</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simakov</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          :
          <article-title>Mathematical Model of Respiratory Regulation During Hypoxia and Hypercapnia</article-title>
          .
          <source>Computer Research and Modeling</source>
          , Vol.
          <volume>9</volume>
          , #2, pp.
          <fpage>297</fpage>
          -
          <lpage>310</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <article-title>VMTK - the vascular modeling toolkit</article-title>
          . (Available from: http://www.vmtk.org/) (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            .
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ke</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          , et. al.:
          <article-title>Automatic Centerline Extraction for Virtual Colonoscopy</article-title>
          .
          <source>IEEE Transactions on Medical Imaging</source>
          , Vol.
          <volume>21</volume>
          , pp.
          <fpage>1450</fpage>
          -
          <lpage>1460</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Hassouna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farag</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Robust Centerline Extraction Framework Using Level Sets</article-title>
          .
          <source>Computer Vision</source>
          and Pattern Recognition, IEEE Computer Society Conference, Vol.
          <volume>1</volume>
          , pp.
          <fpage>458</fpage>
          -
          <lpage>465</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Reniers</surname>
            , D., van Wijk,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Telea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Computing Multiscale Curve and Surface Skeletons of Genus 0 Shapes Using a Global Importance Measure</article-title>
          .
          <source>IEEE Transactions on Visualization and Computer Graphics</source>
          , Vol.
          <volume>14</volume>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>368</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sobiecki</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yasan</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jalba</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Telea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Qualitative Comparison of ContractionBased Curve Skeletonization Methods</article-title>
          .
          <source>In Mathematical Morphology and Its</source>
          Applications to Signal and Image Processing,
          <string-name>
            <surname>Hendriks</surname>
            <given-names>C</given-names>
          </string-name>
          , BorgeforsG, Strand R (eds).
          <source>, Lecture Notes in Computer Science</source>
          . Springer: Berlin Heidelberg, Vol.
          <volume>7883</volume>
          , pp.
          <fpage>425</fpage>
          -
          <lpage>439</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Gülsün</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tek</surname>
          </string-name>
          , H.:
          <article-title>Robust Vessel Tree Modeling in Medical Image Computing and Computer-Assisted Intervention</article-title>
          . Lecture Notes in Computer Science, Metaxas,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Axel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Fichtinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Székely</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds)., Vol.
          <volume>5241</volume>
          , Springer: Berlin Heidelberg, pp.
          <fpage>602</fpage>
          -
          <lpage>611</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Pudney</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Distance-Ordered Homotopic</surname>
          </string-name>
          <article-title>Thinning: a Skeletonization Algorithm for 3D Digital Images</article-title>
          .
          <source>Computer Vision and Image Understanding</source>
          , Vol.
          <volume>72</volume>
          , pp.
          <fpage>404</fpage>
          -
          <lpage>413</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grinspun</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zorin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , et.al.:
          <article-title>Mesh Arrangements for Solid Geometry</article-title>
          . ACM Siggraph, (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>21. URL https://github.com/PyMesh/PyMesh</mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Moreau-Mathis</surname>
            ,
            <given-names>J.: Babylon.Js</given-names>
          </string-name>
          <string-name>
            <surname>Essentials</surname>
          </string-name>
          . Packt
          <string-name>
            <surname>Publishing</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>23. URL https://github.com/BabylonJS/Babylon.js</mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Catuhe</surname>
          </string-name>
          , D.:
          <article-title>WebGL Engine Design in Babylon.js</article-title>
          . WebGL Insights, eds. Cozzi,
          <string-name>
            <surname>P.</surname>
          </string-name>
          CRC Press, (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>25. URL https://github.com/mrdoob/three.js</mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Rogers</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adams</surname>
          </string-name>
          , J.:
          <article-title>Mathematical fundamentals of the computer graphics</article-title>
          . M.:Mir, (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Macrae</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          : Vue.js: Up and
          <string-name>
            <surname>Running. O'Reilly</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>