Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Программные системы и вычислительные методы
Правильная ссылка на статью:

Рейкастинг трехмерных текстур и функционально заданных поверхностей с применением графических ускорителей

Вяткин Сергей Иванович

кандидат технических наук

старший научный сотрудник, Институт автоматики и электрометрии СО РАН

630090, Россия, г. Новосибирск, ул. Коптюга, 1

Vyatkin Sergei Ivanovich

PhD in Technical Science

Senior Research Fellow, Institute of Automation and Electrometry of the Siberian Branch of the Russian Academy of Sciences

630090, Russia, g. Novosibirsk, ul. Koptyuga, 1

sivser@mail.ru
Другие публикации этого автора
 

 

DOI:

10.7256/2454-0714.2019.2.28666

Дата направления статьи в редакцию:

15-01-2019


Дата публикации:

18-07-2019


Аннотация: Объектом исследования является метод объемного рендеринга на основе трехмерных текстур и функционально заданных поверхностей в интерактивном режиме с применением графических ускорителей. Предлагается иерархический подход представления текстур в памяти и способ управления большими массивами вокселей. Иерархическая структура имеет компактное описание текстур с использованием однородности данных и важности информации для уменьшения требуемой памяти и скорости вычислений. В основе метода лежит эффективное управление текстурами, в которой назначается память текстур по степени значимости региона и содержанию воксельных данных. Сочетание данных, интерполяции и важности данных определяют выбранный набор узлов дерева. Эти узлы определяют, как должен быть объем разложен и представлен в памяти текстур. Метод исследования базируется на аналитической геометрии в пространстве, дифференциальной геометрии и векторной алгебре, теории интерполяции и теории матриц, опирается на математическое моделирование и теорию вычислительных систем. Основными выводами проведенного исследования являются: возможность визуализации большого числа объёмов, функционально заданных объектов, сложных полупрозрачных объемов, в том числе, пересечений объемов в конструктивном твердотельном моделировании. Рендеринг разных объемов одновременно – это более сложная проблема, чем визуализация одного объема, потому что требуются операции пересечения и смешивания. Функционально заданные поверхности хорошо подходят для встраивания внешних объектов в объемы. Модели медицинских инструментов и совмещение поверхностей с объемными данными необходимы для виртуальной компьютерной хирургии.


Ключевые слова:

трехмерные текстуры, функционально заданные поверхности, функции возмущения, объемный рендеринг, рейкастинг, конструктивная твердотельная геометрия, графические ускорители, воксели, тексели, тайловая технология визуализации

Abstract: The object of study is the volumetric rendering method based on three-dimensional textures and functionally defined surfaces in an interactive mode using graphic accelerators. A hierarchical approach to the representation of textures in memory and a method for managing large arrays of voxels are proposed. The hierarchical structure has a compact texture description using data homogeneity and the importance of information to reduce the required memory and computation speed. The method is based on effective texture management, in which texture memory is assigned according to the degree of significance of the region and the content of voxel data. The combination of data, interpolation, and data importance determine the selected set of tree nodes. These nodes determine how the volume should be laid out and represented in the texture memory. The research method is based on analytical geometry in space, differential geometry and vector algebra, theory of interpolation and matrix theory, based on mathematical modeling and theory of computing systems. The main conclusions of the study are: the ability to visualize a large number of volumes, functionally defined objects, complex translucent volumes, including volume intersections in constructive solid-state modeling. Rendering different volumes at the same time is a more complex problem than rendering one volume, because it requires intersection and blending operations. Functionally defined surfaces are well suited for embedding external objects in volumes. Models of medical instruments and the combination of surfaces with volumetric data are necessary for virtual computer surgery.


Keywords:

three dimensional textures, function-based surfaces, perturbation functions, volume rendering, ray casting, constructive solid geometry, graphics processing units, voxels, texels, tile technology of visualization

Введение

