Синтез голографического изображения с помощью компьютера

Министерство высшего образования РФ

Новосибирский государственный университет

им. Ленинского комсомола

Физический факультет

Кафедра общей физики

КУРСОВАЯ РАБОТА

‘’Синтез голографического изображения с помощью компьютера.’’

Выполнил: Грибанов Игорь Игоревич гр.7332

Научный руководитель: Кидалов Шланг Прикидович

НГУ , 1999 г.

Содержание.

 TOC \o "1-3" Титульный лист........................................................................................................... \h 1

Содержание........................................................................................................... \h 2

1.    Введение.......................................................................................................... \h 3

2.    Теория.............................................................................................................. \h 4

3.    Цифровая голография.................................................................................... \h 6

4.    Общая процедура изготовления синтезированной голограммы.............. \h 6

5.    Получение цифровой голограммы Фурье и ее бинаризация.................... \h 8

6.    Результаты..................................................................................................... \h 13

7.    Заключение................................................................................................... \h 13

8.    Литература.................................................................................................... \h 14

Приложение (Программа расчёта на С++)....................................................... \h 15

«Именно работы по цифровой голографии во многом стимулировали появление компьютерной оптики как самостоятельного научного направления на стыке квантовой электроники, вычислительной математики и информатики».

1.   

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

Какие качественно новые свойства придают компьютеры оптическим системам? Главных свойств - два. Во-первых, это способность к адаптации и гибкость в перенастройке. Благодаря тому, что компьютер способен перестраивать структуру обработки сигнала без перестройки своей физической структуры, он является идеальным средством адаптивной обработки оптических сигналов и быстрой перестройки ее на решение разных задач. Здесь речь идёт прежде всего об информационной адаптации. Заметим попутно, что эта способность ЭВМ к адаптации и перестройке нашла также применение в активной и адаптивной оптике для управления световыми пучками как переносчиками энергии.

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

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

2.   

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

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

После того, как указанная характеристика сформирована в памяти ЭВМ, возникает задача переноса ее на физическую среду с помощью программно-управляемого технологического автомата. На этом этапе роль компьютера также очень велика.

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

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

В компьютерной оптике можно выделить следующие основные направления:

  • цифровая голография;
  • решение обратных задач теории дифракции и создание на их основе фокусаторов и корректоров излучения;
  • создание оптических элементов для анализа и формирования поперечно-модового состава излучения;
  • создание корректоров волновых фронтов и пространственных фильтров для оптических систем обработки информации и оптико-цифровых процессоров;
  • цифровая обработка полей в оптических системах.

Именно работы по цифровой голографии во многом стимулировали появление компьютерной оптики как самостоятельного научного направления на стыке квантовой электроники, вычислительной математики и информатики.

3.   

Цифровой голографией называется метод получения и восстановления голограмм, при котором основная роль отводится компьютеру. Роль компьютера заключается в расчете распределения коэффициента прозрачности или преломления по полю голограммы, которое затем записывается в оптической запоминающей среде. С помощью компьютера рассчитывается и восстанавливается изображение, которое записано на такой синтезированной голограмме и которое можно было бы получить оптическим путем.

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

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

4.   

Для того, чтобы получить синтезированную голограмму, поступают следующим образом:

1)      Задавшись объектом, голограмму которого нужно получить, рассчитывают с помощью компьютера комплексную амплитуду испускаемого им света в плоскости, находящейся на определенном расстоянии от него. Эта плоскость будет плоскостью голограммы.

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

3)      Соответствующее устройство, управляемое компьютером, изображает графически распределение значений этой функции в некоторой плоскости. Это может быть, например, электронно-лучевая трубка, печатающее устройство и т.п.

4)      Полученный чертеж фотографируется; негатив и представляет собой синтетическую голограмму. Для того, чтобы голограмма хорошо дифрагировала свет, нужно, чтобы структура чертежа была достаточно тонкой. Поэтому обычно фотографируют чертеж со значительным уменьшением.

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

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

Другое преимущество бинарной голограммы в сравнении с серой голограммой состоит в том, что она направляет на восстанавливаемое изображение большую часть из падающего на нее света. Если в обычной голограмме светоотдача, или эффективность, равна 6,2%, то светоотдача бинарной голограммы достигает 10%. Помимо более высокой светоотдачи преимущество бинарной голограммы состоит в том, что при восстановлении возникает меньше шумов от света, рассеянного зернистой структурой фотоэмульсии. Бинарная голограмма может быть вычерчена плоттером. Восстановленное с бинарной голограммы в когерентном свете изображение имеет все свойства изображения, получаемого с обычной голограммы.

Бинарные голограммы являются эффективным промежуточным звеном, позволяющим осуществлять связь между цифровой и оптической формами представления информации. Один из методов цифровой голографии позволяет получать голограммы, которые при восстановлении падающий на голограмму свет направляют на создание одного изображения, т.е. имеют эффективность около 100%.

