# Phase retrieval

Phase retrieval is the process of algorithmically finding solutions to the phase problem. Given a complex spectrum $F(k)$, of amplitude $|F(k)|$, and phase $\psi (k)$:
       $F(k)=|F(k)|e^{i\psi (k)}=\int _{-\infty }^{\infty }f(x)\ e^{-2\pi ik\cdot x}\,dx$
where x is an M-dimensional spatial coordinate and k is an M-dimensional spatial frequency coordinate. Phase retrieval consists of finding the phase that satisfies a set of constraints for a measured amplitude. Important applications of phase retrieval include X-ray crystallography, transmission electron microscopy and coherent diffractive imaging, for which $M=2$. Uniqueness theorems for both 1-D and 2-D cases of the phase retrieval problem, including the phaseless 1-D inverse scattering problem, were proven by Klibanov and his collaborators (see References).

## Problem formulation

Here we consider 1-D discrete Fourier transform (DFT) phase retrieval problem. The DFT of a complex signal $f[n]$ is given by
$F[k]=\sum _{n=0}^{N-1}f[n]e^{-j2\pi {\frac {kn}{N}},}=|F[k]|\cdot e^{j\psi [k]}\quad k=0,1,\ldots ,N-1$,
and the oversampled DFT of $x$ is given by
$F[k]=\sum _{n=0}^{N-1}f[n]e^{-j2\pi {\frac {kn}{M}},}\quad k=0,1,\ldots ,M-1$,
where $M>N$.
Since the DFT operator is bijective, this is equivalent to recovering the phase $\psi [k]$. It is common recovering a signal from its autocorrelation sequence instead of its Fourier magnitude. That is, denote by ${\hat {f}}$ the vector $f$ after padding with $N-1$ zeros. The autocorrelation sequence of ${\hat {f}}$ is then defined as
$g[m]=\sum _{i=\max\{1,m+1\}}^{N}{\hat {f}}_{i}{\overline {{\hat {f}}_{i-m}}},\quad m=-(N-1),\ldots ,N-1$,
and the DFT of $g[m]$, denoted by $G[k]$, satisfies $G[k]=|F[k]|^{2}$.

## Methods
### Error reduction algorithm

The error reduction is a generalization of the Gerchberg–Saxton algorithm. It solves for $f(x)$ from measurements of $|F(u)|$ by iterating a four-step process. For the $k$th iteration the steps are as follows:
Step (1): $G_{k}(u)$, $\phi _{k}$, and $g_{k}(x)$ are estimates of, respectively, $F(u)$, $\psi$ and $f(x)$. In the first step we calculate the Fourier transform of $g_{k}(x)$:
       $G_{k}(u)=|G_{k}(u)|e^{i\phi _{k}(u)}={\mathcal {F}}(g_{k}(x)).$
Step (2): The experimental value of $|F(u)|$, calculated from the diffraction pattern via the signal equation, is then substituted for $|G_{k}(u)|$, giving an estimate of the Fourier transform:
       $G'_{k}(u)=|F(u)|e^{i\phi _{k}(u)},$
where the ' denotes an intermediate result that will be discarded later on.
Step (3): the estimate of the Fourier transform $G'_{k}(u)$ is then inverse Fourier transformed:
       $g'_{k}(x)=|g'_{k}(x)|e^{i\theta '_{k}(x)}={\mathcal {F}}^{-1}(G'_{k}(u)).$
Step (4): $g'_{k}(x)$ then must be changed so that the new estimate of the object, $g_{k+1}(x)$, satisfies the object constraints. $g_{k+1}(x)$ is therefore defined piecewise as:
       $g_{k+1}(x)\equiv {\begin{cases}g'_{k}(x),&x\notin \gamma ,\\0,&x\in \gamma ,\end{cases}}$
where $\gamma$ is the domain in which $g'_{k}(x)$ does not satisfy the object constraints. A new estimate $g_{k+1}(x)$ is obtained and the four step process is repeated.
This process is continued until both the Fourier constraint and object constraint are satisfied. Theoretically, the process will always lead to a convergence, but the large number of iterations needed to produce a satisfactory image (generally >2000) results in the error-reduction algorithm by itself being unsuitable for practical applications.

### Hybrid input-output algorithm

The hybrid input-output algorithm is a modification of the error-reduction algorithm - the first three stages are identical. However, $g_{k}(x)$ no longer acts as an estimate of $f(x)$, but the input function corresponding to the output function $g'_{k}(x)$, which is an estimate of $f(x)$. In the fourth step, when the function $g'_{k}(x)$ violates the object constraints, the value of $g_{k+1}(x)$ is forced towards zero, but optimally not to zero. The chief advantage of the hybrid input-output algorithm is that the function $g_{k}(x)$ contains feedback information concerning previous iterations, reducing the probability of stagnation. It has been shown that the hybrid input-output algorithm converges to a solution significantly faster than the error reduction algorithm. Its convergence rate can be further improved through step size optimization algorithms.
       $g_{k+1}(x)\equiv {\begin{cases}g'_{k}(x),&x\notin \gamma ,\\g_{k}(x)-\beta {g'_{k}(x)},&x\in \gamma .\end{cases}}$
Here $\beta$ is a feedback parameter which can take a value between 0 and 1. For most applications, $\beta \approx 0.9$ gives optimal results.{Scientific Reports volume 8, Article number: 6436 (2018)}

### Shrinkwrap