Рейкастинг - самый распространенный подход для рендеринга объема благодаря своей гибкости при генерации изображения высокого качества [1-4]. Большой объем однородных данных, содержащихся в объемной модели очень хорошо распараллеливается при вычислениях. Сегодня даже обычный графический процессор (GPU) способен отобразить один объем данных высокого разрешения с высокой частотой кадров, с помощью программно-аппаратных шейдеров ускорителя. Однако отображение одного однородного объема не подходит для многих приложений. Одновременный рендеринг нескольких объемов необходим при обработке нескольких наборов данных. В медицинской визуализации такие методы получения анатомических изображений это: компьютерная томография (КТ), магнитно-резонансная томография (МРТ), УЗИ, и методы получения функциональных изображений, например, позитронная эмиссионная томография (ПЭТ), однофотонная эмиссионная компьютерная томография, функциональная МРТ, используются для обследования пациента [5-9]. Кроме того, модели медицинских инструментов и совмещение поверхностей с объемными данными необходимы для компьютерной хирургии. Виртуальные хирургические операции являются одними из наиболее перспективных направлений в медицине, в которых применяются трехмерная компьютерная графика и технологии виртуальной реальности. Системы виртуальной ортопедической хирургии, которые могут работать на общедоступных персональных компьютерах становятся актуальными. Использование специализированных аппаратных подсистем позволило достичь реального времени при прямом рендеринге объема [2, 6, 10]. В частности, 3D-отображение текстуры стало классическим методом объемного рендеринга для высокопроизводительных графических рабочих станций. Хотя аппаратная реализация позволяет генерировать изображения с высоким качеством, на практике ее использование в интерактивном режиме ограничено. Размер текстурной памяти на стандартных графических подсистемах ограничен и трудно поддерживать интерактивную частоту кадров, когда большие массивы данных подлежат обработке. Когда большой массив данных не помещается в доступную память текстур, необходима декомпозиция данных. В этом случае загрузка и выгрузка данных текстурной памяти, необходимых для визуализации всего объема, существенно уменьшают производительность рендеринга. Аппаратная реализация рендеринга 3D текстуры впервые упоминается в работах [6, 11]. В них используется алгоритм BTF. Этот алгоритм отображает объем данных в виде параллельных плоскостей. В результате множество плоскостей рисуется как набор текстурированных полигонов, которые смешиваются для получения окончательного изображения. Повышение эффективности достигается путем использования трилинейной интерполяции, поддерживаемой графикой подсистемы. Операции отображения и композиции текстур выполняются аппаратно очень быстро. Различают два основных метода рендеринга объема: рендеринг в объектном пространстве или рендеринг прямого хода (object-space rendering/forward rendering) и метод пространства изображения (image-space method/backward viewing method). В первом методе при обходе всего объема каждый воксель рассматривается как 3D точка, которая преобразуется по матрице видового преобразования, затем проецируется в Z-буфер и рисуется на экране. Существуют два алгоритма обхода объема: алгоритм BTF (back to front) по существу совпадает с алгоритмом Z-buffer и отличается только предварительной сортировкой массива вокселей, которая позволяет сканировать его компоненты в порядке уменьшения или увеличения расстояния до наблюдателя, используя предварительно отсортированные массивы вокселей. В алгоритме BTF обход объема производится в порядке уменьшения расстояния до наблюдателя, а Z-buffer нужен для удаления невидимых частей объекта [12]. Алгоритм FTB (front to back) в основном совпадает с BTF, однако в нем воксели обрабатываются в порядке возрастания расстояния [3, 13]. Это надо отметить, имея в виду то, что алгоритм Z-buffer не может обеспечивать правильный рендеринг полупрозрачных материалов, так как воксели отображаются на экран в произвольном порядке. Во втором методе через каждый пиксель плоскости изображения пускается луч от взгляда наблюдателя сквозь объём [14, 15]. В каждом полученном пересечении луча с объемом вычисляется коэффициент непрозрачности, учитывая влияние ближайших вокселей. На протяжении траектории луча вычисляется сумма непрозрачности пересечений, пока она не достигнет определённого значения. Рассчитывается тень и освещение для полученного изображения. То есть при таком методе на один пиксель плоскости изображения влияют несколько вокселей. С момента использования 3D текстур для объемной визуализации, было предложено несколько улучшенных подходов [16-18]. Представление информации об объеме в текстурной памяти - один тексель (элемент текстуры) на воксель. Эта стратегия гарантирует хорошее качество изображения, но ограниченный размер памяти текстур часто делает невозможным хранение всего набора данных сразу в памяти текстуры. В некоторых подходах было предложено снятие этого ограничения. Например, метод, основанный на разложении воксельного пространства и загрузки фрагментов текстурных данных в память текстуры по запросу. Фрагмент соответствует подмножеству воксельных данных, которые по определению, меньше или равны доступному объему памяти. Каждый фрагмент обрабатывается независимо, и окончательный результат зависит от этого вклада. К сожалению, загрузка текстур и перекачка данных резко снижают частоту кадров. Процесс обработки фрагментов может быть выполнен с различными стратегиями, в основе которых лежит нижеследующие критерии: простое разделение данных. Объем можно разложить на наименьшее число фрагментов с максимальным размером. Этот критерий сокращает объем избыточных данных, которые необходимо хранить между смежными фрагментами для сохранения непрерывности [19]. Метод отсутствия пустого воксельного представления. При разложение фрагментов пытаться уменьшить процент пустых вокселей, представленных в памяти текстур. Пустые области обнаруживаются во время предварительной обработки [16, 17]. В представлении со многими разрешениями разложение фрагментов основано на оценке пользовательских параметров, таких как степень интереса, степень однородности, расстояние от наблюдателя, и т.д. [20]. Иерархические структуры данных и адаптивные методы описаны в [21-23]. Подход, в котором данные текселя представляют значения плотности и градиента описан в [24, 25]. В этом случае представление текстуры больше не зависит от вида и затененных изображений.

В данной работе представлен метод визуализации трехмерных текстур и функционально заданных поверхностей, который имеет свои особенности в представлении данных объема и критерии, используемые для организации данных, а также подход, разработанный для выбора массива данных (фрагментов) и для определения разрешения, при котором представлен каждый фрагмент. Предлагаемый метод не учитывает зависимые от представления критерии (которые, как правило, основаны на искажении перспективы и сокращении дальних фрагментов), потому что, в объемном рендеринге различия в проецировании очень ограничены. Из-за ограниченного пространственного массива данных объема, все воксели имеют приблизительно равный размер проекции. Причем, параллельные проекции используются очень часто. Поэтому в центре внимания остаются конструкции независимого от наблюдателя многозначного критерия, который должен учитывать однородность данных и область интереса.

Трехмерная текстура

Дадим определение текстуры в «объёмном» смысле, исходя из её первоначального определения в «поверхностном» варианте [26]. Кроме того, однозначно определим основные понятия. Текстура – это детализация поверхности или объёма отображаемого объекта. Здесь существенно то, что не оговаривается конкретное строение текстуры, то есть текстура в общем случае не обязательно представляет собой двумерный массив текселей. Отображаемый объект – это вся трёхмерная сцена или её элемент, несущий информацию о своей форме. Свойство отображаемого объекта – это любой параметр, назначенный этому объекту, который используется при вычислении результирующего цвета пикселя на экране. Например, это могут быть цвет объекта, весовые коэффициенты диффузной и отражающей составляющих модели освещения Фонга, полупрозрачность и т.д. Текстура, таким образом, может влиять на любой параметр отображаемого объекта. Визуализация скалярных массивов, хотя и требует значительных затрат памяти (порядка N2 или N3 для двумерных и трехмерных массивов, соответственно), но по сравнению с эквивалентным их представлением в виде множества треугольников, массивы всё же более компактны и удобны в использовании и манипулировании. Пусть имеется объект, представляющий собой какой-то скалярный массив в каком-то формате, известном только самому объекту. Определим этот объект как объект-массив. В итоге, в системе основные примитивы будут представлены двумя классами объектов. Один класс – это аналитически описанные функционально заданные поверхности, другой – массивы скалярных данных. И тот, и другой классы имеют более компактное описание по сравнению с треугольниками. Объект-массив может быть реализован несколькими способами. Он может заключать в себе одномерный, двумерный или трёхмерный массив, а также может являться сеткой высот. По данному в этой работе определению, текстура – это объект (не отображаемый), изменяющий свойства другого объекта. Особенностью текстуры является то, что текстурой может быть любой объект. Для этого было предложено незначительное изменение схемы обработки данных и построения дерева сцены, не затрагивая самого алгоритма растрирования. На самом последнем уровне рекурсии деления, вычисляется ближайший видимый воксель и запрашиваются у отображаемого объекта (сцены) параметры этого элемента пространства для их использования в вычислении цвета пикселя. Добавлением в структуре данных при учёте текстуры является то, что каждый объект может содержать ссылку на другой объект, являющийся текстурой для первого. Если этой ссылки нет, то объект на запрос о значении своих свойств выдаёт значение, определённое для этого объекта по умолчанию. Иначе, параметры объекта в текущем вокселе подвергаются изменениям со стороны объекта-текстуры, на которую ссылается объект. Важным при наложении текстуры на объект является преобразование координат из текстурного пространства (U, V, W) в пространство объекта (X, Y, Z). В нашем случае параметризация нужна только для объектов-массивов. Чтобы иметь возможность накладывать текстуру на поверхность и объём отображаемого объекта, объекты-массивы дополнены свойством преобразования координат из модельного пространства M в текстурное пространство T. При запросе у объекта-массива значения какого-то свойства, он преобразует координаты текущего вокселя из M в T, и использует эти координаты как адрес в массиве. Если, например, массив двумерный, то одна координата не используется.

Функционально заданные поверхности

Для описания поверхностей используются функции отклонения (второго порядка) от базовой квадрики [27]. Функция задается алгебраическим неравенством второй степени с тремя неизвестными x,y,z в виде F(x,y,z) ³ 0. Рассматриваются поверхности как замкнутые подмножества Евклидова пространства, определяемые описывающей функцией F(x,y,z) ³ 0. Где F - непрерывная вещественная функция; x,y,z - задаваемая координатными переменными точка в трехмерном пространстве. Здесь F(x,y,z) > 0 задает точки внутри поверхности, F(x,y,z) = 0 – точки на границе и F(x,y,z) < 0 - точки, лежащие снаружи и не принадлежащие поверхности.

Поверхности строятся с помощью квадрик и представляются композицией базовой квадрики и возмущений.

Геометрическая модель создаёт условия для конструирования объектов и их композиций различной сложности. Для этого используется множество геометрических операций F, определяемое математически следующим образом [28]:

F¡: M¹+M²+…+Mn →M.

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

Тайловая технология визуализации

Метод позволяет визуализировать несколько объемов в комбинации с функциональными поверхностями с применением сортировки по глубине всех фрагментов сцены [29-31]. Для этого применяется тайловая технология визуализации [32]. Суть ее заключается в следующем. Процесс растрирования разбивается на два этапа. В общем случае первый этап заканчивается, когда рассматриваемой части соответствует клетка определенного размера (тайл/tile). Примитивами промежуточного описания являются фрагменты пересечения геометрических объектов с клетками. Второй этап вычислений - обработка списка объектов, определение видимости и цвета пикселей. Применяется рейкастинг изображения со сложными пересечениями объемных данных с поверхностями. Объемные данные хранятся в виде трехмерных текстур [26]. Максимальный размер текстуры зависит только от доступной графической памяти. Все вычисления выполняются на графическом акселераторе (GPU). Описание состоит из простого графика сцены.

