<!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>Параллельной метод реконструкции в ортогональных плос- костях</article-title>
      </title-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>629</fpage>
      <lpage>641</lpage>
      <abstract>
        <p>Решается задача реконструкции внешних и внутренних границ органов, имеющих сложную пространственную структуру (мозг, сложные кости) по данным томографии. Для разрешения неоднозначностей реконструкция выполняется в ортогональных плоскостях. Рассматриваются 2 подхода. В первом, производится трехмерная сегментация методом разрастания регионов, и решается задача реконструкции двумерных контуров в двух ортогональных сечениях. Во втором - алгоритм реконструирует контуры в плоскостях, ортогональных осям координат, и объединяет их в граф поверхности. В обоих алгоритмах, полученный набор контуров триангулируется. За счет независимой обработки плоскостей, в параллельной реализации удалось добиться достаточно высокого ускорения. Ключевые слова: реконструкция, томография, сегментация, контур, неоднозначность.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>На вход алгоритма поступают данные компьютерной томограммы, представляющие собой
множество точек со значением поля. Точки размещаются в узлах трехмерной прямоугольной
сетки. С помощью этих точек, используя интерполяцию, можно вычислить значение поля в
произвольной точке. Совокупность точек с одинаковым значением поля образуют изоповерхность.
Необходимо выполнить ее полигональную реконструкцию с информацией о смежных вершинах.</p>
      <p>Идея первого подхода заключается в следующем. Сначала производится сегментация
какоголибо органа. В данной работе применяется трехмерная сегментация с использованием простейшего
метода разрастания регионов и метода активных контуров. В результате этого получаем набор
вокселей, представляющий сегментированный объект. Затем, используя полученный набор вокселей,
получаем контуры на каждом слое путем рассечения вокселей плоскостью, параллельной
плоскости XY. Полученные контуры отдельно для каждого слоя аппроксимируются с помощью
периодических B-сплайнов (Рис. 1).</p>
      <p>
        Таким образом, получаем достаточно точное приближение для контура на каждом слое
томограммы. B-сплайны параметризованы по длине, поэтому в процессе триангуляции генерируются
треугольники из соответствующих точек B-сплайнов. В данном подходе приходится иметь дело с
неоднозначностями. Обычно, неоднозначности в контурном анализе разделяют на 3 группы.
Вопервых – это проблема нахождения когерентных контуров. Имея несколько контуров на
предыдущем и последующем слое, необходимо определить какие, контуры соединять друг с другом.
Вовторых, необходимо найти соответственные точки на когерентных контурах. В-третьих,
необходимо разрешить проблему ветвления в случае, если, число контуров меняется от слоя к слою.
Решение для всех этих проблем предлагается, например, в статьях [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1-3</xref>
        ]. В данной статье проблема
неоднозначности частично разрешаются за счет использования контуров в других плоскостях.
      </p>
      <p>Рис. 1. Результат аппроксимации контуров для всех слоев
Аналогичные операции производятся в ортогональном направлении. Из-за использования
аппроксимации для приближения контура, в общем случае, нельзя получить точек пересечения
ортогональных контуров. Поэтому, для того, чтобы получить сетку, учитываются точки уже
сгенерированных контуров для сплайн-аппроксимации в ортогональном направлении (Рис. 2).
Рис. 2. Результат аппроксимации контуров для всех слоев в двух ортогональных направлениях
3. Реконструкция методом объединения контуров в ортогональных
плоскостях</p>
      <p>Первым этапом реконструкции является получение набора точек. В данном подходе, будем
рассматривать поверхность, интерполирующую данные точки, то есть каждая вычисленная точка
будет являться вершиной поверхности. Рассматривая произвольный набор точек в пространстве,
возникает ряд неоднозначностей, наиболее важной из которых является определение соседних
вершин.</p>
      <p>Для разрешения этих неоднозначностей алгоритм Marching Cubes предлагает принять
следующие условия:
• В пространстве рассматривается прямоугольная сетка;
• Ребро ячейки сетки пересекает только одну изоповерхность;
• Вершины изоповерхности находятся на узлах и ребрах сетки;
• Вершины, находящиеся на грани ячейки, являются соседними (их можно соединить
линией).</p>
      <p>
        Данные свойства дают возможность применить несколько иной подход к реконструкции –
