From 585bee16ccb8e6dddab8d4468e24a7eaa10d1951 Mon Sep 17 00:00:00 2001 From: Martin Schubert Date: Mon, 4 Nov 2024 08:53:45 -0800 Subject: [PATCH] update readme --- README.md | 165 +++++++++++++++++++++++++++++++++++++--- docs/img/challenges.png | Bin 0 -> 796562 bytes 2 files changed, 155 insertions(+), 10 deletions(-) create mode 100644 docs/img/challenges.png diff --git a/README.md b/README.md index 4791ce6..3865829 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ `v1.4.3` ## Overview -The `invrs_gym` package is an open-source gym containing a diverse set of photonic design challenges, which are relevant for a wide range of applications such as AR/VR, optical networking, LIDAR, and others. +The `invrs_gym` package is an open-source gym containing a diverse set of photonic design challenges, which are relevant for a wide range of applications such as AR/VR, optical networking, LIDAR, and others. For a full description of the gym, see the [manuscript](https://arxiv.org/abs/2410.24132). + +![invrs-gym challenge examples](https://github.com/invrs-io/gym/blob/main/docs/img/challenges.png?raw=true) Each of the challenges consists of a high-dimensional problem in which a physical structure (the photonic device) is optimized. The structure includes typically >10,000 degrees of freedom (DoF), generally including one or more arrays representing the structure or patterning of a layer, and may also include scalar variables representing e.g. layer thickness. In general, the DoF must satisfy certain constraints to be physical: thicknesses must be positive, and layer patterns must be _manufacturable_---they must not include features that are too small, or too closely spaced. @@ -50,16 +52,15 @@ With some plotting, this code will produce the following waveguide bend: ![Animated evolution of waveguide bend design](https://github.com/invrs-io/gym/blob/main/docs/img/waveguide_bend.gif?raw=true) ## Challenges -The current list of challenges is below. Check out the notebooks for ready-to-go examples of each. +The current list of challenges is below. -- The **bayer sorter** chhallenge involves the design of metasurface that replaces the color filter in an image sensor, and is based on "[Pixel-level Bayer-type colour router based on metasurfaces](https://www.nature.com/articles/s41467-022-31019-7)" by Zou et al. -- The **diffractive splitter** challenge involves designing a non-paraxial diffractive beamsplitter useful for 3D sensing, as discussed in [LightTrans documentation](https://www.lighttrans.com/use-cases/application/design-and-rigorous-analysis-of-non-paraxial-diffractive-beam-splitter.html). -- The **ceviche** challenges are jax-wrapped versions of the [Ceviche Challenges](https://github.com/google/ceviche-challenges) open-sourced by Google, with defaults matching "[Inverse Design of Photonic Devices with Strict Foundry Fabrication Constraints](https://pubs.acs.org/doi/10.1021/acsphotonics.2c00313)" by Schubert et al. These were also studied by Ferber et al. in "[SurCo: Learning Linear SURrogates for COmbinatorial Nonlinear Optimization Problems](https://proceedings.mlr.press/v202/ferber23a/ferber23a.pdf)" by Ferber et al. -- The **meta-atom library** challenge is baed on "[Dispersion-engineered metasurfaces reaching broadband 90% relative diffraction efficiency](https://www.nature.com/articles/s41467-023-38185-2)" by Chen et al., and involves the design of 8 meta-atoms for -- The **metagrating** challenge is a re-implementation of the [Metagrating3D](https://github.com/NanoComp/photonics-opt-testbed/tree/main/Metagrating3D) problem using the [fmmax](https://github.com/facebookresearch/fmmax) simulator. -- The **metalens** challenge is a re-implemenation of the [RGB Metalens](https://github.com/NanoComp/photonics-opt-testbed/tree/main/RGB_metalens) problem using the [fmmax](https://github.com/facebookresearch/fmmax) simulator. -constructing a broadband, polarization-insensitive grating. -- The **photon extractor** challenge is based on "[Inverse-designed photon extractors for optically addressable defect qubits](https://opg.optica.org/optica/fulltext.cfm?uri=optica-7-12-1805)" by Chakravarthi et al., and aims to create structures that increase photon extraction efficiency for quantum applications. +- The **metagrating** challenge involves design of a large-angle beam deflector and is based on the [Metagrating3D](https://github.com/NanoComp/photonics-opt-testbed/tree/main/Metagrating3D) problem from "[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/abstract.cfm?uri=josab-41-2-A161)" by Chen et al. +- The **diffractive splitter** challenge involves design of a diffractive optic and is based on "[Design and Rigorous Analysis of Non-Paraxial Diffractive Beam Splitter](https://www.lighttrans.com/use-cases/application/design-and-rigorous-analysis-of-non-paraxial-diffractive-beam-splitter.html)", a LightTrans case study. +- The **meta-atom library** challenge is bassed on "[Dispersion-engineered metasurfaces reaching broadband 90% relative diffraction efficiency](https://www.nature.com/articles/s41467-023-38185-2)" by Chen et al., and involves the design of 8 meta-atoms for polarization-insensitive broadband large-area metasurfaces. +- The **bayer sorter** challenge involves the design of metasurface that replaces the color filter in an image sensor, and is based on "[Pixel-level Bayer-type colour router based on metasurfaces](https://www.nature.com/articles/s41467-022-31019-7)" by Zou et al. +- The **metalens** challenge involves design of a 1D achromatic metalens and is based on the [RGB Metalens](https://github.com/NanoComp/photonics-opt-testbed/tree/main/RGB_metalens) problem from "[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/abstract.cfm?uri=josab-41-2-A161)" by Chen et al. +- The **ceviche** challenges are jax-wrapped versions of the [Ceviche Challenges](https://github.com/google/ceviche-challenges) open-sourced by Google, with defaults matching "[Inverse Design of Photonic Devices with Strict Foundry Fabrication Constraints](https://pubs.acs.org/doi/10.1021/acsphotonics.2c00313)" by Schubert et al. +- The **photon extractor** challenge is based on "[Inverse-designed photon extractors for optically addressable defect qubits](https://opg.optica.org/optica/fulltext.cfm?uri=optica-7-12-1805)" by Chakravarthi et al., and involves design of nanostructures to increase photon collection efficiency for quantum information processing applications. ## Install @@ -67,6 +68,150 @@ constructing a broadband, polarization-insensitive grating. pip install invrs_gym ``` +## Citing the invrs-gym +If you use the gym for your research, please cite, + +``` +@misc{schubert2024invrsgymtoolkitnanophotonicinverse, + title={invrs-gym: a toolkit for nanophotonic inverse design research}, + author={Martin F. Schubert}, + year={2024}, + eprint={2410.24132}, + archivePrefix={arXiv}, + primaryClass={physics.optics}, + url={https://arxiv.org/abs/2410.24132}, +} +``` + +Please also cite the original paper in which the challenge used was introduced (click to expand). + +
+Metagrating challenge + +``` +@article{chen2024validation, + title={Validation and characterization of algorithms and software for photonics inverse design}, + author={Chen, Mo and Christiansen, Rasmus E and Fan, Jonathan A and I{\c{s}}iklar, G{\"o}ktu{\u{g}} and Jiang, Jiaqi and Johnson, Steven G and Ma, Wenchao and Miller, Owen D and Oskooi, Ardavan and Schubert, Martin F, and Wang, Fengwen and Williamson, Ian A D and Xue, Wenjin and Zou, You}, + journal={JOSA B}, + volume={41}, + number={2}, + pages={A161--A176}, + year={2024}, + publisher={Optica Publishing Group} +} +``` + +
+
+Diffractive splitter challenge + +``` +@misc{LightTrans, + author = {LightTrans}, + title = {Design and Rigorous Analysis of Non-Paraxial Diffractive Beam Splitter}, + howpublished = {\url{https://www.lighttrans.com/use-cases/application/design-and-rigorous-analysis-of-non-paraxial-diffractive-beam-splitter.html}}, + note = {Version: 3.1}, +} +``` + +
+
+Meta-atom library challenge + +``` +@article{chen2023dispersion, + title={Dispersion-engineered metasurfaces reaching broadband 90\% relative diffraction efficiency}, + author={Chen, Wei Ting and Park, Joon-Suh and Marchioni, Justin and Millay, Sophia and Yousef, Kerolos MA and Capasso, Federico}, + journal={Nature Communications}, + volume={14}, + number={1}, + pages={2544}, + year={2023}, + publisher={Nature Publishing Group UK London} +} +``` + +
+
+Bayer sorter challenge + +``` +@article{zou2022pixel, + title={Pixel-level Bayer-type colour router based on metasurfaces}, + author={Zou, Xiujuan and Zhang, Youming and Lin, Ruoyu and Gong, Guangxing and Wang, Shuming and Zhu, Shining and Wang, Zhenlin}, + journal={Nature Communications}, + volume={13}, + number={1}, + pages={3288}, + year={2022}, + publisher={Nature Publishing Group UK London} +} +``` + +
+
+Metalens challenge + +``` +@article{chen2024validation, + title={Validation and characterization of algorithms and software for photonics inverse design}, + author={Chen, Mo and Christiansen, Rasmus E and Fan, Jonathan A and I{\c{s}}iklar, G{\"o}ktu{\u{g}} and Jiang, Jiaqi and Johnson, Steven G and Ma, Wenchao and Miller, Owen D and Oskooi, Ardavan and Schubert, Martin F, and Wang, Fengwen and Williamson, Ian A D and Xue, Wenjin and Zou, You}, + journal={JOSA B}, + volume={41}, + number={2}, + pages={A161--A176}, + year={2024}, + publisher={Optica Publishing Group} +} +``` + +
+
+Ceviche challenges + +``` +@article{chen2024validation, + title={Validation and characterization of algorithms and software for photonics inverse design}, + author={Chen, Mo and Christiansen, Rasmus E and Fan, Jonathan A and I{\c{s}}iklar, G{\"o}ktu{\u{g}} and Jiang, Jiaqi and Johnson, Steven G and Ma, Wenchao and Miller, Owen D and Oskooi, Ardavan and Schubert, Martin F, and Wang, Fengwen and Williamson, Ian A D and Xue, Wenjin and Zou, You}, + journal={JOSA B}, + volume={41}, + number={2}, + pages={A161--A176}, + year={2024}, + publisher={Optica Publishing Group} +} +@article{schubert2022inverse, + title={Inverse design of photonic devices with strict foundry fabrication constraints}, + author={Schubert, Martin F and Cheung, Alfred KC and Williamson, Ian AD and Spyra, Aleksandra and Alexander, David H}, + journal={ACS Photonics}, + volume={9}, + number={7}, + pages={2327--2336}, + year={2022}, + publisher={ACS Publications} +} +``` + +
+ +
+Photon extractor challenge + +``` +@article{chakravarthi2020inverse, + title={Inverse-designed photon extractors for optically addressable defect qubits}, + author={Chakravarthi, Srivatsa and Chao, Pengning and Pederson, Christian and Molesky, Sean and Ivanov, Andrew and Hestroffer, Karine and Hatami, Fariba and Rodriguez, Alejandro W and Fu, Kai-Mei C}, + journal={Optica}, + volume={7}, + number={12}, + pages={1805--1811}, + year={2020}, + publisher={Optica Publishing Group} +} +``` + +
+ ## Testing Some tests are marked as slow and are skipped by default. To run these manually, use ``` diff --git a/docs/img/challenges.png b/docs/img/challenges.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb1706678ee11e50bccccf82e10896ba20c27de GIT binary patch literal 796562 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%0Ak3gXo*&)(6InYV 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