A system (100, 12) comprising: a computing node configured to: read a light source amplitude function, a target amplitude function, and a phase function; iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the focal plane phase function to update the phase function until a phase-locking condition is satisfied in a first iterative process; retain the focal plane phase function as a locked phase function; and iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the locked phase function to update the phase function until a first halting condition is satisfied in a second iterative process. a computing node configured to: read a light source amplitude function, a target amplitude function, and a phase function; iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the focal plane phase function to update the phase function until a phase-locking condition is satisfied in a first iterative process; retain the focal plane phase function as a locked phase function; and iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the locked phase function to update the phase function until a first halting condition is satisfied in a second iterative process. read a light source amplitude function, a target amplitude function, and a phase function; iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the focal plane phase function to update the phase function perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the focal plane phase function to update the phase function until a phase-locking condition is satisfied in a first iterative process; retain the focal plane phase function as a locked phase function; and iteratively: perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the locked phase function to update the phase function until a first halting condition is satisfied in a second iterative process. perform a Fourier transform on the light source amplitude function and the phase function to produce a focal plane amplitude function and a focal plane phase function, calculate a corrected amplitude function based on the focal plane amplitude function and the target amplitude function, and perform an inverse Fourier transform on the corrected amplitude function and the locked phase function to update the phase function until a first halting condition is satisfied in a second iterative process.