I want to share a simple Python written by José Salazar-Serrano. This program aims to generate a Laguerre Gauss beam with a phase-only spatial light modulator (SLM). It uses the slmPy and requires the wxPython and opencv modules to run. The full description of the package and the files are available on the Github repository.
The program is composed of two files, generate_Laguerre_Gauss_SLM.py, that is used to create the phase mask and to display it on the SLM, and generate_Laguerre_Gauss_split_SLM.py that allows generating two independent LG beams on different regions of the SLM.
The function can be called in the shell using the syntax:
python generate_Laguerre_Gauss_SLM.py [options]
The options are fully explained in the readme file of the Github repository. They allow tuning the charge of the LG beam, the beam radius, add a grating, add a correction mask (provided by the SLM manufacturer) or save the phase mask as a bitmap image.