Simulating Baldr - the Zernike Wavefront Sensor for Asgard
Project description
BaldrApp
Simulating Baldr - the Zernike Wavefront Sensor for Asgard
Includes
-
a PyQt app for end-to-end simulatations and visualization of Baldr operations (closed and open loop). Try:
python apps/baldr_closed_loop_app/closed_loop_pyqtgraph.py
-
a Streamlit application that simulates a Zernike Wavefront Sensor optical system using Fresnel diffraction propagation to model system mis-alignments. The default setup is for simulating the last (critical) part of the optical train of Baldr. Try:
streamlit run apps/baldr_alignment_app/Baldr_Fresnel_App.py
-
general packaged tools for simulating ZWFS's. These build upon the python pyZELDA package.
Installation
- Clone the repository:
git clone https://github.com/courtney-barrer/BaldrApp
Depends on a forked version of the pyZELDA package (https://github.com/courtney-barrer/pyZELDA) which is specified in the requirements.txt.
if there are path issues after setup try install directly:
pip install pyzelda@git+https://github.com/courtney-barrer/pyZELDA.git@b42aaea5c8a47026783a15391df5e058360ea15e
Features
Key Features:
-
User Inputs via Sidebar:
- Wavelength: Controls the light wavelength in micrometers.
- Zernike Aberration: Users define Zernike mode and coefficient to simulate optical aberrations.
- Phasemask Properties: Diameter, phase shift, on-axis/off-axis transmission coefficients.
- Optical Element Offsets: Users can shift positions of elements like phase mask, lenses, and cold stop.
- Element Inclusion: Toggle the inclusion/exclusion of key components (phase mask, cold stop).
-
System Propagation and Plot:
- Calculates wavefront propagation through a multi-element optical system (lenses, phase mask, cold stop).
- Fresnel diffraction propagation is used to model the interaction of light with optical elements.
- Applies Zernike aberrations to simulate their effect on intensity measured at the detector.
- Visualizes the intensity distribution at the detector using a heatmap.
-
Update Button:
- Plot updates only when the "Update" button is pressed, making the app more efficient.
- Input values are stored in
st.session_stateto prevent unnecessary re-runs.
-
Plotting the Results:
- The app bins and displays the resulting intensity distribution at the detector.
- A heatmap shows how system parameters affect the output.
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 baldrapp-0.1.0.tar.gz.
File metadata
- Download URL: baldrapp-0.1.0.tar.gz
- Upload date:
- Size: 72.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f15f2120be4397aaa3524718343903fc2e67cf0a2a4c1b17888ab6ce09a6cdad
|
|
| MD5 |
95d52f26373d643a0754527af286af27
|
|
| BLAKE2b-256 |
a0eb665ddfe23311b49a8c9d4f45780fbc4ea68173b33f4c139d109209155209
|
File details
Details for the file BaldrApp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: BaldrApp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 73.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f219d8d6c322a829238fa44e189324a3c96a51567e1a354e1588f3edb570c86
|
|
| MD5 |
fe2bb03c26ddb1c9ad72db3c07ab25a9
|
|
| BLAKE2b-256 |
1875fbc69a244fd85c06e24b6d37758da686cbc43cfd9c5c4054966659be0a12
|