Внутренние узлы дерева, связанны с операциями конструктивной твердотельной геометрии (CSG), и листья ссылаются к объекту. А также к объемной текстуре и материалу с его свойствами. Алгоритм рейкастинга лучей включает обычные шаги рендеринга: преобразование объекта, растеризация, и обработка фрагментов. Обработка фрагментов выполняется в параллельно-пиксельном режиме для клеток 8х8 пикселей, и отслеживает прохождение соседних лучей по объемам, представленным как 3D текстуры. Для этого также используется кэш когерентности текстур. Система рендеринга проходит сцену только один раз. Реализованы все шаги в программном обеспечении CUDA, и поэтому имеется доступ ко всем промежуточным результатам конвейера, которые хранятся в общей памяти для максимальной производительности. Реализованы два отдельных вычислительных конвейера (один для обработки объектов, а другой - для обработки фрагментов). Производится сортировка списка всех соответствующих фрагментов для каждого пикселя, которая завершается после обработки всех объектов. Вычислительный конвейер объектов отвечает за геометрические преобразования и определение принадлежности объектов клеткам. Пиксельный конвейер получает фрагменты в произвольном порядке. Далее они сортируются в Z-направлении, прежде чем, они могут быть использованы. Окончательная трассировка лучей и затенение требуют смешивания нескольких пересекающихся объемных объектов, и эффективного накопления отдельных объемных вкладов вдоль лучей. В обычном рендеринге сцен преобладают непрозрачные объекты, высокая производительность связана с возможностью идентификации маскированных частей сцены в начале конвейера. В отличие от классического объемного подхода, предлагаемый метод рендеринга должен растрировать все поверхности и передать информацию на экране покрытия поверхностей (маскирование) как можно быстрее до обработки пикселей. После преобразования объекта в пространство экрана, для каждой клетки (тайла) 8х8 пикселей вычисляется маска. Эта простая стратегия хорошо подходит для аппаратной технологии CUDA и предпочтительнее более сложных подходов. Для метода важно, чтобы каждый фрагмент, охватываемый границей объема, вычислялся один раз с момента инициализации. Поэтому вычисляются покрытые пиксели для каждой поверхности. Блок вычислений, ответственного за клетку, состоит из 64 вычислителей, один для каждого пикселя в тайле. Первая задача для вычислителя - построить представление луча, состоящего из пересечений с поверхностями, отсортированных по глубине. Вычислитель выполняет итерацию по списку поверхностей, записывает и проверяет свой бит в маске покрытия. Если бит установлен, то он вычисляет глубину пересечения с помощью уравнения поверхности. Z-значения и идентификаторы поверхности хранятся в виде массива в быстром доступе общей памяти. Поэтому выделяется только одно 32-разрядное значение каждой записи, 16-бит - на запись Z-значения и 16-бит для идентификатора поверхности. Записи в этом массиве чередуются, чтобы избежать конфликтов. Кроме того, имеется общая память 16 КБ, которая разделяется на 64 слота, что позволяет каждому вычислителю сохранить максимум 63 записи. Это ограничивает максимальную глубину сложности 63. Массив поддерживается в сортированном порядке путем вставки новых значений в соответствующее положение, начиная с элементов ближних к наблюдателю. Получается, что время, затраченное на сортировку, не велико по сравнению с последующим временем прохождения луча, даже для специально разработанного худшего сценария, в котором весь список фрагментов расположен в обратном порядке (т. е., имеет квадратичную временную сложность). Более того, благодаря пространственной когерентности для умеренно сложных сцен, операция вставки используется для многих потоков. Обоснование такого подхода состоит в том, что фрагменты маскированные 63 более близкими слоями будут иметь минимальное влияние на окончательное изображения, и, следовательно, могут быть замаскированы. Чтобы проиллюстрировать это утверждение, были протестированы сцены с очень высокой глубинной сложностью. После сортировки, пиксельный поток выполняет итерацию отсортированного массива в порядке от ближайшего до самого дальнего. Глубина интервала между двумя последовательными записями в массиве определяет однородный сегмент луча относительно пересекающихся объектов. Переходя по массиву, поддерживается информация о пересекающихся объектов сцены, которые являются листьями дерева конструктивной твердотельной геометрии (CSG). Если один или несколько объектов сцены пересекаются, начальная точка луча должна быть преобразована в координаты модели, образуя таким образом, набор лучей пространства объекта. Для каждого пространства объекта, луч должен использовать одинаковый размер шага в мировой системе координат, чтобы правильно смешивать образцы для каждого объекта сцены. Так как объекты сцены могут иметь различные размер и разрешение, используется минимальный размер шага всех объектов вдоль отрезка луча, чтобы гарантировать отсутствие пропусков. Так как это может привести к передискретизации разрешения объектов, обеспечивается вариант регулировки этого параметра. Пропуск пустого пространства является необходимым методом ускорения для объемной визуализации. Эффективная обработка граничной геометрии в предлагаемом методе рендеринга позволяет пропускать внешнее и внутреннее пространство для ускорения вычислений. Это легко может быть достигнуто путем выполнения вычисления параллельно на GPU, тем самым избегая дополнительных медленных передач данных из памяти. Время вычислений для набора данных 5К составляет около одной миллисекунды на NVIDIA 470 GTX. Новые ограничивающие геометрические поверхности вставляются в глобальный список поверхностей в глобальной памяти GPU и связанны с соответствующими объектами сцены. Во время обхода луча с помощью сортированного списка фрагментов, ограничивающие геометрические поверхности позволяют одновременно пропускать внутреннее пространство на основе набора активных объектов, который обновляется всякий раз, когда фрагмент граничной геометрии обрабатывается, при добавлении или удалении определенного объекта. Использование плотно прилегающей ограничительной геометрии увеличивает частоту кадров до 25%, в частности, при передаче функций, которые делают большие части объема прозрачными. В целом на оптимизацию влияют как конвейер вычислений поверхностей, так и конвейер обработки пикселей.

Заключение

Разработан новый подход к визуализации массивов полупрозрачных объемов и функционально заданных поверхностей. С помощью технологии CUDA разработан программный конвейер рендеринга, который выполняется параллельно. Такой подход актуален для широкого спектра применений. Это увеличивает практическую применимость объемного рендеринга к очень сложным сценам, включая пересекающиеся объемы и поверхности для медицинских приложений. Как показано в данной статье, метод является простым в реализации, и позволяет применить его для многих приложений.

Модели медицинских инструментов и совмещение поверхностей с объемными данными необходимы для компьютерной хирургии. Виртуальные хирургические операции являются одними из наиболее перспективных направлений в медицине, в которых применяются трехмерная компьютерная графика и технологии виртуальной реальности. Системы виртуальной ортопедической хирургии, которые могут работать на общедоступных персональных компьютерах становятся актуальными. Например, во время обучения общей ортопедической хирургии, врачи исследуют переломы на пластических костях с помощью хирургических инструментов и имплантов. Хирурги заинтересованы, во-первых, в экономии стоимости костей, так как синтетические кости хорошего качества стоят дорого. Во-вторых, появляется возможность работать с нужными костями, которые могут быть недоступны на рынке в данный момент. Кроме того, полезной возможностью является исследование на виртуальных моделях реальных переломов, полученных из данных КТ или МРТ. Конечно, это виртуальное обучение не заменит полностью обязательного обучения на синтетических костях, но может позволить студентам выполнять начальную рутинную работу полностью в виртуальной среде, тем самым экономя расходы и время обычной подготовки. А также можно будет выполнить хирургическое планирование операции. Рендеринг нескольких объемов одновременно в композиции с поверхностями осуществить труднее, чем визуализацию отдельных объемов, так как требует обработки перекрытий объемов и смешивания цветов. Пересчет объемов в единой системе координат не желательно, так как это приводит к потере качества, или увеличению требованиям к памяти. Обязательное требование в виртуальной хирургии - сочетание объёмов с поверхностями. Функциональные модели хорошо подходят для встраивания посторонних объектов (инструментов, имплантов и пр.) в объемные данные.

