HoloGradPy Documentation

HoloGradPy provides functionality to holographically generate light potentials of arbitrary shape using a phase-modulating SLM (see our publication). Additional SLM calibration methods based on more recent work will soon be added to this package.

Author

This package was created by Paul Schroff during his PhD at the University of Strathclyde in the research group of Stefan Kuhr.

Note

For questions or suggestions, email paul.schroff@strath.ac.uk.

Features

To calculate the SLM phase pattern for a given target light potential, we implemented a phase-retrieval algorithm based on conjugate gradient minimisation. The gradient used in the conjugate gradient minimisation is calculated using PyTorch’s automatic differentiation capabilities.

Functions to characterise the beam profile and the constant phase at the SLM are provided. These measurements are crucial for accurate experimental results.

We employed a feedback algorithm and model pixel crosstalk on the SLM to further reduce experimental errors in the light potentials.

Note

This package works best with a Nvidia GPU to run the phase retrieval algorithm.

Warning

This documentation is work in progress - refer to the example scripts to get started.

Cite as

If you are using this code, please cite our publication:

P. Schroff, A. La Rooij, E. Haller, S. Kuhr, Accurate holographic light potentials using pixel crosstalk modelling. Sci Rep 13, 3252 (2023). https://doi.org/10.1038/s41598-023-30296-6

Indices and tables