日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gerchberg–Saxton算法

發(fā)布時間:2025/3/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gerchberg–Saxton算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

偽代碼:

Let:FT – forward Fourier transformIFT – inverse Fourier transformi – the imaginary unit, √?1 (square root of ?1)exp – exponential function (exp(x)=ex)Target and Source be the Target and Source Amplitude planes respectivelyA, B, C & D be complex planes with the same dimension as Target and SourceAmplitude – Amplitude-extracting function:e.g. for complex z = x + iy, amplitude(z) = sqrt(x·x + y·y)for real x, amplitude(x) = |x|Phase – Phase extracting function:e.g. Phase(z) = arctan(y/x) end LetGerchberg–Saxton Algorithm(Source, Target, Retrieved_Phase)A = IFT(Target)while error criterion is not satisfiedB = Amplitude(Source) * exp(i*Phase(A))C = FT(B)D = Amplitude(Target) * exp(i*Phase(C))A = IFT(D)end whileRetrieved_Phase = Phase(A) end Gerchberg–Saxton Algorithm

python代碼

import math import numpy as npdef Ger_Sax_algo(img, max_iter):h, w = img.shapepm_s = np.random.rand(h, w)pm_f = np.ones((h, w))am_s = np.sqrt(img)am_f = np.ones((h, w))signal_s = am_s*np.exp(pm_s * 1j)for iter in range(max_iter):signal_f = np.fft.fft2(signal_s)pm_f = np.angle(signal_f)signal_f = am_f*np.exp(pm_f * 1j)signal_s = np.fft.ifft2(signal_f)pm_s = np.angle(signal_s)signal_s = am_s*np.exp(pm_s * 1j)pm =pm_freturn pm

?

總結(jié)

以上是生活随笔為你收集整理的Gerchberg–Saxton算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。