Skip to main content

PAOS

PyPI version GitHub version Downloads License Documentation Status Contributor Covenant Ask DeepWiki

Introduction

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.

It handles diffractive materials and can implement wavefront aberrations as Zernike polynomials, orthonormal polynomials, or grid sags.

Table of contents

How to install

Instructions on how to install PAOS.

Install from PyPI

PAOS is available on PyPI and can be installed via pip as

pip install paos

Install from source code

PAOS is compatible (tested) with Python 3.9+

To install from source, clone the repository and move inside the directory.

Then use pip as

pip install .

Test your installation

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!

Interactive Marimo Notebooks

PAOS provides interactive marimo notebooks to showcase (some of) its capabilities. These notebooks allow you to explore PAOS features in a live, browser-based environment.

Available marimo notebooks:

  • notebook/paos_demo.py
  • notebook/material.py
  • notebook/psd.py

Note: These notebooks are available only in PAOS version 1.2.6 and later.

How to run a marimo notebook:

After installing PAOS, marimo is already available.

To launch a notebook (for example):

marimo run notebook/paos_demo.py

This will open the interactive notebook in your browser.

Documentation

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 poetry:

pip install poetry
poetry install --with docs

Build the html documentation

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.

Build the pdf 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.

How to contribute

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.

How to cite

@INPROCEEDINGS{2024SPIE13092E..4KB,
       author = {{Bocchieri}, Andrea and {Mugnai}, Lorenzo V. and {Pascale}, Enzo},
        title = "{PAOS: a fast, modern, and reliable Python package for physical optics studies}",
    booktitle = {Space Telescopes and Instrumentation 2024: Optical, Infrared, and Millimeter Wave},
         year = 2024,
       editor = {{Coyle}, Laura E. and {Matsuura}, Shuji and {Perrin}, Marshall D.},
       series = {Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series},
       volume = {13092},
        month = aug,
          eid = {130924K},
        pages = {130924K},
          doi = {10.1117/12.3018333},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024SPIE13092E..4KB},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paos-1.2.14.tar.gz (181.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paos-1.2.14-py3-none-any.whl (188.2 kB view details)

Uploaded Python 3

File details

Details for the file paos-1.2.14.tar.gz.

File metadata

  • Download URL: paos-1.2.14.tar.gz
  • Upload date:
  • Size: 181.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.11

File hashes

Hashes for paos-1.2.14.tar.gz
Algorithm Hash digest
SHA256 dfa6c097c6067a5bb3fb15898ba0d2c664f72974ee0d7c7d5f3163fe5c46013e
MD5 a5c38546a3c64f28700960494cea0318
BLAKE2b-256 b9232919088ce187caf230328d2443176dfd67e60fd51e983a4082bbc7eed774

See more details on using hashes here.

File details

Details for the file paos-1.2.14-py3-none-any.whl.

File metadata

  • Download URL: paos-1.2.14-py3-none-any.whl
  • Upload date:
  • Size: 188.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.11

File hashes

Hashes for paos-1.2.14-py3-none-any.whl
Algorithm Hash digest
SHA256 749623a5929ac7da850bdd954d865d08fc7e2f95a6ba5575c8ed45e230a5daff
MD5 51ca0fadf6e761de3d7ef1d8e48156c4
BLAKE2b-256 3158546e1d15af4aca32a6a626615246a4b5fd3b452d748943f31ca93772380e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.14 This release

2 files

1.2.13

2 files

1.2.12

2 files

1.2.11

2 files

1.2.10

2 files

1.2.9

2 files

1.2.8

2 files

1.2.7

2 files

1.2.5.1

2 files

1.2.5.post0

2 files

1.1.2

2 files

1.1.0

2 files

1.0.3.post1

2 files

1.0.2.post1

2 files

1.0.2.post0

2 files

1.0.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page