вначале реконструировать кривые (или контуры) исходной поверхности. Данный подход является
широко распространенным, и, например, хорошо описан в [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Однако если учесть упомянутые
выше условия, появляется возможность извлечь из исходных данных немного больше
информации. Алгоритмы, подобные приведенному в работе [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], рассматривают последовательность
контуров в плоскостях, ортогональных только одной из осей. Описанный ниже подход предлагает
рассмотреть объединение контуров, полученных на ортогональных трем осям плоскостях, и
предлагает решение задачи эффективного поиска точек их пересечения.
      </p>
      <p>Алгоритм реконструкции состоит из трех этапов. На каждом из них вычисляются вершины и
выявляются связи между ними, основываясь на установленном критерии. В процессе работы
алгоритма последовательно рассматриваются 2D сетки, ортогональные осям. Для оси X получаем
последовательность контуров (Рис. 3, слева) и множество вершин на ребрах сеток. Затем
рассматриваются 2D сетки, ортогональные оси Z. Множество вершин на сетках, полученное на предыдущем
этапе, переносится на текущие сетки, и вычисляются новые вершины. После выявления связей
получаем последовательность контуров (Рис. 3, в середине). В итоге, рассматриваются 2D сетки,
ортогональные оси Y. Вычисление новых вершин не требуется, и остается перенести полученные на
предыдущих этапах вершины на текущие сетки. Получаем последовательность контуров (Рис.3,
справа).</p>
      <p>Рис. 3. Результат работы алгоритма
Последовательность направлений может быть любой. Но только выбор по трем направлениям
гарантирует единственность получаемой модели. Сетки в пределах одного направления
обрабатываются независимо, что дает возможность распараллелить вычисления.</p>
      <p>Таким образом, основными этапами алгоритма являются реконструкция сетки поверхности и
триангуляция полученной сетки.
4. Использованные инструменты и реализация</p>
      <p>
        Для реализации сегментации и выделения контуров использовались библиотеки ITK и VTK.
Данные библиотеки с открытым исходным кодом и распространяются под лицензией Apache 2.0.
Лицензия Apache дает пользователю право использовать программное обеспечение для любых
целей, свободно распространять, изменять, и распространять измененные копии, за исключением
названия. Библиотека ITK содержит большое количество реализаций для различных методов
сегментации, причем сегментация может быть произведена в пространстве любой размерности.
Библиотека работает по принципу конвейера, то есть данные для сегментации и любых других
операций загружаются в память порциями, размер которых определяется пользователем. Таким образом,
можно работать с данными очень больших объемов и производить параллельные вычисления.
Например, для сегментации методом разрастания регионов достаточно выбрать начальную точку
алгоритма и указать, что сегментация будет произведена в трехмерном пространстве. Для
сегментации методом активных контуров необходимо задать начальный контур. Для анализа была взята
томограмма мозга, которую можно бесплатно получить в Интернете в рамках проекта brainweb
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Объектом для сегментации и реконструкции являются желудочки мозга. Так как они
представляют собой достаточно простой объект, можно применить метод разрастания регионов.
Классы библиотеки ITKitk::ConfidenceConnectedImageFilter (Рис. 4, слева) и
itk::ContourExtractor2DImageFilter (Рис. 4, справа) позволяют провести сегментацию и выделение
контуров соответственно.
      </p>
      <p>Рис. 4. Результат работы алгоритма.</p>
      <p>
        После выделения точечных контуров, они аппроксимируются с использованием B-сплайнов.
Для этой задачи используется библиотека Geometric Tools [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Данная библиотека также является
открытой и содержит некоторые удобные геометрические алгоритмы, в частности алгоритм
аппроксимации контура B-сплайнами. В библиотеке нет поддержки аппроксимации закрытых
контуров (периодические B-сплайны), поэтому в класс gte::BSplineCurveFit была добавлена необходимая
функциональность.
Рис. 5. Аппроксимация B-сплайном.
      </p>
      <p>B-сплайны параметризованы по длине. Для простых структур, у которых форма и размеры
контура не сильно отличаются от слоя к слою, этого оказывается достаточно для нахождения
соответственных точек и триангуляции.</p>
      <p>Библиотека VTK служит для визуализации результатов обработки изображений. К сожалению,
на данный момент, она не содержит механизмов триангуляции параллельных контуров, и, тем
более, разрешения неоднозначностей.</p>
      <p>Реализацию второго подхода рассмотрим на примере трехмерной прямоугольной сетки 6x5x5
с известными значениями поля в узлах. Для построения модели сначала рассматриваются 2D
сетки, ортогональные оси Z.</p>
      <p>Для текущей 2D сетки, введем нумерацию узлов (совпадает с нумерацией вертикальных ребер)
и горизонтальных ребер (Рис. 6).</p>
      <p>Рис. 6. Нумерация узлов
Для каждого ребра значения поля в инцидентных узлах сравниваются с изозначением. Если в
одном узле значение больше, а в другом – меньше изозначения, то через это ребро проходит
вершина поверхности. В этом случае интерполируется положение вершины (Рис. 7). Возможно,
изозначение совпадет со значением поля в узле сетки. В этом случае положение вершины будет точно
на узле.</p>
      <p>Рис. 7. Интерполированные положения вершин.
Таким образом, алгоритм работает с тремя типами вершин: 1) Вершины, лежащие на
горизонтальных линиях сетки; 2) Вершины, лежащие на вертикальных линиях сетки; 3) Вершины,
лежащие в узлах сетки. Вместе c типом вершины, соответствующий номер ребра определяет ее
положение на сетке. В дальнейшем, номер будет использоваться при вычислении соседних вершин.</p>
      <p>Для определения соседних вершин предлагается использовать критерий: связывать вершины,
