Created by sebastien.popoff on 29/10/2016

Tutorials Spatial Light Modulators

Setting up a DMD: Diffraction effects

I recently acquired a Digital Micromirror Device (DMD) and when I started setting up the experiment, I faced a problem I did not anticipate which is closely related to blazed gratings. Due to the fact that the surface of a DMD is not flat, diffraction orders are shifted compared to the optical axis. This shift depends on the pixel pitch, the wavelength, and the incident angle. A close look at this diffraction phenomenon is important to configure an experimental setup properly. It is even relevant to consider this effect before choosing the appropriate DMD model to buy.

See full post
Created by sebastien.popoff on 17/10/2016

Tutorials Spatial Light Modulators

Control a Vialux DMD with Python

Vialux provides Texas Instrument DMD (Digital MicroMirror Devices) chips with an electronic board to send and display image sequences at high speed (up to 30kHz). While they provide a C++ dll, Labview, and Matlab codes, I did not find any tool for Python. I share here a simple module that wraps the C++ functions for Python. It allows using in a simple manner the basic functions while providing the advanced features of the ALP API.

DOI

See full post
Created by sebastien.popoff on 09/10/2016

Tutorials Spatial Light Modulators

Easy generation of Laguerre Gauss beam with Python and an SLM

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.

See full post
Created by sebastien.popoff on 09/12/2015

Tutorials Spatial Light Modulators

How to control a liquid crystal SLM with Python

Most liquid crystal Spatial Light Modulators (SLMs) and some digital micromirror devices (DMDs) are controlled via an analog (VGA) or digital (HDMI/DVI) monitor standard communication protocol. In other words, you plug it to your computer and it is recognized as a monitor display. There is usually no useful tool or API provided with the device to dynamically control the SLM. I previously introduced a way to control an SLM using Matlab/Octave, now that I switched to Python, I present here a way to do this using Python.

DOI

See full post