Гаврилов Николай
персональный сайт
Skype:ngavrilov86_0
тел.:+79103874717
e-mail:gavrilov86@gmail.com



Веб-сервис медицинской визуализации

Сервис предназначен для визуализации трёхмерных медицинских данных (КТ и МРТ серии) методами МПР и Объёмным Рендерингом. Рендеринг производится сервером с помощью технологии OpenCL, результирующие изображения отсылаются веб-клиенту. Поддерживает браузеры IE, Chrome, Opera, Firefox, некоторые мобильные браузеры.

Сначала пользователю предложат выбрать одну из томограмм для просмотра, которые заранее были загружены на сервер. Затем выбор режима просмотра и потом сам веб-просмоторщик. Веб-сервис поддерживает до 10 одновременно работающих пользователей.

Попробовать можно здесь.




Объёмный рендеринг на OpenCL

Скачать (79.93mb)

Демонстрация медицинской визуализации на GPU средствами OpenCL, новомодной технологии для вычислений на видеокартах. В данном случае производительность примерно одинаковая по сравнению с шейдерами. В архив включён тестовый массив данных.

Управление:

  • Правая кнопка мыши: масштабирование;
  • Левая кнопка мыши: вращение камеры;
  • Средняя кнопка мыши: менять центр и ширину трансфер-функции;
  • Правая + Левая: перенос камеры.

Объёмный рендеринг на OpenCL
Объёмный рендеринг на OpenCL


Визуализация клеток головного мозга.

Для изучения технологии WebGL я решил сделать визуализатор полигональных моделей. Все данные загружаются и визуализируются прямо в браузере. В качестве примера визуализируемых моделей служат клетки гиппокампа мыши, вручную реконструированные Ильёй Патрушевым по снимкам с электронного микроскопа, и морфологию которых я исследую (Subcellular location of astrocytic calcium stores favors extrasynaptic neuron–astrocyte communication).


Посмотреть...




Программная утилита для сканирования DICOM файлов.

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


Подробнее...




Визуализатор медицинских и научных данных.

Поскольку 70% моей кандидатской диссертации посвящена визуализации пространственных медицинских данных, то, как основной результат, в ходе работы была создана программная система, которую я развиваю и по сей день. Программа предназначена для медицинской визуализации КТ и МРТ томограмм в формате DICOM, хотя она также может быть использована для визуализации научных пространственных данных в бинарном формате RAW. Программа имеет как 2д, так 3д режимы просмотра томограмм:

В режиме 3Д:

  • Прямой Объёмный Рендеринг (Direct Volume Rendering, DVR);
  • Проекция Максимальной/Минимальной Интенсивности (Maximum/Minimum Intensety Projection, MIP/MinIP);
  • Затенённая поверхность (Shaded Surface Display, SSD);
  • Все эти режимы реализованы как с использованием графического ускорителя (GPU-based), так и без него (CPU-based).

В режиме 2Д:

  • Мульти-плоскостная Реконструкция (Multi-planar Reconstruction, MPR);
  • Инструменты thin slab MIP, thin slab MinIP, thin slab average;
  • Инструменты измерения расстояний, углов, площадей и т.д.;
  • Кроме ортогональных MPR доступна также косая проекция.

Дополнительную информацию о программе, документацию и бесплатную версию можно найти по адресу http://ngavrilov.ru/invols/.

Режим просмотра MPR
Режим просмотра MPR
Режим MPR c толщиной слоя 5см (thin MIP)
Режим MPR c толщиной слоя 5см (thin MIP)

Режим 3Д (Объёмный Рендеринг)
Режим 3Д (Объёмный Рендеринг)
Одновременная визуализация <br>различными техниками(DVR, SSD, MIP)
Одновременная визуализация
различными техниками(DVR, SSD, MIP)


Две программы под QT.

Скачать (3.43mb)

Здесь я изучал QT и делал первые попытки создать систему визуализации научных данных, что-то вроде ParaView.

Одна из программ отображает изоповерхности скалярного поля, которое задано явно в виде функции в файле фрагментного шейдера frB.h (функция Equ). Программа визуализирует множество точек пространства, где поле приобретает значения из интервала, задаваемого вертикальными ползунками справа, т.е. на экран выводится множество точек (x,y,z), для которых a < f(x,y,z) < b. Причём это множество выводится только внутри ограничивающего параллелепипеда, углы которого можно выделять и перетаскивать мышью.

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

векторное поле
векторное поле
изоповерхности скалярного поля
изоповерхности скалярного поля


Вычисление электростатического поля на графическом процессоре методом Монте-Карло.

Скачать (3.45mb)

Программа визуализирует изоповерхности поля электрического потенциала. Это поле задаётся заряженными телами, беспорядочно разбросанными в пространстве. При нажатии на кнопку 'Анимировать' внутри ограничивающего бокса начинается генерация заряженных частиц, которые под действием поля движутся в направлении значения нулевого потенциала с целью найти изоповерхность. Таким образом, 'налипшие' на изоповерхность точки визуализируют это поверхность.

Для вычисления поля в точке производится равномерная случайная выборка точек (равномерная по поверхности треугольников). Для нахождения точек изоповерхности вычисляется как поле потенциала P, так и поле напряжённости E. P - чтобы узнать, точка это изоповерхности, или нет. E вычисляется для определения направления движения частиц.

Точки изоповерхности<br>сцены по умолчанию
Точки изоповерхности
сцены по умолчанию
Отрицательный заряд<br>вновь преобладает
Отрицательный заряд
вновь преобладает
Неравномерно<br> заряженная лошадь
Неравномерно
заряженная лошадь


Визуализация скалярного поля, заданного данными компьютерной томографии.

Скачать программу (3.73mb)

Скачать исходники программы (MSVC8 C++) (4.43mb)

Развитие темы объёмного рендеринга методом raycasting. 3д массив, задающий визуализируемое скалярное поле, загружаются в графический процессор (GPU) в виде 3д текстуры.

Визуализация данных<br> компьютерной томографии
Визуализация данных
компьютерной томографии
Другие изозначения<br> для тех же данных
Другие изозначения
для тех же данных


Меняющееся поле.

Скачать (0.16mb)

Скалярное поле постоянно меняется во времени согласно уравнению диффузии, т.е. это напоминает распространение тепла. Само поле изменяется на центральном процессоре (CPU). Здесь я экспериментировал с библиотекой TBB для распараллеливания обработки поля (скалярного :)). Обработка поля происходит на центральном процессоре, поэтому его размер невелик (64x64x64 вокселей). На это поле можно воздействовать извне, направляя курсор мыши на куб и нажимая клавиши '6' или '7'.

Поле температуры
Поле температуры




Skype:ngavrilov86_0
тел.:+79103874717
e-mail:gavrilov86@gmail.com
© 2009-2019 Гаврилов Николай