Предлагается компактное представление текстуры с использованием однородности данных и важности информации для уменьшения требуемой памяти текстуры и скорости вычислений. В основе метода лежит эффективное управление текстурами, в которой назначается память текстур по степени значимости региона и содержанию воксельных данных. Сочетание данных, интерполяции и важности данных определяют выбранный набор узлов дерева. Эти узлы определяют, как должен быть объем разложен и представлен в памяти текстур. Экспериментальные результаты показывают хорошее качество визуализации в интерактивном режиме. Разработка приложений с использованием стандартных библиотек OpenGL и DirectX позволяет применять широкие возможности графических акселераторов в самых различных областях виртуальной реальности. В данной работе представлен метод, направленный на разработку недорогой альтернативы обычному ортопедическому хирургическому обучению, и для прочих медицинских приложений. Такой метод подходит для применения в виртуальной нейрохирургии, где наборы объемных данных различных разрешений необходимо сочетать с геометрическими данными.

Библиография
1. Yagel R., Machiraju R. Data Parallel Volume Rendering Algorithms // The Visual Computer. 1995. Vol. 11. № 6. Р. 319–338.
2. R.W.J. Krueger. Acceleration techniques for GPU-based volume rendering, IEEE Visualization. 2003. P. 287-292.
3. Drebin R. A., Carpenter L., Hanrahan P. Volume Rendering // Computer Graphics. 1988. Vol. 22. №
4. Р. 65–74. 4.Sobeirajski L., D. Cohen, A. Kaufman, R. Yagel, and D. Acker. A Fast Display Method for Volumetric Data //The Visual Computer. 1993. Vol. 10. № 2. P. 116-124.
5. G.T. Herman. Image Reconstruction from Projections. The Fundamentals of Computerized Tomography. New York–London. Academic Press. 1980. XII, 316 S., ISBN 0‐12‐342050‐4
6. Cabral B., N. Cam and J. Foran. Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware // Proceedings 1994 Symposium on Volume Visualization, Tysons Corner, Virginia, USA — October 17 – 18. ACM New York, NY, USA. ISBN:0-89791-741-3 doi>10.1145/197938.197972. P. 91-98.
7. B.B. Avants, N.J. Tustison, G. Song, P.A. Cook, A. Klein, and J.C. Gee. A reproducible evaluation of ants similarity metric performance in brain image registration. Neuroimage, 2011. Vol. 54. № 3. P. 2033-2044.
8. R.J. Killiany et al. Use of structural magnetic resonance imaging to predict who will get Alzheimer's disease. Annals of neurology, 2000. Vol. 47. № 4.P. 430-439.
9. I. Boada, I. Navaza, R. Scopigno. Multiresolution volume visualization with a texture-based octree. The Visual Computer 17, 2001, Springer-Verlag, 2001. P. 185–197.
10. H. Pfister, J. Hardenbergh, J. Knittel, H. Lauer, L. Seiler. The VolumePro real-time ray-casting system. Computer Graphics Proceedings, Annual Conference Series (SIGGRAPH ’99)-Los Angeles, CA, 1999. ACM Press/Addison-Wesley Publishing Co. New York, NY, USA. P. 251–260.
11. S-Y. Guan, R. Lipes. Innovative volume rendering using 3D texture mapping. In Proceedings Medical Imaging – Image Capture, Formatting and Display, vol 2164, SPIE, 1994, P. 382–392.
12. G. Frieder, D. Gordon, R.A. Reynolds. Back-to-Front Display of Voxel-Based Objects, IEEE Computer Graphics and Applications, Vol. 5. № 1. January 1985. DOI: 10.1109/MCG.1985.276273. P. 52-60.
13. P. Lacroute, M. Levoy. Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation. Proceedings SIGGRAPH’ 94, Orlando, Florida, July 24-29, 1994. In Computer Graphics Proceedings, Annual Conference Series, 1994, ACM SIGGRAPH, P.451-458.
14. H. K. Tuy, L.T. Tuy. Direct 2-D Display of 3-D Objects, IEEE Computer Graphics and Applications, October 1984. Vol. 4. № 10. P. 29-34.
15. C. Upson, M. Keeler. V-BUFFER: Visible Volume Rendering, Computer Graphics, Vol. 22. № 4. August 1988. ACM. New York, NY, USA. doi>10.1145/378456.378482. P. 59-64.
16. R. Srinivasan, S. Fang, S. Huang. Rendering by template-based octree projection // Proceedings of the 8th Eurographics Workshop on Visualization in Scientific Computing / eds. W. Lefer, M. Grave. Boulogne-sur-Mer, France: Eurographics, 1997. P. 155–163.
17. X. Tong, W. Wang, W. Tsang, Z. Tang. Efficiently rendering large volume data using texture mapping hardware // Data Visualization’99 / eds. Groller E, Loffelmann H, Ribarsky W, Vienna: Eurographics. Springer, 1999, P.121–132.
18. A. Van Gelder, K. Kim. Direct volume rendering with shading via three-dimensional textures // Symposium on Volume Visualization / eds. Crawfis R, Hansen C, San Francisco, CA, October 28-29, 1996. IEEE Press Piscataway, NJ, USA. P. 23–30.
19. R. Grzeszczuk, C. Henn, R. Yagel. Advanced geometric techniques for ray casting volumes. ACM SIGGRAPH ’98, Course Notes N. 4, 1998, P. 1–239.
20. E.C LaMar, B. Hamann, K.I Joy. Multiresolution techniques for interactive texture-based volume visualization // Proceedings of the 1999 IEEE Conference on Visualization (VIS-99) / eds. Ebert D, Gross M, Hamann B. ACM Press, San Francisco, CA, 1999, P. 355–362.
21. J. Danskin, P. Hanrahan. Fast algorithms for volume ray tracing. Proceedings of the Workshop on Volume Visualization. Boston, Massachusetts, USA — October 19 – 20. ACM Press, New York, 1992, ISBN:0-89791-527-5, doi>10.1145/147130.147155. P. 91–98.
22. D. Laur, P. Hanrahan. Hierarchical splatting: a progressive refinement algorithm for volume rendering. (ACM SIGGRAPH’91) Computer Graphics Vol. 25, № 4. July, doi>10.1145/127719.122748. P. 285–288.
23. J. Wilhelms, A. Van Gelder. Multi-dimensional trees for controlled volume rendering and compression // Proceedings of 1994 Symposium on Volume Visualization / eds. Kaufmann A, Krueger W. Washington, DC, Tysons Corner, Virginia, USA — October 17 – 18, 1994, ISBN:0-89791-741-3, doi>10.1145/197938.197956. P. 27–34.
24. M. Meissner, U. Hoffmann, W. Straber. Enabling classification and shading for 3D texture mapping based volume rendering // Proceedings of the 1999 IEEE Conference on Visualization (VIS-99) / eds. Ebert D, Gross M, Hamann B, ACM Press, San Francisco, CA, 1999, P. 207–214.
25. R. Westermann, T. Ertl. Efficiently using graphics hardware in volume rendering applications // Conference Proceedings, Annual Conference Series (SIGGRAPH ’98) / eds. Cohen M. Addison Wesley, 1998, ISBN:0-89791-999-8, doi>10.1145/280814.280860. P. 169–177.
26. Vyatkin S.I., Dolgovesov B.S. A 3D Texture-Based Recursive Multi-Level Ray Casting Algorithm // Proceedings of the Second IASTED International Multi-Conference on Automation, Control, and Information Technology-ACIT`2005. "Software Engineering"(Novosibirsk, Russia, June 20-24, 2005). Ed.: Yu.I. Shokin, O.I. Potaturkin. ACTA Press. P. 92-97.
27. Вяткин С. И. Моделирование сложных поверхностей с применением функций возмущения // Автометрия, 2007, т. 43, № 3. C. 40–47.
28. Вяткин С. И. Преобразования функционально заданных форм // Программные системы и вычислительные методы.-2014.-№ 4.-С. 484 – 499.
29. C. Everitt. Interactive Order-Independent Transparency. Technical report NVIDIA OpenGL applications engineering, 2001.
30. A. Mammen. Transparency and Antialiasing Algorithms Implemented with the Virtual Pixel Maps Technique. IEEE Computer Graphics Applications, Vol. 9. № 4. July 1989. IEEE Computer Society Press Los Alamitos, CA, USA. doi>10.1109/38.31463. P. 43–55.
31. T. Porter and T. Duff. Compositing Digital Images. Computer Graphics, Vol. 18, № 3 July, 1984, ACM New York, NY, USA, doi>10.1145/964965.808606. P. 253-259.
32. Вяткин С.И. Метод рекурсивного поиска элементов изображения функционально заданных поверхностей // Автометрия.-2017.-Т. 53,-№ 3.-С. 53-57. DOI: 10.15372/ AUT20170307
References
1. Yagel R., Machiraju R. Data Parallel Volume Rendering Algorithms // The Visual Computer. 1995. Vol. 11. № 6. R. 319–338.
2. R.W.J. Krueger. Acceleration techniques for GPU-based volume rendering, IEEE Visualization. 2003. P. 287-292.
3. Drebin R. A., Carpenter L., Hanrahan P. Volume Rendering // Computer Graphics. 1988. Vol. 22. №
4. R. 65–74. 4.Sobeirajski L., D. Cohen, A. Kaufman, R. Yagel, and D. Acker. A Fast Display Method for Volumetric Data //The Visual Computer. 1993. Vol. 10. № 2. P. 116-124.
5. G.T. Herman. Image Reconstruction from Projections. The Fundamentals of Computerized Tomography. New York–London. Academic Press. 1980. XII, 316 S., ISBN 0‐12‐342050‐4
6. Cabral B., N. Cam and J. Foran. Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware // Proceedings 1994 Symposium on Volume Visualization, Tysons Corner, Virginia, USA — October 17 – 18. ACM New York, NY, USA. ISBN:0-89791-741-3 doi>10.1145/197938.197972. P. 91-98.
7. B.B. Avants, N.J. Tustison, G. Song, P.A. Cook, A. Klein, and J.C. Gee. A reproducible evaluation of ants similarity metric performance in brain image registration. Neuroimage, 2011. Vol. 54. № 3. P. 2033-2044.
8. R.J. Killiany et al. Use of structural magnetic resonance imaging to predict who will get Alzheimer's disease. Annals of neurology, 2000. Vol. 47. № 4.P. 430-439.
9. I. Boada, I. Navaza, R. Scopigno. Multiresolution volume visualization with a texture-based octree. The Visual Computer 17, 2001, Springer-Verlag, 2001. P. 185–197.
10. H. Pfister, J. Hardenbergh, J. Knittel, H. Lauer, L. Seiler. The VolumePro real-time ray-casting system. Computer Graphics Proceedings, Annual Conference Series (SIGGRAPH ’99)-Los Angeles, CA, 1999. ACM Press/Addison-Wesley Publishing Co. New York, NY, USA. P. 251–260.
11. S-Y. Guan, R. Lipes. Innovative volume rendering using 3D texture mapping. In Proceedings Medical Imaging – Image Capture, Formatting and Display, vol 2164, SPIE, 1994, P. 382–392.
12. G. Frieder, D. Gordon, R.A. Reynolds. Back-to-Front Display of Voxel-Based Objects, IEEE Computer Graphics and Applications, Vol. 5. № 1. January 1985. DOI: 10.1109/MCG.1985.276273. P. 52-60.
13. P. Lacroute, M. Levoy. Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation. Proceedings SIGGRAPH’ 94, Orlando, Florida, July 24-29, 1994. In Computer Graphics Proceedings, Annual Conference Series, 1994, ACM SIGGRAPH, P.451-458.
14. H. K. Tuy, L.T. Tuy. Direct 2-D Display of 3-D Objects, IEEE Computer Graphics and Applications, October 1984. Vol. 4. № 10. P. 29-34.
15. C. Upson, M. Keeler. V-BUFFER: Visible Volume Rendering, Computer Graphics, Vol. 22. № 4. August 1988. ACM. New York, NY, USA. doi>10.1145/378456.378482. P. 59-64.
16. R. Srinivasan, S. Fang, S. Huang. Rendering by template-based octree projection // Proceedings of the 8th Eurographics Workshop on Visualization in Scientific Computing / eds. W. Lefer, M. Grave. Boulogne-sur-Mer, France: Eurographics, 1997. P. 155–163.
17. X. Tong, W. Wang, W. Tsang, Z. Tang. Efficiently rendering large volume data using texture mapping hardware // Data Visualization’99 / eds. Groller E, Loffelmann H, Ribarsky W, Vienna: Eurographics. Springer, 1999, P.121–132.
18. A. Van Gelder, K. Kim. Direct volume rendering with shading via three-dimensional textures // Symposium on Volume Visualization / eds. Crawfis R, Hansen C, San Francisco, CA, October 28-29, 1996. IEEE Press Piscataway, NJ, USA. P. 23–30.
19. R. Grzeszczuk, C. Henn, R. Yagel. Advanced geometric techniques for ray casting volumes. ACM SIGGRAPH ’98, Course Notes N. 4, 1998, P. 1–239.
20. E.C LaMar, B. Hamann, K.I Joy. Multiresolution techniques for interactive texture-based volume visualization // Proceedings of the 1999 IEEE Conference on Visualization (VIS-99) / eds. Ebert D, Gross M, Hamann B. ACM Press, San Francisco, CA, 1999, P. 355–362.
21. J. Danskin, P. Hanrahan. Fast algorithms for volume ray tracing. Proceedings of the Workshop on Volume Visualization. Boston, Massachusetts, USA — October 19 – 20. ACM Press, New York, 1992, ISBN:0-89791-527-5, doi>10.1145/147130.147155. P. 91–98.
22. D. Laur, P. Hanrahan. Hierarchical splatting: a progressive refinement algorithm for volume rendering. (ACM SIGGRAPH’91) Computer Graphics Vol. 25, № 4. July, doi>10.1145/127719.122748. P. 285–288.
23. J. Wilhelms, A. Van Gelder. Multi-dimensional trees for controlled volume rendering and compression // Proceedings of 1994 Symposium on Volume Visualization / eds. Kaufmann A, Krueger W. Washington, DC, Tysons Corner, Virginia, USA — October 17 – 18, 1994, ISBN:0-89791-741-3, doi>10.1145/197938.197956. P. 27–34.
24. M. Meissner, U. Hoffmann, W. Straber. Enabling classification and shading for 3D texture mapping based volume rendering // Proceedings of the 1999 IEEE Conference on Visualization (VIS-99) / eds. Ebert D, Gross M, Hamann B, ACM Press, San Francisco, CA, 1999, P. 207–214.
25. R. Westermann, T. Ertl. Efficiently using graphics hardware in volume rendering applications // Conference Proceedings, Annual Conference Series (SIGGRAPH ’98) / eds. Cohen M. Addison Wesley, 1998, ISBN:0-89791-999-8, doi>10.1145/280814.280860. P. 169–177.
26. Vyatkin S.I., Dolgovesov B.S. A 3D Texture-Based Recursive Multi-Level Ray Casting Algorithm // Proceedings of the Second IASTED International Multi-Conference on Automation, Control, and Information Technology-ACIT`2005. "Software Engineering"(Novosibirsk, Russia, June 20-24, 2005). Ed.: Yu.I. Shokin, O.I. Potaturkin. ACTA Press. P. 92-97.
27. Vyatkin S. I. Modelirovanie slozhnykh poverkhnostei s primeneniem funktsii vozmushcheniya // Avtometriya, 2007, t. 43, № 3. C. 40–47.
28. Vyatkin S. I. Preobrazovaniya funktsional'no zadannykh form // Programmnye sistemy i vychislitel'nye metody.-2014.-№ 4.-S. 484 – 499.
29. C. Everitt. Interactive Order-Independent Transparency. Technical report NVIDIA OpenGL applications engineering, 2001.
30. A. Mammen. Transparency and Antialiasing Algorithms Implemented with the Virtual Pixel Maps Technique. IEEE Computer Graphics Applications, Vol. 9. № 4. July 1989. IEEE Computer Society Press Los Alamitos, CA, USA. doi>10.1109/38.31463. P. 43–55.
31. T. Porter and T. Duff. Compositing Digital Images. Computer Graphics, Vol. 18, № 3 July, 1984, ACM New York, NY, USA, doi>10.1145/964965.808606. P. 253-259.
32. Vyatkin S.I. Metod rekursivnogo poiska elementov izobrazheniya funktsional'no zadannykh poverkhnostei // Avtometriya.-2017.-T. 53,-№ 3.-S. 53-57. DOI: 10.15372/ AUT20170307

