參考文獻
[1] D. Gabor. “A new microscopic principle”, Nature, 161, pp. 777-778, May 1948.
[2] B. R. Brown, A. W. Lohmann. “Complex spatial filtering with binary masks”, Applied Optics, 5, 6, pp. 967-969, June 1966.
[3] Toyohiko Yatagai, ”Stereoscopic approach to 3-D display using computer generated holograms”, Applied Optics,15, 11, pp. 2722-2729, November 1976.
[4] Detlef Leseberg. “Computer-generated three-dimensional image holograms”, Applied Optics, 31, 2, pp. 223-229, January 1992.
[5] Detlef Leseberg, Christian Frere. “Computer-generated holograms of 3-D objects composed of tilted planar segments”, Applied Optics, 27, 14, pp.
3020-3024, July 1988.
[6] Youzhi Li, David bookasis, Joseph Rose. “Computer-generated holograms of three-dimensional realistic objects recorded without wave interference”, Applied Optics, 40, 17, pp. 2864-2870, June 2001.
[7] M. Reicherter, T. Haist, E. U. Wagemann, H. J. Tiziani. “Optical particle trapping with computer-generated holograms written on a liquid-crystal display”, Optics Letters, 24, 9, pp. 608-610, May 1999.
[8] 劉仁崇,「相位電腦全像片的設計與應用」,國立交通大學,碩士論文,
民國93年。
[9] Yong-Ying Wang, Yu-Rong Wang, Yong Wang, Hui-Juan Li, Wen-Jia Sun,
“Optical image encryption based on binary Fourier transform computer generated hologram and pixel scrambling technology”, Optics and Lasers in Engineering, 45, pp. 761-765, 2007.
[10] Thomas Dresel, Mathias Beyerlein, Johannes Schwider, “Design of computer-generated beam-shaping holograms by iterative finite-element mesh adaption”, Applied Optics, 35, 35, pp. 6868-6874, December 1996.
[11] 遲澤英,陳文建,應用光學與光學設計基礎,一版,東南大學出版社,
2008。
[12] L. B. Lesem, P. M. Hirsch, J. . Jordan, Jr. “The Kinoform: A New Wavefront Reconstruction Device”, IBM Journal of Research and Development, 13, 2, pp.150-155, 1969.
[13] R. W. Gerchberg, W. O. Saxton, “A practical algorithm for the
determination of the phase from image and diffraction plane pictures”, Optik, 35, 2, 237-246, 1972.
[14] Frank Wyrowski, Olof Bryngdahl. “ terative Fourier-transform algorithm applied to computer holography”, J. Opt. Soc. Am. A, 5, 7, pp. 1058-1065, July 1988.
[15] J.S. Liu, .J. Caley, M.R. Taghizadeh, “Symmetrical iterative
Fourier-transform algorithm using both and amplitude freedoms”, Optics Communications, 267, pp. 347-355, 2006.
[16]
Nobuyuki Masuda, Tomoyoshi Ito, Takashi Tanaka, Atsushi Shiraki, Takashige Sugie. “Computer generated holography using a graphics processing unit”, Optics Express, 14, 2, pp. 603-608, January 2006.
[17] Lukas Ahrenberg, Philip Benzie, Marcus Magnor, JohnWatson.
“Computer generated holography using parallel commodity graphics hardware”, Optics Express, 14, 17, pp. 7636-7641, August 2006.
[18] Kurt D.Wulff, Daniel G. Cole, Robert L. Clark, Roberto DiLeonardo, Jonathan Leach, Jon Cooper, Graham Gibson and Miles J. Padgett.
“ berration correction in holographic optical tweezers”, Optics Express, 14, 9, 4170-4715, May 2006.
[19] E. Pleguezuelos, J. Andilla, A. Carnicer, E. Martin-Badosa, S. Vallmitjana and M. Montes-Usategui. “Design of a low-cost, interactive, holographic optical tweezers system”, Optical Trapping and Optical Micromanipulation III, San Diego, August 2006.
[20] Jorge Enrique Rueda, Ana Ludia Romero, Luis Alfonso Guerra.
“Characterization of Reflective TN-LCD, Tuned in Phase-Only Modulation and to Six Wavelengths”, Photonics Society of Poland, 2, 4, 174-176, 2010.
附 錄 一
IFTA程式碼
%IFTA程式碼
pc=imread('c:\light.bmp');
%讀取圖片,圖片之格式可為bmp、jpg、png...等格式
%但頇注意無法一次處理RGB,需另外將RGB換成對應之灰階來處理。
pc=double(pc);
%讀入之影像通常為logical,需將其轉成double才能處理。
pc=imrotate(pc,180);
%將影像轉180度,因為FT後座標會反轉
pc=fftshift(pc);
%電腦之快速傅立葉轉換(FFT)會導致象限互換,需以fftshift將其修正回來。
pc=sqrt(pc);
%將影像之強度開根號,因為重建影像我們只能看到其強度。
sz=size(pc);
h=sz(1,1); %圖片高度 w=sz(1,2); %圖片寬
%以上代表解析度為h*w。
%以上是圖片前置讀取處理
%IFTA參數設定
NAng=round((angle(CGHs)/2/pi+0.5)*level);
%由於製做Kinoform,因此取樣CGH之相位,其取樣階數為"level"階。
%將角度化成灰階影像,可使用可調制相位SLM顯示之。
imwrite(CGH,'c:\CGH.bmp')
%把灰階影像之CGH存下來。
%以上為IFTA全部流程
%電腦模擬重建影像 rec=ifft2(Kinoform);
%從最後之CGH重建影像,此影像為複數,並且為原來影像之振幅,並非最終看到之影 像。
Rec=fftshift(abs(rec).^2);
%將複數振幅之重建影像絕對值平方,此為人眼所觀察到之影像。
%如前所述,電腦轉換需fftshift。
Nm=max(max(Rec));
%歸一化係數
RecF=Rec/Nm;
%將影像歸一化
imshow(RecF)
%看影像結果
附 錄 二
%SIFTA參數設定
level=256; %相位取樣階數,越高越好,但頇考慮實際使用SLM之相位調制能力。
cir=100; %IFTA迴圈數,越高越好,但一定迴圈後改變不大且增加計算時間。
%SIFTA參數設定
xx=rand(h,w)*2*pi*i;
Kinoform=exp(xx);
%產生亂數相位CGH,Kinoform為亂數相位矩陣
%SIFTA迴圈開始
for hc=1:cir; %IFTA迴圈數。
Ft=fft2(Kinoform);
%將第hc個迴圈時之CGH執行FFT,代表重建影像之複數光場。
Pang=angle(Ft);
%重建影像光場每個畫素的相位,其值從-pi至+pi。。
Pph=exp(i*Pang);
%將角度轉成exp形式表示。
Fn=Pph.*pc;
%將重建影像振幅替換成目標圖形之振幅。
CGHs=ifft2(Fn);
%將影像IFT,得到修正後之CGH。
NAng=round((angle(CGHs)/2/pi+0.5)*level);
%由於製做Kinoform,因此取樣CGH之相位,其取樣階數為"level"階。
Kinoform=exp(i*NAng*2*pi/level);
%將數位化之角度製做成純相位分佈之CGH。
Fn=abs(Ft);
%重建影像複數振幅去除相位項之部份。
c=sum(sum(Fn(h/2+1:h,w/2+1:w)))/sum(sum(pc(h/2+1:h,w/2+1:w)));
%SITFA補償訊號區之參數。
%注意若是要改變訊號區之位置,則此處必頇修改至對應的訊號區。
Fn(h/2+1:h,w/2+1:w)=abs(2*c*pc(h/2+1:h,w/2+1:w))-abs(Ft(h/2+1:h,w/2+1:w));
%將訊號區之振幅替換成修正振幅之修正影像。
%注意若是要改變訊號區之位置,則此處必頇修改至對應的訊號區。
Fn=Fn.*Pph;
%修正影像只有振幅,將其相位部份帶回。
huan=(ifft2(Fn));
%將影像IFT,得到第一個CGH
NAng=round((angle(huan)/2/pi+0.5)*level);
%由於製做Kinoform,因此取樣CGH之相位,其取樣階數為"level"階。
Kinoform=exp(i*NAng*2*pi/level);
%將數位化之角度製做成純相位分佈之CGH。
end
%SIFTA迴圈結束
CGH=NAng/level;
%將角度化成灰階影像,可使用可調制相位SLM顯示之。
imwrite(CGH,'c:\CGH.bmp')
%把灰階影像之CGH存下來。
%以上為SIFTA全部流程
%電腦模擬重建影像
rec=ifft2(Kinoform);
%從最後之CGH重建影像,此影像為複數,並且為原來影像之振幅,並非最終看到之影 像。
Rec=fftshift(abs(rec).^2);
%將複數振幅之重建影像絕對值平方,此為人眼所觀察到之影像。
%如前所述,電腦轉換需fftshift。
Nm=max(max(Rec));
%歸一化係數
RecF=Rec/Nm;
%將影像歸一化
imshow(RecF)
%看影像結果