находящиеся на ближайших ребрах (Рис. 7). Для горизонтальных и вертикальных вершин можно
выделить три возможных комбинации размещения соседей (Рис. 8).</p>
      <p>Рис. 8. Вычисление связей для вершин. Для каждой вершины обозначена окрестность, на границе которой
возможные вершины являются соседними.</p>
      <p>Обращение к соответствующим ребрам для проверки наличия на них соседних вершин
осуществляется через введенную нумерацию вертикальных (узловых) и горизонтальных вершин.
Например, на рисунках 9 и 10 изображен способ вычисления номеров ребер для вершины на ребре
J.</p>
      <p>Рис. 9. Вычисление номеров нижнего и верхнего ребра, W – ширина сетки (в ребрах)
Рис. 10. Вычисление номеров для левых и правых ребер, R = J / W
Рис. 11. Построенный контур
Таким образом, строим последовательность контуров, ортогональных Z (Рис. 12).</p>
      <p>Рис. 12. Последовательность контуров, ортогональных оси Z
Можно заметить, что вертикальные и узловые вершины, принадлежащие сеткам,
ортогональным Z, будут принадлежать и сеткам, ортогональным X. Эти вершины (вместе с информацией об
их связях) переносятся на сетки, ортогональные X (предполагается использование индекса
вершины или указателя), и там, аналогично, будут являться вертикальными или узловыми. Для переноса,
выполняется обращение к соответствующим ребрам с помощью нумерации. Также, вычисляются
новые вершины (На рисунке 13 – горизонтальные). После этого применяется описанный ранее
алгоритм вычисления соседних вершин к каждой сетке.
Рис. 13. Последовательность контуров, ортогональных оси X
На последнем этапе вычислять новые вершины не требуется – они вычислены на предыдущих
этапах. Их необходимо правильно перенести – вершины, вычисленные на первом этапе – останутся
горизонтальными, а вершины со второго этапа – были горизонтальными, но станут
вертикальными. Аналогично, к каждой сетке применяется алгоритм вычисления связей (Рис. 14)
Рис. 14. Последовательность контуров, ортогональных оси Y
В полученном графе, степень вершины и количество ребер в каждой внутренней грани, как
правило, ограничены константой. Это дает возможность триангулировать данный граф, например,
посредством перебора инцидентных граней для каждой вершины.
5. Результаты</p>
      <p>Для первого подхода, на четырехъядерном процессоре AMD A-10 5745M 2.10GHz с 12 Гб
оперативной памяти были получены следующие результаты.</p>
      <p>Таблица 1. Результаты сегментации
Число итераций
лельных вычислений высока, было получено небольшое ускорение. В дальнейшем, планируется
распараллелить этот процесс с помощью OpenMP, что должно повысить производительность.</p>
      <p>Таблица 2. Результаты: выделение контуров, аппроксимация и триангуляция (для всех слоев)
Ускорение, полученное для данной фазы, согласуется с теоретическими оценками для доли
параллельного кода около 75% (закон Амдала). В дальнейшем, планируется оптимизировать
алгоритм для повышения доли параллельных вычислений.</p>
      <p>Для второго подхода, на двухъядерном процессоре Intel®Core™ i5 750 2.66 GHz с 4 Гб
оперативной памяти были получены следующие результаты.</p>
      <p>Таблица 3. Таблица производительности для алгоритма вычисления сетки контуров
