Визуализация DICOM в дополненной реальности

Приложение визуализирует трёхмерные DICOM-серии с данными компьютерной томографии в дополненной реальности.

Разработано как моя выпускная квалификационная работа в Высшей Школе Экономики.

Были использованы следующие инструменты: Imebra DICOM Library, Unreal Engine 4, CUDA.


Зачем это всё нужно?

Существует так называемое автоматизированное рабочее место (АРМ) врача, состоящее из компьютера с некоторым набором разных мониторов. Оно, как правило, подключается к медицинской информацинной системе (МИС), которая построена в соответствии со стандартом DICOM-PACS (Digital Imaging and COmmunication in Medicine - Picture Archiving and Communication System).

Мы с моим научным руководителем задумались над возможностью дополнить (именно дополнить, а не заменить) АРМ интерактивным визуализатором медицинских изображений в дополненной и виртуальной реальности. На мой взгляд, это может иметь следующие преимущества над текущей ситуацией:

  • Резкое повышение интерактивности взаимодействия с трёхмерным снимком за счёт упрощения механизма создания разнообразных разрезов и тому подобного. Вместо выделения поверхности с помощью мыши, можно будет просто делать это с помощью движений рук. Особенно это упростит сложные срезы.
  • Уменьшение количества необходимых мониторов, что особенно актуально для мобильных АРМ. На рисунке вы видите пример мобильного АРМ.
    Пример мобильной АРМ
  • Возможность проведения консилиумов в виртуальной реальности, при условии, что этот режим будет реализован.

Текущее состояние разработки и возможности развития

На данный момент разработка заморожена.

В рамках работы над ВКР, я реализовал основную часть технологии: преобразование снимком в формате DICOM в трёхмерные изображения и отрисовку в дополненной реальности. Демонстрационное приложение состоит из двух частей: сервера на ПК и клиента на Samsung Gear VR. Приложение сейчас способно отрисовать поверхность с определённой ренгенографической плотностью.

Для практического применения нужно добавить в приложение поддержку контроллеров движения и возможность делать срезы, возможно, сменить используемое оборудование и алгоритм окрашивания.

После защиты ВКР, я попытался найти источники финансирования для дальнейшего развития и внедрения проекта, но, к сожалею, мне не удалось этого добиться. Если вы хотите поучаствовать в этом, можете обратиться ко мне по любому из контактов на сайте.

Несколько скриншотов:


Технические детали

В качестве основного фреймворка в проекте использовался Unreal Engine 4. Само приложение имеет клиент-серверную архитектуру, в которой сервер производит обработку DICOM-данных до генерации трёхмерной модели, а клиент отвечает за отображение результатов.

Изначально приложение строит воксельную модель по данным из DICOM-срезов, но для её рисования этого недостаточно, так как UE4 поддерживает только полигональные модели.

Трёхмерная полигональная поверхность (мэш) генерируется алгоритмом Marching Cubes. Для ускорения этого процесса используется технология параллельных вычислений на видеокартах CUDA (дало ускорение в несколько десятков раз в сравнении с последовательным алгоритмом).

Полученная трёхмерная модель отправляется с помощью TCP-сокетов по локальной сети на клиент (очки Samsung Gear VR), отвечающий за саму визуализацию в дополненной реальности.

Далее клиент определяет относительное положение метки с использованием плагина AugmentedUnreality и отрисовывает трёхмерную модель.