Информатика и вычислительная техника
УДК 519.6 DOI: 10.14529/ctcr160401
МЕТОД ОБЪЕМНОГО РЕНДЕРИНГА
ДЛЯ ВИЗУАЛИЗАЦИИ ТРЕХМЕРНЫХ ДАННЫХ
В РЕНТГЕНОВСКОЙ КОМПЬЮТЕРНОЙ ТОМОГРАФИИ
Е.Н. Симонов, Д.В. Аврамов, М.В. Аврамов
Южно-Уральский государственный университет, филиал в г. Кыштыме
Статья посвящена методу получения изображений трехмерных объектов - объемному рендерингу, применительно к рентгеновской компьютерной томографии. Дано подробное описание алгоритма объемного рендеринга, близкое к практической реализации. Рассмотрены общие принципы работы алгоритма объемного рендеринга с воксельными массивами трехмерных данных. Описан механизм пускания лучей в трехмерном пространстве через объёмный набор данных, включая задание плоскости наблюдения, ракурса просмотра, изменение масштаба при реализации параллельной проекции. Рассмотрена выборка точек по ходу пущенного луча при параметрическом его задании, а также взятие шага выборки точек согласно теореме о дискретизации. Описана трилинейная интерполяция для получения значений, не попавших в узлы трехмерной сетки объемного набора данных. Описано использование передаточных функций для задания цвета и прозрачности визуализируемым структурам. Рассмотрена модель освещения Фонга и связанное с ней вычисление градиента трехмерных данных. Приведен альтернативный метод затенения трехмерного изображения, основанный на уравнении ослабления света и не требующий вычисления градиента данных. Приведен компози-тинг на основе применения основного уравнения объемного рендеринга как один из способов получения изображения трехмерного объекта по методу объемного рендеринга.
Ключевые слова: компьютерная томография, трехмерная визуализация, объемный рендеринг.
Введение
Практически в любой человеческой деятельности для получения информации и новых знаний чрезвычайно важным является зрение. С древних времен очевидно жизненно важное значение визуализации. Без развития органов зрения трудно представить себе эволюцию человека. Любое расширение и углубление зрения требует разработки новых инструментов или систем получения изображений, которые отображают невидимые глазу свойства объекта, преобразуя их в видимые изображения. Многие из знаний об окружающем нас мире, особенно в XX веке, человек получил с помощью новых методических разработок технологии получения изображений. Знания, которые можно получить с помощью таких средств визуализации, очень обширны, их границы зависят от воображения и изобретательности человека.
Тесно связана с получением изображений такая область человеческой деятельности как компьютерная томография. Целью томографического исследования является получение и анализ изображения, как правило, тонкого среза, показывающего внутреннее строение исследуемого объекта. Томографические методы нашли применение в различных областях науки и техники.
Определенной проблемой в компьютерной томографии является то, что исследуемые объекты по своей природе являются объемными (трехмерными), и двумерные тонкие срезы не способны передать всех пространственных свойств исследуемых объектов и сложны в интерпретации.
В настоящее время активно разрабатываются томографы с конусным пучком излучения, охватывающие сразу множество рядов детекторов, а также алгоритмы трехмерной реконструкции, позволяющие непосредственно получать трехмерные массивы данных из проекционных данных. В связи с этим, широкое применение находят методы визуализации трехмерных данных. Одним из самых популярных методов визуализации является объемный рендеринг, которому и посвящена данная статья.
1. Принцип объемного рендеринга
Входными данными для объемной визуализации является трехмерный массив данных. Способы получения трехмерного массива данных в области компьютерной томографии подробно описаны в [1-4]. Результатом объемной визуализации является двумерное изображение трехмерного объекта. Способ формирования конечного изображения на основании входных данных зависит от применяемого метода визуализации.
Для целей научной визуализации обычно используется воксельная модель представления трехмерных данных. Воксельная модель разбивает весь объем трехмерного изображения на ячейки - вокселы, создавая трехмерный растр. Воксел - это элемент объема (voxel - volume element). Таким образом, воксельная модель представляет собой растровую модель для трехмерного изображения (рис. 1) [4].
При использовании любого из методов трехмерной визуализации необходимо прежде всего задать точку наблюдения. Далее для этой точки рассчитывается двумерное изображение, которое соответствует плоскости, перпендикулярной направлению взгляда наблюдателя. При формировании такого изображения учитываются все лучи, проходящие через трехмерный объем от точки наблюдения, а вклад различных КТ-чисел вдоль каждого луча вычисляется с учетом весовых множителей, соответствующих данному методу. Любое изображение в методах трехмерной визуализации может быть сформировано как центральная или параллельная проекция (рис. 2).
Центральная проекция дает более реалистичные изображения, так как учитывает перспективу, что ближе соответствует реальному зрению человека и используется в художественной визуализации. Для научной визуализации больше подходит параллельная проекция, так как она точно отражает размеры и взаимное расположение различных структур (отсутствуют искажения размера и формы в зависимости от расстояния, как у центральной проекции) [5].
Рис. 2. Иллюстрация центральной Рис. 3. Иллюстрация к масштабированию
и параллельной проекций изображения
Для параллельной проекции нет смысла задавать точку обзора (так как от расстояния результат не меняется), а можно ограничиться заданием направления взгляда. Масштабирование трехмерного объекта (эффект приближения, увеличения и удаления, уменьшения) происходит за счет изменения шага пускаемых лучей (рис. 3).
2. Механизм пускания лучей
Механизм пускания лучей можно реализовать следующим образом. Луч или линию можно задать с помощью направляющего вектора и точки, через которую будет проходить эта линия. Все пускаемые лучи будут параллельны друг другу и сонаправлены направлению обзора. Так как результирующее изображение является плоскостью прямоугольной формы, для его задания следует разместить точки, через которые будут проходить линии, на одной плоскости.
Рис. 1. Воксельное представление данных
Для удобства можно выбрать одну из следующих плоскостей: XOY, YOZ, XOZ, проходящие через начало координат и имеющие известные нормальные вектора. Разместить на одной из этих плоскостей точки в соответствии с разрешением получаемого изображения (количеству пикселей, один пиксель - один луч) и масштабного коэффициента (определяет расстояние между лучами) так, чтобы начало координат было по центру очерченной плоскости.
Далее следует повернуть полученную плоскость в соответствии с требуемым углом обзора. Любой требуемый ракурс можно получить, поворачивая начальный нормальный вектор плоскости вокруг координатных осей на определенные углы. Поворот осуществляется с помощью известных матриц поворота вокруг осей: (10 0 ^
мх (у) =
Му (Р) =
0 cos у - sin у ч 0 sin у cos у у (шзр 0 sinp^ 0 1 0
- sin р 0 cos р
/
М2 (а) =
cos а - sin а
V
sin а 0
cos а 0
0 ^ 0 1
где а, в, у - углы поворота вокруг осей OZ, OY, ОХ соответственно.
Для получения вектора направления следует перемножить вектор столбец координат начального нормального вектора плоскости с матрицами поворота с заданными углами. Для поворота плоскости изображения, следует проделать ту же операцию, что и для поворота нормального вектора, но для каждой точки плоскости.
Для изображения трехмерного объекта по центру изображения, а так же для реализации вращения виртуальной камеры относительно центра объекта, следует перенести уже повернутую плоскость из начала координат в центр трехмерных данных. Это можно сделать с помощью добавления к координатам каждой точки плоскости половины размерности трехмерного массива данных по соответствующим осям.
Теперь, задав точки и направление пускания лучей в трехмерном пространстве, для взятия отсчетов вдоль этих лучей согласно методу объемного рендеринга осталось определить начальные точки для каждого луча, с которых будет начинаться отсчет. Исходя из предположения, что нет смысла брать отсчеты за пределами трехмерного массива данных и что трехмерный массив данных имеет форму прямоугольного параллелепипеда, начальные точки будут точками пересечения пускаемого луча и соответствующей плоскости, ограничивающей трехмерный массив.
3. Выборка точек вдоль луча
Для выборки точек вдоль пущенного луча удобно пользоваться параметрическим уравнением прямой:
х = х0 + mt,
У = У0 + г = + pt,
где М(х0, у0, г0) начальная точка вхождения луча в объем, r(mt, Ш, р0 - вектор направления взгляда. Движение по лучу происходит при изменении параметра t.
Важным параметром при выборке точек является шаг выборки. Согласно источникам [6, 7] важную роль играет теорема о дискретизации или теорема о выборках. Согласно теореме о дискретизации частота выборки точек должна минимум в два раза превышать частоту данных трехмерного массива. То есть шаг взятия точек по лучу должен быть минимум в два раза меньше шага трехмерной сетки. Нарушение теоремы приведет к появлению артефактов на изображении. Так как выборочные точки на луче не будут совпадать с узлами сетки трехмерного массива дан-
ных, для определения значений в этих точках следует использовать интерполяцию. Согласно источникам [6, 7] обычно используется трилинейная интерполяция. Каждая выборочная точка будет окружена восемью узловыми точками трехмерной сетки данных. Значение выборочной точки считается на основании значений в узловых точках и их взаимном расположением (рис. 4).
f(x2,y2.z2)
Рис. 4. Иллюстрация интерполяции
7 ( ^ У ^ Х2 - X! ^Mb - * ) (Х2 " Х)(У2 " ' )(" ^ ) +
+7-^-^(x- X)(У2 -У)(- z) +
(X2 - X1 )(У2 - У1 )(Z2 - Z1 )
+7-Ф'Щ-ч (x - X1)(У - Л )(- *) +
(X2 - X1 )(У2 - У1 )(Z2 - Z1 )
+7-fM2^-^(X2 - X)(y - y )(Z2 - Z) +
(X2 - X1 )(У2 - У1 )(Z2 - Z1)
+ 7-f^^-.(X2 - X)(y2 - y) (z - Z1) +
(X2 - X1 )(У2 - У1 )(Z2 - Ч)
f (X2, Уl, Z2) ( w w ч
+7-\(-V-\(x - X1)( у 2- У) (z - z1) +
(X2 - X1 )(У2 - У1 )(z2 - z1)
+7-^-,(х- хО(у -Л)(* - ^ +
(Х2 - Х1)(У2 - У )(*2 -
+7--Т(Х2 - х)(У - У)(* - *!),
(Х2 - Х1 )(У2 - У1 )(*2 - *1)
где _Дх, У, *) - значение трехмерного массива данных в заданной точке.
4. Применение передаточных функций
После выбора точки и определения ее величины следует перевести значение физической величины в экранные величины: цвет и прозрачность. Такое преобразование проводят с помощью передаточных функций (transfer function). Сами передаточные функции, как правило, задаются пользователем в интерактивном режиме и определяют, какие структуры будут отображены и каким цветом.
Важным элементом при задании передаточной функции и анализе входных данных является гистограмма. По оси абсцисс в гистограмме расположены все значения, встречаемые в трехмерном массиве, а по оси ординат соответствующие им количества данных в этом массиве. Гистограмма позволяет оценить диапазон значений трехмерного массива данных, а также степень присутствия тех или иных структур. Во многих приложениях объемной визуализации при задании передаточной функции выводится и гистограмма. Основным недостатком гистограммы является то, что она не дает информации о пространственном распределении тех или иных значений, а только количественную их оценку.
Часто для задания передаточных функций используются пороговые значения для значений физической величины и соответствующие им значения прозрачности и цвета. Цвет и прозрачность могут задаваться как одной передаточной функцией, так и несколькими по отдельности. Часто для более плавного появления структур используются кусочно-линейные передаточные функции или в виде трапеций.
5. Модель освещения
Изображение, полученное с помощью выборки точек по соответствующим лучам и применения к ним передаточных функций, как правило, не несет информации о глубине изображения, то есть информации об удаленности точек трехмерного пространства от виртуальной камеры. Как следствие, невозможно интерпретировать и воспринимать трехмерные объекты как объемные (например невозможно отличить сферу от круга так как на двумерном изображении они совпадают). Для передачи информации о глубине и придания объемности изображаемых объектов и структур используют модели виртуального освещения.
Говоря об освещении, следует иметь ввиду, что для целей научной визуализации не целесообразно использовать сложные, требующие много вычислительных ресурсов методы. В лучшем случае они не будут мешать целям научного исследования, в худшем - они могут затруднять интерпретацию полученных результатов, а то и вовсе их искажать [8].
Классической моделью освещения является модель освещения Фонга. Расчет освещения по Фонгу требует вычисления цветовой интенсивности трех компонент освещения: фоновой (ambient), рассеянной (diffuse), и глянцевых бликов (specular). Интенсивность освещения пиксела результирующего изображения определяется выражением
I = KaIa+ Kd (n,I ) + Ks (n,h )P ,
где Ia - интенсивность фонового освещения; n - вектор нормали к поверхности в точке; I - направление на источник света; h - направление на наблюдателя; (,) - операция скалярного произведения векторов; p - коэффициент блеска; Ka - коэффициент фонового освещения; Ks - коэффициент зеркального освещения; Kd - коэффициент диффузного освещения.
Основной вопрос вызывает вектор нормали к поверхности n . Дело в том, что большинство моделей освещения применяются для поверхностей, заданных элементарными плоскостями, представленных более распространенной в компьютерной графике вершинной моделью трехмерных данных [4]. В воксельной модели данных, поверхности, а соответственно и плоскости с нормалями, явно не представлены. Поэтому для вычисления освещения необходимо либо выделять плоскости из трехмерного воксельного массива с помощью соответствующих алгоритмов, либо аппроксимировать векторы нормалей другими величинами.
Первый вариант связан с введением дополнительной операции выделения поверхностей из трехмерного объема данных и приводит к использованию методов непрямого объемного рендеринга.
Второй подход предполагает замену нормальных векторов на другие векторные величины, в частности, на градиент данных. Градиент, в свою очередь, как правило, так же аппроксимируется
значениями, зависящими от применяемого метода. Так метод центральных разностей (central difference) аппроксимирует градиент в текущем вокселе с помощью вычисления разниц в интенсивности ближайших соседних вокселов:
V _ 1 1 1 -7
D =
Dx f (x +1, y, z)-f (x -1, y, z) Dy
v Dz у
f ( x, y +1, z )-f ( x, y -1, z ) f ( x, y, z +1)-f ( x, y, z -1)
где D - результирующий вектор центральной разности; Dx, Dy, Dz - значения центральной разности по соответствующим координатам; fx, y, z) - значение воксела с соответствующими координатами.
Из-за сложностей, связанных с применением модели освещения Фонга к вокселному массиву данных, и невысоких требований к освещению при научной визуализации, можно рассмотреть более простой подход к вычислению освещения. Предложенный метод опирается на предположение о том, что свет от источника постепенно ослабляется согласно выражению:
S = exp (-jV( t) dt).
Если коэффициент затухания постоянный ^(t) = const, тогда можно записать:
S = exp (-ц/),
где / - расстояние от освещаемой точки до источника света.
Данный метод прост в вычислении и не содержит каких-либо неизвестных элементов. Положение источника света задается пользователем. Положение освещаемой точки определяется на этапе ее выборки по пущенному лучу, который был описан ранее. Зная координаты двух точек, не составляет труда вычислить расстояние между ними. Зная расстояние и задав коэффициент затухания, можно рассчитать значение освещенности по приведенной формуле и использовать его при формировании конечного изображения.
6. Уравнение объемного рендеринга
После определения механизма пускания лучей, выборки точек, интерполяции и учета освещения следует использовать все значения выборочных точек для определения яркости и цвета пикселя. Данная операция в литературе называется композитинг (compositing) [7]. Стандартный вариант композитинга осуществляется через уравнение объемного рендеринга [6]:
L -j|x(t )dt
I(x,r) = jC(5)ц(5)e 0 ds, (1)
0
где I(x, r) - количество света пришедшего с направления r в точку x на плоскости изображения; L - длина луча r; ^(s) - значение интенсивности в выборочной точке s; C(s) - значение яркости в точке s.
Для применения к дискретным данным и программной реализации следует провести дискретизацию уравнения (1):
L/As-1 /-1
I(x,r)= Z С(zA*M'As)A5Qexp(-|a(/As)As), (2)
/=0 j=0 где As - шаг дискретизации.
Можно ввести следующие обозначения. Экспонента в уравнении обозначается как прозрачность t(/As) = exp(-^,(/As)As) . Величину, обратную прозрачности, непрозрачность обозначают a (/As) = 1 -1 (/As) . Если экспоненту в уравнении (2) разложить в ряд Тейлора и взять первые два члена, можно записать: t(/As) = exp(-ц(/As)As)«1 -^(/As)As . Отсюда следует, что ц(/As)As =
= 1 -1 (/As ) = a (/As ). Применение полученных обозначений к уравнению (2) дает результат:
L/As-1 /-1
I (x, r )= Z С (/As )a(/As -a(/As)).
/=0 j=0
Из этого уравнения следуют следующие рекурсивные вычислительные формулы компози-тинга [6]:
C = C (/As) a(iAs) + C,
а = a (/As )(1 -a) + a,
где C(iAs) - значение интенсивности в точке /As; C - накопленное значение интенсивности; a(iAs) - значение непрозрачности в точке /As; a - накопленное значение непрозрачности.
При накопленном значении непрозрачности a=1, все дальнейшие структуры будут полностью блокироваться предыдущими и не будут участвовать в формировании конечного изображения. Это позволяет остановить вычисления по данному лучу и прейти к следующим. Так реализуется техника ранней остановки луча, используемая для ускорения вычислений объемного рендеринга. Выполнение композитинга для каждого пущенного луча дает значение интенсивности и цвета для каждого пиксела изображения, что и является результатом работы алгоритма объемного рендеринга.
Следует заметить, что применение уравнения объемного рендеринга является не единственным вариантом композитинга. Так, например, можно использовать пороговые значения (результат будет схож с методом SSD), искать минимальные или максимальные значения интенсивности (методы MinIP и MIP соответственно), вычислять среднее значение (результат будет похож на рентгеновский снимок). Именно широта возможностей и гибкость при получении изображений является одним из основных достоинств метода объемного рендеринга.
Выводы
Детальное рассмотрение алгоритма объемного рендеринга показало его высокую эффективность при анализе и представлении трехмерных массивов данных. Это также косвенно подтверждается большим количеством исследований в данной области. Растущая потребность в анализе трехмерных данных объемных объектов приведет к дальнейшему распространению и развитию данного метода.
Литература
1. Симонов, Е.Н. Физика визуализации изображений в рентгеновской компьютерной томографии /Е.Н. Симонов. - Челябинск: Издат. центр ЮУрГУ, 2013. - 479 с.
2. Календер, В. Компьютерная томография основы, техника, качество изображений и области клинического использования: пер. с англ. /В. Календер. - М.: Техносфера, 2006. - 344 с.
3. Хермен, Г. Восстановление изображений по проекциям: Основы реконструктивной томографии: пер. с англ. / Г. Хермен. - М. : Мир, 1983. - 352 с.
4. Красильников, Н.Н. Цифровая обработка 2D- и 3D-изображений: учеб. пособие /Н.Н. Кра-сильников. - СПб.: БХВ-Петербург, 2011. - 608 с.
5. Russ, J.C. The Image Processing Handbook Sixth Edition / J.C. Russ. - CRC Press, 2011. - 853 p.
6. Hansen, Ch.D. The Visualization Handbook. Elsevier Butterworth-Heinemann / Ch.D. Hansen, C.R. Johnson. - 2005. - 981 p.
7. Preim, B. Visualization in Medicine. Theory, Algorithms, and Applications / B. Preim, D. Bartz. -Morgan Kaufmann, 2007. - 663 p.
Симонов Евгений Николаевич, д-р техн. наук, профессор, заместитель директора по науке, Южно-Уральский государственный университет, филиал в г. Кыштыме; e.n.simonov@yandex.ru.
Аврамов Денис Витальевич, аспирант кафедры экономики, управления и информационных технологий, Южно-Уральский государственный университет, филиал в г. Кыштыме; avramov.91@ mail.ru.
Аврамов Максим Витальевич, аспирант кафедры экономики, управления и информационных технологий, Южно-Уральский государственный университет, филиал в г. Кыштыме; avramov.maksim91@mail .ru.
Поступила в редакцию 20 сентября 2016 г.
DOI: 10.14529/ctcr160401
METHOD OF VOLUME RENDERING FOR VISUALIZATION THREE-DIMENSIONAL DATA IN X-RAY COMPUTED TOMOGRAPHY
E.N. Simonov, e.n.simonov@yandex.ru, D.V. Avramov, avramov.91@mail.ru, M.V. Avramov, avramov.maksim91@mail.ru
South Ural State University, branch in Kyshtym, Chelyabinsk region, Russian Federation
The article is devoted to the method of producing three-dimensional images of objects - volume rendering, in relation to the X-ray computed tomography. The detailed description of the algorithm of volume rendering is close to implementation. The general principles of the algorithm of volume rendering three-dimensional arrays of voxel data are described. The mechanism of blowing rays in three-dimensional space through the volumetric data set, including setting the observation plane, viewing angle, zooming in implementing parallel projection, is given. We consider sample points along the ray started up in his parametric assignment, as well as taking a step sampling points according to the sampling theorem. Trilinear interpolation to obtain values that do not fall into the three-dimensional mesh nodes of the volumetric dataset is described. We describe the use of transfer functions to set the color and transparency visualize structures. The model of Phong lighting and the associated calculation of gradient of the three-dimensional data is considered. An alternative method for shading a three-dimensional image based on the light attenuation equation and does not require the computation of gradient of the data is given. A compositing on the basis of the fundamental equation of volume rendering as a way to obtain a image of the three-dimensional object by the method of volume rendering is obtained.
Keywords: computed tomography, three-dimensional visualization, volume rendering.
1. Simonov E.N. Fizika vizualizacii izobrazhenij v rentgenovskoj komp'juternoj tomografii [Phisics Imaging in X-ray Computed Tomography]. Chelyabinsk, South Ural St. Univ. Publ., 2013. 479 p.
2. Kalender V. Komp'yuternaya tomografiya osnovy, tekhnika, kachestvo izobrazheniy i oblasti klinicheskogo ispol'zovaniya. Transl. from English [Computed Tomography: Fundamentals, System Technology, Image Quality, Applications]. Moscow, Technosfera, 2006. 344 p.
3. Khermen G. Vosstanovlenie izobrazheniy poproektsiyam: Osnovy rekon-struktivnoy tomografii. Translated from English [Image Reconstruction from Projections the Fundamentals of Computerized Tomography]. Moscow, Mir, 1983. 352 p.
4. Krasil'nikov N.N. Tsifrovaya obrabotka 2D- i 3D-izobrazheniy: ucheb. Posobie. [Digital processing 2D- and 3D-images: textbook]. St. Petersburg: BHV-Petersburg, 2011. 608 p.
5. Russ J.C. The Image Processing Handbook Sixth Edition. CRC Press, 2011. 853 p.
6. Hansen Ch.D., Johnson C.R. The Visualization Handbook. Elsevier Butterworth-Heinemann. 2005. 981 p.
7. Preim B., Bartz D. Visualization in Medicine. Theory, Algorithms, and Applications. Morgan Kaufmann, 2007. 663 p.
References
Received 20 September 2016
ОБРАЗЕЦ ЦИТИРОВАНИЯ
FOR CITATION
Симонов, Е.Н. Метод объемного рендеринга для визуализации трехмерных данных в рентгеновсой компьютерной томографии / Е.Н. Симонов, Д.В. Ав-рамов, М.В. Аврамов // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2016. - Т. 16, № 4. - С. 5-12. DOI: 10.14529/ctcr160401
Simonov E.N., Avramov D.V., Avramov M.V. Method of Volume Rendering for Visualization Three-Dimensional Data in X-Ray Computed Tomography. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics, 2016, vol. 16, no. 4, pp. 5-12. (in Russ.) DOI: 10.14529/ctcr160401