Skip to main content

Fourier domain Adaptive optics Simulation Tool

Project description

FAST (Fourier domain Adaptive optics Simulation Tool)

codecov

FAST is a simulation tool that utilises a Fourier domain AO model to enable rapid Monte Carlo characterisation of free space optical links between the Earth and satellites. For more details, see the paper https://doi.org/10.1364/OE.458659.

Documentation is hosted at ojdf.github.io/fast.

WARNING: FAST is under active development and the simulation API and configuration is not fixed. If you find a bug, or something is not working as you would expect, please email me or make an issue on GitHub, it's likely I've broken something!

Requirements

See requirements.txt

It is recommended to install pyFFTW to speed up FFTs.

Installation

PyPI

pip install fast-aosim

From Source

For the latest developments, clone this repository run pip install -r requirements.txt to get the required dependencies. Then, ensure that the FAST directory is on your PYTHONPATH, or navigate to the directory and run

pip install .

To confirm correct installation, try running

cd test && python test_script.py

in the FAST directory, which should run a short simulation. You can also run the unit tests with

pytest -v test/tests_pytest.py

Configuration

Config is handled currently by python scripts, an example of which is shown in test_params.py. The config file should define a dictionary p which contains all of the configuration information required. If any values are missed, they will be replaced by defaults.

To start a simulation either in the python shell or in a script, you can either pass the filename of the script defining the config dictionary, or you can provide the dictionary itself, which can be useful if you are scanning through parameters. So

import fast
sim = fast.Fast("your_config_file.py")

or

import fast
p = {your config}
sim = fast.Fast(p)

Running the simulation

The simulation is run by calling the run() function on the sim object. This will compute the phase screens and log-amplitude values, and then compute the detected power or phase/amplitude for coherent detection. The results are stored in sim.result and are also returned from run(), i.e. res = sim.run(). Results in either dB or power units can be obtained from e.g. sim.result.dB_rel (for dB relative to the diffraction limit) or sim.result.power. See the documentation for more details.

To save the simulation results as a fits file with header information, use sim.save(filename).

Project details


Download files

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

Source Distribution

fast_aosim-0.1.5.tar.gz (76.7 kB view details)

Uploaded Source

Built Distribution

fast_aosim-0.1.5-py3-none-any.whl (58.3 kB view details)

Uploaded Python 3

File details

Details for the file fast_aosim-0.1.5.tar.gz.

File metadata

  • Download URL: fast_aosim-0.1.5.tar.gz
  • Upload date:
  • Size: 76.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for fast_aosim-0.1.5.tar.gz
Algorithm Hash digest
SHA256 414996d8a3b16d6973a80d26cdc1be5edfa49b11143f087d6ef174f8d6760cea
MD5 2f5201b09843f6f607d356987cde6039
BLAKE2b-256 356b70213779c73c2375751342eed930b996d36dce49ae84da526ae5bb656e73

See more details on using hashes here.

File details

Details for the file fast_aosim-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: fast_aosim-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 58.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for fast_aosim-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0384fe4a9c2cd76c61171cb5cd7565f2c13986758395b98d00869fd330cfa55e
MD5 06e2cb8b3d6afe51aec212036ed0e64f
BLAKE2b-256 659861598abae8be13fa6b7ffe3c377f4f0caa44b14610d57904f1c6bb47b0d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page