Результаты процедуры рецензирования статьи

В связи с политикой двойного слепого рецензирования личность рецензента не раскрывается.
Со списком рецензентов издательства можно ознакомиться здесь.

Предмет исследования – метод визуализации трёхмерной текстуры и функционально заданных поверхностей, а также подход к выбору массива данных (фрагментов) и определения разрешения, при котором представлен каждый фрагмент, на основе рэй-кастинга для рендеринга объёма.

Методология исследования основана на сочетании теоретического и модельного эмпирического подходов с применением методов анализа, алгоритмизации, вычислительного эксперимента, сравнения, обобщения, синтеза.

Актуальность исследования обусловлена широким распространением технологий визуализации данных (в том числе трёхмерных) в современном мире и, соответственно, необходимостью исследования методов рендеринга объёма, включая рэй-кастинг трёхмерных текстур и функционально заданных поверхностей с применением графических ускорителей

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

Стиль изложения научный. Статья написана русским литературным языком.

Структура рукописи включает следующие разделы: Введение (рэй-кастинг, рендеринг объёма, графический процессор, программно-аппаратные шейдеры ускорителя, медицинская визуализация, виртуальные хирургические операции, 3D-отображение текстуры, аппаратная реализация, рендеринг в объектном пространстве / рендеринг прямого хода и метод пространства изображения, алгоритмы обхода объёма – BTF, Z-buffer, FTB, тексель, воксель, разложение воксельного пространства и загрузка фрагментов текстурных данных в память текстуры по запросу, оценка пользовательских параметров – степень интереса, степень однородности, расстояние от наблюдателя, метод визуализации трёхмерной текстуры и функционально заданных поверхностей), Трёхмерная текстура (определение текстуры в «объёмном» смысле, отображаемый объект, свойство отображаемого объекта, визуализация скалярных массивов, объект-массив, аналитически описанные функционально заданные поверхности, массивы скалярных данных, текстура – объект (не отображаемый), изменяющий свойства другого объекта, преобразование координат из текстурного пространства в пространство объекта, преобразование координат из модельного пространства в текстурное), Функционально заданные поверхности (функции отклонения от базовой квадрики, поверхности как композиции базовой квадрики и возмущений, геометрическая модель, множество геометрических операций, теоретико-множественные операции с применением булевых операций объединения и пересечения), Тайловая технология визуализации (тайловая технология визуализации, клетка определенного размера (тайл / tile), обработка списка объектов, определение видимости и цвета пикселов, рэй-кастинг изображения со сложными пересечениями объёмных данных с поверхностями, вычисления на графическом акселераторе, алгоритм рэй-кастинга – преобразование объекта, растеризация, обработка фрагментов, аппаратная технология CUDA, дерево конструктивной твердотельной геометрии, ускорение вычислений), Заключение (выводы), Библиография.