5.    Фурье и ее бинаризация

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

 

.

Итак, переходя к цифровому моделированию голографического процесса, заменим части плоскостей П и Г, ограниченные прямоугольными апертурами, сетками. В узлах этих сеток зададим отсчеты поля. Эти сетки в плоскости предметов обозначим s П, а в плоскости голограммы - s Г . Для удобства последующих преобразований расположение сеток в плоскостях П и Г выберем таким, как показано на рис. 1. Правомерность такого выбора будет видна из дальнейшего. Чтобы параметры сеток отвечали теореме Котельникова, необходимо выполнение следующих соотношений:

 

PRIVATE 

Рис.1 Расположение сеток. 

(1)

 

При этом суммарное число узлов сетки s П равно MN. Перейдем в плоскости П к новым координатам. Приняв размеры сетки Х=У=1, получаем:

. (2)

Следовательно, координаты узлов сетки s П выразятся так:

(3)

Число узлов сетки s Г выбирают так, чтобы было обеспечено взаимно однозначное соответствие между изображениями, заданными на s П и его дискретным преобразованием Фурье, заданным на s Г. Это число узлов также оказывается равным MN. Последнее определено тем, что в системе, состоящей из MN точек, полной является система тригонометрических функций с частотами

(4)

Соотношения между размерами сеток s П и s Г получим из (1) с учетом того, что  и 

(5)

Выбор сеток в плоскостях П и Г означает, что все непрерывные функции в этих плоскостях могут быть представлены своими дискретными значениями в узлах сетки. Эти значения теперь являются функциями номеров узлов, т.е. m и n в плоскости П, p и q в плоскости Г. Для отличия от непрерывных величин аргументы дискретных величин будем обозначать индексами, например Еmn, вместо Е(хm,уn), Аpq вместо А(р,q). Установим соответствие между основными физическими величинами, рассмотренными ранее, и их цифровыми моделями. Поле в плоскости П представим так:

(6)

дискретное преобразование Фурье от hmn определит соотношение:

(7)

Примем c учетом (6)

(8)

Цифровая модель голограммы Фурье будет иметь вид

(9)

где

(10)

Величину  можно интерпретировать как коэффициент двойного ряда Фурье от дискретной функции, заданной на двумерном интервале MN. При этом в уравнении голограммы последнее слагаемое является не чем иным, как косинусным коэффициентом Фурье  изображения предмета. С учетом изложеного уравнение цифровой голограммы Фурье, удобное для расчетов на ЭВМ, принимает вид:

(11)

Здесь в общем случае имеем

(12)

(13)

(14)

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

При компьютерном расчете структуры голограммы исходной информацией является изображение, которое разбивают на отдельные участки в соответствии с выбранной сеткой (т.е. из изображения делают выборку значений Еmn в узлах сетки), а также задаваемые параметры M, N, kГ, . В результате расчета должны быть получены величины  прозрачности голограммы в узлах сетки Г.

Основой вычисления является выполнение дискретного преобразования Фурье (ДПФ), причем двумерное преобразование выполняется в два этапа: сначала по строкам, а затем по столбцам. Последовательность вычислений показана на рис.2. Для выполнения одномерных преобразований используется алгоритм быстрого преобразования Фурье (БПФ).

Для удобства вычислений матрицу , полученную после преобразования строк, транспонируют и повторное преобразование также выполняют по строкам. В результате двойного БПФ получают коэффициенты  и  по которым и определяют значения . Результаты вычислений вместе с заданными параметрами используют для расчета прозрачности голограммы по ее формуле. Эти значения и выдает машина.

Отпечатанную цифровую голограмму затем фотографируют с соответствующим уменьшением и используют для восстановления  

PRIVATE 

Рис. 2 Последовательность вычислений  голограммы Фурье 

изображения оптическим путем. Очень часто голограмму Фурье пеставляют в двоичном (бинарном) виде. В этом случае ее прозрачность имеет только два значения: 0 или 1. Двоичную голограмму рассчитывают следующим образом. Прозрачность голограммы как функцию пространственных частот обозначим через . Выберем некоторый порог А'. Если  больше или равно А', то величине  сопоставим единицу, в противном случае– нуль. Это возможно записать как

(17)

В данном случае 1 соответствует уровню белого, а 0 - черного. Окончательно получим

(18)

В выборе параметров b и  имеется определенный произвол. В общем случае их увеличение приводит к снижению доли высоких пространственных частот в голограмме. Сама же двоичная голограмма в большой степени подчеркивает высокие пространственные частоты.

Киноформ

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

Процесс изготовления киноформа выглядит следующим образом.

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

(19)

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

(20)

Знак показателя экспоненциального сомножителя определяется тем, что используется в качестве киноформа- негатив или позитив фотоснимка картины киноформа. Соответственно и изображение, восстанавливаемое киноформом, будет мнимым или действительным.

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

6.   

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

