From 543a3cdc990e85977a96256ccd21f1ababcfd411 Mon Sep 17 00:00:00 2001 From: Martin Schubert Date: Wed, 10 Jul 2024 20:31:28 -0700 Subject: [PATCH] print eval metric definitions --- docs/notebooks/ceviche_challenges.ipynb | 21 ++++++++++++++++++++- docs/notebooks/diffractive_splitter.ipynb | 21 ++++++++++++++++++++- docs/notebooks/meta_atom_library.ipynb | 21 ++++++++++++++++++++- docs/notebooks/metagrating.ipynb | 21 ++++++++++++++++++++- docs/notebooks/metalens.ipynb | 21 ++++++++++++++++++++- docs/notebooks/photon_extractor.ipynb | 21 ++++++++++++++++++++- 6 files changed, 120 insertions(+), 6 deletions(-) diff --git a/docs/notebooks/ceviche_challenges.ipynb b/docs/notebooks/ceviche_challenges.ipynb index 81aa00b..d895d1e 100644 --- a/docs/notebooks/ceviche_challenges.ipynb +++ b/docs/notebooks/ceviche_challenges.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [ceviche challenges](https://invrs-io.github.io/gym/notebooks/ceviche_challenge.html).\n", "\n", - "The ceviche challenges are based on \"[Inverse design of photonic devices with strict foundry fabrication constraints](https://doi.org/10.1021/acsphotonics.2c00313)\" by M. F. Schubert et al., and the associated [github repo](https://github.com/google/ceviche-challenges). They entail the design of integrated photonic components such as a beam splitter, mode converter, waveguide bend, and wavelength demultiplexer (wdm)." + "The ceviche challenges are based on \"[Inverse design of photonic devices with strict foundry fabrication constraints](https://doi.org/10.1021/acsphotonics.2c00313)\" by M. F. Schubert et al., and the associated [github repo](https://github.com/google/ceviche-challenges). They entail the design of integrated photonic components such as a beam splitter, mode converter, waveguide bend, and wavelength demultiplexer (wdm).\n", + "\n", + "The eval metric for ceviche challenges is defined in terms of transmission upper and lower bounds that are specified for each challenge, as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "900d5b5b", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.ceviche_beam_splitter().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, { diff --git a/docs/notebooks/diffractive_splitter.ipynb b/docs/notebooks/diffractive_splitter.ipynb index c5a1700..2d353d7 100644 --- a/docs/notebooks/diffractive_splitter.ipynb +++ b/docs/notebooks/diffractive_splitter.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [diffractive splitter challenge](https://invrs-io.github.io/gym/notebooks/diffractive_splitter_challenge.html).\n", "\n", - "The diffractive splitter challenge is based on the “[Design and rigorous analysis of a non-paraxial diffractive beamsplitter](https://www.lighttrans.com/fileadmin/shared/UseCases/Application_UC_Rigorous%20Analysis%20of%20Non-paraxial%20Diffractive%20Beam%20Splitter.pdf)” slide deck retrieved from the LightTrans web site, and entails the design of a metasurface that evenly splits a normally-incident plane wave into a 7x7 array of beams, with diffraction angles of ±15 degrees." + "The diffractive splitter challenge is based on the “[Design and rigorous analysis of a non-paraxial diffractive beamsplitter](https://www.lighttrans.com/fileadmin/shared/UseCases/Application_UC_Rigorous%20Analysis%20of%20Non-paraxial%20Diffractive%20Beam%20Splitter.pdf)” slide deck retrieved from the LightTrans web site, and entails the design of a metasurface that evenly splits a normally-incident plane wave into a 7x7 array of beams, with diffraction angles of ±15 degrees.\n", + "\n", + "The diffractive splitter eval metric is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a805742a", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.diffractive_splitter().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, { diff --git a/docs/notebooks/meta_atom_library.ipynb b/docs/notebooks/meta_atom_library.ipynb index 1391267..8f643b6 100644 --- a/docs/notebooks/meta_atom_library.ipynb +++ b/docs/notebooks/meta_atom_library.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [meta-atom library challenge](https://invrs-io.github.io/gym/notebooks/library_challenge.html).\n", "\n", - "The meta-atom library challenge is based on “[Dispersion-engineered metasurfaces reaching broadband 90% relative diffraction efficiency](https://www.nature.com/articles/s41467-023-38185-2)” by Chen et al., and entails the design of eight meta-atoms for use in broadband, visible-wavelength metasurfaces." + "The meta-atom library challenge is based on “[Dispersion-engineered metasurfaces reaching broadband 90% relative diffraction efficiency](https://www.nature.com/articles/s41467-023-38185-2)” by Chen et al., and entails the design of eight meta-atoms for use in broadband, visible-wavelength metasurfaces.\n", + "\n", + "The meta atom library eval metric is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04502bcc", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.meta_atom_library().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, { diff --git a/docs/notebooks/metagrating.ipynb b/docs/notebooks/metagrating.ipynb index 4b09eea..2bcc103 100644 --- a/docs/notebooks/metagrating.ipynb +++ b/docs/notebooks/metagrating.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [metagrating challenge](https://invrs-io.github.io/gym/notebooks/metagrating_challenge.html).\n", "\n", - "The metagrating challenge is based on “[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/ViewMedia.cfm?uri=josab-41-2-A161)” by Chen et al., and entails the design of a metasurface that deflects a normally-incident plane wave so that it propagates with a polar angle of 50 degrees." + "The metagrating challenge is based on “[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/ViewMedia.cfm?uri=josab-41-2-A161)” by Chen et al., and entails the design of a metasurface that deflects a normally-incident plane wave so that it propagates with a polar angle of 50 degrees.\n", + "\n", + "The metagrating eval metric is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b6574f9", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.metagrating().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, { diff --git a/docs/notebooks/metalens.ipynb b/docs/notebooks/metalens.ipynb index e951611..568542b 100644 --- a/docs/notebooks/metalens.ipynb +++ b/docs/notebooks/metalens.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [metalens challenge](https://invrs-io.github.io/gym/notebooks/metalens_challenge.html).\n", "\n", - "The metalens challenge is based on “[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/ViewMedia.cfm?uri=josab-41-2-A161)” by Chen et al., and entails the design of one-dimensional metalens that focuses normally-incident 450 nm, 550 nm, and 650 nm plane waves to a point 2.4 microns above the metalens surface." + "The metalens challenge is based on “[Validation and characterization of algorithms and software for photonics inverse design](https://opg.optica.org/josab/ViewMedia.cfm?uri=josab-41-2-A161)” by Chen et al., and entails the design of one-dimensional metalens that focuses normally-incident 450 nm, 550 nm, and 650 nm plane waves to a point 2.4 microns above the metalens surface.\n", + "\n", + "The metalens eval metric is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e189811", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.metalens().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, { diff --git a/docs/notebooks/photon_extractor.ipynb b/docs/notebooks/photon_extractor.ipynb index 99e51c6..b741148 100644 --- a/docs/notebooks/photon_extractor.ipynb +++ b/docs/notebooks/photon_extractor.ipynb @@ -9,7 +9,26 @@ "\n", "Visit the invrs-gym docs for the [photon extractor challenge](https://invrs-io.github.io/gym/notebooks/photon_extractor_challenge.html).\n", "\n", - "The metalens 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 entails the design of a patterned GaP layer that enhances the power collected from a nitrogen vacancy defect buried at a depth of 100 nm within a diamond substrate." + "The metalens 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 entails the design of a patterned GaP layer that enhances the power collected from a nitrogen vacancy defect buried at a depth of 100 nm within a diamond substrate.\n", + "\n", + "The photon extractor eval metric is defined as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d53fb9f1", + "metadata": { + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from invrs_gym import challenges\n", + "\n", + "docstring = challenges.photon_extractor().eval_metric.__doc__\n", + "print(\"\\n\".join(docstring.split(\"Args\")[0].split(\"\\n\")[2:-2]))" ] }, {