Skip to content

Commit c394827

Browse files
new functions implemented :)!
1 parent 614ac6d commit c394827

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

README.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,14 @@ The Python files used for the discovery of these optical setups, as detailed in
105105
| **Experiment name** | 🔬 Optical table | 🤖 Optimizer | 📄 File for data |
106106
|----------------|---------------|-----------|----------|
107107
| ***Optical telescope*** | [four_f_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/four_f_optical_table.py) | [four_f_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/four_f_optimizer.py)| [Generate_synthetic_data.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/generate_synthetic_data.py) |
108-
| ***Polarization-based STED*** | [vsted_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/vsted_optical_table.py) | [vsted_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/vsted_optimizer.py)| N/A |
109-
| ***Sharp focus*** | [sharp_focus_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/sharp_focus_optical_table.py) | [sharp_focus_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/sharp_focus_optimizer.py)| N/A |
108+
| ***Pure topological discovery: large-scale sharp focus (Dorn, Quabis and Leuchs, 2004)*** | [hybrid_with_fixed_PM.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_with_fixed_PM.py) | [hybrid_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_optimizer.py)| N/A |
109+
| ***Pure topological discovery: STED microscopy*** | [hybrid_with_fixed_PM.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_with_fixed_PM.py) | [hybrid_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_optimizer.py)| N/A |
110+
| ***6x6 grid: pure topological discovery*** | [six_times_six_ansatz_with_fixed_PM.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/six_times_six_ansatz_with_fixed_PM.py) | [hybrid_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_optimizer.py)| N/A |
111+
| ***Large-scale polarization-based STED*** | [hybrid_sted_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_sted_optical_table.py) | [hybrid_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_optimizer.py)| N/A |
112+
| ***Large-scale sharp focus (Dorn, Quabis and Leuchs, 2004)*** | [hybrid_sharp_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_sharp_optical_table.py) | [hybrid_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/hybrid_optimizer.py)| N/A |
110113

111-
★ The large-scale setup functions are defined in [xl_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/xl_optical_table.py) and [xl_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/xl_optimizer.py).
114+
★ The optical tables and optimizers corresponding to the optimizations in ***previous versions (i.e., not including topological discovery)*** are defined in
115+
[vsted_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/vsted_optical_table.py) with [vsted_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/vsted_optimizer.py); [sharp_focus_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/sharp_focus_optical_table.py) with [sharp_focus_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/sharp_focus_optimizer.py); [xl_optical_table.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/xl_optical_table.py) and [xl_optimizer.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/experiments/xl_optimizer.py).
112116

113117

