Ulf GRIESMANN, 2020
A toolbox for Octave to compute the layouts of
computer-generated holograms from scalar phase functions describing
the optical action of holograms in optical imaging systems. The
optical function of a hologram is generally modeled with optical
ray-tracing software and it can be encapsulated by a scalar optical
phase function
The functions in this toolbox are in the Public Domain. For details see the file LICENSE in the root directory of the toolbox.
Additional documentation is available on:
https://sites.google.com/site/ulfgri/numerical/cgh-toolbox
in a user manual that describes the installation of the toolbox and its use through a set of detailed examples.
The CGH toolbox makes use of the Octave Parallel Package to speed up the computation of holograms on computers with multiple CPU cores. The Parallel Package can now be used on all common operating systems. In addition, the CGH toolbox requires the Octave Optimization Package. Symbolic computations of Zernike polynomials require the Octave Symbolic Package and an installation of Python with SymPy.
The CGH toolbox contains several MEX functions that must be compiled with a C compiler before the toolbox can be used.
For Octave on Linux, the mex functions are compiled by executing
$ ./makemex-octave
at the shell prompt. In Octave on Windows the mex functions are compiled by changing to the ./cgh-toolbox directory and running
makemex
at the Octave command prompt.
If you find a bug in the software, please send a message to ulf.griesmann@nist.gov or ulfgri@gmail.com and I will try to correct it.