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:
- 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.AbstractSpeckleFieldcontract, built on the(E_nom, G)linearizationphysicaloptixprovides, so the image and yield layers consume it unchanged. - 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 commonAbstractEstimatorseam. - Control (
control): electric-field conjugation, stroke minimization, and a predictive law behind a commonAbstractControllerseam, withclose_dark_holeas 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, andrun/sweepdrivers. Custom laws plug in by implementing one method; seeexamples/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 likephysicaloptix).examples/-- worked examples (bring-your-own control algorithm).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d6aacd738a688f979933ccc8684d8ba4c100be5cebdb3eae400eefba69ab90d
|
|
| MD5 |
b80e819978684f1e35d08ee0ce572ee0
|
|
| BLAKE2b-256 |
437691871a41ac34eecf91ab3625c5e7f0bdc50720782edddf9750362eb96929
|
Provenance
The following attestation bundles were made for tiptilt-0.2.0.tar.gz:
Publisher:
publish-to-pypi.yml on CoreySpohn/tiptilt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tiptilt-0.2.0.tar.gz -
Subject digest:
4d6aacd738a688f979933ccc8684d8ba4c100be5cebdb3eae400eefba69ab90d - Sigstore transparency entry: 2204699882
- Sigstore integration time:
-
Permalink:
CoreySpohn/tiptilt@61254a412204502e6c6599bca4a071416242b8be -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/CoreySpohn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@61254a412204502e6c6599bca4a071416242b8be -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bad9f5253ec017134474f1ac59dc245512d8e8b57f9c1fef423827d7018d8e9a
|
|
| MD5 |
7114a4b7e20a2b3b5c26593b17fe399c
|
|
| BLAKE2b-256 |
84e1d5a03d9b5bc683a81c14eeb6a9675f2f971852339bf4895ae1ade1fe424c
|
Provenance
The following attestation bundles were made for tiptilt-0.2.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on CoreySpohn/tiptilt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tiptilt-0.2.0-py3-none-any.whl -
Subject digest:
bad9f5253ec017134474f1ac59dc245512d8e8b57f9c1fef423827d7018d8e9a - Sigstore transparency entry: 2204699884
- Sigstore integration time:
-
Permalink:
CoreySpohn/tiptilt@61254a412204502e6c6599bca4a071416242b8be -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/CoreySpohn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@61254a412204502e6c6599bca4a071416242b8be -
Trigger Event:
push
-
Statement type: