Jupyter walkthroughs, from a five-minute start to calibrating an AO system. Each notebook stands on its own; the "start here" column says which ones you need first.
pip install "aobasis[tutorials]" # aobasis + matplotlib + astropy + Jupyter
jupyter notebook tutorials/| Notebook | What you'll learn | Start here |
|---|---|---|
| 01 · Quickstart | actuator positions → M2C → plot → save, in five minutes | — |
| 02 · A tour of the bases | what KL, Zernike, Fourier, zonal, zonal-fast and Hadamard modes are for, and how to choose | 01 |
| Notebook | What you'll learn | Start here |
|---|---|---|
| 03 · Shaping a basis | piston, tip/tilt and waffle removal; orthonormalization; normalization; Zernike orderings; what the warnings mean | 01 |
| 04 · Actuator geometry | square and hexagonal grids, pitch conventions, obstructions and spiders, your own DM layout, annular Zernikes | 01 |
| Notebook | What you'll learn | Start here |
|---|---|---|
| 05 · KL modes and turbulence | the covariance behind KL, eigenvalues as priors, r0/L0/wavelength, Kolmogorov, phase screens, why KL beats Zernike, GPU | 02 |
| 06 · Influence functions and DM KL | fitting modes onto DM influence functions, coverage and regularization, orthonormal surfaces, DMKLBasisGenerator, measured IFs |
03, 05 |
| 07 · Calibration patterns | measuring interaction matrices with zonal, Hadamard and zonal-fast patterns; noise, frame budgets and modal reconstructors | 02, 06 |
| 08 · Saving and sharing | .npz and FITS files, metadata, rebuilding a basis, handing an M2C to a controller, C2M |
01 |
Ready-to-run scripts for common jobs are in examples/.
Every notebook is executed in CI, so the code and outputs match the current release.