Долю последовательного кода в данном алгоритме можно оценить отношением объема
томограммы к числу полученных вершин. Таким образом, из-за небольшого количества вершин в
изоповерхности по сравнению с количеством обрабатываемых ребер, и как следствие, малой долей
последовательного кода, теоретическое ускорение, по закону Амдала, почти равно числу
процессоров. Однако, на практике, из-за неравномерной загрузки и наличия кэш-промахов в функции
вычисления связей, полученное ускорение оказалось меньше теоретического.</p>
      <p>
        Далее показаны таблица и график для сравнения с реализацией Marching Cubes [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
дополненной оптимизированной процедурой поиска общих вершин для соседних кубических ячеек.
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0,000
Таблица 4.Сравнение с реализацией Marching Cubes
6. Заключение
      </p>
      <p>
        В данной статье представлены два подхода, применяющиеся для реконструкции поверхностей
произвольного топологического типа. Вначале реконструировались контуры поверхности.
Показано, как наличие ортогональных плоскостей позволяет уточнять текущие и строить новые контуры.
В рамках первого подхода, трехмерная сегментация органов и автоматическое выделение контуров
производились с помощью библиотеки ITK. С целью получения гладкого параметризованного
представления выполнена аппроксимация контуров на каждом слое периодическими B-сплайнами
третьей степени. Во втором подходе, реконструкция поверхности выполнялась за счет построения
ее графа. Вычисление координат вершин поверхности производилось аналогично алгоритму
Marching Cubes [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], развитого новой процедурой вычисления связей. Результат триангуляции
контуров для первого подхода показан на рисунке 17 (слева), второго – 17 (справа).
Рис. 17. Результат триангуляции: желудочков мозга (300 точек в контуре на каждом слое) – для первого
подхода (слева); височно-нижнечелюстного сустава – для 2-го подхода на основе контурной сетки (справа).
      </p>
      <p>В процессе реконструкции, плоскости обрабатываются независимо. Это позволило получить
достаточно высокие ускорения в параллельных версиях алгоритмов.
В дальнейшем, после получения замкнутой поверхности в рамках первого подхода, будет
произведена оценка нормалей во всех точках, участвовавших в триангуляции. Затем будет применена
технология криволинейных PN-треугольников для уточнения поверхности. Используя средства
библиотеки ITK, можно рассчитывать площади построенных поверхностей и их объемы. Также
планируется использовать аппроксимацию всего набора контуров с помощью В-сплайновых
поверхностей.</p>
      <p>
        Для структуры, полученной во втором подходе, будет разработан более эффективный
алгоритм триангуляции, позволяющий получить приближение поверхности криволинейными
PNтреугольниками [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
Литература
Parallel reconstruction method in orthogonal planes
      </p>
    </sec>
    <sec id="sec-2">
      <title>M. M. Novozhilov, M.P. Kochukov</title>
    </sec>
    <sec id="sec-3">
      <title>Lobachevsky State University of Nizhni Novgorod</title>
      <p>In this paper we solve the reconstruction problem of external and internal borders of organs
with a complex spatial structure (brain, complex fracture). Reconstruction performed in
orthogonal planes to resolve ambiguities. First approach is the following: at the beginning we perform
the 3-dimensional segmentation using region growing algorithm. Then we solve the
2dimensional contour reconstruction problem for the two orthogonal cuts. In the second case, the
algorithm reconstructs contours in planes which are orthogonal to the coordinate axis, and
combines them into graph of surface. Further, in the both approaches, resulting set of contours are
triangulating. Due to the independent processing of the planes in the parallel implementation
achieved a sufficiently high acceleration.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wang</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hassan</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morgan</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weatherill</surname>
            <given-names>N. P.</given-names>
          </string-name>
          <string-name>
            <surname>Efficient</surname>
          </string-name>
          <article-title>Surface Reconstruction from Contours Based on Two Dimensional Delaunay Triangulation /</article-title>
          / Journal for Numerical Methods in Engineering.
          <year>2006</year>
          . Vol.
          <volume>65</volume>
          , No. 5. P.
          <volume>734</volume>
          -
          <fpage>751</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Sederberg</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hong</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaneda</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klimaszewski</surname>
            <given-names>K</given-names>
          </string-name>
          . Triangulation of Branching Contours using Area Minimization // Internat. J.
          <source>Comput. Geom. Appl</source>
          .
          <year>1998</year>
          . Vol.
          <volume>8</volume>
          , No. 4,
          <string-name>
            <surname>P.</surname>
          </string-name>
          389-
          <fpage>406</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Meyes</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skinner</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sloan</surname>
            <given-names>K</given-names>
          </string-name>
          . Surface from Contours // ACM Transactions on
          <article-title>Graphics 1992</article-title>
          . Vol.
          <volume>11</volume>
          , No. 3. P.
          <volume>228</volume>
          -
          <fpage>258</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cong</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parvin</surname>
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Robust</surname>
          </string-name>
          and Efficient Surface Reconstruction from Contours // The Visual Computer
          <year>2001</year>
          . Vol.
          <volume>17</volume>
          ., No. 4. P.
          <volume>199</volume>
          -
          <fpage>208</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lorensen</surname>
            <given-names>W. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cline H. E. Marching</surname>
          </string-name>
          <article-title>Cubes: A high Resolution 3D Surface Construction Algorithm</article-title>
          // Computer Graphics.
          <year>1987</year>
          . Vol.
          <volume>21</volume>
          , No. 4. P.
          <volume>163</volume>
          -
          <fpage>169</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nielson</surname>
            <given-names>G. M.</given-names>
          </string-name>
          , Hamann B.
          <article-title>The Asymptotic Decider: Resolving the Ambiguity in Marching Cubes</article-title>
          .
          <source>Proc. 2nd conference on Visualization (VIS' 91)</source>
          .
          <year>1991</year>
          . P.
          <volume>83</volume>
          -
          <fpage>91</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Bourke</given-names>
            <surname>Paul</surname>
          </string-name>
          .
          <article-title>Polygonising a scalar field: 1994</article-title>
          . URL: http://paulbourke.net/geometry/polygonise/,
          <source>(accessed: 14.02</source>
          .
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Chernyaev</surname>
            <given-names>E.V.</given-names>
          </string-name>
          <string-name>
            <surname>Marching</surname>
          </string-name>
          <article-title>Cubes 33: Construction of Topologically Correct Isosurfaces</article-title>
          .
          <source>Technical Report CERN CN 95-17</source>
          , CERN,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lewiner</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopes</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vieira</surname>
            <given-names>A.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tavares</surname>
            <given-names>G</given-names>
          </string-name>
          . Efficient Implementation of Marching Cubes' Cases with Topological Guarantees // Graphics Tools.
          <year>2003</year>
          . Vol.
          <volume>8</volume>
          , No. 2. P. 1-
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Vlachos</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peters</surname>
            <given-names>J.</given-names>
          </string-name>
          , Boyd C., Mitchell J. L.
          <string-name>
            <surname>Curved PN</surname>
          </string-name>
          <article-title>Triangles</article-title>
          .
          <source>ACM Symposium on Interactive 3D Graphics</source>
          <year>2001</year>
          . P.
          <volume>159</volume>
          -
          <fpage>166</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Manson</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            <given-names>J.</given-names>
          </string-name>
          , Schaefer S. Contouring Discrete Indicator Functions // Computer Graphics Forum.
          <year>2011</year>
          . Vol.
          <volume>30</volume>
          , No. 2. P.
          <volume>385</volume>
          -
          <fpage>39</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Dietrich</surname>
            <given-names>C. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scheidegger</surname>
            <given-names>C. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schreiner</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Comba</surname>
            <given-names>J. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nedel</surname>
            <given-names>L. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            <given-names>C. T.</given-names>
          </string-name>
          <string-name>
            <surname>Edge</surname>
          </string-name>
          <article-title>Transformations for Improving Mesh Quality of Marching Cubes /</article-title>
          / IEEE TVCG.
          <year>2009</year>
          . Vol.
          <volume>15</volume>
          , No. 1. P.
          <volume>150</volume>
          -
          <fpage>159</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lukashevich</surname>
            <given-names>P. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zalesskiy</surname>
            <given-names>B. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nedz'ved' A. M.</surname>
          </string-name>
          <article-title>Vosstanovlenie poverkhnosti trekhmernogo ob"ekta po obvodkam ego secheniy [Surface Reconstruction of Three-Dimensional Object by Strokes of its Cross-</article-title>
          <source>Sections] // Iskusstvennyy intellekt [Artificial intelligence]</source>
          .
          <year>2010</year>
          . No. 2. P.1-
          <fpage>8</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. BrainWeb:
          <article-title>Simulated Brain Database</article-title>
          . URL: http://brainweb.bic.mni.mcgill.ca/brainweb/ (accessed:
          <fpage>12</fpage>
          .
          <fpage>02</fpage>
          .
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. GeometricTools. URL: http://www.geometrictools.com/ (accessed:
          <fpage>12</fpage>
          .
          <fpage>02</fpage>
          .
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>