Численный расчёт цифровой голографической интерферометрии на платформе CUDA
Назначение: цифровое голографическое восстановление и цифровая голографическая интерферометрия на платформе CUDA по реальным цифровым голограммам.
Область применения: цифровая голография, цифровая голографическая микроскопия, оптическая физика.
Используемый алгоритм: метод преобразования Френеля, метод фильтрации высоких частот для подавления нулевого порядка дифракции, метод цифровой голографической интерферометрии.
На вход программы подается файл изображения с голограммой, полученной цифровым путем. При помощи выбранного метода по голограмме восстанавливается изображение объекта, который был записан на этой голограмме. В основе методов восстановления лежит численное решение интеграла Френеля-Кирхгофа [1]. В методе преобразования Френеля используется разложение части подынтегрального выражения в ряд Тейлора и приведение интеграла к преобразованию Фурье. Перед голографическим восстановлением осуществляется дополнительная обработка голограммы с целью подавления нулевого порядка дифракции для улучшения качества результата [2]. Для этого используется адаптивный частотный фильтр. Для реализации цифровой голографической интерферометрии используются 2 голограммы. Разница между их численными восстановлениями по фазе позволяет восстановить трёхмерную деформационную модель по всей видимой поверхности измеряемого объекта [3].
- Рябухо, В. П. Когерентно-оптические методы в измерительной технике и биофотонике: Учебное пособие / В. П. Рябухо, В. В. Тучин. – Саратов: Сателлит, 2009. – 127 с.
- Kreis, T. Suppression of the dc term in digital holography / T. Kreis, W. Juptner // Optical Engineering. – 1997. – Vol. 36. – P. 2357-2360.
- 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) 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
Вложение | Размер |
---|---|
cuda_dhi.zip | 18.4 МБ |