# SLM Pattern Generator

The HOLOEYE Spatial Light Modulator Pattern Generator software was developed for use with all HOLOEYE SLM models. The software allows the simple generation of diverse dynamic optical functions like gratings, lenses, axicons and apertures as well as the calculation of diffractive optical elements (DOE) from user defined images.

## Computing Diffractive Optical Elements

To compute a DOE, the source image size needs to be smaller than 400×400 pixels. DOE computation for larger pictures is not supported by this software.

Possible image formats are BMP, PNG, JPEG, GIF, XBM, XPM, MNG and the different PNM formats: PBM (P1 or P4), PGM (P2 or P5), and PPM (P3 or P6). The DOE is computed by using an iterative Fourier Transformation Algorithm (IFTA). The image will be transformed to an image with 256 gray-scale values. In order to display all 256 gray-scale values a monitor setting of minimum 16 Mio. colors (24bit) is required.

The calculated output DOE image can be addressed directly on the SLM out of the application software. The DOE image will be tiled to cover the whole SLM display area. Additionally the DOE functions can be superimposed by lens functions or prism fuctions in X and Y direction. The focus / strength of these functions can easily be adjusted via a task bar using a slider or by entering a value directly.

## Elementary Optical Functions

Besides the generation of DOEs a wide range of basic optical functions can be created directly via the menue bar. After input of the required parameters the output image appears in a new window. There are several binay and multilevel optical functions possible:

**Blank Grey Level Screen**

With this function you can create a homogeneous gray level screen.**Horizontally Divided Screen**

With this function you will create a horizontally divided screen, constitng of two homogeneous graylevel partial screens.**Random Bitmap**

With this function you will create a random pixel distribution using 256 grayscale values. This function can be used to realize the optical function of a random phase plate.**Random Binary Bitmap**

With this function you will create a random pixel distribution using only two grayscale values. This function can be used to realize the optical function of a random binary phase plate.**Aperture Functions**- Rectangular Aperture
- Circular Aperture
- Single Slit and Double Slit

**Fresnel Zone Lenses**- Binary Fresnel Zone Lens
- Multilevel Fresnel Zone Lens
- Cylindrical Fresnel Zone Lens

**Binary Axicon**

With this function you will create a Binary Axicon graylevel image representation.**Axicon**

With this function you will create a 256-level Axicon graylevel image representation.**Vortex Phase**

Use this function to create a 256-graylevel image representation of a vortex phase.**Concentric ring segments**

Use this function to create binary images consisting of concentric ring segments.**Binary beam-splitter gratings**- Linear Gratings and Crossed Linear gratings
- Exemplary binary beam-splitter designs

**Sinusoidal Grating**

With this function you will create a sinusoidal grating.**Blazed Grating**

With this function you will create a blazed grating.**Calculating a beam-shaping phase function for Gaussian Input beams**- Transformation of a Gaussian beam to a circular ‘flat-top’ beam
- Transformation of a Gaussian beam to a rectangular ‘flat-top’ beam

**Superposition with an additional phase map**

e.g. for compensate for aberrations of the optical system or that of the SLM