
Gerchberg –Saxton(GS)アルゴリズムは、 2つの異なる平面で取得された2つの強度測定値から複素数値波面の位相を復元するための反復位相復元 アルゴリズムです。 [1]通常、2つの平面とは像面と遠方場(回折)面であり、これら2つの平面間の波面伝播はフーリエ変換によって与えられます。GerchbergとSaxtonによる最初の論文では、電子顕微鏡で取得されたサンプルの像と回折パターンが検討されました。
位相が既知の平面上でフーリエ変換を行うことで、もう一方の平面上の位相分布が得られるため、一方の平面上の位相分布のみを知れば済む場合が多くあります。GSアルゴリズムは2次元信号によく使用されますが、1次元信号にも有効です。
以下の疑似コードは、GS アルゴリズムを実行して平面「ソース」の位相分布を取得し、そのフーリエ変換が平面「ターゲット」の振幅分布を持つようにします。
ゲルヒバーグ・サクストンアルゴリズムは、コンピュータ生成ホログラムを作成するために使用される最も一般的な方法の1つです。[2]
擬似コードアルゴリズム
させて:
FT – 順方向フーリエ変換
IFT – 逆フーリエ変換
i – 虚数単位、√−1(−1の平方根)
exp – 指数関数 (exp(x) = e x )
ターゲットとソースはそれぞれターゲット振幅平面とソース振幅平面になります。
A、B、C、Dはターゲットとソースと同じ次元の複素平面である
振幅 – 振幅抽出関数:
例えば複素数z = x + iyの場合、振幅( z ) = sqrt( x · x + y · y )
実数xの場合、振幅( x ) = | x |
位相 – 位相抽出機能:
例えば、Phase(z) = arctan(y / x)
終わりましょう
アルゴリズムGerchberg–Saxton(Source, Target, Retrieved_Phase)は
A := IFT(ターゲット)
誤差基準は満たされていない
B := 振幅(ソース) × exp(i × 位相(A))
C := FT(B)
D := 振幅(ターゲット) × exp(i × 位相(C))
A := IFT(D)
終了しながら
取得フェーズ = フェーズ(A)
これはGSアルゴリズムを実装する多くの方法の一つに過ぎません。最適化以外にも、ソース分布に対して順方向フーリエ変換を実行することから始める方法もあります。
参照
参考文献
- ^ Gerchberg, RW; Saxton, WO (1972). 「像と回折面画像からの位相測定のための実用的なアルゴリズム」(PDF) . Optik . 35 : 237–246 . 2016年3月28日時点のオリジナル(PDF)からアーカイブ。
- ^ メンモロ、パスクワーレ;ミッチョ、リサ。メローラ、フランチェスコ。パシエロ、アントニオ。エンブリオーネ、ヴァレリオ。ファスコ、サバト。フェラーロ、ピエトロ。アントニオ・ネッティ、パオロ (2014-01-01)。「Gerchberg-Saxton アルゴリズムの具体的な解に関する調査」。工学における光学とレーザー。52 : 206–211 .土井:10.1016/j.optlaseng.2013.06.008。ISSN 0143-8166。
外部リンク
- W・オーウェン・サクストン博士のページ [1] 2008年6月13日アーカイブ、Wayback Machine [2] 2018年3月16日アーカイブ
- ロチェスター大学光学研究所による位相回復に関する応用と出版物。2006年5月9日アーカイブ、Wayback Machineにて。
- Dominik Doellerer による GS の Python スクリプト
- MATLAB GSアルゴリズム[3]、[4]