SLM Display SDK

The HOLOEYE SLM Display Software Development Kit (SDK) is an interface to show images and phase arrays directly on the SLM within many programming languages. It also supports data manipulation functions like phase overlay calculated from Zernike coefficients, optical beam manipulations, and data transformations.
The SDK enables the use of multiple SLM devices connected to the same computer within the same application independently. It is also possible to tile the SLM display area to use multiple functions independently on a single SLM display device or use multiple SLM devices merged within an NVIDIA Mosaic setup to allow perfect hardware synchronization.
To use the SDK you need to have one of the following supported development environments installed:
- C or C++ compiler (e. g. Microsoft Visual C++ Compiler)
- National Instruments LabVIEW 2017 and later
- MathWorks MATLAB R2009b and later
- Octave 7.2, 8.4
- Python 2.7 and 3.x
The current SDK version is available for Microsoft Windows 10 and above (Windows 64 bit versions). The SDK supports all current HOLOEYE Spatial Light Modulators with resolutions up to 4160 x 2464 pixel.
SLM Display SDK Features
The initialization of the SLM or multiple SLMs [within the target platform] is reduced to the minimum required amount of code. It is possible to use multiple SLM devices or split one SLM display into multiple SLM canvas.
Data can be transferred to the SLM from floating point or integer phase or image data arrays. The SLM Display SDK supports upload and display of data stored in all common image file formats.
- Load phase-data-arrays (float, int)
- Load image-data-arrays (float, int)
- Load data from image files (*.png, *.bmp, …)
The loaded data can be addressed including beam manipulation overlay functions like blazed gratings (beam steering or reposition of the projected hologram), lens functions (focus adjustment), Zernike functions or Wavefront compensation data (which typically is delivered with the SLM).
The SDK also includes built-in speed-optimized commands for the display of essential functions (e.g. lenses, gratings) on the SLM.
- Load built-in functions, like:
- Gratings (Binary / Blaze)
- Phasefunctions (Lens, Axicon, Vortex)
- Divided screen
The SDK permits sophisticated management of data uploaded to the graphics adapter’s memory (VRAM) and provides detailed information about the timing when the data is actually displayed on the SLM at high frame rates.
- Load functions to upload data to GPU memory
- Fast accurate „slideshow“-playback
- Access playback timing statistics for detection of latencies
Code Examples for Quick Start
We provide a set of code examples which demonstrate the features of the SLM Display SDK.
The examples demonstrate the basic functions and highlights the values which can be adjusted.
We recommend using the examples to start working with the SDK. Even if you have limited experience in programming within one of the supported environments, the examples offer a straightforward starting point as you get immediate feedback on how it works and how changes of parameters affect the result.
To get access to the SLM Display SDK, please register at our download website.
System Requirements
HD Resolution Devices
(LC 2012, PLUTO, PLUTO-2 & 2.1, LETO-3, ERIS):
Minimum Requirements:
Processor: Dual core CPU with 2 GHz (e. g. Intel Core 2 Duo E6320)
Memory: 2 GB
Graphics Card: DirectX 11 capable GPU with minimum 256 MB Video RAM (e.g. Nvidia Geforce 7800 GT or built-in Intel GPU or equivalent)
Recommended Requirements:
Processor: Quad core CPU with 3 GHz (e.g. Intel Core i5-2500)
Memory: 8 GB
Graphics Card: Nvidia or DirectX 11 capable GPU with 2 GB Video RAM (e.g. Nvidia GTX750)
Ultra HD Resolution Devices
(GAEA-2):
Minimum Requirements:
Processor: Quad core CPU with 3 GHz (e. g. Intel Core i5-4690)
Memory: 8 GB
Graphics Card: DirectX 11 capable GPU with minimum 2 GB Video RAM and HDMI 2.0 output (e.g. Nvidia GTX950 or similar)
Recommended Requirements:
Processor: Quad core CPU with 4 GHz (e.g. Intel Core i7-7700k)
Memory: 16 GB or more
Graphics Card: Nvidia or DirectX 11 capable GPU with 8 GB Video RAM and HDMI 2.0 output (e.g. Nvidia GTX1070)