Численный расчёт цифровой голографической интерферометрии на платформе CUDA

Тип разработки: 
Программа
Регистрационный номер в ФАП: 
PR15011
Дата регистрации в ФАП: 
2015-07-23
Тематическая направленность: 
Оптическая физика. Метрология. Цифровая голография
Аннотация: 

Назначение: цифровое голографическое восстановление и цифровая голографическая интерферометрия на платформе CUDA по реальным цифровым голограммам.


Область применения: цифровая голография, цифровая голографическая микроскопия, оптическая физика.


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

На вход программы подается файл изображения с голограммой, полученной цифровым путем. При помощи выбранного метода по голограмме восстанавливается изображение объекта, который был записан на этой голограмме. В основе методов восстановления лежит численное решение интеграла Френеля-Кирхгофа [1]. В методе преобразования Френеля используется разложение части подынтегрального выражения в ряд Тейлора и приведение интеграла к преобразованию Фурье. Перед голографическим восстановлением осуществляется дополнительная обработка голограммы с целью подавления нулевого порядка дифракции для улучшения качества результата [2]. Для этого используется адаптивный частотный фильтр. Для реализации цифровой голографической интерферометрии используются 2 голограммы. Разница между их численными восстановлениями по фазе позволяет восстановить трёхмерную деформационную модель по всей видимой поверхности измеряемого объекта [3].

  1. Рябухо, В. П. Когерентно-оптические методы в измерительной технике и биофотонике: Учебное пособие / В. П. Рябухо, В. В. Тучин. – Саратов: Сателлит, 2009. – 127 с.
  2. Kreis, T. Suppression of the dc term in digital holography / T. Kreis, W. Juptner // Optical Engineering. – 1997. – Vol. 36. – P. 2357-2360.
  3. Schnars, U. Direct phase determination in hologram interferometry with use of digitally recorded holograms / U. Schnars // JOSA A. – 1994. – Vol. 11(7). – P. 661-665.

Функциональные возможности: цифровое голографическое восстановление реальных голограмм с подавлением нулевого порядка дифракции при различных параметрах восстановления (длина волны, расстояние восстановления, угол отклонения опорного пучка, физический размер пикселя в голограмме и др.).

Программный продукт выполняет следующие функции:

  • восстановление цифровой голограммы, используя последовательный алгоритм для CPU (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • восстановление цифровой голограммы, используя параллельный алгоритм для GPU CUDA (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • осуществление ЦГИ, используя последовательный алгоритм для CPU (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • осуществление ЦГИ, используя параллельный алгоритм для GPU CUDA (для размера голограмм со сторонами от 256 до 4096 пикселей).

Инструментальные средства создания: Microsoft Visual Studio 2012, С++, CUDA Toolkit 6.5.

Работа с программой: в приложенном архиве располагается программа для OC Windows в виде исполняемого файла (папка redist) и в виде исходного кода (папка src). Для запуска программы необходимо запустить файл Holo.exe или примеры (run_experiment1.bat и run_experiment2.bat). В папке redist также можно найти подробное руководство по работе с программой (users_manual.pdf).

Версия регистрируемой программы (базы данных): 
1.0
Использованные при разработке материалы: 
1) Библиотека Alglib (http://www.alglib.net/). Open-source, открыта для некоммерческого использования; 2) Библиотека FreeImage (http://freeimage.sourceforge.net/). Open-source; 3) Библиотека pugixml (http://pugixml.org/). Open-source. 4) CUDA Toolkit 6.5 (https://developer.nvidia.com/cuda-toolkit-65). Freeware.
Признак доступности программы (базы данных): 
доступ по запросу
Требования к аппаратным и программным средствам: 

Общие:
1) OC Windows 7 и выше
2) Оперативная память не менее 2ГБ

Для запуска исполняемого файла:
1) Visual C++ Redistributable for Visual Studio 2012 (http://www.microsoft.com/en-us/download/details.aspx?id=30679)
2) CUDA Toolkit 6.5 (https://developer.nvidia.com/cuda-toolkit-65)

Для компиляции исходного кода:
1) Microsoft Visual Studio 2012
2) CUDA Toolkit 6.5

Контактная информация: 
pavel.rizhov@gmail.com
ВложениеРазмер
cuda_dhi.zip18.4 МБ