pyoptools.misc.GS.gs module¶
- pyoptools.misc.GS.gs.gs(idata, itera=10, ia=None)¶
Gerchberg-Saxton algorithm to calculate DOEs
Calculates the phase distribution in a object plane to obtain an specific amplitude distribution in the target plane. It uses a FFT to calculate the field propagation. The wavefront at the DOE plane is assumed as a plane wave.
ARGUMENTS:
idata
numpy array containing the target amplitude distribution
itera
Maximum number of iterations
ia
Illumination amplitude at the hologram plane if not given it is assumed to be a constant amplitude with a value of 1. If given it should be an array with the same shape of idata
- pyoptools.misc.GS.gs.gs_gpu(idata, itera=100)¶
Gerchberg-Saxton algorithm to calculate DOEs using the GPU
Calculates the phase distribution in a object plane to obtain an specific amplitude distribution in the target plane. It uses a FFT to calculate the field propagation. The wavefront at the DOE plane is assumed as a plane wave.
ARGUMENTS:
idata
numpy array containing the target amplitude distribution
itera
Maximum number of iterations
- pyoptools.misc.GS.gs.gs_mod(idata, itera=10, osize=256)¶
Modified Gerchberg-Saxton algorithm to calculate DOEs
Calculates the phase distribution in a object plane to obtain an specific amplitude distribution in the target plane. It uses a FFT to calculate the field propagation. The wavefront at the DOE plane is assumed as a plane wave. This algorithm leaves a window around the image plane to allow the noise to move there. It only optimises the center of the image.
ARGUMENTS:
idata
numpy array containing the target amplitude distribution
itera
Maximum number of iterations
osize
Size of the center of the image to be optimized It should be smaller than the image itself.
- pyoptools.misc.GS.gs.gs_mod_gpu(idata, itera=10, osize=256)¶