Created by sebastien.popoff on 29/10/2016
Tutorials Spatial Light Modulators
Setting up a DMD: Diffraction effectsI 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. |
Created by sebastien.popoff on 17/10/2016
Tutorials Spatial Light Modulators
Control a Vialux DMD with PythonVialux 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. 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 SLMI 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. |
Created by sebastien.popoff on 09/12/2015
Tutorials Spatial Light Modulators
How to control a liquid crystal SLM with PythonMost 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. See full post |