pyTomoAO

pyTomoAO

Tomographic wavefront reconstruction for adaptive optics, in Python.

Tests Docs PyPI License: MIT

pyTomoAO computes reconstructors for tomographic adaptive optics systems — LTAO and MOAO — from the measurements of several Shack–Hartmann wavefront sensors coupled to laser guide stars (LGS) or natural guide stars (NGS). It uses a Minimum Mean Square Error (MMSE) estimator to reconstruct the turbulent volume above a telescope and to derive the deformable mirror (DM) commands that correct it.

Everything is driven by a single YAML configuration file:

from pyTomoAO import example_config
from pyTomoAO.reconstructor import tomographicReconstructor

reconstructor = tomographicReconstructor(example_config("kapa"))
reconstructor.build_reconstructor()
FR = reconstructor.assemble_reconstructor_and_fitting(nChannels=4, slopesOrder="simu")

Getting started

Install pyTomoAO and build your first reconstructor in a few minutes.

Installation
User guide

Concepts, the configuration reference, reconstruction modes, DM fitting and GPU support.

User guide
Tutorials

Worked end-to-end examples, including an LTAO reconstructor for KAPA.

Tutorials
API reference

Generated documentation for every public class, method and property.

API reference

Highlights

  • Two reconstruction modes — model-based (reconstruct the phase, then fit the DM) and interaction-matrix-based (go straight to DM commands).

  • Configuration driven — atmosphere, asterism, WFS, DM and tomography parameters all live in one YAML file, validated on load.

  • CPU and GPU — covariance matrices are computed with NumPy/Numba, or with CuPy when a CUDA device is available. The GPU path is selected automatically.

  • Not just tomography — the same machinery builds reconstructors for single-WFS systems.

Project status

pyTomoAO is under active development at the W. M. Keck Observatory. SLODAR-based turbulence profiling and MCAO reconstructors are on the roadmap; see the issue tracker for what is in flight.