Skip to content

Commit

Permalink
Merge pull request #122 from invrs-io/tweaks
Browse files Browse the repository at this point in the history
docs improvements
  • Loading branch information
mfschubert authored Jul 10, 2024
2 parents a30e6ae + c845ef3 commit 02422f9
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 5 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,14 @@ With some plotting, this code will produce the following waveguide bend:
## Challenges
The current list of challenges is below. Check out the notebooks for ready-to-go examples of each.

- 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).
- 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 **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 **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.
- 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 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.
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.


## Install
Expand Down
26 changes: 25 additions & 1 deletion src/invrs_gym/challenges/bayer/challenge.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,31 @@ def bayer_sorter(
sim_params: bayer_component.BayerSimParams = BAYER_SIM_PARAMS,
symmetries: Sequence[str] = SYMMETRIES,
) -> BayerChallenge:
"""The bayer color sorter challenge."""
"""The bayer color sorter challenge.
The bayer sorter challenge entails the design of a color-sorting metasurface that
replaces the color filter array in a conventional image sensor. The thickness of
the metasurface, and the distance between metasurface and focal plane are further
degrees of freedom. The bayer challenge is based on "Pixel-level Bayer-type colour
router based on metasurfaces" by Zou et al.
https://www.nature.com/articles/s41467-022-31019-7
Args:
minimum_width: The minimum width target for the challenge, in pixels. The
default value of 8 corresponds to a physical size of approximately 80 nm.
minimum_spacing: The minimum spacing target for the challenge, in pixels.
thickness_initializer: Callable which returns the initial thickness, given a
key and seed thickness.
density_initializer: Callble which returns the initial density, given a
key and seed density.
spec: Defines the physical specification of the bayer sorter.
sim_params: Defines the simulation settings of the bayer sorter.
symmetries: Defines the symmetries of the bayer sorter.
Returns:
The `BayerChallenge`.
"""
return BayerChallenge(
component=bayer_component.BayerComponent(
spec=spec,
Expand Down
2 changes: 1 addition & 1 deletion tests/challenges/bayer/test_challenge.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Tests for `bayer.bayer_sorter` challenge.
"""Tests for `bayer.challenge.bayer_sorter` challenge.
Copyright (c) 2023 The INVRS-IO authors.
"""
Expand Down

0 comments on commit 02422f9

Please sign in to comment.