Объемный рендеринг
Трехмерный (3D) компьютерная графика |
---|
Основы |
Основное использование |
Связанные темы |


В научной визуализации и компьютерной графике объемная визуализация представляет собой набор методов, используемых для отображения 2D-проекции трехмерного с дискретной выборкой набора данных , обычно трехмерного скалярного поля .
Типичный набор 3D-данных представляет собой группу 2D-изображений срезов, полученных с помощью КТ , МРТ или микроКТ- сканера . Обычно они получаются по регулярному шаблону (например, один срез на каждый миллиметр глубины) и обычно имеют регулярное количество пикселей изображения в регулярном шаблоне. Это пример регулярной объемной сетки, в которой каждый элемент объема или воксель представлен одним значением, полученным путем выборки непосредственной области, окружающей воксель.
Чтобы визуализировать 2D-проекцию набора 3D-данных, сначала необходимо определить камеру в пространстве относительно объема. Кроме того, необходимо определить непрозрачность и цвет каждого воксела. Обычно это определяется с помощью передаточной функции RGBA (для красного, зеленого, синего, альфа), которая определяет значение RGBA для каждого возможного значения воксела.
Например, объем можно просмотреть, извлекая изоповерхности (поверхности равных значений) из объема и визуализируя их как полигональные сетки , или визуализируя объем непосредственно как блок данных. Алгоритм марширующих кубов — это распространенный метод извлечения изоповерхности из объемных данных. Прямой объемный рендеринг — это трудоемкая задача, которую можно выполнить несколькими способами.
Еще один метод объемного рендеринга — Ray Marching .
Объем
[ редактировать ]
Объемную визуализацию отличают от презентаций тонкосрезовой томографии , а также в целом от проекций 3D-моделей, включая проекцию максимальной интенсивности . [ 1 ] Тем не менее, технически все объемные изображения становятся проекциями при просмотре на двухмерном дисплее , что делает различие между проекциями и объемными изображениями немного расплывчатым. Тем не менее, модели объемной рендеринга представляют собой сочетание, например, окраски. [ 2 ] и затенение [ 3 ] для создания реалистичных и/или наблюдаемых представлений.
Прямой объемный рендеринг
[ редактировать ]Прямой объемный рендерер [ 4 ] [ 5 ] требует, чтобы каждое значение образца было сопоставлено с непрозрачностью и цветом. Это делается с помощью « передаточной функции », которая может быть простой линейной функцией, кусочно-линейной функцией или произвольной таблицей. После преобразования в значение цветовой модели RGBA (для красного, зеленого, синего и альфа) составной результат RGBA проецируется на соответствующий пиксель буфера кадра. То, как это делается, зависит от техники рендеринга.
Возможно сочетание этих техник. Например, реализация сдвиговой деформации может использовать аппаратное обеспечение текстурирования для рисования выровненных фрагментов во внеэкранном буфере .
Объемный луч
[ редактировать ]
Технику объемного луча можно вывести непосредственно из уравнения рендеринга . Он обеспечивает результаты очень высокого качества, обычно считается, что он обеспечивает наилучшее качество изображения. Приведение объемных лучей классифицируется как метод объемного рендеринга на основе изображения, поскольку вычисления происходят на основе выходного изображения, а не входных объемных данных, как в случае с объектными методами. В этом методе луч генерируется для каждого желаемого пикселя изображения. При использовании простой модели камеры луч начинается в центре проекции камеры (обычно в точке глаза) и проходит через пиксель изображения на воображаемой плоскости изображения, плавающей между камерой и визуализируемым объемом. Луч обрезается границами объема в целях экономии времени. Затем луч отбирается через регулярные или адаптивные интервалы по всему объему. Данные интерполируются в каждой точке выборки, применяется передаточная функция для формирования выборки RGBA, выборка компонуется с накопленной RGBA луча, и процесс повторяется до тех пор, пока луч не выйдет из объема. Цвет RGBA преобразуется в цвет RGB и помещается в соответствующий пиксель изображения. Процесс повторяется для каждого пикселя на экране, чтобы сформировать законченное изображение.
брызги
[ редактировать ]Это техника, в которой качество обменивается на скорость. Здесь каждый элемент объема выбрасывается , как сказал Ли Вестовер, как снежный ком, на поверхность просмотра задом наперед. Эти пятна визуализируются как диски, свойства которых (цвет и прозрачность) изменяются диаметрально в нормальном ( гауссовском ) порядке. В зависимости от применения также используются плоские диски и диски с другим типом распределения свойств. [ 6 ] [ 7 ]
Сдвиговая основа
[ редактировать ]
Подход сдвиговой деформации к объемному рендерингу был разработан Кэмероном и Ундриллом и популяризирован Филиппом Лакрутом и Марком Левуа . [ 8 ] В этом методе преобразование просмотра внеэкранного изображения преобразуется так, что ближайшая грань объема становится осью, совмещенной с буфером данных с фиксированным масштабом вокселей в пиксели. Затем объем рендерится в этот буфер с использованием гораздо более благоприятного выравнивания памяти и фиксированных коэффициентов масштабирования и смешивания. После того как все фрагменты объема визуализированы, буфер деформируется в желаемую ориентацию и масштабируется в отображаемом изображении.
Этот метод относительно быстр в программном обеспечении за счет менее точной выборки и потенциально худшего качества изображения по сравнению с методом рейкастинга. Существуют дополнительные затраты памяти для хранения нескольких копий тома, чтобы иметь возможность выравнивать тома по оси. Эти накладные расходы можно уменьшить с помощью кодирования длины серии .
Объемный рендеринг на основе текстур
[ редактировать ]
Многие системы 3D-графики используют наложение текстур для применения изображений или текстур к геометрическим объектам. Обычные видеокарты для ПК быстро текстурируют и могут эффективно отображать фрагменты трехмерного объема с возможностью взаимодействия в реальном времени. рабочих станций Графические процессоры работают еще быстрее и являются основой для большей части визуализации объемов производства, используемой в медицинской визуализации , нефтегазовой отрасли и на других рынках (2007 г.). Раньше в графических системах использовались специальные системы отображения 3D-текстур, такие как Silicon Graphics InfiniteReality , HP Visualize FX графический ускоритель и другие. Эту технику впервые описали Билл Хиббард и Дэйв Сантек. [ 9 ]
Эти срезы могут быть либо выровнены по объему и визуализированы под углом к зрителю, либо выровнены по плоскости просмотра и взяты из невыровненных срезов по объему. Для второго метода необходима аппаратная поддержка 3D-текстур.
Текстурирование с выравниванием по объему дает изображения приемлемого качества, хотя при вращении объема часто наблюдается заметный переход.
Аппаратное ускорение объемного рендеринга
[ редактировать ]Из-за чрезвычайно параллельного характера прямого объемного рендеринга специальное оборудование для объемного рендеринга было богатой темой для исследований до того, как объемный рендеринг на графическом процессоре стал достаточно быстрым. Наиболее широко упоминаемой технологией была система лучевого приведения в реальном времени VolumePro, разработанная Ханспетером Пфистером и учеными из Mitsubishi Electric Research Laboratories . [ 10 ] который использовал высокую пропускную способность памяти и грубую силу для рендеринга с использованием алгоритма приведения лучей. Технология была передана TeraRecon, Inc., и было произведено и продано два поколения ASIC. VP1000 [ 11 ] был выпущен в 2002 году, а VP2000 [ 12 ] в 2007 году.
Недавно использованный метод ускорения традиционных алгоритмов объемного рендеринга, таких как ray-casting, — это использование современных видеокарт. Начиная с программируемых пиксельных шейдеров , люди осознали силу параллельных операций с несколькими пикселями и начали выполнять вычисления общего назначения на графических процессорах (GPGPU). Пиксельные шейдеры способны произвольно читать и записывать данные из видеопамяти, а также выполнять некоторые базовые математические и логические вычисления. Эти процессоры SIMD использовались для выполнения общих вычислений, таких как рендеринг полигонов и обработка сигналов. В последних поколениях графических процессоров пиксельные шейдеры теперь могут функционировать как процессоры MIMD (теперь с возможностью независимого разветвления), используя до 1 ГБ текстурной памяти с форматами с плавающей запятой. Благодаря такой мощности практически любой алгоритм с шагами, которые могут выполняться параллельно, например объемный лучевой метод или томографическая реконструкция , может выполняться с огромным ускорением. Программируемые пиксельные шейдеры может использоваться для моделирования изменений характеристик освещения, тени, отражения , излучаемого цвета и т. д. Такие симуляции могут быть написаны с использованием языков шейдеров высокого уровня .
Методы оптимизации
[ редактировать ]Основная цель оптимизации — пропустить как можно большую часть объема. Типичный набор медицинских данных может иметь размер 1 ГБ. Для рендеринга этого со скоростью 30 кадров в секунду требуется чрезвычайно быстрая шина памяти. Пропуск вокселей означает, что необходимо обрабатывать меньше информации.
Пропуск пустого места
[ редактировать ]Часто система объемной визуализации имеет систему для определения областей объема, не содержащих видимого материала. Эту информацию можно использовать, чтобы избежать рендеринга этих прозрачных областей. [ 13 ]
Раннее прекращение луча
[ редактировать ]Этот метод используется, когда объем рендерится в порядке от начала до конца. Для луча, проходящего через пиксель, как только будет обнаружен достаточно плотный материал, дальнейшие выборки не будут вносить существенного вклада в пиксель, и поэтому ими можно пренебречь.
Космическое подразделение Octree и BSP
[ редактировать ]Использование иерархических структур, таких как окто-дерево и BSP -дерево, может быть очень полезно как для сжатия объемных данных, так и для оптимизации скорости процесса объемного литья лучей.
Объемная сегментация
[ редактировать ]

