/poppy

Physical Optics Propagation in Python

Primary LanguageJupyter Notebook

POPPY: Physical Optics Propagation in Python

docs/figures/readme_fig.png

Badge showing current released PyPI version Badge showing continuous integration test status Badge showing testing code coverage percentage

POPPY (Physical Optics Propagation in Python) is a Python package that simulates physical optical propagation including diffraction. It implements a flexible framework for modeling Fraunhofer and Fresnel diffraction and point spread function formation, particularly in the context of astronomical telescopes.

POPPY was developed as part of a simulation package for the James Webb Space Telescope, but is more broadly applicable to many kinds of imaging simulations. It is not, however, a substitute for high fidelity optical design software such as Zemax or Code V, but rather is intended as a lightweight alternative for cases for which diffractive rather than geometric optics is the topic of interest, and which require portability between platforms or ease of scripting.

For documentation, see https://pythonhosted.org/poppy/

Code by Marshall Perrin, Joseph Long, Ewan Douglas, Neil Zimmerman, Anand Sivaramakrishnan, Kyle Douglass, Maciek Grochowicz & Ted Corcovilos, with additional contributions from Remi Soummer, Kyle Van Gorkom, Christine Slocum, and others on the Astropy team.

Projects using POPPY

POPPY provides the optical modeling framework used in: