Программа для интерактивной визуализации клинических данных в формате DICOM для коллаборативного использования
Данная работа посвящена разработке приложения, которое позволяет интерактивно просматривать медицинские 3D изображения в формате DICOM в виртуальной и дополненной реальности. В рамках работы были реализованы открытие DICOM-файлов, алгоритм Marching Cubes.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 28.08.2018 |
Размер файла | 525,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет компьютерных наук
Научно-учебная лаборатория интеллектуальных систем и структурного анализа
Выпускная квалификационная работа
на тему «Программа для интерактивной визуализации клинических данных в формате DICOM для коллаборативного использования»
по направлению подготовки 09.03.04 «Программная инженерия»
Выполнил
студент группы 141 4 курса бакалавриата
образовательной программы «Программная инженерия»
Т.В. Хузин
Научный руководитель к. т. н., доцент
Незнанов Алексей Андреевич
Москва 2018
Реферат
приложение медицинский виртуальный реальность
Данная работа посвящена разработке приложения, которое позволяет интерактивно просматривать медицинские 3D изображения в формате DICOM в виртуальной и дополненной реальности. В рамках работы были реализованы открытие DICOM-файлов, алгоритм Marching Cubes для создания полигональной модели, разработан алгоритм текстурирования поверхности полигональной модели и создано приложение для визуализации полученной модели в виртуальной и дополненной реальности с помощью Unreal Engine 4.
Abstract
This paper describes the development of application that allows to investigate clinical 3D images in DICOM format using augmented and virtual reality. To achieve this the DICOM loading code was developed, Marching Cubes algorithm was used to reconstruct polygonal mesh, texturing algorithm was developed and final tool was built using Unreal Engine 4.
Содержание
Основные определения
Обзор предметной области
Описание выбранных моделей и алгоритмов
Выбор средств реализации
Заключение
Список источников
Основные определения
DICOM [Digital Imaging and Communications in Medicine] -- стандартный формат сетевой передачи и хранения медицинских изображений и данных о пациенте. [1]
PACS [Picture Archiving and Communication System] -- МИС для передачи и хранения DICOM-данных, построенная по архитектуре DICOM Client-Server
Единая точка входа для всех сценариев использования мультимедийных медицинских данных в клинической практике
DICOM-серия -- некоторое количество DICOM-изображений, полученных в ходе одного исследования. Изображения, как правило, представляют из себя последовательные параллельные плоские срезы.
АРМ -- автоматизированное рабочее место
ММД -- медицинские мультимедиа-данные
МИС -- медицинских информационных систем
Дополненная реальность -- воспринимаемая смешанная реальность, создаваемая с использованием «дополненных» с помощью компьютера элементов воспринимаемой реальности (когда искусственные объекты монтируются в поле восприятия). 6
Виртуальная реальность -- созданный техническими средствами мир (объекты и субъекты), передаваемый человеку через его ощущения: зрение, слух, обоняние, осязание и другие. Не следует путать виртуальную реальность с дополненной. Их коренное различие в том, что виртуальная конструирует новый искусственный мир, а дополненная реальность лишь вносит отдельные искусственные элементы в восприятие мира реального.
Полигональная сетка (мэш, полигональная модель) -- геометрическая модель трёхмерного объекта, поверхность которого представлена с помощью множества плоских примитивов (например, треугольников). Содержит координаты вершин (узлов сетки) и данные для их объединения в треугольники.
Обзор предметной области
В данный момент активно развиваются технологии дополненной и виртуальной реальности. Они находят широкое применение в самых разных отраслях для визуализации разнообразных данных.
В числе прочего, данная технология востребована и в медицине. С изобретением рентгеновских снимков и магнитно-резонансной томографии, исследование изображений повысило качество диагностики разных заболеваний и стало неотъемлемой частью работы врача. Однако, на данный момент такие изображения достаточно трудно просматривать, так как они сами по большей части двумерные. Так как само тело человека, которое исследуется, трёхмерное, это приводит к искажению информации и усложняет работу врача.
Существующие 3D-приложения для просмотра DICOM имеют достаточно неудобный интерфейс в силу того, что клавиатура и мышь достаточно неудобны для создания разрезов модели. Данное препятствие легко устраняется в AR и VR, так как при все эти манипуляции могут производиться привычными для врача действиями [2].
Единственной известной на данный момент технологией, которая реализует дополненную реальность в медицине, является некоторые технологии Microsoft [3]. Однако они до сих пор не нашли широкого применения.
Таким образом, создание продукта, способного визуализировать медицинские данные в виртуальной реальности, достаточно востребовано.
Описание выбранных моделей и алгоритмов
Создание полигональной модели
Первоначально для рендеринга планировалось использовать воксельные модели. Получение которых из DICOM-серии Однако их применение оказалось невозможным. В воксельной модели хранится множество точек, каждая из которых определяет цвет или другие данные для рендеринга. Проблема в том, что даже в достаточно небольших DICOM-изображениях довольно много точек, что может сильно замедлить клиент-серверное взаимодействие и сильно повышает требования к используемому для отображения оборудованию.
Из-за отказа от воксельного рендеринга, пришлось искать методы создания полигональных моделей из воксельных. Существуют два алгоритма для решения этой задачи: marching cubes, созданный в 1987 году Вильямом Лоренсеном и Харви Клайном[4], и marching tetrahedral, созданный в 1991-ом году Акайо Дойем и Акайо Койди для обхода патентных ограничений на marching cubes [5]. Для работы было решено применить первый алгоритм, так как срок патента вышел, и он отличается относительной простотой и большей изученностью в сравнение со вторым. Для работы над алгоритмом применялось исследование Ньюмана и Йи «A survey of the marching cubes algorithm»[6], работы Пола Борке «Polygonising a scalar field»[7] и Ниелсона и Хаманна «The asymptotic decider: resolving the ambiguity in marching cubes».[8] Реализация была связана больше с первой работой, из второй были взяты только таблицы.
Суть алгоритма заключается в том, что пространство вокселей делится на кубики, которым ставятся в соответствие набор треугольников в зависимости от того, являются вершины внутренними или внешними. В случае с медицинскими изображениями в качестве этого значения использовалась плотность, так как именно она хранится в стандартном формате. Marching tethrahedra работает похожим образом, только вместо кубиков используются тетраэдры.
Важной особенностью данного алгоритма является то, что он превосходно распараллелируется, что даёт возможность выполнять расчёты на видеокарте.
Текстурирование
Для отображения объекта недостаточно получить лишь полигональной сетки: необходимо так же дать средству визуализации сведения о цвете поверхности объекта.
Обычно для вычисления цвета текселей, соответсвующих объекту, используются текстуры. Текстура представляет из себя двумерную картинку, участки поверхности которой соответствуют разным полигонам. Для определения цвета точек поверхности мэша, у каждой вершины определяются текстурные координаты, то есть, координата соответствующей точки на текстуре. Таким образом, каждому треугольнику ставится в соответствие треугольник на текстуре. При вычислении цвета точек внутри треугольника модели, положение этой точки переносится на текстуру с помощью билинейной интерполяции между положениями вершин соответствующего треугольника.
Первоначально была попытка создать текстуру после получения всех полигонов. Но эта текстура получалась слишком большого разрешения для использования с применяемыми инструментами. К тому же, при поиске не было найдено достаточно эффективного алгоритма генерации текстур.
В связи с этим был разработан другой способ вычисления цвета пикселя. Суть метода состоит в том, что в текстурную координату записывается значение от 0 до 1, где 0 соответствует самому низкому значению плотности из DICOM серии, а 1 соответствует самому высокому. Это значение можно считать координатой на одномерной текстуре с плотностью.
Таким образом, полностью ликвидируется необходимость хранить саму текстуру, что значительно сокращает потребление видеопамяти. Данный способ применим лишь для небольших полигонов (размерами примерно равным размерам одного-двух вокселей), что как раз соответствует данной работе. Воксельная модель, подаваемая на вход алгоритму Marching Cubes, уже состоит из вокселей, значения которых лежат в пределах от 0 до 1. Соответственно, для каждой вершины вычисляется плотность, как взвешенное среднее соседних вокселей и записывается в текстурную координату.
Так как длина стороны треугольников не более длины двух вокселей, при подсчёте «текстурной координаты», графический конвеер не вносит ошибок: полученное значение будет между значениями двух соседних вокселей. Дальнейшее вычисление цвета происходит в пиксельном шейдере. Сначала по текстурной координате вычисляется значение из шкалы Хаунсфилда, по которому уже вычисляется сам цвет.
Пиксели в DICOM-срезе от компьютерной томографии хранятся в виде целых чисел длиной до 16 бит, из которых значение шкалы Хаунсфилда вычисляется по следующей формуле:
где Hu -- значение шкалы Хаунсфилда, x -- значение плотности, RescaleSlope и RescaleIntercept -- значения, полученные из DICOM файла. Формула взята из стандарта DICOM. [9] Соответствие шкалы Хаунсфилда видимым цветам взято из работы «Automatic Colour Transfer Function Generation and 3D Reconstruction of DICOM Images» [10] и представлено в табл. 1.
Таблица 1 - Соответствие шкалы Хаунсфилда и цвета визуализации
Ткань |
Значения шкалы |
Цвет в RGB |
|
Воздух |
-1000 |
(0, 0, 0) |
|
Легочная ткань |
-600 -- -400 |
(194, 105, 82) |
|
Жир |
-100 -- -60 |
(194, 166, 115) |
|
Мягкие ткани |
+40 -- +80 |
(102-153, 0, 0) |
|
Кости |
+400 -- +1000 |
(255, 255, 255) |
Главная проблема этой шкалы перевода в том, что для некоторых участков шкалы Хаунсфилда не определены цвета. Для исправления этого была применена нечёткая логика.
Пусть w -- вес определённого цвета для каждого цвета для определённого значения из шкалы. Изменение веса можно смоделировать с помощью трапециевидной функции, как обычно это делается в системах нечёткого вывода (Fuzzy Rules Based System). [11] Значение w(x), где x -- значение шкалы, для каждой ткани вычисляется по следующим правилам:
Если x лежит в интервале от нижней до верхней границы из таблицы, то w = 1;
Если x лежит в интервале от верхней границы менее плотной ткани (L) до нижней границы текущей ткани (U), то w = (U-x)/(U-L);
Если x лежит в интервале от верхней границы текущей ткани (L) до нижней границы более плотной ткани (U), то w = (U-x)/(U-L);
Если ни одно из условий не выполняется, вес равен нулю.
В качестве иллюстрации можно посмотреть на график изменения весов
В следствие того, что границы всех тканей в таблице не пересекаются, сумма всех весов не может превысить единицу.
Рисунок 3.1. Пример зависимости веса ткани от плотности.
На рис. 3.1 можно увидеть иллюстрацию зависимости веса от значения плотности для двух тканей.
Итоговый цвет для точки вычисляется как сумма произведений весов всех тканей на соответствующие цвета. Примеры итоговой визуализации можно видеть на рис. 3.2.
Рисунок 3.2. Примеры визуализации разных тканей.
Определение положения в дополненной реальности
Для определения положения рисунка в дополненной реальности используются метки. Это оправданное решение, так как их достаточно легко распознавать, а оборудовать стационарное рабочее место клинициста ими легко. Вдобавок, есть много готовых инструментов для их применения.
В качестве маркеров были выбраны метки ArUco, разработанные в 2014 году. [12] Точность позиционирования по меткам ArUco достигается за счёт черно-белой гаммы и специального графического узора. Благодаря узору, у таких меток можно определить не только координаты, но и поворот. [13]
Пример метки приведён на рис. 3.3.
Рисунок 3.3. Пример метки ArUco.
Выбор средств реализации
Выбор технических средств
В качестве 3D-движка был выбран Unreal Engine 4 [14], так как он поддерживает большое количество платформ, позволяет напрямую работать с памятью, тем самым облегчая работу организацию вычислений на видеокарте, имеет хорошую сетевую подсистему, а также хорошо документирован.
В качестве библиотеки для работы с DICOM используется библиотека Imebra DICOM library, так как она позволяет производить все необходимые действия с DICOM и имеет свободную для любого использования лицензию и открытый исходный код. [15]
Для реализации алгоритма Marching Cubes первоначально планировалось использовать вычислительный шейдер на DirectX HLSL, но при разработке выяснилось, что поддержка таких шейдеров в Unreal Engine неполная. Главное ограничение было связано с объёмом получаемых данных: при попытке получить более 400 полигонов, система рендеринга UE4 начинала давать пустые данные (заполненные нулями). Последовательная реализация на C++ оказалась весьма медленной (производила расчёт полигонов для параллелепипеда с измерениям 512x512x460 в течение более трёх минут на Core i5 6300HQ), в следствие чего было решено переписать алгоритм на CUDA, что позволило производить такой расчёт за две секунды, но наложило ограничения на поддерживаемые устройства (необходимы последние версии видеокарт NVidia для работы).
Для распознавания меток использовался плагин Augmented Unreality, созданный на основе OpenCV Кшиштофом Лисом. [16-17]
В качестве устройства для воспроизведения используются Samsung Gear VR.
Архитектура приложения
Приложение имеет клиент-серверную архитектуру. Сервером является ПК с операционной системой Windows, он отвечает за открытие, визуализацию и преобразования DICOM-данных. Клиентом служит телефон с операционной системой Android, подключённый к шлему виртуальной реальности Samsung Gear VR.
Ядром сервера и клиента является один и тот же проект Unreal Engine, но собранный с разными параметрами. Однако к серверу так же относятся две отдельные DLL-библиотеки, которые содержат обращения к CUDA (реализация Marching Cubes) и imebra (чтение DICOM и создание воксельной модели). Причиной их вынесения в отдельные файлы служило то, что эта функциональность полностью не нужна на клиенте, и то, что они достаточно сильно увеличивают размер полученного мобильного приложения. В случае с CUDA так же важно то, что система сборки приложений с CUDA конфликтует с системой сборки приложений на Unreal Engine. Эти библиотеки автоматически загружаются при первом вызове их функций, что происходит только на сервере.
Схема модульной архитектуры представлена на рис. 4.1.
Рисунок 4.1. Схема модулей приложения.
Для описания системы взаимодействия между сервером и клиентом, стоит описать вкратце сетевую систему Unreal Engine 4.
Приложения UE4 состоят из уровней. В случае, если несколько игроков находятся на одном уровне, состояние уровня синхронизируется через сеть. Объекты, которые находятся на уровне, называются акторами. Сами же объекты разделяются на реплицируемые (то есть такие, состояние которых движок будет пытаться синхронизировать) и нереплицируемые. Такое разделение создано с целью уменьшения накладных расходов на синхронизацию. Нет нужды синхронизировать данные, которые не сильно влияют на потребительские качества уровня. [18] Все сетевые приложения на Unreal Engine построены по клиент-серверной модели с авторитарным сервером, что свойственно многим игровым движкам. Авторитарность сервера означает, что при разнице в данных между серверной частью и клиентской, серверные данные важнее, что выполняется, например, для синхронизированных свойств объектов (в терминах движка UPROPERTY).
Кроме такой автоматической синхронизации, можно так же вызывать удалённые процедуры. Они, к тому же, являются единственными способом воздействия клиента на сервер.
Несмотря на такой большой набор принятых инструментов для сетевой синхронизации, этого нам недостаточно. Дело в том, что в целях повышения производительности движок сильно ограничивает объём синхронизируемых такими способами данных. Например, максимальная длина реплицируемого массива равна 2048 элементам.
К счастью для нас, движок предоставляет средства для передачи и таких данных. В первую очередь это класс FArchive, с помощью которого можно организовать независимую от конкретной платформы бинарную сериализацию примитивов и классов движка. Так же стоит отметить поддержку сокетов.
Передача дополнительных данных, например, сведений о данных для подключения сокетов, реализуется через удалённый вызов процедур.
Необходимость передачи такого объёма данных ограничивает масштаб системы локальной сетью, в которой ПК играет роль сервера, а очки виртуальной реальности играют роль клиентов. В пользу такого решения говорит то, что эта конфигурация хорошо поддерживается Unreal Engine 4. Так же на сервере существует локальный клиент для удобства.
Так как задачей данной работы не было получение идентичных изображения на клиенте и сервере, а наоборот, визуализация данных с использованием преимуществ каждой платформы, нет необходимости синхронизировать все объекты. Достаточно лишь того, что преобразования снимка, вычисленные на сервере, точно воспроизводились на клиенте.
В качестве центрального класса, который координирует действия всех клиентов и сервера
Для создания дополненной реальности, то есть, для «дорисовывания» модели в реальность применяется плагин Кшиштофа Лиса Augmented Unreality. Этот плагин получает картинку с камеры и рисует её в виртуальной реальности таким образом, что она занимает весь угол обзора пользователя. Так же с помощью специальной метки в этой реальности размещается вычисленный на сервере трёхмерный объект. Таким образом получается ситуация, когда человек одновременно находится в виртуальной реальности и дополненной, сохраняя возможность видеть и пользоваться реальными объектами.
Описание порядка вычисления полигональной модели на CUDA (MarchingCubesLib.dll)
Как уже говорилось выше, изначально планировалось реализовать алгоритм с помощью вычислительного шейдера, но оказалось, что выгружать результаты из шейдерной практически невозможно: выгружалось по 450 треугольников, а даже из снимка верхней части тела с низким разрешенением (512x512x460) получаются около миллиона полигонов. Причиной такого явления являются, скорее всего, ограничения, наложенные движком Unreal Engine 4.
Обычный последовательный алгоритм выполняется чересчур долго (до нескольких минут).
В итоге было найдено решение в виде написания библиотеки на CUDA 9.0, уменьшившая время работы до двух-трёх секунд. Она сделана в виде отдельной DLL для того, чтобы не было конфликтов с системой сборки Unreal Engine 4, а так же для уменьшения размера мобильного приложения. Однако это сильно ограничивает выбор ПК для сервера, так как CUDA поддерживается только на видеокартах Nvidia.
Сам алгоритм выполняется в два этапа. На обоих этапах для каждого куба запускается соответствующий поток на видеокарте. На первом этапе у каждого куба запоминается количество выходных треугольников, по которым вычисляются размер итогового массива с треугольниками и соответствующие выходные индексы для избежания «состояния гонки». На втором этапе вычисляются сами треугольники и их «текстурные координаты» (см. раздел Текстурирование главы 3).
Описание входных и выходных данных ImebraAccessor.dll
Библиотека ImebraAccessor.dll создана для того, чтобы оставить все зависимости от сторонней библиотеки ImebraDicom на сервере.
В качестве аргумента функция библиотеки принимает широкую строку в формате C, возвращает же трёхмерный массив типа float, значения в которой находятся в пределах от 0 до 1 и представляют из себя воксельную модель, а также данные по размерам вокселей, все параметры для обратного преобразования значений вокселей в шкалу Хаунсфилда и размеры самого массива.
Заключение
В рамках работы были поставлены и решены следующие задачи: получить данные из DICOM-файлов, построить по пиксельным данным DICOM-файлов полигональную модель и окрасить её, выбрать средства воспроизведения полученного результата, создать приложение на Unreal Engine 4, позволяющее просмотреть трёхмерное медицинское изображение с помощью Samsung Gear VR с управлением её параметрами в виде граничной плотности на сервере-ПК.
В дальнейшем планируется добавить поддержку контроллера Samsung Gear VR, поддержку других очков виртуальной реальности, а так же дополнительных действий с изображением (создание срезов, повороты и прочее).
Список источников
1. “DICOM standard.” Internet: http://www.dicomstandard.org/ [February 10, 2018].
2. O. H. Karatas, E. Toy. (2014, 8) “Three?dimensional imaging techniques: A literature review.” European Journal of Dentistry [Online] pp. 132-40 Accessed: http://www.eurjdent.com [October 16, 2017].
3. Medical imaging, paramedic training and immersive learning in the era of mixed reality, Internet https://news.microsoft.com/en-au/features/medical-imaging-paramedic-training-immersive-learning-era-mixed-reality/ [March 30, 2018].
4. H. E. Cline, W. E. Lorensen. “System and method for the display of surface structures contained within the interior region of a solid body” U.S. Patent 4710876, December 1, 1987.
5. Akio Doi, Akio Koide. "An Efficient Method of Triangulating Equi-Valued Surfaces by Using Tetrahedral Cells." IEICE Transactions of Information and Systems,
6. T.S. Newman, H. Yi. (2006) “A survey of the marching cubes algorithm.” Computers & Graphics [Online] pp. 854-879 Available: https://cg.informatik.uni-freiburg.de/intern/seminar/surfaceReconstruction_survey%20of%20marching%20cubes.pdf [February 11, 2018].
7. Paul Bourke “Polygonising a scalar field” Internet: http://paulbourke.net/geometry/polygonise/ [March 29, 2018].
8. G.M. Nielson, B. Hamann. “The asymptotic decider: resolving the ambiguity in marching cubes” in VIS '91 Proceedings of the 2nd conference on Visualization '91, 1991, pp. 83-91.
9. Internet: https://dicom.innolitics.com/ciods/ct-image/ct-image/00281053 [May 15, 2018]
10. V. Kumar, V. Udayashankara “Automatic Colour Transfer Function Generation and 3D Reconstruction of DICOM Images.” Internet: https://pdfs.semanticscholar.org/106c/16c72a7263aff1b3a8967497df0adc081da9.pdf
11. Bellman R.E.б L.A. Zadeh Decision Making in a Fuzzy Environment [Статья]. Bellman,. - 1970.
12. S. Garrido-Jurado, R.Muсoz-Salinas, F.J.Madrid-Cuevas, and M.J.Marнn-Jimйnez. (2013, June) “Automatic generation and detection of highly reliable fiducial markers under occlusion” Elsevier [Online] Available: https://www.sciencedirect.com/science/article/pii/S0031320314000235 [June 10, 2017].
13. Документация OpenCV. Описание реализации меток ArUco в OpenCV. Internet: https://docs.opencv.org/3.2.0/d5/dae/tutorial_aruco_detection.html
14. “Unreal Engine 4 Documentation.” Internet: https://docs.unrealengine.com/latest/INT/ [November 13, 2017].
15. “Open source C++ DICOM library.” Internet: https://imebra.com/ [November 13, 2017].
16. Krzysztof Lis, “Quadrotor pilot training using augmented reality”, Advanced Interactive Technologies Lab, ETH Zurich. Internet: http://adynathos.net/dev/drone-pilot/DroneTrainingAR.pdf
17. Krzysztof Lis, Augmented Unreality plugin Internet: https://github.com/adynathos/AugmentedUnreality
18. Документация Unreal Engine 4, сетевое взаимодействие https://docs.unrealengine.com/en-us/Programming/Online
Размещено на Allbest.ru
...Подобные документы
Применение программных систем при анализе медицинских изображений. Разработка программной структуры, описывающей текстовую составляющую формата DICOM, осуществляющей обработку и анализ его при помощи интегрированной среды программирования C++ Builder.
дипломная работа [4,6 M], добавлен 28.10.2013Определение основных отличий виртуальной реальности и дополненной реальности. Рассмотрение способов "доставки" виртуального изображения пользователю. Распространение виртуальной реальности в медицине, образовании, промышленности, финансах и инвестициях.
реферат [960,2 K], добавлен 20.09.2019Запуск приложения Access. Сохранение базы данных в формате Microsoft Access. Алгоритм создания пользовательской маски ввода. Заполнение и установка связей между таблицами. Сортировка и фильтрация записей. Интерфейс окна базы данных. Работа с полями OLE.
контрольная работа [5,5 M], добавлен 29.06.2015Общая характеристика технологии "дополненной" реальности. Google Glass как один из самых известных продуктов, использующих технологию "дополненой" реальности. Преимущества и области применения QR-коды. Особенности использования QR-технологии в музеях.
реферат [635,4 K], добавлен 16.01.2014Словесное описание предметной области. Построение схемы функциональных зависимостей. Реализация базы данных средствами утилиты Enterprise Manager в формате SQL Server Management Studio. Разработка алгоритмов работы программы и приложения пользователя.
дипломная работа [1,8 M], добавлен 26.03.2015Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".
дипломная работа [2,8 M], добавлен 03.07.2017Разработка чертежа детали в 3D-формате в системе проектирования AutoCAD. Особенности процесса построения сложных пространственных моделей, использования функций и команд, связанных с 3D-графикой в среде AutoCAD. Результаты работы: пример чертежа детали.
отчет по практике [1,9 M], добавлен 16.06.2015Общий обзор формата Office 2007 Open XML Format. Программные интерфейсы для работы с документами, сохраненными в формате Office 2007 Open XML Format. Сценарии использования документов в XML-формате. Обзор программ, которыми можно открыть файл .docx.
реферат [373,3 K], добавлен 30.04.2013Программные системы искусственного интеллекта, экспертные системы как их разновидность. Автоматизированное формирование баз знаний в формате CLIPS на основе анализа баз данных СУБД Cache. Программные средства и технологии. Описание программной системы.
дипломная работа [5,1 M], добавлен 25.05.2012Преимущества Delphi по сравнению с аналогичными программными продуктами. Особенности разработки системы автоматического заполнения анкеты в формате MS Word. Разработка программного обеспечения. Процедуры пользовательского интерфейса. Листинг программы.
курсовая работа [465,1 K], добавлен 22.01.2014Однокристальный контроллер гибких дисков КР1810ВГ72А, предназначенный для записи, чтения и форматирования дисков с одинарной (режим ЧМ) в формате "IВМ – 3740" и двойной плотностью в формате "IBMSISTEM 34". Фазы выполнения команд. Режимы работы КГМД.
курсовая работа [873,7 K], добавлен 10.02.2011Разработка базы данных "Студенты", которая позволяет производить операции с данными: регистрацию студентов в базе данных, а также удаление, изменение, резервное копирование информации о студентах. Алгоритм работы программы и вспомогательных процедур.
курсовая работа [27,5 K], добавлен 06.02.2013Создание программы, которая позволяет пользователю задавать произвольную директорию, содержащую музыкальные файлы. Осуществление поиска или рекурсивного поиска файлов в этой директории и формирование csv-файла. Исправление тегов в музыкальных файлах.
курсовая работа [241,3 K], добавлен 13.02.2015Проектирование базы данных "Учет товаров на складе". Сущность типа связи "один – к – одному", "один – ко – многим". Реализация базы данных на компьютере. Define Secondary Indexes. Взаимосвязанные таблицы информационной части в формате "Paradox 7.0".
контрольная работа [713,0 K], добавлен 18.05.2014Общая информация о графическом формате. Описание формата Microsoft Windows Bitmap. Структура файла DDВ исходного формата ВМР. Преобразования графических файлов. Просмотр и редактирование растровых изображений. Создание многодокументного приложения.
дипломная работа [1,5 M], добавлен 06.06.2010Описание формата и структуры входных и выходных файлов. Выбор языка программирования и Perl модуля для генерации документов в формате pdf. Валидация почтового адреса. Процесс создания алгоритма обработки данных. Структура штрихкодового идентификатора.
дипломная работа [1,6 M], добавлен 04.11.2015Трехмерное виртуальное воплощение персонажей, изображенных на двухмерных картинках игры. Выбор референсов, риггинг, анимация и демонстрация моделей в дополненной реальности. Создание прототипа электронного книжного издания с использованием иллюстраций.
курсовая работа [417,5 K], добавлен 01.12.2017Разработка собственного алгоритма сжатия и восстановления данных с использованием возможностей языка C++ в рамках программного продукта "Архиватор". Разработка алгоритма программы, ее первый запуск и тестирование. Проверка работы архивации файлов.
курсовая работа [325,7 K], добавлен 13.10.2015Актуальность защиты информации и персональных данных. Постановка задачи на проектирование. Базовая модель угроз персональных данных, обрабатываемых в информационных системах. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.
курсовая работа [449,5 K], добавлен 17.12.2015Изучение существующей технологии почтовых отправлений. Составление модели технологической операции в формате "как есть". Разработка модели автоматизированной технологической операции в формате "как надо" (TO-BE). Разработка технического задания на АРМ.
контрольная работа [610,0 K], добавлен 20.12.2010