This repository is meant to provie a comprehensive list of papers and algorithms for computer generated holography. The papers are meant to cover a wide range of algorithms, from neuroscience to VR headsets. The categorization of the papers is based on their class, i.e.:
- Iterative techniques
- Optimization-based
- Machine learning-based
- Deep leanring-based
Each section will begin with a brief description of the class of algorithms discussed, followed by a list of papers and their code/tutorials/etc. If you want your paper to be featured or have a correction, please create an issue. If you find this repo useful, please hit the start button.
A key component of CGH algorithms is the forward and backward models we use to simulate light propagation. If you're getting started with this topic. In the following section I will list some of the best toolboxes out there: Chromatix | Code and installation This is a very comprehensive Jax-based package. Picking up Jax can be a bit of a challenge but guaranteed to be worth it. This package follows Flax's logic of defining modules. VERY ADDICTIVE! LightFlow | Code and installation A comprehensive package, specififcally tailored to CGH applications. This package follows the tf.Keras logic and is based on TensorFlow. As the main author of LightFlow, and a contributor to Chromatix, I suggest getting started with Chromatix for advanced applications.
This class of algorithms rely on an iterative process to directly enforce the amplitude and/or phase conditions of the holographic set up.
Gerchberg-Saxton | Code: MATLAB Python | Wikipedia
In this class of algorithms, the solution to the CGH problem (phase and/or amplitude) is directly optimized to minimize a loss function that is aimed to maximize the similarity between the desired output and the hologram that results from the modulation. These algorithms often involve an iterative application of an optimizer to gradually approach a decent solution.
DeepCGH for 2D (aka HoloNet) | Code
Phase retrieval with sparse phase constraint
Deep learning for hologram generation
Comprehensive deep learning model for optical holography
Algorithmic considerations for complex light