Содержание в целом соответствует названию. В то же время в формулировке заголовка следует употреблять форму одного числа – единственного либо множественного, например: «Рэй-кастинг трёхмерной текстуры и функционально заданной поверхности с применением графических ускорителей», «Рэй-кастинг трёхмерных текстур и функционально заданных поверхностей с применением графических ускорителей». Необходимо также придерживаться единообразного написания специальных терминов: рей-кастинг / рэй-кастинг, пиксел / пиксель и т п. Желательно расширить эмпирическую часть работы, подтверждающую вывод о том, что «метод является простым в реализации и позволяет применить его для многих приложений».

Библиография включает 32 источника отечественных и зарубежных авторов – монографии, научные статьи, материалы научных мероприятий, техническая документация. Библиографические описания некоторых источников нуждаются в корректировке в соответствии с ГОСТ и требованиями редакции, например:
1. Yagel R., Machiraju R. Data Parallel Volume Rendering Algorithms // The Visual Computer. 1995. Vol. 11. № 6. Р. 319–338.
3. Drebin R. A., Carpenter L., Hanrahan P. Volume Rendering // Computer Graphics. 1988. Vol. 22. № 4. Р. 65–74.
5. Herman G. T. Image Reconstruction from Projections. The Fundamentals of Computerized Tomography. Место издания ??? : Academic Press, 1980. ??? р.
6. Cabral B., Cam N., Foran J. Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware // Proceedings Symposium on Volume Visualization. Место издания ??? : Наименование издательства ???, 1994. P. 91–98.
10. Pfister H., Hardenbergh J., Knittel J., Lauer H., Seiler L. The VolumePro real-time ray-casting system // Computer Graphics Proceedings : Annual Conference Series (SIGGRAPH ’99). – Los Angeles, CA, 1999. P. 251–260.
16. Srinivasan R., Fang S., Huang S. Rendering by template-based octree projection // Proceedings of the 8th Eurographics Workshop on Visualization in Scientific Computing / eds. W. Lefer, M. Grave. Boulogne-sur-Mer, France : Eurographics, 1997. P. 155–163. 27. Вяткин С. И. Моделирование сложных поверхностей с применением функций возмущения // Автометрия. 2007. Т. 43. № 3. C. 40–47.

