Skip to main content

Atmospheric phase screen generator using a “woofer-tweeter” algorithm

This Python 3 module implements the algorithm described in the paper “Simulating Large Atmospheric Phase Screens Using a Woofer-Tweeter Algorithm.” Optics Express 24, no. 20 (October 3, 2016): 23566–71. https://doi.org/10.1364/OE.24.023566.

To see a customisable movie of the phase screens generated by this module, you can run an app over the web using Streamlit Share by following the link below:

https://share.streamlit.io/dbuscher/megascreen/tests/demos/streamlit_movie.py

Alternatively, view a short movie in a Jupyter notebook at

https://nbviewer.jupyter.org/github/dbuscher/megascreen/blob/master/tests/demos/phase_screen_movie.ipynb

Requirements

The module runs under Python3 and requires numpy and scipy.

For running some of the example code, the astropy library is used.

Installation

On unix-like systems do

pip3 install MegaScreen

or if that does not work because of file permission errors, then

sudo pip3 install MegaScreen

Alternatively download and unpack a copy of this repository, change the working directory to this directory and then use

pip3 install -e .

This should install the package into the Python path.

Usage

See the documentation at http://megascreen.readthedocs.io/ for a description on how to use the module.

Licensing

The code in this repository is licenced under the Mozilla Public License Version 2.0

(see LICENSE).

1.0.1

  • Updated demos so they don’t crash with recent assert

  • Demos can run without installing MegaScreen

  • Streamlit demo app can run on Streamlit Share

1.0.0

  • Added an assert to check that the size of a window does not exceed the size of a tweeter screen

  • Removed restriction on dx and increased memory efficiency by allocating the minimum number of tiles needed

0.5.0:

  • Added a numIter parameter to MegaScreen() to allow straightforward use in for loops

  • All parameters to MegaScreen() now have default values to ease adoption

  • Tidied up test code

  • Added extensive documentation on http://megascreen.readthedocs.io

Metadata

Release files for MegaScreen 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MegaScreen 1.0.1
File Size Uploaded
MegaScreen-1.0.1.tar.gz 23.4 kB Details

Release files / MegaScreen-1.0.1.tar.gz

Download URL MegaScreen-1.0.1.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
87963db45b01f88d41490daf760f4cfc0a35a01b7f940af08e4b38d1f03ab688
BLAKE2b-256 checksum
How to use checksums
5697a7ca1acd8cd8e409415ef0a6dff80f61a755826f35a302ca19a4c334e0fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.8.0 tqdm/4.50.2 CPython/3.8.5

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file

1.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page