- синий : легочные артерии
- красный : легочные вены (а также брюшная стенка )
- желтый : средостение
- фиолетовый : диафрагма

Сегментация изображения — это ручная или автоматическая процедура, которую можно использовать для выделения больших частей объема, которые считаются неинтересными, перед рендерингом. Объем вычислений, которые необходимо выполнить с помощью рейкастинга или смешивания текстур, может быть значительно уменьшен. Это сокращение может достигать значений от O(n) до O(log n) для n последовательно индексированных вокселей. Объемная сегментация также имеет значительные преимущества в производительности для других трассировки лучей алгоритмов . Сегментацию объема впоследствии можно использовать для выделения или демонстрации [ 14 ] интересующие структуры.
Представление с множественным и адаптивным разрешением
[ редактировать ]Представляя менее интересные области объема в более грубом разрешении, можно уменьшить накладные расходы на ввод данных. При более внимательном рассмотрении данные в этих регионах могут быть заполнены либо путем чтения из памяти или диска, либо путем интерполяции . Объем с более грубым разрешением преобразуется в меньший размер точно так же, как из оригинала создается 2D-изображение MIP-карты. Эти меньшие тома также используются сами по себе при повороте тома в новую ориентацию.
Предварительно интегрированный объемный рендеринг
[ редактировать ]Предварительно интегрированный объемный рендеринг [ 15 ] — это метод, который может уменьшить количество артефактов выборки за счет предварительного расчета большей части необходимых данных. Это особенно полезно в приложениях с аппаратным ускорением. [ 16 ] [ 17 ] потому что это улучшает качество без большого влияния на производительность. В отличие от большинства других оптимизаций, эта оптимизация не пропускает вокселы. Скорее, это уменьшает количество выборок, необходимых для точного отображения области вокселей. Идея состоит в том, чтобы визуализировать интервалы между сэмплами, а не сами сэмплы. Этот метод фиксирует быстро меняющийся материал, например переход от мышцы к кости, с гораздо меньшими затратами вычислений.
Создание сетки на основе изображений
[ редактировать ]Создание сетки на основе изображений — это автоматизированный процесс создания компьютерных моделей на основе данных трехмерных изображений (таких как МРТ , КТ , промышленная КТ или микротомография ) для вычислительного анализа и проектирования, например, CAD, CFD и FEA.
Временное повторное использование вокселей
[ редактировать ]Для полного представления изображения требуется отображать только один воксел на пиксель (передний) (хотя для сглаживания изображения можно использовать и больше), если необходима анимация, отображаемые передние воксели можно кэшировать, а их расположение относительно камеры можно пересчитывать по мере ее движения. Если воксели дисплея становятся слишком далеко друг от друга, чтобы охватить все пиксели, новые передние воксели можно найти с помощью метода ray casting или аналогичного метода, а если два воксела находятся в одном пикселе, передний можно сохранить.
Список сопутствующего программного обеспечения
[ редактировать ]- Открытый исходный код
- 3D Slicer — программный пакет для научной визуализации и анализа изображений.
- ClearVolume — библиотека живой 3D-визуализации на основе графического процессора, предназначенная для высококлассных объемных световых листовых микроскопов.
- ParaView – кроссплатформенное приложение для анализа и визуализации больших данных. Пользователи ParaView могут быстро создавать визуализации для анализа своих данных, используя качественные и количественные методы. ParaView построен на базе VTK (ниже).
- Studierfenster (StudierFenster) – бесплатная некоммерческая онлайн-платформа клиент/серверной обработки медицинских изображений (MIP) Open Science.
- Vaa3D - платформа объемного рендеринга 3D, 4D и 5D и анализа изображений для гигабайт и терабайтов больших изображений (на основе OpenGL), особенно в области изображений для микроскопии. Также кроссплатформенность с версиями для Mac, Windows и Linux. Включите комплексный интерфейс плагинов и 100 плагинов для анализа изображений. Также визуализируйте несколько типов поверхностных объектов.
- VisIt – кроссплатформенный интерактивный инструмент параллельной визуализации и графического анализа для просмотра научных данных.
- Объемная картография — программное обеспечение с открытым исходным кодом, используемое при восстановлении Свитка Эн-Геди .
- Voreen — кроссплатформенная среда быстрой разработки приложений для интерактивной визуализации и анализа мультимодальных наборов объемных данных. Он обеспечивает методы объемного рендеринга и анализа данных на основе графического процессора.
- VTK — универсальный инструментарий C++ для обработки данных, визуализации, трехмерного взаимодействия, вычислительной геометрии с привязками Python и Java. Кроме того, VTK.js предоставляет реализацию JavaScript.
- Коммерческий
- Amira - программное обеспечение для 3D-визуализации и анализа для ученых и исследователей (в области наук о жизни и биомедицины).
- Imaris – научный программный модуль, который предоставляет все необходимые функции для управления данными, визуализации, анализа, сегментации и интерпретации наборов данных 3D- и 4D-микроскопии.
- MeVisLab – кроссплатформенное программное обеспечение для обработки и визуализации медицинских изображений (на основе OpenGL и Open Inventor).
- Open Inventor — высокоуровневый 3D API для разработки программного обеспечения для 3D-графики (C++, .NET, Java).
- ScanIP – платформа обработки изображений и создания сеток на основе изображений , которая может отображать данные сканирования (МРТ, КТ, микроКТ...) в 3D непосредственно после импорта.

