Skip to main content

No project description provided

Project description

PyPI - Version GitHub Actions Workflow Status

pyrao

pyrao is a few things:

  • a Python wrapper for rao package - a set of Adaptive Optics (AO) tools written in Rust,
  • a standalone AO simulator with Python APIs, fast enough to run 8m class simulations at real time on a modest laptop,
  • a data stream generator for developing tools based on ImageStreamIO,
  • an experiment in linear algebra + statistics, optimal control/estimation, python-wrapped-rust (using PyO3).

There are many things that pyrao is not, but most importantly:

  • pyrao is not an "end-to-end numerical simulation tool for AO" (see [#assumptions])
  • pyrao is not an RTC in its own right, though it emulates some functionalities of one.

pyrao is also suitable for the following tasks, but has not yet been developed for them:

  • a Gymnasium formatted environment for developping and testing reinforcement learning.
  • a performance evaluation tool - provided you can simulate your system in rao.

If there are tasks you think pyrao could be suitable for and you would like to see them developed, raise an issue.

Installation

Annoyingly, there is already a PyPI package named pyrao, so to install with pip, you should use:

pip install rao

but then to import the package, use (as expected):

import pyrao

Usage

The usage of this wrapper is very actively changing, based on my own needs. Currently, the main use-case for the Python wrapper is for rapid generation of interaction matrices and covariance matrices, both for linear simulations of AO systems, and for fitting of parameters by comparing measured and analytical matrices.

For example usages, see the following:

Assumptions

We assume that everything in the AO loop is linear, and all sources of noise are additive Gaussian iid processes. For example, we assume that the measurements are a linear combination of atmospheric phase (according to some sampling of von Karman layers), actuator commands (according to some influence functions), and a noise vector with a specified covariance matrix.

Disclaimer

This is presently a hobby-project, so development may be slow and/or unpredictable. However, if you have a change you would like to see, or a feature you would like added, I encourage you to file an issue - since it's likely something I haven't considered and it could prove useful to others. If you make a change yourself and you think others might also find it useful, please consider making a pull request so that I can include your edits in this repo. If you have any other feedback, feel free to share it with me directly via email: jesse.cranney@anu.edu.au.

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

rao-0.1.5.tar.gz (15.1 kB view details)

Uploaded Source

Built Distributions

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

rao-0.1.5-cp38-abi3-win_amd64.whl (258.7 kB view details)

Uploaded CPython 3.8+Windows x86-64

rao-0.1.5-cp38-abi3-win32.whl (235.8 kB view details)

Uploaded CPython 3.8+Windows x86

rao-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl (585.9 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

rao-0.1.5-cp38-abi3-musllinux_1_2_i686.whl (619.2 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

rao-0.1.5-cp38-abi3-musllinux_1_2_armv7l.whl (676.2 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

rao-0.1.5-cp38-abi3-musllinux_1_2_aarch64.whl (585.5 kB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

rao-0.1.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (422.9 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

rao-0.1.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (439.5 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ s390x

rao-0.1.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (555.3 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

rao-0.1.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (447.2 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

rao-0.1.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (414.7 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

rao-0.1.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (408.4 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: rao-0.1.5.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.7

File hashes

Hashes for rao-0.1.5.tar.gz
Algorithm Hash digest
SHA256 5644e6979b6375a3523d2f371067851af7af2b45366df056842e9e3f36d16cd2
MD5 760868d9b16e56977662da80e3f752da
BLAKE2b-256 7d5c598181dcadc55aa6ecab7738fe677275f20f6bf2a6c0ca409903624682e9

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: rao-0.1.5-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 258.7 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.2

File hashes

Hashes for rao-0.1.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f922424884817db65e334a7b0b5c12602ffe8d6ea603e267485e50f7d7733d31
MD5 afa3ae3a547fb0ce736719da3094cc12
BLAKE2b-256 9484bbeda7342465a1fd0a1825100200f508aa9b0c9a9a8b18199c22da040700

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-win32.whl.

File metadata

  • Download URL: rao-0.1.5-cp38-abi3-win32.whl
  • Upload date:
  • Size: 235.8 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.2

File hashes

Hashes for rao-0.1.5-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 877ad4a940990c1df51d1c31f8a4cba7ff25dc6898a7504f31960655ad4ec90e
MD5 2bb56fd69c5bea50244b623003489002
BLAKE2b-256 87fdc5f663b28ac4b8c126932a46eff81d066b923b5aea63094bcde0609ca929

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4357c60269ee88a13461b329f3fdb1b074f27722c3955766351390472862da6
MD5 788644e52406ca517f26b00cb5552017
BLAKE2b-256 9fa2ed0cc7186b99927ad46fae8bfcfd1ed09a8e1256f11dd7efcd70fa47694f

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: rao-0.1.5-cp38-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 619.2 kB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.2

File hashes

Hashes for rao-0.1.5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 39a932063efe705c8582237f4b6e60fc8c79ae878ddb405564e2a74472501263
MD5 f9f16ce0093c1d2d6787f1c2929d0501
BLAKE2b-256 96ef0e3fa68019b37fcd748b4b6b34723e4089f6a410f39157ce90889a6c435f

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0c41af2986f6171e88c1e098a6de4db8ce92a13047790bdf463bca5671d89b71
MD5 0f8ad40fe180cb01cb15cd6da9e0bc68
BLAKE2b-256 ac3a9fb5c95853dc77fe64b1689d881615097c6176dcce0d3f7540b4aadbee05

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c5ea17768a3797ed121490a7043bd88668b225a854f726c8c9e41ba477c1b264
MD5 a0cd7cfc2e77143a343e3ca0ed155512
BLAKE2b-256 2561cafa3a80d56478e7dfd5a52cdc67850a7d6b92714ec09d71c72b251c754b

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6eec7be3e59d96d490ad051eaccbc9962b23301ff1bcea3d98beb086c38a2587
MD5 2ca1dd96d2a2db527f491aee6c525bbf
BLAKE2b-256 c4c435ea2aeb373b5150dd959bc47fc008c593ad77e331ff49e26a87baabacb7

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 47da069c2b584234ffd92aa2c94244657dd0e9b81cea1478fd9e82ff6dcd857c
MD5 e829c4df44671d860731d4d35d6ffb5d
BLAKE2b-256 59b717b8d3d2472541aa4b420cbdaae675a1ed2fa9e80dc5a241184a7cc99154

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 39f76daebdf18dba78dca64a8850019492adb05e6e463ae2fd41cfa157c3112e
MD5 77e64017e24ce05d38997456fd7cb8fd
BLAKE2b-256 ca2e1799c62b2810032bc21d93a6f155c38ee6915125537044516b857fc99518

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d239588ed6f027c82badeb983e7ed3e1f7b2a9ed165138b7d6bcd11b437382d1
MD5 c15fe2776e3e9caa56396a35d1a2ac27
BLAKE2b-256 9c855064967fbb2e8c41c7b15b0d077fa2d46f77be56a7227f1c21274e8203a8

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2bf81f6c97aa8afed99a6617a93fd26e9aa0be6c33c34d9bdaf9fdac4f3f0f9e
MD5 08ff819ed7f0e4fa53c74fafcaae8a17
BLAKE2b-256 76f9c4fa02d740aa896da55c85710c91fda0c821b73ec17385fcb9e36764f1b0

See more details on using hashes here.

File details

Details for the file rao-0.1.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rao-0.1.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a6e85187e3f9a2cc6b33966314763c0b55f142b7ca3d1acf1fea093e4cc31f85
MD5 e3729bca6e3224aef7dfd85645e434a3
BLAKE2b-256 f364c1edb5a205f5be517b7a0b5fef1b71a02c65a9cf99f5590dfde8d03bc2b4

See more details on using hashes here.

Supported by

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