114118
# 👀 Overview:
@@ -164,6 +168,8 @@ In this section we list the available functions in different files and a brief d
164168
|`sSLM` | *super*-Spatial Light Modulator: adds phase mask (pixel-wise) to $E_x$ and $E_y$ independently. |
165169
| `LCD` | Liquid crystal device: builds any linear wave-plate. |
166170
| `linear_polarizer` | Linear polarizer.|
171+
| `BS_symmetric` | Symmetric beam splitter.|
172+
| `BS_symmetric_SI` | Symmetric beam splitter with single input.|
167173
| `BS` | Single-side coated dielectric beam splitter.|
168174
| `high_NA_objective_lens` | High NA objective lens (only for `VectorizedLight`).|
169175
| `VCZT_objective_lens` | Propagation through high NA objective lens (only for `VectorizedLight`).|
@@ -176,10 +182,16 @@ In this section we list the available functions in different files and a brief d
176182
| `forked_grating` | Forked grating of variable size, orientation, and topological charge. |
177183
| ***Pre-built optical setups*** | - |
178184
| `building_block` | Basic building unit. Consists of a `sSLM`, and `LCD` linked via `VRS_propagation`. |
179-
| `xl_setup` | Optical table with the large set-up (*Fig.6a* of [our paper](https://arxiv.org/abs/2310.08408#)).|
180-
| `vSTED` | Optical table with the vectorial-based STED setup (*Fig.3a* of [our paper](https://arxiv.org/abs/2310.08408#)).|
181-
| `sharp_focus` | Optical table with the sharp focus of a radially polarized light beam setup (*Fig.4a* of [our paper](https://arxiv.org/abs/2310.08408#)).|
182-
| `general_setup` | Optical table with the general setup for large-scale discovery (*Fig.5a* of [our paper](https://arxiv.org/abs/2310.08408#)).|
185+
| `fluorescence`| Fluorescence model.|
186+
| `hybrid_setup_fixed_slms_fluorophores`| 3x3 optical table with SLMs randomly positioned displaying fixed phase masks; to be used for pure topological discovery; contains the fluorescence model in all detectors. (*Fig. 4a* of [our paper](https://arxiv.org/abs/2310.08408#))|
187+
| `hybrid_setup_fixed_slms`| 3x3 optical table with SLMs randomly positioned displaying fixed phase masks; to be used for pure topological discovery. (*Fig. 4b* of [our paper](https://arxiv.org/abs/2310.08408#))|
188+
| `hybrid_setup_fluorophores`| 3x3 optical table to be used for hybrid (topological + optical parameter) discovery; contains the fluorescence model in all detectors . (*Fig. 5a* and *Fig. 6* of [our paper](https://arxiv.org/abs/2310.08408#))|
189+
| `hybrid_setup_sharp_focus`| 3x3 optical table to be used for hybrid (topological + optical parameter) discovery. (*Fig. 5b* of [our paper](https://arxiv.org/abs/2310.08408#))|
190+
| `six_times_six_ansatz`| 6x6 optical table to be used for pure topological discovery. (*Extended Data Fig. 6* of [our paper](https://arxiv.org/abs/2310.08408#))|
191+
| `general_setup` | Optical table with the general setup for large-scale discovery (*Fig. 3* of [our paper](https://arxiv.org/abs/2310.08408#)).|
192+
| `vSTED` | Optical table with the vectorial-based STED setup (*Extended Data Fig. 4a* of [our paper](https://arxiv.org/abs/2310.08408#)).|
193+
| `sharp_focus` | Optical table with the sharp focus of a radially polarized light beam setup (*Extended Data Fig. 4b* of [our paper](https://arxiv.org/abs/2310.08408#)).|
194+
| `xl_setup` | Optical table with the large set-up (*Fig.6a* [previous version v3 of our paper](https://arxiv.org/abs/2310.08408#)).|
183195

184196

185197
4. In [toolbox.py](https://github.com/artificial-scientist-lab/XLuminA/blob/main/xlumina/toolbox.py): file with useful functions.
@@ -190,6 +202,7 @@ In this section we list the available functions in different files and a brief d
190202
| `space` | Builds the space where light is placed. |
191203
| `wrap_phase` | Wraps any phase mask into $[-\pi, \pi]$ range.|
192204
| `is_conserving_energy` | Computes the total intensity from the light source and compares is with the propagated light - [Ref](https://doi.org/10.1117/12.482883).|
205+
| `softmin` | Differentiable version for min() function.|
193206
| `delta_kronecker` | Kronecker delta.|
194207
| `build_LCD_cell` | Builds the cell for `LCD`.|
195208
| `draw_sSLM` | Plots the two phase masks of `sSLM`.|
@@ -203,6 +216,7 @@ In this section we list the available functions in different files and a brief d
203216

204217
| *Function* |*Description*|
205218
|---------------|----|
219+
| `small_area_hybrid` | Small area loss function valid for hybrid (topology + optical parameters) optimization|
206220
| `vMSE_Intensity` | Parallel computation of Mean Squared Error (Intensity) for a given electric field component $E_x$, $E_y$ or $E_z$. |
207221
| `MSE_Intensity` | Mean Squared Error (Intensity) for a given electric field component $E_x$, $E_y$ or $E_z$. |
208222
| `vMSE_Phase` | Parallel computation of Mean Squared Error (Phase) for a given electric field component $E_x$, $E_y$ or $E_z$. |

0 commit comments

Comments
 (0)