May 30, 2020

prysm is an open-source library for physical and first-order modeling of optical systems and analysis of related data. It is an unaffiliated sister library to PROPER and POPPY, codes developed to do physical optics modeling for primarily space-based systems. Prysm has a more restrictive capability in that domain, notably lacking multi-plane diffraction propagation, but also offers a broader set of features.

Use Cases

prysm aims to be a swiss army knife for optical engineers and students. Its primary use cases include:

  • Analysis of optical data

  • robust numerical modeling of optical and opto-electronic systems based on physical optics

  • wavefront sensing

prysm is on pypi:

>>> pip install prysm

prysm requires only numpy and scipy.

To use an nVidia GPU, you must have cupy installed. Plotting uses matplotlib. Images are read and written with imageio. Some MTF utilities utilize pandas. Reading of Zygo datx files requires h5py. Installation of these must be done offline.