“…Most of the phase retrieval algorithms are based on the Gerchberg-Saxton algorithm [8]: ER [2], HIO [2], shrinkwrap [9], charge-flipping algorithm [25], relaxed averaged alternating reflections (RAAR) algorithm [26], noise tolerant HIO algorithm [18], and many others [10]. The main differences between these algorithms are the various constraints applied in real space [2,9,20,24] and reciprocal space [27][28][29], which can be optimized depending on the particular sample and experiment. Moreover, a combination of phase retrieval algorithms (ER and HIO algorithms [2,24,30]) is often applied in an alternating fashion to avoid stagnation or oscillation of the iterative process and to stabilize the final reconstruction.…”