Skip to main content
. 2019 Jun 26;10(7):3635–3653. doi: 10.1364/BOE.10.003635

Algorithm 1.

3D coherent imaging reconstruction

Require: Ic,lz, rl, l=1,,Nimg
1: initialize t1(1,0),,tM(1,0), pc(1,0), h˜c(1,0); normalize Ic,lz
2: for k=1:Kc do
3:  Sequential gradient descent
4: for j=1:(NimgNz) do
5:   z=zmod(j,2); l=mod(j,Nimg)
6:   if j<NimgNz then
7:     for m=1:M do
8:       tm(k,j)=tm(k,j1)tmec,lz(t1(k,j1),,tM(k,j1),pc(k,j1),h˜c(k,j1))/4max (|pc(k,j1)|)2
9:     end for
10:     pc(k,j)=pc(k,j1)(r)pcec,lz(t1(k,j1),,tM(k,j1),
pc(k,j1),h˜c(k,j1))/max (|t1(k,j1)|,,|tM(k,j1)|)2
11:     ξ=F{Gl(k,j1)}
12:     h˜c(k,j)=h˜c(k,j1)h˜cec,lz(t1(k,j1),,tM(k,j1),pc(k,j1),h˜c(k,j1))|ξ|/[max (|ξ|)(|ξ|2+δ)], where δ is chosen to be small
13:   else
14:     Do the same update but save to t1(k+1,0),,tM(k+1,0),pc(k+1,0),h˜c(k+1,0)
15:   end if
16: end for
17:  Filter t1(k+1,0),,tM(k+1,0) with Gaussian filter to damp down high-frequency artifacts
18: end for