- Tomviz — платформа 3D-визуализации для ученых и исследователей, которая может использовать сценарии Python для расширенной обработки 3D-данных.
- VoluMedic - программное обеспечение для объемной нарезки и рендеринга.
См. также
[ редактировать ]
- Изоповерхность , поверхность, которая представляет точки постоянной величины (например, давления, температуры, скорости, плотности) в объеме пространства.
- Визуализация потока — метод визуализации векторных полей.
- Объемная сетка — многоугольное представление внутреннего объема объекта.
Ссылки
[ редактировать ]- ^ Фишман, Эллиот К .; Нэй, Дерек Р.; Хит, Дэвид Г.; Корл, Фрэнк М.; Хортон, Карен М.; Джонсон, Памела Т. (2006). «Объемная визуализация и проекция максимальной интенсивности в КТ-ангиографии: что работает лучше всего, когда и почему» . Радиографика . 26 (3): 905–922. дои : 10.1148/rg.263055186 . ISSN 0271-5333 . ПМИД 16702462 .
- ^ Сильверстайн, Джонатан К.; Парсад, Найджел М.; Цирлине, Виктор (2008). «Автоматическое создание перцептивной цветовой карты для реалистичной объемной визуализации» . Журнал биомедицинской информатики . 41 (6): 927–935. дои : 10.1016/j.jbi.2008.02.008 . ISSN 1532-0464 . ПМК 2651027 . ПМИД 18430609 .
- ^ Страница 185 в Лейф Коббельт (2006). Видение, моделирование и визуализация 2006: Труды, 22-24 ноября . ИОС Пресс. ISBN 9783898380812 .
- ^ Марк Левой, «Отображение поверхностей на основе объемных данных», IEEE CG&A, май 1988 г. Архив бумаги
- ^ Дребин, Роберт А.; Карпентер, Лорен; Ханрахан, Пэт (1988). «Объемный рендеринг». ACM SIGGRAPH Компьютерная графика . 22 (4): 65. дои : 10.1145/378456.378484 . Дребин, Роберт А.; Карпентер, Лорен; Ханрахан, Пэт (1988). Материалы 15-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '88 . п. 65. дои : 10.1145/54852.378484 . ISBN 978-0897912754 . S2CID 17982419 .
- ^ Вестовер, Ли Алан (июль 1991 г.). «SPLATTING: параллельный алгоритм объемного рендеринга с прямой связью» (PDF) . Проверено 28 июня 2012 г. [ мертвая ссылка ]
- ^ Хуан, Цзянь (весна 2002 г.). «Сплаттинг» (ППТ) . Проверено 5 августа 2011 г.
- ^ Лакрут, Филипп; Левой, Марк (1 января 1994 г.). «Быстрая объемная визуализация с использованием факторизации сдвига-деформации преобразования просмотра». Материалы 21-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '94 . СИГГРАФ '94. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 451–458. CiteSeerX 10.1.1.75.7117 . дои : 10.1145/192161.192283 . ISBN 978-0897916677 . S2CID 1266012 .
- ^ Хиббард В., Сантек Д., «Интерактивность - это ключ» , Семинар Чапел-Хилл по объемной визуализации , Университет Северной Каролины, Чапел-Хилл, 1989, стр. 39–43.
- ^ Пфистер, Ханспетер; Харденберг, Ян; Книттел, Джим; Лауэр, Хью; Сейлер, Ларри (1999). «Система преобразования лучей в реальном времени VolumePro». Материалы 26-й ежегодной конференции по компьютерной графике и интерактивным технологиям - SIGGRAPH '99 . стр. 251–260. CiteSeerX 10.1.1.471.9205 . дои : 10.1145/311535.311563 . ISBN 978-0201485608 . S2CID 7673547 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ У, Инь; Бхатия, Вишал; Лауэр, Хью; Сейлер, Ларри (2003). «Объемный рендеринг лучей в порядке сдвига изображения». Материалы симпозиума 2003 года по интерактивной 3D-графике . п. 152. дои : 10.1145/641480.641510 . ISBN 978-1581136456 . S2CID 14641432 .
- ^ ТераРекон. «Анонс продукта» . healthimaging.com . Проверено 27 августа 2018 г.
- ^ Шербонди А., Хьюстон М., Напель С.: Быстрая сегментация объема с одновременной визуализацией с использованием программируемого графического оборудования. В материалах IEEE Visualization (2003), стр. 171–176.
- ^ Тиде У., Шиманн Т., Хёне К.: Высококачественная визуализация данных атрибутированного объема в Proceedings of IEEE Visualization (1998), стр. 255-262.
- ^ Макс Н., Ханрахан П., Кроуфис Р.: Согласованность площади и объема для эффективной визуализации трехмерных скалярных функций . В компьютерной графике (Семинар по объемной визуализации в Сан-Диего, 1990), вып. 24, стр. 27–33.
- ^ Энгель, Клаус; Краус, Мартин; Эртл, Томас (2001). «Высококачественный предварительно интегрированный объемный рендеринг с использованием аппаратного ускорения затенения пикселей». Материалы семинара ACM SIGGRAPH/EUROGRAPHICS по графическому оборудованию . стр. 9–16. CiteSeerX 10.1.1.458.1814 . дои : 10.1145/383507.383515 . ISBN 978-1581134070 . S2CID 14409951 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ Лам Э., Уилсон Б., Ма К.: Высококачественное освещение и эффективная предварительная интеграция для объемного рендеринга . На симпозиуме Eurographics/ IEEE по визуализации, 2004 г.
Дальнейшее чтение
[ редактировать ]- М. Икитс, Дж. Книсс, А. Лефон и К. Хансен: методы объемного рендеринга . В: GPU Gems , Глава 39 (онлайн-версия в зоне разработчиков Nvidia).
- Объемный рендеринг , Учебное пособие по основам объемного рендеринга, автор: Ph.D. Омер Дженгиз Челеби
- Бартольд Лихтенбелт, Рэнди Крейн, Шаз Накви, Введение в объемную рендеринг (Профессиональные книги Hewlett-Packard), Hewlett-Packard Company, 1998.
- Пэн Х., Руан З., Лонг Ф., Симпсон Дж. Х., Майерс Э. У.: V3D обеспечивает трехмерную визуализацию в реальном времени и количественный анализ крупномасштабных наборов данных биологических изображений. Природная биотехнология, 2010 г. doi : 10.1038/nbt.1612 Объемный рендеринг больших данных многомерного изображения .
- Дэниел Вайскопф (2006). Методы интерактивной визуализации на основе графического процессора . Springer Science & Business Media. ISBN 978-3-540-33263-3 .