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.2.0.tar.gz (76.0 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.2.0-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tiptilt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4d6aacd738a688f979933ccc8684d8ba4c100be5cebdb3eae400eefba69ab90d
MD5 b80e819978684f1e35d08ee0ce572ee0
BLAKE2b-256 437691871a41ac34eecf91ab3625c5e7f0bdc50720782edddf9750362eb96929

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiptilt-0.2.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.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for tiptilt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bad9f5253ec017134474f1ac59dc245512d8e8b57f9c1fef423827d7018d8e9a
MD5 7114a4b7e20a2b3b5c26593b17fe399c
BLAKE2b-256 84e1d5a03d9b5bc683a81c14eeb6a9675f2f971852339bf4895ae1ade1fe424c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiptilt-0.2.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