Skip to main content

Differentiable wavefront-error generation and wavefront control for the HWO direct imaging simulation suite

Project description

tiptilt

Differentiable wavefront-error generation and wavefront control for the HWO direct imaging simulation suite.

Named for tip and tilt, the humblest wavefront correction.

What it is

tiptilt owns the two halves of the wavefront program that the propagation engine (physicaloptix) deliberately leaves out:

  1. Aberration generation. A physically meaningful mode basis (segment piston/tip/tilt, deformable-mirror influence functions, Zernikes) plus per-mode temporal statistics produce a drifting wavefront-error realization. It is delivered as a time-varying speckle residual implementing the optixstuff.AbstractSpeckleField contract, built on the (E_nom, G) linearization physicaloptix provides, so the image and yield layers consume it unchanged.
  2. Wavefront control. Wavefront-sensor estimators, a reconstructor over the same (E_nom, G) product (electric-field conjugation in space, a modal loop on the ground), and a differentiable control loop that commands the deformable mirror.

Space wavefront control is the priority; atmospheric turbulence shares the loop, the mode basis, and the residual interface.

What is here

  • Aberration sources (speckle, turbulence): a stationary spectrally-factorized drift field, a tabulated replay field, correlated multi-channel realizations, and von Karman / frozen-flow screens.
  • Sensing (sensing): pairwise probe estimation, Zernike wavefront sensor calibration and reconstruction, and Kalman field estimators behind a common AbstractEstimator seam.
  • Control (control): electric-field conjugation, stroke minimization, and a predictive law behind a common AbstractController seam, with close_dark_hole as the driver.
  • Operations (maintenance, multichannel): dark-hole maintenance under injected drift with honest model/truth separation, and cross-channel feed-forward on a shared deformable mirror.
  • Hardware (dm): a programmable actuator-grid deformable mirror (Gaussian influence functions, per-actuator stroke limits) whose command vector is actuator-space, the language published control algorithms speak.
  • Benchmarking (testbed): an algorithm registry, scenario builders (dig from cold, hold against drift, NCPA-limited, dual-channel), metrics, and run/sweep drivers. Custom laws plug in by implementing one method; see examples/custom_controller.py.

The mode-basis constructors it builds on (zernike_basis, segment_ptt_basis, fourier_dm_basis) live in physicaloptix.

Layout

  • src/tiptilt/ -- the package.
  • tests/ -- the test suite (pytest, CPU/x64-pinned like physicaloptix).
  • examples/ -- worked examples (bring-your-own control algorithm).

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

tiptilt-0.1.0.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

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

tiptilt-0.1.0-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

File details

Details for the file tiptilt-0.1.0.tar.gz.

File metadata

  • Download URL: tiptilt-0.1.0.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiptilt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 467c94e41cf932c2261eb6a35f65fa907ba0ac881cc8f99114613f71c35807ba
MD5 55c3e5e1c46e4b7048c066f0243b8e59
BLAKE2b-256 b740741ffd06b75de6475a4fc39e8026f9be40b51685db204bf6f70b956c2710

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiptilt-0.1.0.tar.gz:

Publisher: publish-to-pypi.yml on CoreySpohn/tiptilt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tiptilt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tiptilt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiptilt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e9cac442238b663ebb46f10a099d7bae8b8f140734ccec0e85da78d48cd9ee3a
MD5 b877f5ade7b9debb26934b626663253b
BLAKE2b-256 42faa5ecdb15b55fdca6f38e2a70d14836a20b5cdeaa96525166f40a249db681

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiptilt-0.1.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on CoreySpohn/tiptilt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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