Performance on Natural Images

Here we test the Wirtinger flow algorithm on various images of different sizes; these are photographs of the Naqsh-e Jahan Square in the central Iranian city of Esfahan, the Stanford main quad, and the Milky Way galaxy.

We generate L=20 random octanary patterns and gather the coded diffraction patterns for each color band using these 20 samples. The figure below shows the images recovered via the Wirtinger flow algorithm. In all cases, WF gets 12 or 13 digits of precision in a matter of minutes. All experiments were carried out on a MacBook Pro with a 2.4 GHz Intel Core i7 Processor and 8 GB 1600 MHz DDR3 memory. To convey an idea of timing that is platform-independent, we also report time in units of FFTs; one FFT unit is the amount of time it takes to perform a single FFT on an image of the same size.

For comparison, SDP based solutions such as PhaseLift and PhaseCut would be prohibitive as the lifted signal would not fit into memory. In the SDP approach an n pixel image becomes an n^2/2 array, which in the first example already takes storing the lifted signal even for the smallest image requires (189times 768)^2 times 1/2 times 8 Bytes, which is approximately 85 GB of space. (For the image of the Milky Way, storage would be about 17 TB.) These large memory requirements render SDP relaxations de facto impractical.