7.   

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

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

Очень часто формулировка предмета компьютерной оптики как научного направления сужается и в нее вкладывается более конкретный смысл. При этом считается, что компьютерная оптика - это получение на основе применения ЭВМ оптических элементов, осуществляющих требуемое преобразование волновых полей.

.

8.   

1. Сисакян И.Н., Сойфер В.А. Компьютерная оптика. Достижения и проблемы //сб. "Компьютерная оптика" под ред. акад. Велихова Е.П. и акад. Прохорова А.М., 1987, в.1, с.5-19.

2. Сойфер В.А. Компьютерная оптика //Соросовский образовательный журнал, 1998

3. Франсон М. Голография.- М.: Мир, 1972, 248 с.

4. Горохов Ю.Г., Неплюев Л.Н. Голография в приборах и устройствах.- М.: Энергия,1974, 80 с.

5. Федоров Б.Ф., Цибулькин Л.М. Голография.- М.: Радио и связь, 1989, 140 с.

6. Кузнецова Т.И. О фазовой проблеме в оптике //УФН, 1988, т.154, в. 4, с. 677-690.

7. Воронцов М.А., Шмальгаузен В.И. Принципы адаптивной оптики.- М.: Наука, 1985, 336 с.

8. Воронцов М.А., Корябин А.В., Шмальгаузен В.И. Управляемые оптические системы. - М.: Наука, 1988, 270 с.

9. Гроссо Р., Еллин М. Мембранное зеркало как элемент адаптивной оптической системы //Сб. статей "Адаптивная оптика" под ред. Э.А. Витриченко - М.: Мир, 1980, с. 428-447.

10. Ярославский Л.П. Цифровая обработка полей в оптических системах. Цифровая оптика. //сб. "Новые физические принципы оптической обработки информации" под ред. С.А. Ахманова и М.А. Воронцова, - М.: Наука. Гл. ред. физ.-мат. лит., 1990, 400 с.

11. Мирошников М.М., Нестерук В.Ф. Развитие методологии иконики и ее структурной схемы //Труды Государственного оптического института им. С.И. Вавилова, 1982, т. 57, в. 185, с. 7- 13.

12. Сойфер В.А. Компьютерная обработка изображений. Часть 1. Математические модели //Соросовский образовательный журнал, 1996, №2, с.118-124.

13. Сойфер В.А. Компьютерная обработка изображений. Часть 2. Методы и алгоритмы //Соросовский образовательный журнал, 1996, №3, с.110-121.

Приложение

Программа расчёта на С++

//*************************************************************

#include <iostream.h>

#include <math.h>

#include <fstream.h>

const int SIZE = 1000; //размер голограммы

const int SIZE2 = 500; //

float hol[SIZE][SIZE]; //заводим выходной массив

ofstream outfile; //для вывода в файл

//***********************************************************

int main ()

{

outfile.open("data.hol"); //открываем файл

int h; //определяем переменные для использования в циклах

int i;

int j;

float x;

float y;

float z;

const int numOfPoints=2; //количество источников точек

float object[numOfPoints][3]; //содержит точки объекта

object[0][0] = float(SIZE2); //define the objects

object[0][1] = float(SIZE2);

object[0][2] = float(1000);

object[0][0] = float(SIZE2+50); //определяем объекты

object[0][1] = float(SIZE2+50);

object[0][2] = float(1000);

//************************************************************

//инициализируем hol

for(i=0;i<SIZE;i++)

{ for(j=0;j<SIZE;j++)

hol[i][j] = 0;

}

//************************************************************

//рассчитываем поля

h=0; //инициализация

while ( h < numOfPoints) //циклимся по всем точкам

{

x= object[h][0];

y= object[h][1];

z= object[h][2];

i = 0; //сброс в ноль

while (i<SIZE) //цикл по рядам

{

cout <<i<<" ";

j=0;

while(j<SIZE) //цикл по колонкам

{

hol[i][j] = hol[i][j] +

cos(sqrt(float(

(x-(i))*(x-(i)) //рассчитываем расстояние

+ (y-(j))*(y-(j))

+ (z*z)))); //берём косинус посчитанного поля

j++; //инкремент колонки

}

i++; //инкремент ряда

}

h++; //переходим к следующей точке

}

//************************************************************

//оцифровка матрицы

i=0; //ряд

while(i<SIZE)

{

j=0; //колонка

while (j<SIZE)

{

if (hol[i][j]>0) //устанавливаем в 1 для всех значений >1

hol[i][j] = int(1);

else // 0 – для всех остальных

hol[i][j] = int(0);

j++; //колонка

}

i++; //ряд

}

//*************************************************************

//запись в файл

i=0;

while(i<SIZE)

{

j=0; //колонки

while (j<SIZE)

{

outfile<<hol[i][j]<<" ";

j++;

}

outfile<<endl; //в конце ряда – перевод строки

i++;

}

return 0;

}