For a two dimensional phase retrieval problem, there is a degeneracy of solutions as $f(x)$ and its conjugate $f^{*}(-x)$ have the same Fourier modulus. This leads to "image twinning" in which the phase retrieval algorithm stagnates producing an image with features of both the object and its conjugate. The shrinkwrap technique periodically updates the estimate of the support by low-pass filtering the current estimate of the object amplitude (by convolution with a Gaussian) and applying a threshold, leading to a reduction in the image ambiguity.

## Semidefinite relaxation-based algorithm for short time Fourier transform

The phase retrieval is an ill-posed problem. To uniquely identify the underlying signal, in addition to the methods that adds additional prior information like Gerchberg–Saxton algorithm, the other way is to add magnitude-only measurements like short time Fourier transform (STFT).
The method introduced below mainly based on the work of Jaganathan et al.

### Short time Fourier transform

Given a discrete signal $\mathbf {x} =(f[0],f[1],...,f[N-1])^{T}$ which is sampled from $f(x)$. We use a window of length W: $\mathbf {w} =(w[0],w[1],...,w[W-1])^{T}$ to compute the STFT of $\mathrm {f}$, denoted by $\mathbf {Y}$:
$Y[m,r]=\sum _{n=0}^{N-1}{f[n]w[rL-n]e^{-i2\pi {\frac {mn}{N}}}}$
for $0\leq m\leq N-1$ and $0\leq r\leq R-1$, where the parameter $L$ denotes the separation in time between adjacent short-time sections and the parameter $R=\left\lceil {\frac {N+W-1}{L}}\right\rceil$ denotes the number of short-time sections considered.
The other interpretation (called sliding window interpretation) of STFT can be used with the help of discrete Fourier transform (DFT). Let $w_{r}[n]=w[rL-n]$ denotes the window element obtained from shifted and flipped window $\mathbf {w}$. Then we have
$\mathbf {Y} =[\mathbf {Y} _{0},\mathbf {Y} _{1},...,\mathbf {Y} _{R-1}]$, where $\mathbf {Y} _{r}=\mathbf {x} \circ \mathbf {w} _{r}$.

### Problem definition

Let ${Z}_{w}[m,r]=|Y[m,r]|^{2}$ be the $N\times R$ measurements corresponding to the magnitude-square of the STFT of $\mathbf {x}$, $\mathbf {W} _{r}$ be the $N\times N$ diagonal matrix with diagonal elements $\left(w_{r}[0],w_{r}[1],\ldots ,w_{r}[N-1]\right).$ STFT phase retrieval can be stated as:
Find $\mathbf {x}$ such that $Z_{w}[m,r]=\left|\left\langle \mathbf {f} _{m},\mathbf {W} _{r}\mathbf {x} \right\rangle \right|^{2}$ for $0\leq m\leq N-1$ and $0\leq r\leq R-1$, where $\mathbf {f} _{m}$ is the $m$-th column of the $N$-point inverse DFT matrix.
Intuitively, the computational complexity growing with $N$ makes the method impractical. In fact, however, for the most cases in practical we only need to consider the measurements corresponding to $0\leq m\leq M$, for any parameter $M$ satisfying $2W\leq M\leq N$.
To be more specifically, if both the signal and the window are not vanishing, that is, $x[n]\neq 0$ for all $0\leq n\leq N-1$ and $w[n]\neq 0$ for all $0\leq$ $n\leq W-1$, signal $\mathbf {x}$ can be uniquely identified from its STFT magnitude if the following requirements are satisfied:
* $L<W\leq N/2$,
* $2W\leq M\leq N$.
The proof can be found in Jaganathan' s work, which reformulates STFT phase retrieval as the following least-squares problem:
$\min _{\mathbf {x} }\sum _{r=0}^{R-1}\sum _{m=0}^{N-1}\left(Z_{w}[m,r]-\left|\left\langle \mathbf {f} _{m},\mathbf {W} _{r}\mathbf {x} \right\rangle \right|^{2}\right)^{2}$.
The algorithm, although without theoretical recovery guarantees, empirically able to converge to the global minimum when there is substantial overlap between adjacent short-time sections.

### Semidefinite relaxation-based algorithm

To establish recovery guarantees, one way is to formulate the problems as a semidefinite program (SDP), by embedding the problem in a higher dimensional space using the transformation $\mathbf {X} =\mathbf {x} \mathbf {x} ^{\ast }$ and relax the rank-one constraint to obtain a convex program. The problem reformulated is stated below:
Obtain $\mathbf {\hat {X}}$ by solving:${\begin{aligned}&\mathrm {minimize} ~~~\mathrm {trace} (\mathbf {X} )\\[6pt]&\mathrm {subject~to} ~~Z[m,r]=\mathrm {trace} (\mathbf {W} _{r}^{\ast }\mathbf {f} _{m}\mathbf {f} _{m}^{\ast }\mathbf {W} _{r}\mathbf {X} )\\[0pt]&~~~~~~~~~~~~~~~~~~~\mathbf {X} \succeq 0\end{aligned}}$for $1\leq m\leq M$ and $0\leq r\leq R-1$
Once $\mathbf {\hat {X}}$ is found, we can recover signal $\mathbf {x}$ by best rank-one approximation.

## Applications

Phase retrieval is a key component of coherent diffraction imaging (CDI). In CDI, the intensity of the diffraction pattern scattered from a target is measured. The phase of the diffraction pattern is then obtained using phase retrieval algorithms and an image of the target is constructed. In this way, phase retrieval allows for the conversion of a diffraction pattern into an image without an optical lens.
Using phase retrieval algorithms, it is possible to characterize complex optical systems and their aberrations. For example, phase retrieval was used to diagnose and repair the flawed optics of the Hubble Space Telescope.
Other applications of phase retrieval include X-ray crystallography and transmission electron microscopy.