Апелляция к оппонентам (Yagel R., Machiraju R., Krueger R.W.J., Drebin R.A., Carpenter L., Hanrahan P., Sobeirajski L., Cohen D., Kaufman A., Acker D., Herman G. T., Cabral B., Cam N., Foran J., Avants B. B., Tustison N. J., Song G., Cook P. A., Klein A. A., Gee J. C., Killiany R. J., Boada I., Navaza I., Scopigno R., Pfister H., Hardenbergh J., Knittel J., Lauer H., Seiler L., Guan S.-Y., Lipes R., Frieder G., Gordon D., Reynolds R. A., Lacroute P., Levoy M., Tuy H. K., Tuy L. T., Upson C., Keeler M., Srinivasan R., Fang S., Huang S., Tong X., Wang W., Tsang W., Tang Z., A. van Gelder, Kim K., Grzeszczuk R., Henn C., Yagel R., LaMar E. C., Hamann B., Joy K. I., Danskin J., Hanrahan P., Laur D., Wilhelms J., Meissner M., Hoffmann U., Straber W., Westermann R., Ertl T., Everitt C., Mammen A., Porter T., Duff T. и др.) имеет место.

Замечен ряд опечаток: 3D отображение текстуры – 3D-отображение текстуры; [16, 17, 18] – [16–18]; Например, метод основанный на разложении воксельного пространства и загрузки фрагментов текстурных данных в память текстуры по запросу – Например, метод, основанный на разложении воксельного пространства и загрузки фрагментов текстурных данных в память текстуры по запросу; В данной работе представлен метод визуализации трехмерной текстуры и функционально заданных поверхностей. Метод имеет свои особенности в представлении данных объема и критерии, используемые для организации данных. А также подход, разработанный для выбора массива данных (фрагментов) и для определения разрешения, при котором представлен каждый фрагмент – В данной работе представлен метод визуализации трёхмерной текстуры и функционально заданных поверхностей, который имеет свои особенности в представлении данных объёма и критерии, используемые для организации данных, а также подход, разработанный для выбора массива данных (фрагментов) и для определения разрешения, при котором представлен каждый фрагмент; Функция задается алгебраическим неравенством второй степенис тремя неизвестными – Функция задается алгебраическим неравенством второй степени с тремя неизвестными; [29, 30, 31] – [29–31]; тайл-tile – тайл / tile; 8х8 пикселов – 8