PAOS
, the Physical Optics Simulator, is a fast, modern, and reliable Python package for Physical Optics studies.
It implements Physical Optics Propagation in Fresnel approximation and paraxial ray tracing to analyze complex waveform propagation through both generic and off-axes optical systems.
Instructions on how to install PAOS
.
PAOS
is available on PyPI and can be installed via pip as
pip install paos
PAOS
is compatible (tested) with Python 3.8, 3.9 and 3.10
To install from source, clone the repository and move inside the directory.
Then use pip
as
pip install .
Try importing PAOS
as
python -c "import paos; print(paos.__version__)"
Or running PAOS
itself with the help
flag as
paos -h
Or the Graphical User Interface with the help
flag as
paos_gui -h
If there are no errors then the installation was successful!
PAOS
comes with an extensive documentation, which can be built using Sphinx.
The documentation includes a tutorial, a user guide and a reference guide.
To build the documentation, install the needed packages first via:
pip install -e ".[docs]"
To build the html documentation, move into the docs
directory and run
make html
The documentation will be produced into the build/html
directory inside docs
.
Open index.html
to read the documentation.
To build the pdf, move into the docs
directory and run
make latexpdf
The documentation will be produced into the build/latex
directory inside docs
.
Open paos.pdf
to read the documentation.
The developers use pdflatex
; if you have another compiler for LaTex, please refer to sphinx documentation.
You can contribute to PAOS
by reporting bugs, suggesting new features, or contributing to the code itself.
If you wish to contribute to the code, please follow the steps described in the documentation under Developer guide
.
Andrea Bocchieri, Lorenzo V. Mugnai, Enzo Pascale, “PAOS: a fast, modern, and reliable Python package for physical optics studies,” Proc. SPIE 13092, Space Telescopes and Instrumentation 2024: Optical, Infrared, and Millimeter Wave, 130924K (23 August 2024); https://doi.org/10.1117/12.3018333