{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 11e - Optimization of Aspheric Lenses via Reinforcement Learning\n", "\n", "In this notebook, we explore how reinforcement learning (RL) can be applied to optimize the design of an aspheric singlet lens. Lens design often involves minimizing the RMS (root mean square) spot size, a performance metric that quantifies the spread of focused light rays. By leveraging RL, we aim to automate this optimization process and discover lens configurations that yield superior optical performance.\n", "\n", "This example uses the **Optiland** Python package for ray tracing and optical system analysis, combined with a custom RL environment designed to evaluate and optimize lens parameters. The process will include:\n", "\n", "1. Defining a configurable aspheric singlet lens with Optiland.\n", "2. Creating a custom RL environment to model the lens design optimization problem.\n", "3. Training an RL agent to learn how to minimize the RMS spot size.\n", "4. Assessing the agent's performance and validating the results.\n", "5. Conclusions and potential future work." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from gymnasium import Env, spaces\n", "from stable_baselines3 import PPO\n", "from stable_baselines3.common.env_checker import check_env\n", "\n", "from optiland import analysis, materials, mtf, optic, psf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 1: Defining a Configurable Aspheric Singlet\n", "\n", "The first step in this workflow is to define the aspheric singlet lens system. For simplicity, we will only optimize the front surface and make the second surface planar.\n", "\n", "To build the configurable lens, we will wrap the `Optic` class from the `optiland.optic` module. The key parameters of the singlet include:\n", "\n", "- **Refractive Index (n):** The refractive index at 0.55 µm.\n", "- **Lens Radius:** The radius of curvature of the front lens surface.\n", "- **Lens Thickness:** The distances between lens surfaces.\n", "- **Lens-to-image Thickness**: The distance from the lens second surface to image plane.\n", "- **Aspheric Coefficients:** Terms used to model an even asphere on the lens surfaces. We use three coefficients.\n", "- **F-number:** The ratio of the lens focal length to the entrance pupil diameter.\n", "\n", "We'll create a configurable class that encapsulates these parameters. This will serve as the foundation for our RL environment.\n", "\n", "Following previous studies [1], we will also enforce a unit focal length. This simplifies optimization, as the agent does not need to learn how to scale the lens. The lens system can later be manually scaled to any desired focal length.\n", "\n", "\n", "###### [1] Côté G, Lalonde J-F, Thibault S (2019a) Extrapolating from lens design databases using deep learning. Opt Express 27(20):28279–28292" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "class SingletConfigurable(optic.Optic):\n", " \"\"\"A configurable aspheric singlet\n", "\n", " Args:\n", " n (float): refractive index at 0.55 µm\n", " radius (float): radius of curvature of the asphere\n", " t1 (float): thickness of the first surface (lens thickness)\n", " t2 (float): thickness of the second surface (thickness to image plane)\n", " coefficients (list): coefficients of the asphere\n", "\n", " \"\"\"\n", "\n", " def __init__(self, n, radius, t1, t2, coefficients, f_number):\n", " super().__init__()\n", "\n", " # define the material for the singlet\n", " mat = materials.IdealMaterial(n=n, k=0)\n", "\n", " # add surfaces\n", " self.surfaces.add(index=0, radius=np.inf, thickness=np.inf)\n", " self.surfaces.add(\n", " index=1,\n", " thickness=t1,\n", " radius=radius,\n", " is_stop=True,\n", " material=mat,\n", " surface_type=\"even_asphere\",\n", " conic=0.0,\n", " coefficients=coefficients,\n", " )\n", " self.surfaces.add(index=2, thickness=t2)\n", " self.surfaces.add(index=3)\n", "\n", " # add aperture\n", " self.set_aperture(aperture_type=\"imageFNO\", value=f_number)\n", "\n", " # add field\n", " self.fields.set_type(field_type=\"angle\")\n", " self.fields.add(y=0.0)\n", "\n", " # add wavelength\n", " self.wavelengths.add(value=0.55, is_primary=True)\n", "\n", " self.scale_to_unity_focal_length()\n", "\n", " def scale_to_unity_focal_length(self):\n", " \"\"\"Scale the system to unity focal length\"\"\"\n", " f = self.paraxial.f2()\n", " self.scale_system(1 / f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We build and draw a sample lens:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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HhDHjh0Tv/vd70RNTY245ZZb5rnypemJJ54QX/va18TDDz88o9esR48eFVarVezYsUO89dZb4p577hE6nU48+eST81PwIrNkgtFbb70lAIhXXnlFW/vtb38rJEkSPT09Z3zfAwcOiLq6OnHq1CkGoznybq7HZL/4xS+E0WgUqVSqGGUuaRs3bhQ333yz9vdMJiNqa2vFzp07p338Jz/5SXHFFVcUrG3atEn8xV/8RVHrLCezvSbvlE6nhd1uF//+7/9erBLLzrlck3Q6LbZs2SL+9V//VVx//fUMRnNottfjX/7lX0RTU5NIJpPzVWLZme01ufnmm8UHP/jBgrUdO3aI9773vUWtsxzN5DXr3/zN34jVq1cXrF1zzTXi0ksvLWJli9eSaaXbt28fnE4nNmzYoK1t3boVsizjpZdeOu37xeNxXHvttbj33ntRXV09H6WWhXO9Hu80MjICh8MBvV5fjDKXrGQyif3792Pr1q3amizL2Lp1K/bt2zft++zbt6/g8QBw6aWXnvbxNDvnck3eKR6PI5VKweVyFavMsnKu1+Rv//Zv4fV68fnPf34+yiwb53I9HnvsMWzevBk333wzfD4f1qxZg+985zvIZDLzVfaSdi7XZMuWLdi/f7/Wbnf06FE88cQTuPzyy+elZirEn+2zs2RebQaDQXi93oI1vV4Pl8uFYDB42ve75ZZbsGXLFnz84x8vdoll5Vyvx2T9/f244447cNNNNxWjxCWtv78fmUwGPp+vYN3n8+Htt9+e9n2CweC0j5/p9aIzO5dr8k7/63/9L9TW1k75IUfn5lyuyd69e/Fv//ZvOHjw4DxUWF7O5XocPXoUTz/9ND7zmc/giSeeQGdnJ77whS8glUrh9ttvn4+yl7RzuSbXXnst+vv78b73vQ9CCKTTafzlX/4lvvrVr85HyfQOp/vZPjo6irGxMVgslhJVtjAt+DtGt956KyRJOuPbTF9UvNNjjz2Gp59+GnfffffcFr2EFfN6TDY6OoorrrgCq1atwre+9a13XzjRIvfd734XDz30EB555BGYzeZSl1OWIpEIrrvuOvzkJz+B2+0udTkEIJvNwuv14sc//jHWr1+Pa665Bl/72tewa9euUpdWtvbs2YPvfOc7+Od//me89tprePjhh/H444/jjjvuKHVpRGe14O8YffnLX8bnPve5Mz6mqakJ1dXVCIfDBevpdBqDg4OnbZF7+umnceTIETidzoL1q666ChdffDH27NnzLipfmop5PSZEIhFs27YNdrsdjzzyCAwGw7stu+y43W7odDqEQqGC9VAodNr//6urq2f1eJqdc7kmE+68805897vfxR/+8Aecd955xSyzrMz2mhw5cgTHjx/HRz/6UW0tm80CUO+It7e3o7m5ubhFL2Hn8jVSU1MDg8EAnU6nra1cuRLBYBDJZBJGo7GoNS9153JNvvGNb+C6667Dn//5nwMA1q5di1gshptuuglf+9rXIMsL/nfyS8rpfrY7HA7eLZrGgv/X6fF4sGLFijO+GY1GbN68GcPDw9i/f7/2vk8//TSy2Sw2bdo07ce+9dZb8frrr+PgwYPaGwD88Ic/xP333z8fT2/RKeb1ANQ7RR/5yEdgNBrx2GOP8Tfj58hoNGL9+vXYvXu3tpbNZrF7925s3rx52vfZvHlzweMB4Kmnnjrt42l2zuWaAMD3v/993HHHHXjyyScL9uzRuzfba7JixQq88cYbBT8zPvaxj+GP/uiPcPDgQfj9/vksf8k5l6+R9773vejs7NQCKgB0dHSgpqaGoWgOnMs1icfjU8LPRHAVQhSvWJoWf7bPUqmnP8ylbdu2iQsuuEC89NJLYu/evaK1tbVgPPTJkydFW1ubeOmll077McCpdHNmttdjZGREbNq0Saxdu1Z0dnaKU6dOaW/pdLpUT2PReuihh4TJZBI//elPxVtvvSVuuukm4XQ6RTAYFEIIcd1114lbb71Ve/zzzz8v9Hq9uPPOO8WhQ4fE7bffznHdc2y21+S73/2uMBqN4le/+lXB10MkEinVU1hyZntN3olT6ebWbK9Hd3e3sNvtYvv27aK9vV385je/EV6vV/zd3/1dqZ7CkjPba3L77bcLu90u/vM//1McPXpU/P73vxfNzc3ik5/8ZKmewpISiUTEgQMHxIEDBwQAcdddd4kDBw6Irq4uIYQQt956q7juuuu0x0+M6/7KV74iDh06JO69916O6z6DJRWMBgYGxKc//WmhKIpwOBzihhtuKHgBcezYMQFAPPPMM6f9GAxGc2e21+OZZ54RAKZ9O3bsWGmexCJ3zz33iIaGBmE0GsXGjRvFiy++qP1vl1xyibj++usLHv+LX/xCBAIBYTQaxerVq8Xjjz8+zxUvfbO5Jo2NjdN+Pdx+++3zX/gSNtuvk8kYjObebK/HCy+8IDZt2iRMJpNoamoSf//3f89fps2x2VyTVColvvWtb4nm5mZhNpuF3+8XX/jCF8TQ0ND8F74Ene610sQ1uP7668Ull1wy5X3OP/98YTQaRVNTk7j//vvnve7FQhKC9zWJiIiIiKi8Lfg9RkRERERERMXGYERERERERGWPwYiIiIiIiMoegxEREREREZU9BiMiIiIiIip7DEZERERERFT2GIyIiIiIiKjsMRgREREREVHZYzAiIiIiIqKyx2BERERERERlj8GIiIiIiIjKHoMRERERERGVvf8PVGC9FeRsqbcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lens = SingletConfigurable(\n", " n=1.5,\n", " radius=75,\n", " t1=10,\n", " t2=150,\n", " coefficients=[0, 0, 0],\n", " f_number=3,\n", ")\n", "lens.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 2: Creating the RL Environment for Lens Optimization\n", "\n", "To apply reinforcement learning, we need to define the problem as an RL environment. The environment models the process of optimizing the lens design, with the following key components:\n", "\n", "- **System State:** Represents the lens parameters (e.g., refractive index, radius, thicknesses, aspheric coefficients). Used to generate a lens for RMS spot size calculation.\n", "- **Observation Space**: Represents the observables of the system, including all lens parameters, the F-number and the RMS spot size.\n", "- **Action Space:** Defines how the agent can adjust the system state during optimization.\n", "- **Reward Function:** Guides the RL agent by providing feedback on the quality of the current lens configuration. In this case, the reward penalizes increases in RMS spot size and incentivizes quickly achieving a smaller RMS.\n", "\n", "We'll implement the environment using the [OpenAI Gym](https://gymnasium.farama.org/) API. The environment will also handle edge cases, such as invalid lens configurations or `NaN` values, to ensure robust training.\n", "\n", "Following recommendation from the [Stable Baselines3 documentation](https://stable-baselines3.readthedocs.io/en/master/guide/rl_tips.html), we will scale the observation and action spaces to the range [-1, 1]. We only unscale the parameters when needed to generate a lens system." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "class LensDesignEnv(Env):\n", " \"\"\"Custom RL environment for optimizing lens design parameters.\n", "\n", " Args:\n", " max_steps (int): maximum number of steps per episode\n", "\n", " \"\"\"\n", "\n", " def __init__(self, max_steps=100):\n", " self.max_steps = max_steps\n", " self.current_step = 0\n", " self.rms_threshold = -0.999999\n", "\n", " # Observation space: (n, radius, t1, t2, coefficients (x3), f/#, rms spot size)\n", " self.observation_space = spaces.Box(\n", " low=-1,\n", " high=1,\n", " shape=(9,),\n", " dtype=np.float32,\n", " )\n", "\n", " # Action space: (n, radius, t1, t2, coefficients (x3))\n", " self.action_space = spaces.Box(low=-1, high=1, shape=(7,), dtype=np.float32)\n", "\n", " # Lens parameter ranges (unscaled)\n", " self.low = np.array([1.2, 15, 1, 1, -1e-3, -1e-3, -1e-3])\n", " self.high = np.array([1.8, 500, 5, 500, 1e-3, 1e-3, 1e-3])\n", "\n", " self.state = None\n", " self.prev_rms_spot_size = None # To track changes in RMS between steps\n", " self.reset()\n", "\n", " def reset(self, seed=None):\n", " \"\"\"Resets the environment and initializes a random state.\"\"\"\n", " if seed is not None:\n", " np.random.seed(seed)\n", "\n", " self.current_step = 0\n", " self.state = np.random.uniform(-1, 1, size=7).astype(np.float32)\n", " f_number = np.random.uniform(1, 8)\n", " self.f_number = np.float32((f_number - 1) / 3.5 - 1) # Scale to [-1, 1]\n", " rms = self._get_rms_spot_size()\n", " self.prev_rms_spot_size = rms # Initialize previous RMS\n", "\n", " return self._get_obs(rms), {}\n", "\n", " def step(self, action):\n", " \"\"\"Applies the action, computes the next state, reward, and termination flags.\"\"\"\n", " # Update state with action and clip to valid range\n", " self.state = np.clip(self.state + action, -1, 1)\n", "\n", " # Compute observation and RMS spot size\n", " rms_spot_size = self._get_rms_spot_size()\n", " obs = self._get_obs(rms_spot_size)\n", "\n", " # Calculate reward\n", " reward, done, truncated = self._compute_reward_and_flags(rms_spot_size)\n", "\n", " # Update previous RMS spot size\n", " self.prev_rms_spot_size = rms_spot_size\n", "\n", " # Increment step counter\n", " self.current_step += 1\n", " if self.current_step >= self.max_steps:\n", " done = True\n", "\n", " return obs, float(reward), done, truncated, {}\n", "\n", " def render(self, mode=\"human\"):\n", " \"\"\"Renders the current state (prints to console).\"\"\"\n", " print(f\"Current State: {self.state}\")\n", "\n", " def _get_obs(self, rms):\n", " \"\"\"Constructs the observation vector including the state, f-number, and RMS spot size.\"\"\"\n", " if np.isnan(rms):\n", " rms = np.float32(1)\n", " return np.concatenate([self.state, [self.f_number, rms]])\n", "\n", " def _unscale_state(self):\n", " \"\"\"Converts the scaled state back to the original parameter range.\"\"\"\n", " return self.low + 0.5 * (self.state + 1) * (self.high - self.low)\n", "\n", " def _scale_rms(self, rms):\n", " \"\"\"Scales the RMS spot size to the range [-1, 1].\"\"\"\n", " rms = np.clip(rms, 0, 1e3)\n", " return np.float32(2 * rms / 1e3 - 1)\n", "\n", " def _get_rms_spot_size(self):\n", " \"\"\"Calculates the RMS spot size based on the current lens configuration.\"\"\"\n", " state = self._unscale_state()\n", " n, radius, t1, t2 = state[:4]\n", " coefficients = state[4:7]\n", " f_number = 3.5 * (self.f_number + 1) + 1 # Scale to [1, 8]\n", "\n", " # Initialize lens configuration and compute RMS spot size\n", " self.lens = SingletConfigurable(\n", " n=n,\n", " radius=radius,\n", " t1=t1,\n", " t2=t2,\n", " coefficients=coefficients,\n", " f_number=f_number,\n", " )\n", " spot = analysis.SpotDiagram(self.lens)\n", " rms = spot.rms_spot_radius()[0][0]\n", "\n", " return self._scale_rms(rms)\n", "\n", " def _compute_reward_and_flags(self, rms_spot_size):\n", " \"\"\"Computes the reward, done, and truncated flags based on the RMS spot size.\"\"\"\n", " done = False\n", " truncated = False\n", "\n", " if np.isnan(rms_spot_size):\n", " reward = -1000 # Heavy penalty for NaN outputs\n", " done = True\n", " truncated = True\n", " else:\n", " # Reward RMS near -1 (minimum spot size)\n", " reward = -0.1 * np.log(max([rms_spot_size + 1, 1e-6]))\n", "\n", " # Penalize increases in RMS spot size\n", " if (\n", " self.prev_rms_spot_size is not None\n", " and rms_spot_size > self.prev_rms_spot_size\n", " ):\n", " delta = rms_spot_size - self.prev_rms_spot_size\n", " reward -= 10 * delta\n", "\n", " # Step penalty to encourage faster convergence\n", " reward -= 2.0\n", "\n", " # Check for early stopping if RMS spot size is below the threshold\n", " if rms_spot_size < self.rms_threshold:\n", " reward += 10 # Bonus for achieving the goal\n", " done = True\n", "\n", " # Final reward adjustment if the episode ends successfully\n", " if done and not truncated:\n", " reward -= 1 * np.log(max([rms_spot_size + 1, 1e-6]))\n", "\n", " return reward, done, truncated" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 3: Training the RL Agent to Minimize RMS Spot Size\n", "\n", "Once the environment is defined, we can train an RL agent to optimize the lens design. The agent interacts with the environment iteratively, adjusting lens parameters and receiving feedback in the form of rewards. We will use Proximal Policy Optimization (PPO) for the RL algorithm and we will train over 100,000 time steps. This takes 5 minutes on the author's machine.\n", "\n", "The goal is to train an agent capable of discovering high-performance lens configurations efficiently, while avoiding undesirable solutions (e.g., large RMS spot sizes or invalid designs)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "env = LensDesignEnv()\n", "check_env(env) # check validity of the environment" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Train the RL agent\n", "model = PPO(\"MlpPolicy\", env, verbose=0, device=\"cpu\")\n", "model.learn(total_timesteps=100_000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 4: Assessing the Trained Agent and Validating Performance\n", "\n", "After training, we evaluate the RL agent's ability to optimize lenses. This involves:\n", "\n", "1. Generating new optimized aspheric singlets.\n", "2. Compute spot size diagram to confirm minimal RMS spot size.\n", "3. Compute other performance metrics/charts, including ray aberration fans, PSF, Strehl ratio and MTF. This confirms the design is diffraction-limited." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def generate_new_design(env, model):\n", " \"\"\"Generates a new lens design using the trained RL agent.\"\"\"\n", " is_successful = False\n", " while not is_successful:\n", " # Test the agent\n", " obs, _ = env.reset()\n", " done = False\n", "\n", " rewards = []\n", " num_runs = 0\n", " while not done:\n", " action, _states = model.predict(obs)\n", " obs, reward, done, truncated, _ = env.step(action)\n", " rewards.append(reward)\n", " num_runs += 1\n", "\n", " is_successful = np.sum(rewards) > -100 # chosen threshold for successful design\n", "\n", " return env.lens, num_runs, np.sum(rewards)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We generate 3 new singlet designs. The last generated lens will be used for further analysis." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total reward: -39.4, Average reward: -0.7, Number of runs: 54\n" ] }, { "data": { "image/png": "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LVsmZ8AViMFpAuzatUsAEH/84x+NY7/97W+FJEniww8/HPP3+eUvfylUVRWJRKIUwyQhxNKlS8WNN95ofJ1KpURzc7NYu3Zt0fM///nPiwsvvNByrLW1Vfzrv/5rScdJVuO9b4WSyaTwer3iySefLNUQaRhHcu+SyaQ466yzxI9+9CNx1VVXMTiVyXjv3Q9/+EMxd+5coev6ZA2RhjHee3fjjTeK8847z3Js5cqV4uyzzy7pOGl4YwlOt912mzjllFMsxy699FKxbNmyEo6ssnGq3gTo7OxEdXU1lixZYhxrb2+HLMvYvn37mL/PwMAAqqqqYLfbSzHMiqfrOnbs2IH29nbjmCzLaG9vR2dnZ9FrOjs7LecDwLJly4Y9nybekdy3QtFoFIlEArW1taUaJhVxpPfuW9/6FhoaGnDttddOxjCpiCO5d8899xza2tpw4403orGxEaeeeiruu+8+pFKpyRo24cju3VlnnYUdO3YY0/n27duHF154ARdccMGkjJmODN+jTD6+Q58AXV1daGhosByz2+2ora1FV1fXmL5HIBDAmjVrcP3115diiITM33EqlUJjY6PleGNjI955552i13R1dRU9f6z3lY7ekdy3Qv/+7/+O5ubmIf+DodI6knv38ssv48c//jF27tw5CSOk4RzJvdu3bx9efPFFXHHFFXjhhRewd+9e3HDDDUgkEli9evVkDJtwZPfuC1/4AgKBAM455xwIIZBMJvHlL38Zd9xxx2QMmY7QcO9RgsEgYrEYnE5nmUY2c7HiNIJVq1ZBkqQRH2N94zaSYDCICy+8ECeffDK++c1vHv3Aichw//33Y/PmzXjmmWfgcDjKPRwaQSgUwpVXXonHHnsMfr+/3MOhcUqn02hoaMCjjz6KxYsX49JLL8Wdd96JjRs3lntoNIpt27bhvvvuww9+8AO8+eab+NWvfoXnn38ea9asKffQiKYUVpxGcOutt+Lqq68e8Zy5c+eiqakJhw4dshxPJpPo6+tDU1PTiNeHQiEsX74cXq8XzzzzDBRFOdph0zD8fj9sNhu6u7stx7u7u4e9T01NTeM6nybekdy3nIcffhj3338/fv/73+P0008v5TCpiPHeu3fffRfvvfcePvOZzxjH0uk0gEwVf8+ePZg3b15pB00AjuznbtasWVAUBTabzTh20kknoaurC7quQ1XVko6ZMo7k3t1999248sor8aUvfQkAcNpppyESieD666/HnXfeCVnmv7NPRcO9R6mqqmK1qUT4kzCC+vp6nHjiiSM+VFVFW1sb+vv7sWPHDuPaF198Eel0Gq2trcN+/2AwiE996lNQVRXPPfcc/zW8xFRVxeLFi9HR0WEcS6fT6OjoQFtbW9Fr2traLOcDwNatW4c9nybekdw3AHjwwQexZs0abNmyxbL+kCbPeO/diSeeiLfffhs7d+40Hp/97GfxT//0T9i5cydaWlomc/gV7Uh+7s4++2zs3bvXCLsA8Le//Q2zZs1iaJpER3LvotHokHCUC8BCiNINlo4K36OUQbm7U8wUy5cvFx//+MfF9u3bxcsvvywWLFhgaUf+wQcfiBNOOEFs375dCCHEwMCAaG1tFaeddprYu3ev+Oijj4xHMpks18uY8TZv3iw0TRNPPPGE2LVrl7j++utFdXW16OrqEkIIceWVV4pVq1YZ57/yyivCbreLhx9+WOzevVusXr2a7cjLYLz37f777xeqqor//M//tPxshUKhcr2EijXee1eIXfXKZ7z37sCBA8Lr9YoVK1aIPXv2iN/85jeioaFB3HvvveV6CRVrvPdu9erVwuv1ip///Odi37594ne/+52YN2+e+PznP1+ul1CRQqGQeOutt8Rbb70lAIhHHnlEvPXWW+Lvf/+7EEKIVatWiSuvvNI4P9eO/Otf/7rYvXu32LBhA9uRlxiD0wTp7e0Vl19+ufB4PKKqqkpcc801ljdp+/fvFwDESy+9JIQQ4qWXXhIAij72799fnhdRIdavXy+OPfZYoaqqWLp0qXjttdeM584991xx1VVXWc7/5S9/KT72sY8JVVXFKaecIp5//vlJHjEJMb77dtxxxxX92Vq9evXkD5zG/TNnxuBUXuO9d6+++qpobW0VmqaJuXPniv/4j//gPwaWyXjuXSKREN/85jfFvHnzhMPhEC0tLeKGG24Qhw8fnvyBV7Dh3hvm7tVVV10lzj333CHXLFy4UKiqKubOnSsef/zxSR93JZGEYA2WiIiIiIhoJFzjRERERERENAoGJyIiIiIiolEwOBEREREREY2CwYmIiIiIiGgUDE5ERERERESjYHAiIiIiIiIaBYMTERERERHRKBiciIiIiIiIRsHgRERERERENAoGJyIiIiIiolEwOBEREREREY2CwYmIiIiIiGgU/x8Xddt82BYheQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Total reward: -46.7, Average reward: -0.8, Number of runs: 58\n" ] }, { "data": { "image/png": "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nTvFgw8+KBRFEVu2bJmbATcxBqMmtnPnTgFAvPbaa+Z9zz33nJAkSRw8ePCkP89Pf/pToaqqyGazlRhmw1uxYoW4+eabzffz+bzo7OwUGzdunPb4L3zhC+Lyyy8vu2/lypXiz/7szyo6zmYy03NyrFwuJ1wul/jP//zPSg2x6ZzKOcnlcuKiiy4S//7v/y6uu+46BqMKmOl5+bd/+zexYMECkclk5mqITWem5+Tmm28Wn/jEJ8ruW79+vbj44osrOs5mdTLB6K//+q/FWWedVXbfVVddJS699NIKjoyEEIJL6ZrY9u3b4fV6sXz5cvO+NWvWQJZlvPrqqyf9eSKRCNxuNywWSyWG2dAymQx27NiBNWvWmPfJsow1a9Zg+/bt037M9u3by44HgEsvvfS4x9PMnMo5OVYikUA2m4Xf76/UMJvKqZ6Tv/3bv0Vrayu+/OUvz8Uwm86pnJennnoKq1atws0334y2tjacffbZ+OY3v4l8Pj9Xw25op3JOLrroIuzYscNcbrd37148++yzuOyyy+ZkzDQVf89XD1/JNrGhoSG0traW3WexWOD3+zE0NHRSn2N4eBj33nsvbrrppkoMseENDw8jn8+jra2t7P62tja8++67037M0NDQtMef7DmjEzuVc3Ksv/mbv0FnZ+eUX2x0ak7lnLz44ov4j//4D7z55ptzMMLmdCrnZe/evXjhhRdwzTXX4Nlnn8WePXvwla98BdlsFnfddddcDLuhnco5+eIXv4jh4WFccsklEEIgl8vhz//8z/G1r31tLoZM0zje7/loNIpkMgm73V6lkTU+zhg1oA0bNkCSpBO+newLvBOJRqO4/PLLceaZZ+Luu+/+8AMnagD33XcfNm/ejCeeeAI2m63aw2lKsVgM1157Lb73ve8hGAxWezg0SaFQQGtrKx5++GEsW7YMV111Fe644w5s2rSp2kNrWtu2bcM3v/lN/Ou//itef/11PP7443jmmWdw7733VntoRHOOM0YN6Ktf/Squv/76Ex6zYMECtLe348iRI2X353I5jI6Oor29/YQfH4vFsHbtWrhcLjzxxBOwWq0fdthNKRgMQlEUHD58uOz+w4cPH/cctLe3z+h4mplTOScl999/P+677z784he/wNKlSys5zKYy03Py/vvvo6+vD1dccYV5X6FQAGDMiu/evRsLFy6s7KCbwKl8r3R0dMBqtUJRFPO+M844A0NDQ8hkMlBVtaJjbnSnck6+8Y1v4Nprr8Wf/umfAgDOOeccxONx3HTTTbjjjjsgy/wb+lw73u95t9vN2aIK47/2BtTS0oIlS5ac8E1VVaxatQrhcBg7duwwP/aFF15AoVDAypUrj/v5o9EoPv3pT0NVVTz11FP8q/iHoKoqli1bhq1bt5r3FQoFbN26FatWrZr2Y1atWlV2PAA8//zzxz2eZuZUzgkAfPvb38a9996LLVu2lF23Rx/eTM/JkiVL8NZbb+HNN9803/7wD/8QH//4x/Hmm2+iu7t7LoffsE7le+Xiiy/Gnj17zKAKAO+99x46OjoYimbBqZyTRCIxJfyUgqsQonKDpePi7/kqqnb7A1XX2rVrxfnnny9effVV8eKLL4pFixaV1XUfOHBALF68WLz66qtCCCEikYhYuXKlOOecc8SePXvEoUOHzLdcLletp1HXNm/eLDRNEz/84Q/Fzp07xU033SS8Xq8YGhoSQghx7bXXig0bNpjHv/TSS8JisYj7779f7Nq1S9x1112s655lMz0n9913n1BVVfzXf/1X2fdELBar1lNoODM9J8diK11lzPS8DAwMCJfLJdatWyd2794tnn76adHa2ir+7u/+rlpPoeHM9JzcddddwuVyiR//+Mdi79694r//+7/FwoULxRe+8IVqPYWGE4vFxBtvvCHeeOMNAUB897vfFW+88Ybo7+8XQgixYcMGce2115rHl+q6/+qv/krs2rVLPPTQQ6zrniMMRk1uZGREXH311cLpdAq32y1uuOGGshdz+/btEwDEL3/5SyGEEL/85S8FgGnf9u3bV50n0QAefPBB0dPTI1RVFStWrBCvvPKK+djq1avFddddV3b8T3/6U3H66acLVVXFWWedJZ555pk5HnHjm8k56e3tnfZ74q677pr7gTewmX6fTMZgVDkzPS8vv/yyWLlypdA0TSxYsED8/d//Pf+wNstmck6y2ay4++67xcKFC4XNZhPd3d3iK1/5ihgbG5v7gTeo4712Kp2H6667TqxevXrKx5x33nlCVVWxYMEC8YMf/GDOx92MJCE4T0pERERERM2N1xgREREREVHTYzAiIiIiIqKmx2BERERERERNj8GIiIiIiIiaHoMRERERERE1PQYjIiIiIiJqegxGRERERETU9BiMiIiIiIio6TEYERERERFR02MwIiIiIiKipsdgRERERERETe//Aa+OsHdbrQa+AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Total reward: 22.1, Average reward: 11.0, Number of runs: 2\n" ] }, { "data": { "image/png": "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GsoEorC/S4FZGZyG/uPMnze3wiMhIiIiIqLpIBwOw+PxjPq6JEpFqxkonU7j008/hdvtzvXeOVZCoRDa2trw0Ucfoaqq6ph+baos3tuZifd15uK9nZl4X2cu3tuZa7rfWyEEwuEwWlpaIMujP8k0K2ecZFnGnDlzyvo9qqqqpuX/GHT0eG9nJt7XmYv3dmbifZ25eG9nrul8b8eaaRrC4hBEREREREQlMDgRERERERGVwOB0jGmahrVr10LTtEoPhY4x3tuZifd15uK9nZl4X2cu3tuZa6bc21lZHIKIiIiIiGgiOONERERERERUAoMTERERERFRCQxOREREREREJTA4ERERERERlcDgREREREREVAKD0zHQ39+Pq666ClVVVfB6vbjuuusQiUTGPP7mm2/GqaeeCrvdjhNOOAHf+ta3EAwGp3DUNJKNGzfipJNOgs1mQ0dHB/74xz+Oefyzzz6LBQsWwGaz4cwzz8TLL788RSOliZjIfX3iiSfwxS9+EdXV1aiursbSpUtL/n9AlTPRn9khW7ZsgSRJuOSSS8o7QJqUid7XQCCAm266Cc3NzdA0Daeccgr/Pp6mJnpvH3vssdz7pba2Ntx6660YHBycotHSePzhD3/AV7/6VbS0tECSJLzwwgslz3n11Vfxuc99Dpqm4eSTT8ZTTz1V9nEeE4KO2vLly8VZZ50l3nzzTfE///M/4uSTTxZXXnnlqMe/88474tJLLxVbt24V77//vujq6hLt7e3isssum8JRU6EtW7YIVVXFL37xC/HXv/5VXH/99cLr9Yre3t4Rj3/99deFxWIRDz30kNizZ4+4++67haIo4p133pnikdNYJnpfv/71r4uNGzeKXbt2ib1794prrrlGeDwe8fHHH0/xyKmUid7bIQcPHhStra3ii1/8oviHf/iHqRksjdtE76uu62Lx4sXioosuEq+99po4ePCgePXVV8Xu3buneORUykTv7TPPPCM0TRPPPPOMOHjwoPiv//ov0dzcLG699dYpHjmN5eWXXxZ33XWXeO655wQA8fzzz495/IEDB4TD4RCrV68We/bsERs2bBAWi0Vs27ZtagZ8FBicjtKePXsEAPHWW2/l9v3nf/6nkCRJfPLJJ+P+Or/+9a+FqqoikUiUY5g0DkuWLBE33XRT7vNUKiVaWlrE+vXrRzz+a1/7mrj44otN+zo6OsQ//dM/lXWcNDETva+FksmkcLvd4umnny7XEGmSJnNvk8mkOPfcc8W///u/i5UrVzI4TUMTva8/+9nPxLx584RhGFM1RJqkid7bm266SVxwwQWmfatXrxbnnXdeWcdJkzee4HT77beL008/3bTv8ssvF8uWLSvjyI4NLtU7St3d3fB6vVi8eHFu39KlSyHLMnbs2DHurxMMBlFVVQWr1VqOYVIJhmFg586dWLp0aW6fLMtYunQpuru7Rzynu7vbdDwALFu2bNTjaepN5r4WisViSCQSqKmpKdcwaRIme29/8IMfoKGhAdddd91UDJMmaDL3devWrejs7MRNN92ExsZGnHHGGbj//vuRSqWmatg0DpO5t+eeey527tyZW8534MABvPzyy7joooumZMxUHsfz+ye+Sz9KPT09aGhoMO2zWq2oqalBT0/PuL6Gz+fDunXrcMMNN5RjiDQOPp8PqVQKjY2Npv2NjY149913Rzynp6dnxOPHe9+p/CZzXwv9y7/8C1paWor+kqfKmsy9fe211/Dzn/8cu3fvnoIR0mRM5r4eOHAAr7zyCq666iq8/PLLeP/993HjjTcikUhg7dq1UzFsGofJ3Nuvf/3r8Pl8+MIXvgAhBJLJJL75zW/izjvvnIohU5mM9v4pFAohHo/DbrdXaGSlccZpFGvWrIEkSWP+Ge8br7GEQiFcfPHF+MxnPoPvf//7Rz9wIjpmHnjgAWzZsgXPP/88bDZbpYdDRyEcDmPFihV44oknUFdXV+nh0DGUTqfR0NCAxx9/HIsWLcLll1+Ou+66C5s2bar00Ogovfrqq7j//vvx05/+FG+//Taee+45vPTSS1i3bl2lh0azFGecRnHbbbfhmmuuGfOYefPmoampCUeOHDHtTyaT6O/vR1NT05jnh8NhLF++HG63G88//zwURTnaYdMk1dXVwWKxoLe317S/t7d31PvY1NQ0oeNp6k3mvg555JFH8MADD+C///u/8dnPfracw6RJmOi93b9/Pz744AN89atfze1Lp9MAMqsE9u3bh/nz55d30FTSZH5mm5uboSgKLBZLbt9pp52Gnp4eGIYBVVXLOmYan8nc23vuuQcrVqzAN77xDQDAmWeeiWg0ihtuuAF33XUXZJm//z8ejfb+qaqqalrPNgGccRpVfX09FixYMOYfVVXR2dmJQCCAnTt35s595ZVXkE6n0dHRMerXD4VC+PKXvwxVVbF161b+NrvCVFXFokWL0NXVlduXTqfR1dWFzs7OEc/p7Ow0HQ8A27dvH/V4mnqTua8A8NBDD2HdunXYtm2b6flFmj4mem8XLFiAd955B7t37879+fu//3t86Utfwu7du9HW1jaVw6dRTOZn9rzzzsP777+fC8IA8N5776G5uZmhaRqZzL2NxWJF4WgoIAshyjdYKqvj+v1TpatTzATLly8XZ599ttixY4d47bXXRHt7u6kc+ccffyxOPfVUsWPHDiGEEMFgUHR0dIgzzzxTvP/+++Lw4cO5P8lkslKXMett2bJFaJomnnrqKbFnzx5xww03CK/XK3p6eoQQQqxYsUKsWbMmd/zrr78urFareOSRR8TevXvF2rVrWY58GprofX3ggQeEqqriN7/5jelnMxwOV+oSaBQTvbeFWFVveprofT106JBwu91i1apVYt++feK3v/2taGhoEPfdd1+lLoFGMdF7u3btWuF2u8Uvf/lLceDAAfG73/1OzJ8/X3zta1+r1CXQCMLhsNi1a5fYtWuXACAeffRRsWvXLvHhhx8KIYRYs2aNWLFiRe74oXLk3/3ud8XevXvFxo0bWY58NvH7/eLKK68ULpdLVFVViWuvvdb0JuvgwYMCgPj9738vhBDi97//vQAw4p+DBw9W5iJICCHEhg0bxAknnCBUVRVLliwRb775Zu61888/X6xcudJ0/K9//WtxyimnCFVVxemnny5eeumlKR4xjcdE7uuJJ5444s/m2rVrp37gVNJEf2bzMThNXxO9r2+88Ybo6OgQmqaJefPmiX/913/lLyKnqYnc20QiIb7//e+L+fPnC5vNJtra2sSNN94oBgYGpn7gNKrR3tcO3cuVK1eK888/v+ichQsXClVVxbx588STTz455eOeDEkIznUSERERERGNhc84ERERERERlcDgREREREREVAKDExERERERUQkMTkRERERERCUwOBEREREREZXA4ERERERERFQCgxMREREREVEJDE5EREREREQlMDgRERERERGVwOBERERERERUAoMTERERERFRCf8P+aDiGogvqjUAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for _ in range(3):\n", " lens, num_runs, total_reward = generate_new_design(env, model)\n", " print(\n", " f\"Total reward: {total_reward:.1f}, Average reward: {total_reward / num_runs:.1f}, Number of runs: {num_runs}\",\n", " )\n", " lens.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It appears that the agent is much better at optimizing lenses with larger F-numbers. Additional training, or reward function tuning, would likely improve the agent's ability further for faster lenses." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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9+7dNW3aND3yyCN10t98880qLS3VihUrXNuGDRumlJQUzZ8/X8YYJSYm6sEHH9SvfvUrSVJxcbHi4+O1aNEijR8/Xrt27VL//v21efNmpaamSpJWrVqlUaNG6eDBg0pMTHQde+bMmTp06JCGDx+u6dOnq6ioqNF1Y4obAECg4h0IX+M3LciVlZXaunWr0tPTXdusVqvS09OVnZ1db57s7GyP9JI0YsQIV/p9+/YpLy/PI01kZKSGDh3qSpOdna2oqChXcCxJ6enpslqt2rhxo2vbmjVrtHTpUs2bN6/llQUAAIDX+M08yEePHlVNTY3i4+M9tsfHx2v37t315snLy6s3fV5enmt/7baG0sTFxXnsDw4OVteuXV1pvv/+e91555164403Gv2bb0VFhSoqKlz/dzgcjcoHAACAtuU3Lci+7O6779att96qK6+8stF55syZo8jISNene/fubVhCAAAANJbfBMgxMTEKCgpSfn6+x/b8/HwlJCTUmychIaHB9LX/ninNqYMAq6urVVhY6EqzZs0aPf300woODlZwcLAmTZqk4uJiBQcHa+HChfWWbdasWSouLnZ9Dhw40JjLAAAAgDbmNwFySEiIhgwZotWrV7u2OZ1OrV69WmlpafXmSUtL80gvSVlZWa70vXr1UkJCgkcah8OhjRs3utKkpaWpqKhIW7dudaVZs2aNnE6nhg4dKulkP+Vt27a5Pr///e/VpUsXbdu2TT/96U/rLZvNZpPdbvf4AAAAwPv8pg+yJM2YMUN33HGHUlNTdckll+i5555TaWmpJk6cKEnKyMjQ2WefrTlz5kiS7r//fl111VV65plnNHr0aC1ZskRbtmzRggULJEkWi0XTp0/X448/rt69e6tXr176zW9+o8TERI0ZM0aS1K9fP40cOVJ333235s+fr6qqKk2dOlXjx493zWDRr18/j3Ju2bJFVqtVAwcObKcrAwAAgNbiVwHyzTffrIKCAs2ePVt5eXlKSUnRqlWrXIPs9u/fL6v1h0bxSy+9VG+++aYeffRR/fd//7d69+6td955xyNwffjhh1VaWqrJkyerqKhIl19+uVatWqXQ0FBXmsWLF2vq1KkaPny4rFarxo4dq+eff779Kg4AAIB241fzIHdkzAEJAAhUvAPha/ymDzIAAADQHgiQAQAAADcEyAAAAIAbAmQAAADADQEy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T0+X1WrVxo0b682zdetWVVVVKT093bWtb9++6tGjh7Kzs13HHTRokOLj411pRowYIYfDoR07drjSuB+jNk3tMWpNmTJFo0ePrpP2dCoqKuRwODw+AAAA8L5gbxegMfLy8hQXF+exLTg4WF27dlVeXt5p84SEhCgqKspje3x8vCtPXl6eR3Bcu792X0NpHA6HTpw4oc6dO2vJkiX67LPPtHnz5kbXac6cOfrd737X6PQAAABoH15tQX7kkUdksVga/OzevdubRTyjAwcO6P7779fixYsVGhra6HyzZs1ScXGx63PgwIE2LCUAAAAay6styA8++KDuvPPOBtOce+65SkhI0JEjRzy2V1dXq7CwUAkJCfXmS0hIUGVlpYqKijxakfPz8115EhIStGnTJo98tbNcuKc5deaL/Px82e12de7cWVu3btWRI0d00UUXufbX1NTo448/1osvvqiKigoFBQXVKZ/NZpPNZmuw7gAAAGh/Xg2QY2NjFRsbe8Z0aWlpKioq0tatWzVkyBBJ0po1a+R0OjV06NB68wwZMkSdOnXS6tWrNXbsWEnSnj17tH//fqWlpbmO+8QTT+jIkSOuLhxZWVmy2+3q37+/K83KlSs9jp2VleU6xvDhw/XVV1957J84caL69u2rmTNn1hscAwAAwHdZjDHG24VojOuuu075+fmaP3++qqqqNHHiRKWmpurNN9+UJH333XcaPny4MjMzdckll0iS7rnnHq1cuVKLFi2S3W7XtGnTJEnr16+XdLKlNyUlRYmJiZo7d67y8vJ0++2366677tKTTz4p6eQ0bwMHDtSUKVP085//XGvWrNF9992n999/XyNGjKi3rFdffbVSUlL03HPPNbp+DodDkZGRKi4ult1ub+5lAgDA7/AOhK/xi1ksJGnx4sXq27evhg8frlGjRunyyy/XggULXPurqqq0Z88elZWVubY9++yzuv766zV27FhdeeWVSkhI0L/+9S/X/qCgIK1YsUJBQUFKS0vTbbfdpoyMDP3+9793penVq5fef/99ZWVl6cILL9Qzzzyjv/71r6cNjgEAAODf/KYFuaPjt2cAQKDiHQhf4zctyAAAAEB7IEAGAAAA3BAgAwAAAG78YiU9dEw5BSXKd5Qr3h6q5NgIbxcHAHwCz0bA+wiQ4RXLthxQ5oZclVZUK9wWrIxhSRqX2t3bxQIAr+LZCPgGulig3eUUlChzQ66MMeoRHSZjjDI35CqnoMTbRQMAr+HZCPgOAmS0u3xHuUorqhUTbpPValFMuE2lFdXKd5R7u2gA4DU8GwHfQYCMdhdvD1W4LVhHSyvkdBodLa1QuC1Y8fZQbxcNALyGZyPgOwiQ0e6SYyOUMSxJFotF+4+VyWKxKGNYEoNRAAQ0no2A72AlPR8RiKsIMVIbAOoKxGdjIL4D4duYxQJekxwbETAPfwBoLJ6NgPfRxQIAAABwQ4AMAAAAuCFABgAAANwQIAMAAABuCJABAAAANwTIAAAAgBsCZAAAAMANATIAAADghgAZAAAAcEOADAAAALghQAYAAADcECADAAAAbgiQAQAAADcEyAAAAIAbAmQAAADADQEyAAAA4IYAGQAAAHBDgAwAAAC4CfZ2AYC2llNQonxHueLtoUqOjfB2cQD4KZ4lQOAgQEaHtmzLAWVuyFVpRbXCbcHKGJakcandvV0sAH6GZwkQWOhigQ4rp6BEmRtyZYxRj+gwGWOUuSFXOQUl3i4aAD/CswQIPATI6LDyHeUqrahWTLhNVqtFMeE2lVZUK99R7u2iAfAjPEuAwEOAjA4r3h6qcFuwjpZWyOk0OlpaoXBbsOLtod4uGgA/wrMECDwEyOiwkmMjlDEsSRaLRfuPlclisShjWBKDawA0Cc8SIPBYjDHG24WA5HA4FBkZqeLiYtntdm8Xp0Nh5DmA1sCzpO3wDoSvYRYLdHjJsRG8zAC0GM8SIHDQxQIAAABwQ4AMAAAAuCFABgAAANwQIAMAAABuCJABAAAANwTIAAAAgBsCZAAAAMANATIAAADghgAZAAAAcEOADAAAALghQAYAAADcECADAAAAbgiQAQAAADfB3i4A0JHlFJQo31GueHuokmMjvF0cwO/xMwWgPfhNC3JhYaEmTJggu92uqKgoTZo0SSUlJQ3mKS8v15QpU3TWWWcpIiJCY8eOVX5+vkea/fv3a/To0QoLC1NcXJweeughVVdXe6RZt26dLrroItlsNp133nlatGhRnXN99913uu2223TWWWepc+fOGjRokLZs2dLiesN/LdtyQA+8tU2/eWe7Hnhrm5ZtOeDtIgF+jZ8pAO3FbwLkCRMmaMeOHcrKytKKFSv08ccfa/LkyQ3meeCBB7R8+XItXbpUH330kQ4dOqSbbrrJtb+mpkajR49WZWWl1q9fr9dff12LFi3S7NmzXWn27dun0aNH65prrtG2bds0ffp03XXXXfrwww9daY4dO6bLLrtMnTp10gcffKCdO3fqmWeeUXR0dOtfCPiFnIISZW7IlTFGPaLDZIxR5oZc5RQ0/EsdgPrxMwWgPVmMMcbbhTiTXbt2qX///tq8ebNSU1MlSatWrdKoUaN08OBBJSYm1slTXFys2NhYvfnmmxo3bpwkaffu3erXr5+ys7M1bNgwffDBB7r++ut16NAhxcfHS5Lmz5+vmTNnqqCgQCEhIZo5c6bef/99bd++3XXs8ePHq6ioSKtWrZIkPfLII/r3v/+tTz75pNl1dDgcioyMVHFxsex2e7OPA9+wPueofvPOdvWIDpPVapHTabT/WJn+MGagLk2O8XbxAL/Dz1THxjsQvsYvWpCzs7MVFRXlCo4lKT09XVarVRs3bqw3z9atW1VVVaX09HTXtr59+6pHjx7Kzs52HXfQoEGu4FiSRowYIYfDoR07drjSuB+jNk3tMSTpvffeU2pqqn72s58pLi5OgwcP1quvvtryisNvxdtDFW4L1tHSCjmdRkdLKxRuC1a8PdTbRQP8Ej9TANqTXwTIeXl5iouL89gWHBysrl27Ki8v77R5QkJCFBUV5bE9Pj7elScvL88jOK7dX7uvoTQOh0MnTpyQJO3du1cvv/yyevfurQ8//FD33HOP7rvvPr3++uunrVNFRYUcDofHBx1HcmyEMoYlyWKxaP+xMlksFmUMS2JQEdBM/EwBaE9encXikUce0R//+McG0+zataudStN8TqdTqampevLJJyVJgwcP1vbt2zV//nzdcccd9eaZM2eOfve737VnMdHOxqV21+CkaEbcA62EnykA7cWrAfKDDz6oO++8s8E05557rhISEnTkyBGP7dXV1SosLFRCQkK9+RISElRZWamioiKPVuT8/HxXnoSEBG3atMkjX+0sF+5pTp35Ij8/X3a7XZ07d5YkdevWTf379/dI069fP/3zn/88bb1mzZqlGTNmuP7vcDjUvXv306aHf0qOjeAlDrQifqYAtAevBsixsbGKjY09Y7q0tDQVFRVp69atGjJkiCRpzZo1cjqdGjp0aL15hgwZok6dOmn16tUaO3asJGnPnj3av3+/0tLSXMd94okndOTIEVcXjqysLNntdlfAm5aWppUrV3ocOysry3UMSbrsssu0Z88ejzRff/21kpKSTlsnm80mm812xroDAACgnRk/MXLkSDN48GCzceNG8+mnn5revXubW265xbX/4MGDpk+fPmbjxo2ubb/85S9Njx49zJo1a8yWLVtMWlqaSUtLc+2vrq42AwcONNdee63Ztm2bWbVqlYmNjTWzZs1ypdm7d68JCwszDz30kNm1a5eZN2+eCQoKMqtWrXKl2bRpkwkODjZPPPGE+eabb8zixYtNWFiYeeONNxpdv+LiYiPJFBcXN/cSAQDgl3gHwtf4TYD8/fffm1tuucVEREQYu91uJk6caI4fP+7av2/fPiPJrF271rXtxIkT5t577zXR0dEmLCzM/PSnPzWHDx/2OO63335rrrvuOtO5c2cTExNjHnzwQVNVVeWRZu3atSYlJcWEhISYc88917z22mt1yrd8+XIzcOBAY7PZTN++fc2CBQuaVD8eDgCAQMU7EL7GL+ZBDgTMAQkACFS8A+Fr/GKaNwAAAKC9ECADAAAAbgiQAQAAADcEyAAAAIAbr86DDKDt5RSUsPIYWgX3EoBAQYAMdGDLthxQ5oZclVZUK9wWrIxhSRqXyoqNaDruJQCBhC4WQAeVU1CizA25MsaoR3SYjDHK3JCrnIISbxcNfoZ7CUCgIUAGOqh8R7lKK6oVE26T1WpRTLhNpRXVyneUe7to8DPcSwACDQEy0EHF20MVbgvW0dIKOZ1GR0srFG4LVrw91NtFg5/hXgIQaAiQgQ4qOTZCGcOSZLFYtP9YmSwWizKGJTG4Ck3GvQQg0LDUtI9gmU20FWYeQGvhXkJb4R0IX8MsFkAHlxwbQTCDVsG9BCBQ0MUCAAAAcEOADAAAALihiwWAdkU/1sbjWgGAdxAgA2g3rMbWeFwrAPAeulgAaBesxtZ4XCsA8C4CZADtwtdXY8spKNH6nKM+EYT6+rUCgI6OLhYA2oX7amwx4TafWo3N17oz+PK1AoBAQAsygHbhq6ux+WJ3Bl+9VgAQKGhBBtBuxqV21+CkaJ+amaG2O0OP6DBXd4b9x8qU7yj3avl88VoBQKAgQAbQrnxtNTZf7s7ga9cKAAIFXSwABDS6MwAATkULMoCAR3cGAIA7AmQAEN0ZAAA/oIsFAAAA4IYAGQAAAHBDgAwAAAC4IUAGAAAA3BAgAwAAAG6YxcJHGGMkSQ6Hw8slAQCgfdW++2rfhYC3ESD7iOPHj0uSunfv7uWSAADgHcePH1dkZKS3iwHIYvh1zSc4nU4dOnRIXbp0kcVi8XZxJJ38jb579+46cOCA7Ha7t4vTrgK17oFabylw6069A6vekm/W3Rij48ePKzExUVYrvT/hfbQg+wir1apzzjnH28Wol91u95mHaHsL1LoHar2lwK079Q48vlZ3Wo7hS/g1DQAAAHBDgAwAAAC4IUDGadlsNj322GOy2WzeLkq7C9S6B2q9pcCtO/UOrHpLgV13oLEYpAcAAAC4oQUZAAAAcEOADAAAALghQAYAAADcECADAAAAbgiQO7DCwkJNmDBBdrtdUVFRmjRpkkpKShrMU15erilTpuiss85SRESExo4dq/z8fI80+/fv1+jRoxUWFqa4uDg99NBDqq6u9kizbt06XXTRRbLZbDrvvPO0aNGiOuf67rvvdNttt+mss85S586dNWjQIG3ZsqXD17vWU089JYvFounTpze3qnX4ct3nzJmjiy++WF26dFFcXJzGjBmjPXv2NKue8+bNU8+ePRUaGqqhQ4dq06ZNDaZfunSp+vbtq9DQUA0aNEgrV6702G+M0ezZs9WtWzd17txZ6enp+uabbzzSNObafvnll7riiisUGhqq7t27a+7cuc2qX0N8se7r1q3TjTfeqG7duik8PFwpKSlavHhx61Vavllvd//5z3/UpUsXRUVFtaie9fHVuhtj9PTTT+v888+XzWbT2WefrSeeeKJ1Kg14m0GHNXLkSHPhhReaDRs2mE8++cScd9555pZbbmkwzy9/+UvTvXt3s3r1arNlyxYzbNgwc+mll7r2V1dXm4EDB5r09HTz+eefm5UrV5qYmBgza9YsV5q9e/easLAwM2PGDLNz507zwgsvmKCgILNq1SpXmsLCQpOUlGTuvPNOs3HjRrN3717z4Ycfmv/85z8dut61Nm3aZHr27GkuuOACc//997e4zv5Q9xEjRpjXXnvNbN++3Wzbts2MGjXK9OjRw5SUlDSpjkuWLDEhISFm4cKFZseOHebuu+82UVFRJj8/v970//73v01QUJCZO3eu2blzp3n00UdNp06dzFdffeVK89RTT5nIyEjzzjvvmC+++ML85Cc/Mb169TInTpxo9LUtLi428fHxZsKECWb79u3mH//4h+ncubN55ZVXmlQ/f6z7E088YR599FHz73//2/znP/8xzz33nLFarWb58uUdut61KisrTWpqqrnuuutMZGRkq9TZH+o+bdo006dPH/Puu++avXv3mi1btpj//d//bdX6A95CgNxB7dy500gymzdvdm374IMPjMViMd999129eYqKikynTp3M0qVLXdt27dplJJns7GxjjDErV640VqvV5OXludK8/PLLxm63m4qKCmOMMQ8//LAZMGCAx7FvvvlmM2LECNf/Z86caS6//PKWV/QUvl5vY4w5fvy46d27t8nKyjJXXXVVqwXI/lB3d0eOHDGSzEcffdSkel5yySVmypQprv/X1NSYxMREM2fOnHrT/9d//ZcZPXq0x7ahQ4eaX/ziF8YYY5xOp0lISDB/+tOfXPuLioqMzWYz//jHP4wxjbu2L730komOjnZdE2NO3ud9+vRpUv0a4qt1r8+oUaPMxIkTm17Jevh6vR9++GFz2223mddee63VA2RfrfvOnTtNcHCw2b17d+tUFPAxdLHooLKzsxUVFaXU1FTXtvT0dFmtVm3cuLHePFu3blVVVZXS09Nd2/r27asePXooOzvbddxBgwYpPj7elWbEiBFyOBzasWOHK437MWrT1B5Dkt577z2lpqbqZz/7meLi4jR48GC9+uqrHb7ekjRlyhSNHj26TtqW8oe6uysuLpYkde3atdF1rKys1NatWz3OZbValZ6eftpznals+/btU15enkeayMhIDR061OManOnaZmdn68orr1RISIjHefbs2aNjx441uo6n48t1r09xcXGTvtvT8fV6r1mzRkuXLtW8efNaXNdT+XLdly9frnPPPVcrVqxQr1691LNnT911110qLCxsncoDXkaA3EHl5eUpLi7OY1twcLC6du2qvLy80+YJCQmp04cuPj7elScvL88jUKrdX7uvoTQOh0MnTpyQJO3du1cvv/yyevfurQ8//FD33HOP7rvvPr3++uvNq7BbHXy53kuWLNFnn32mOXPmNK+CDfD1urtzOp2aPn26LrvsMg0cOLDRdTx69KhqamrqPVdDdWwofe2/Z0pzpmvbmOvUEr5c91O9/fbb2rx5syZOnNjI2p2eL9f7+++/15133qlFixbJbrc3s4an58t137t3r3Jzc7V06VJlZmZq0aJF2rp1q8aNG9fM2gK+hQDZzzzyyCOyWCwNfnbv3u3tYp6R0+nURRdd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "spot = analysis.SpotDiagram(lens)\n", "spot.view(figsize=(18, 6))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4gAAAGuCAYAAADS2ijMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACabklEQVR4nOzdeVxU5f4H8M/MsAz7vguCooKK4gq4LyikluZSmmmaaZmaStdulj/N6tZt0RazTM2l0jQrzRUlN1wQFHdWFRQB2WUXGJjz+wOZG4kbMpw58Hm/Xry8nXnOmc+cO/j4fc45zyMTBEEAERERERERNXtysQMQERERERGRbmCBSERERERERABYIBIREREREdFdLBCJiIiIiIgIAAtEIiIiIiIiuosFIhEREREREQFggUhERERERER3sUAkIiIiIiIiACwQiYiIiIiI6C4WiERERERERASABSJRLRs2bIBMJsOZM2fqfH3AgAHo2LFjo2TZuXMnunbtCqVSCTc3NyxZsgSVlZWPtK9arcann34KDw8PKJVKdOrUCb/88kudbePi4hAcHAxTU1NYW1tj0qRJyM7OfqJjPorr169DJpPh888/r/P19957DzKZDDk5OfV+j0fR1M8zEUkf+yb2TU3tPJNuY4FIpIP27duHUaNGwdLSEitWrMCoUaPw4YcfYs6cOY+0/7vvvot///vfGDJkCFasWAE3Nze88MIL2LJlS612qamp6NevH65evYqPPvoI//rXv7Bnzx4MGTIEFRUV9TqmlPA8ExE9Ov6d2Th4nkl0AhFprF+/XgAgnD59us7X+/fvL3To0EHrOdq3by907txZUKlUmm3vvvuuIJPJhLi4uAfum5qaKujr6wuzZs3SbFOr1ULfvn2FFi1aCJWVlZrtM2fOFIyMjIQbN25otoWFhQkAhO+//75ex3xUycnJAgDhs88+q/P1JUuWCACE7Ozsxz72o2oO55mIpI99E/umpnaeSbfxCiLRE1i/fj1kMhnWrVtXa/tHH30EmUyGvXv3arbdunUL8fHxUKlUDzxmbGwsYmNjMWPGDOjp6Wm2v/766xAEAb/99tsD9//zzz+hUqnw+uuva7bJZDLMnDkTqampiIiI0Gz//fffMWLECLi5uWm2BQYGom3btvj111/rdUxtWbJkCfT19eu89WXGjBmwtLREWVkZzzMRNXvs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EREREREBYIFIREREREREd7FAJCIiIiIiIgAsEImIiIiIiOguFohEREREREQEgAUiERERERER3cUCkYiIiIiIiACwQCQiIiIiIqK7WCASERERERERABaIOs+4bS+kF5SJHYOIiEjDxGcI1IIgdgwiItICFog6zu7Zd/BXQp7YMYiIiDRsh83F1exSsWMQEZEWsECUgFPXC8SOQEREVAv7JiKipokFogScSy3EnYoqsWMQERFpRCTnix2BiIi0gAWijqsszEJFlYCo67zNlIiIdMe5tCIOXhIRNUEsEHXcneRzAIDwxGyRkxAREVWrLMiCqkpAZHKu2FGIiKiBsUDUcWXXqwvEY1dYIBIRkW64o+mbckROQkREDY0Foo4ru34BMgCJmcXI4HIXRESkA8qSzwLg4CURUVPEAlHHqcuK0N7JBAA7YiIi0g1lNzh4SUTUVLFAlAB/d0sAvJWHiIh0g7qsmIOXRERNFAtECQhwtwAAHL+aA7VaEDkNERHR/wYvwzl4SUTUpLBAlICOTqYwMVAgr6QCsbcKxY5DRET0v8HLK9kcvCQiakJYIEqAvkKOgNa2AIBw3spDREQ6oGbw8napCjHpHLwkImoqWCBKRL+21QXisUTeykNEROLj4CURUdPUJArElStXwt3dHUqlEn5+foiKinpg+23btsHLywtKpRI+Pj7Yu3dvrdcFQcDixYvh5OQEIyMjBAYG4sqVK7Xa5OXlYeLEiTA3N4elpSWmTZuG4uLie47z+eefo23btjA0NISLiwv+85//1Osz9m1jBwA4cyMPpRWV9ToGERFRQ9IMXrJAJCJqMiRfIG7duhUhISFYsmQJzp49i86dOyMoKAhZWVl1tj958iQmTJiAadOm4dy5cxg1ahRGjRqFy5cva9p8+umn+Prrr7Fq1SpERkbCxMQEQUFBKCv731TeEydORExMDMLCwrB7926Eh4djxowZtd5r7ty5WLt2LT7//HPEx8dj586d6NmzZ70+p7uNMVpYGUFVJSAyKa9exyAiImpI/e4OXkbfuI2Scg5eEhE1BZIvEJcvX47p06dj6tSpaN++PVatWgVjY2OsW7euzvZfffUVgoODsWDBAnh7e+ODDz5A165d8c033wCovur35ZdfYtGiRRg5ciQ6deqEH3/8Eenp6dixYwcAIC4uDqGhoVi7di38/PzQp08frFix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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fan = analysis.RayFan(lens)\n", "fan.view()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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lYIVKyIiIiKPlFWwevXVV3HqqaeitrYWQgg8/fTTcT+fMmUKhBBx29ixY4szWCIiojJm2T1WXm2VoqymAvfs2YMBAwbgZz/7GSZMmJByn7Fjx2Lp0qXu7WAwWKjhERERtRheBiIGqxI1btw4jBs3Lu0+wWAQNTU1BRoRERERUVRZTQVm4pVXXkHXrl3Rr18/TJ06FV999VWxh0RERFR2pBKebpWirCpWTRk7diwmTJiAPn364NNPP8WVV16JcePGYdWqVTBNM+VjGhoa0NDQ4N7euXNnoYZLRERELUyLClZnnnmm+/1RRx2F/v3748ADD8Qrr7yCk046KeVjFixYgGuvvbZQQyQiIioL7LHKTYubCozVt29fdO7cGZ988kmj+8yZMwc7duxwt82bNxdwhERERKXJguHpVilaVMUq0eeff46vvvoK3bt3b3SfYDDIMweJiIjIE2UVrHbv3h1XfVq/fj3Wrl2LTp06oVOnTrj22mtxxhlnoKamBp9++ikuv/xyHHTQQRgzZkwRR01ERFR+lIdN54rN66XprbfewogRI9zbM2fOBABMnjwZS5Yswb///W88+OCD+Pbbb1FbW4vRo0fjuuuuY0WKiIiICqKsgtWJJ54IpRq/4NDzzz9fwNEQERG1XGxez01ZBSsiIiIqDEsZsJQ3TecWL8JMRERERNlixYqIiIiSSAhIj+ovEpVTsmLFioiIiMgjrFgRERFREjav54bBioiIiJJ427zOqUAiIiIiyhIrVkRERJREN697M4Xn1XHKAStWRERERB5hxYqIiIiSSBiwuNxC1hisiIiIKAmb13PDqUAiIiIij7BiRUREREkkDK68ngNWrIiIiIg8wooVERERJbGUgKU8Wnndo+OUAwYrIiIiSmJ5eFagxalAIiIiIsoWK1ZERESURCoD0qPlFmQFLbfAYEVERERJOBWYG04FEhEREXmEFSsiIiJKIuHd2XzSk6OUB1asiIiIiDzCihUREREl8Xbl9cqp4zBYERERURJvL8JcOcGqcl4pERERUZ6xYkVERERJJAQkvGper5xL2rBiRUREROQRVqyIiIgoCXuscsNgRUREREm8XXm9coJV5bxSIiIiojxjxYqIiIiSSCUgvVp53aPjlANWrIiIiIg8wooVERERJZEe9lhx5XUiIiKqaFIZkB6dzefVccpB5bxSIiIiojxjxYqIiIiSWBCwPFox3avjlANWrIiIiIg8wooVERERJWGPVW4YrIiIiCiJBe+m8CxPjlIeKidCEhEREeUZK1ZERESUhFOBuamcV0pERESUZwxWRERElMRShqdbVs9tWbj66qvRp08ftGrVCgceeCCuu+46KKXcfZRSmDt3Lrp3745WrVph1KhR+Pjjj71+G7LGYEVERERJFASkR5vKsgn+5ptvxpIlS3D33XfjP//5D26++WbccsstuOuuu9x9brnlFtx555245557sGbNGrRu3RpjxoxBfX29129FVthjRURERCXljTfewOmnn45TTjkFANC7d2888sgjePPNNwHoatWiRYvwy1/+EqeffjoA4KGHHkK3bt3w9NNP48wzzyza2FmxIiIioiTFnAo89thjsWLFCvz3v/8FALz77rt4/fXXMW7cOADA+vXrsW3bNowaNcp9TPv27TFs2DCsWrXKuzchB6xYERERUUHs3Lkz7nYwGEQwGEzab/bs2di5cycOPfRQmKYJy7Jwww034OyzzwYAbNu2DQDQrVu3uMd169bN/VmxsGJFRERESaQSnm4A0KNHD7Rv397dFixYkPK5H3/8cSxfvhwPP/ww3nnnHTz44IO47bbb8OCDDxbyLcgJK1ZERESUxIIBy6P6i3OczZs3o127du79qapVAPCLX/wCs2fPdnuljjrqKGzcuBELFizA5MmTUVNTAwCoq6tD9+7d3cfV1dVh4MCBnow5V2VVsXr11Vdx6qmnora2FkIIPP3003E/L9VTL4mIiAho165d3NZYsNq7dy8MIz6imKYJKSUAoE+fPqipqcGKFSvcn+/cuRNr1qzB8OHD8/cCMlBWwWrPnj0YMGAAFi9enPLnpXrqJRERUbnJx1Rgpk499VTccMMN+Otf/4oNGzbgqaeewsKFC/HDH/4QACCEwKWXXorrr78ef/rTn/Dee+9h0qRJqK2txfjx4/PwbmSurKYCx40b554RkKiUT70kIiKizN111124+uqrcdFFF2H79u2ora3FhRdeiLlz57r7XH755dizZw8uuOACfPvttzj++OPx3HPPoaqqqogjL7NglU5Tp14yWBEREWVOwoD0aGIr2+O0bdsWixYtwqJFixrdRwiB+fPnY/78+c0cnbdaTLDK9dTLhoYGNDQ0uLcTTwUlIiKqRJYSsLKcwkt3rEpRVj1W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c+fOxYMPPujeHjRoEADg5ZdfxoknngjTNPGXv/wFU6dOxfDhw9G6dWtMnjwZ8+fPL9aQiYiIKAfPPfdc3O1ly5aha9euePvtt/Hd734XO3bswP3334+HH34YI0eOBAAsXboUhx12GFavXo1jjjmmGMMGUEbBatmyZVi2bFnafXr16oVnn322MAMiIiJqwYRSEB41nTvHSVzSKNM+5x07dgAAOnXqBAB4++23EQ6HMWrUKHefQw89FD179sSqVauKGqzKZiqQiIiICkh6vAHo0aNH3BJHCxYsaHoYUuLSSy/FcccdhyOPPBKAXkYpEAgkXeKuW7duaZdYKoSyqVgRERFRedu8eTPatWvn3s6kWjVt2jS8//77eP311/M5NM8wWBEREVGSfEwFtmvXLi5YNeXiiy/GX/7yF7z66qs44IAD3PtramoQCoXw7bffxlWt6urq0i6xVAicCiQiIqKSopTCxRdfjKeeegovvfQS+vTpE/fzo48+Gn6/HytWrHDv++ijj7Bp0yYMHz680MONw4oVERERJcthmYS0x8rCtGnT8PDDD+OZZ55B27Zt3b6p9u3bo1WrVmjfvj3OO+88zJw5E506dUK7du0wffp0DB8+vKiN6wCDFREREaXi5aVosjzOkiVLAAAnnnhi3P1Lly51r9hy++23wzAMnHHGGWhoaMCYMWPw61//2ovRNguDFREREZUUlUEQq6qqwuLFi7F48eICjChzDFZERESUhNcKzA2b14mIiIg8wooVERERJStij1U5Y7AiIiKiJELqzatjVQpOBRIRERF5hBUrIiIiSsapwJywYkVERETkEVasiIiIKFkRV14vZwxWRERElCQfF2GuBJwKJCIiIvIIK1ZERESUjM3rOWHFioiIiMgjrFgRERFRMgXAq4U9K6dgxWBFREREydi8nhtOBRIRERF5hBUrIiIiSqbgYfO6N4cpB6xYEREREXmEFSsiIiJKxuUWcsJgRURERMkkAOHhsSoEpwKJiIiIPMKKFRERESXhcgu5YbAiIiKiZOyxygmnAomIiIg8wooVERERJWPFKiesWBERERF5hBUrIiIiSsaKVU4YrIiIiCgZ17HKCacCiYiIiDzCihUREREl4TpWuWHFioiIiMgjrFgRERFRMjav54TBioiIiJJJBQiPApGsnGDFqUAiIiIij7BiRURERMk4FZgTVqyIiIiIPMKKFREREaXgYcUKlVOxYrAiIiKiZJwKzAmnAomIiIg8wooVERERJZMKnk3hcbkFIiIiIsoWK1ZERESUTEm9eXWsCsFgRURERMnYvJ6TspkKvOGGG3DssceiuroaHTp0SLmPECJpe/TRRws7UCIiIqpYZVOxCoVCmDhxIoYPH47777+/0f2WLl2KsWPHurcbC2FERESUBpvXc1I2weraa68FACxbtiztfh06dEBNTU0BRkREREQUr2ymAjM1bdo0dO7cGUOHDsUDDzwA1cS8bkNDA3bu3Bm3ERERVTynx8qrrUKUTcUqE/Pnz8fIkSNRXV2NF154ARdddBF2796NSy65pNHHLFiwwK2GERERkU3Bw+Z1bw5TDopasZo9e3bKhvPY7cMPP8z4eFdffTWOO+44DBo0CFdccQUuv/xy3HrrrWkfM2fOHOzYscPdNm/e3NyXRURERBWqqBWrWbNmYcqUKWn36du3b87HHzZsGK677jo0NDQgGAym3CcYDDb6MyIioorF5RZyUtRg1aVLF3Tp0iVvx1+7di06duzI4EREREQFUTY9Vps2bcLXX3+NTZs2wbIsrF27FgBw0EEHoU2bNvjzn/+Muro6HHPMMaiqqsKLL76IG2+8EZdddllxB05ERFSOpATg0Yrpkiuvl5y5c+fiwQcfdG8PGjQIAPDyyy/jxBNPhN/vx+LFizFjxgwopXDQQQdh4cKFOP/884s1ZCIiovLFqcCclE2wWrZsWdo1rMaOHRu3MCgRERFRoZVNsCIiIqICYsUqJy1ugVAiIiKiYmHFioiIiJLxWoE5YbAiIiKiJEpJKOXN2XxeHacccCqQiIiIyCOsWBEREVEypbybwmPzOhERERFlixUrIiIiSqY8bF6voIoVgxURERElkxIQHjWds3mdiIiIiLLFihUREREl41RgThisiIiIKImSEsqjqUCuY0VEREREWWPFioiIiJJxKjAnrFgREREReYQVKyIiIkomFSBYscoWgxURERElUwqAV+tYVU6w4lQgERERkUdYsSIiIqIkSiooj6YCFStWRERERJQtVqyIiIgomZLwrseqchYIZbAiIiKiJJwKzA2nAomIiIg8wooVERERJeNUYE4YrBI45coIwp6t5E9ERNQcEYQBFHZKzcvPQWf8lYDBKsGuXbsAAK/j2SKPhIiIKN6uXbvQvn37vD5HIBBATU0NXt/m7edgTU0NAoGAp8csRUJVUkdZBqSU2LJlC9q2bQshREGfe+fOnejRowc2b96Mdu3aFfS5i4Gvt2Xj623Z+HoLSymFXbt2oba2FoaR//bo+vp6hEIhT48ZCARQVVXl6TFLEStWCQzDwAEHHFDUMbRr164i/lA5+HpbNr7elo2vt3DyXamKVVVVVREhKB94ViARERGRRxisiIiIiDzCYFVCgsEg5s2bh2AwWOyhFARfb8vG19uy8fUSpcbmdSIiIiKPsGJFRERE5BEGKyIiIiKPMFgREREReYTBioiIiMgjDFYl4oYbbsCxxx6L6upqdOjQIeU+Qoik7dFHHy3sQD2SyevdtGkTTjnlFFRXV6Nr1674xS9+gUgkUtiB5knv3r2Tfpc33XRTsYflqcWLF6N3796oqqrCsGHD8OabbxZ7SHlxzTXXJP0uDz300GIPyzOvvvoqTj31VNTW1kIIgaeffjru50opzJ07F927d0erVq0watQofPzxx8UZrAeaer1TpkxJ+n2PHTu2OIOlksRgVSJCoRAmTpyIqVOnpt1v6dKl2Lp1q7uNHz++MAP0WFOv17IsnHLKKQiFQnjjjTfw4IMPYtmyZZg7d26BR5o/8+fPj/tdTp8+vdhD8sxjjz2GmTNnYt68eXjnnXcwYMAAjBkzBtu3by/20PLiiCOOiPtdvv7668Uekmf27NmDAQMGYPHixSl/fsstt+DOO+/EPffcgzVr1qB169YYM2YM6uvrCzxSbzT1egFg7Nixcb/vRx55pIAjpJKnqKQsXbpUtW/fPuXPAKinnnqqoOPJt8Ze77PPPqsMw1Dbtm1z71uyZIlq166damhoKOAI86NXr17q9ttvL/Yw8mbo0KFq2rRp7m3LslRtba1asGBBEUeVH/PmzVMDBgwo9jAKIvFvkJRS1dTUqFtvvdW979tvv1XBYFA98sgjRRiht1L9zZ08ebI6/fTTizIeKg+sWJWZadOmoXPnzhg6dCgeeOABqBa6DNmqVatw1FFHoVu3bu59Y8aMwc6dO/HBBx8UcWTeuemmm7Dffvth0KBBuPXWW1vMNGcoFMLbb7+NUaNGufcZhoFRo0Zh1apVRRxZ/nz88ceora1F3759cfbZZ2PTpk3FHlJBrF+/Htu2bYv7Xbdv3x7Dhg1rsb9rAHjllVfQtWtX9OvXD1OnTsVXX31V7CFRCeFFmMvI/PnzMXLkSFRXV+OFF17ARRddhN27d+OSSy4p9tA8t23btrhQBcC9vW3btmIMyVOXXHIJBg8ejE6dOuGNN97AnDlzsHXrVixcuLDYQ2u2L7/8EpZlpfz9ffjhh0UaVf4MGzYMy5YtQ79+/bB161Zce+21OOGEE/D++++jbdu2xR5eXjn/Lab6XbeE/05TGTt2LCZMmIA+ffrg008/xZVXXolx48Zh1apVME2z2MOjEsBglUezZ8/GzTffnHaf//znPxk3ul599dXu94MGDcKePXtw6623lkyw8vr1lptsXv/MmTPd+/r3749AIIALL7wQCxYs4CUzysy4cePc7/v3749hw4ahV69eePzxx3HeeecVcWSUD2eeeab7/VFHHYX+/fvjwAMPxCuvvIKTTjqpiCOjUsFglUezZs3ClClT0u7Tt2/fnI8/bNgwXHfddWhoaCiJD2MvX29NTU3SWWR1dXXuz0pRc17/sGHDEIlEsGHDBvTr1y8Poyuczp07wzRN9/flqKurK9nfnZc6dOiAQw45BJ988kmxh5J3zu+zrq4O3bt3d++vq6vDwIEDizSqwurbty86d+6MTz75hMGKADBY5VWXLl3QpUuXvB1/7dq16NixY0mEKsDb1zt8+HDccMMN2L59O7p27QoAePHFF9GuXTscfvjhnjyH15rz+teuXQvDMNzXWs4CgQCOPvporFixwj1rVUqJFStW4OKLLy7u4Apg9+7d+PTTT/HTn/602EPJuz59+qCmpgYrVqxwg9TOnTuxZs2aJs9wbik+//xzfPXVV3HBkiobg1WJ2LRpE77++mts2rQJlmVh7dq1AICDDjoIbdq0wZ///GfU1dXhmGOOQVVVFV588UXceOONuOyyy4o78Bw19XpHjx6Nww8/HD/96U9xyy23YNu2bfjlL3+JadOmlUyQzNWqVauwZs0ajBgxAm3btsWqVaswY8YMnHPOOejYsWOxh+eJmTNnYvLkyRgyZAiGDh2KRYsWYc+ePTj33HOLPTTPXXbZZTj11FPRq1cvbNmyBfPmzYNpmjjrrLOKPTRP7N69O676tn79eqxduxadOnVCz549cemll+L666/HwQcfjD59+uDqq69GbW1t2S4Fk+71durUCddeey3OOOMM1NTU4NNPP8Xll1+Ogw46CGPGjCniqKmkFPu0RNImT56sACRtL7/8slJKqb/97W9q4MCBqk2bNqp169ZqwIAB6p577lGWZRV34Dlq6vUqpdSGDRvUuHHjVKtWrVTnzp3VrFmzVDgcLt6gPfL222+rYcOGqfbt26uqqip12GGHqRtvvFHV19cXe2ieuuuuu1TPnj1VIBBQQ4cOVatXry72kPLixz/+serevbsKBAJq//33Vz/+8Y/VJ598Uuxheebll19O+d/q5MmTlVJ6yYWrr75adevWTQWDQXXSSSepjz76qLiDboZ0r3fv3r1q9OjRqkuXLsrv96tevXqp888/P25ZGCKhVAs9X5+IiIiowLiOFREREZFHGKyIiIiIPMJgRUREROQRBisiIiIijzBYEREREXmEwYqIiIjIIwxWRERERB5hsCKiZvnoo49QU1ODXbt25fV5vvzyS3Tt2hWff/55Xp+HiKg5GKyIKpxlWTj22GMxYcKEuPt37NiBHj164Kqrrkr7+Dlz5mD69Olo27ZtPoeJzp07Y9KkSZg3b15en4eIqDm48joR4b///S8GDhyI++67D2effTYAYNKkSXj33Xfxz3/+E4FAIOXjNm3ahIMOOgjr16/H/vvvn/dxfvDBBzj66KOxZcsWdOrUKe/PR0SULVasiAiHHHIIbrrpJkyfPh1bt27FM888g0cffRQPPfRQo6EKAB5//HEMGDAgLlRdc801GDhwYNx+ixYtQu/evd3bU6ZMwfjx43HjjTeiW7du6NChA+bPn49IJIJf/OIX6NSpEw444AAsXbo07jhHHHEEamtr8dRTT3nyuomIvMZgRUQAgOnTp2PAgAH46U9/igsuuABz587FgAED0j7mtddew5AhQ3J6vpdeeglbtmzBq6++ioULF2LevHn4wQ9+gI4dO2LNmjX4f//v/+HCCy9M6qkaOnQoXnvttZyek4go3xisiAgAIITAkiVLsGLFCnTr1g2zZ89u8jEbN25EbW1tTs/XqVMn3HnnnejXrx9+9rOfoV+/fti7dy+uvPJKHHzwwZgzZw4CgQBef/31uMfV1tZi48aNOT0nEVG+MVgRkeuBBx5AdXU11q9fn9HZd/v27UNVVVVOz3XEEUfAMKJ/grp164ajjjrKvW2aJvbbbz9s37497nGtWrXC3r17c3pOIqJ8Y7AiIgDAG2+8gdtvvx1/+ctfMHToUJx33nlo6tyWzp0745tvvmny2JZlJd3n9/vjbgshUt4npYy77+uvv0aXLl2afE4iomJgsCIi7N27F1OmTMHUqVMxYsQI3H///XjzzTdxzz33pH3coEGDsG7duqT76+rq4m5/9tlnno31/fffx6BBgzw7HhGRlxisiAhz5syBUgo33XQTAKB379647bbbcPnll2PDhg2NPm7MmDFYtWpVUkVq27ZtmD9/Pj777DM88cQT+N3vfodvvvkGH374YbPGuXfvXrz99tsYPXp0s45DRJQvDFZEFW7lypVYvHgxli5diurqavf+Cy+8EMcee2zaKcFx48bB5/Ph73//e9z9Rx55JP773//iiCOOwNVXX43f/va3CAQCuOyyy5o11meeeQY9e/bECSec0KzjEBHlCxcIJaJmWbx4Mf70pz/h+eefB6DXsXr66aexdu1az5/rmGOOwSWXXIKf/OQnnh+biMgLvmIPgIjK24UXXohvv/0Wu3btyutlbb788ktMmDABZ511Vt6eg4iouVixIiJP5bNiRURU6hisiIiIiDzC5nUiIiIijzBYEREREXmEwYqIiIjIIwxWRERERB5hsCIiIiLyCIMVERERkUcYrIiIiIg8wmBFRERE5BEGKyIiIiKP/H+7qy2mqnBQKgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fft_psf = psf.FFTPSF(lens, field=(0, 0), wavelength=0.55)\n", "fft_psf.view(projection=\"2d\", num_points=256)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Strehl ratio: 0.999\n" ] } ], "source": [ "print(f\"Strehl ratio: {fft_psf.strehl_ratio():.3f}\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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JgAArBqG+euxPk00umdDzd1wUM98v1MFxRbtTs/R7bPWqbqvh0Z0jtb93RrI3d3hh7sCAIBKYsfTfc67zGyyvUV/w4Te51nz3HV/e6LHPwvsEkybNk27du3S8uXL1adPH3300UcaOXJkqbePj49XZmamNmzYoHbt2kmSlixZIovFori4OLvbtGvXTh4eHkpISLDW9ImJiUpJSVF8fLzdbf6pli1bqn379nr//ff1+eef28xzdTExMTEKDw9XQkKCteGUnZ2tNWvW6N5777W7jaenp9q1a6eEhAQNHDhQ0plmX0JCwj++2io6Olq+vr7Kzc2VJK1cuVIjRozQDTfcIOnMnFD79++3rt+4cWMVFxdr06ZN1nOUlJSkkydPnvcYnp6eks69bdPT0/OcsVWrVqlu3bp66qmnrGMHDhy49BdYAUrdgDIMQ5L00UcflVswAACcj7eHm27tGK1bYuvow5X79e6KvTp2qkAn84r02qI9enNJkga2idSk65vLz4tbxAEAqGocmZOpvNYtC5s2bdLEiRM1d+5cde7cWa+++qoefPBBdevWTfXq1ZN0ZvLqyMhITZ061e4+mjZtqr59++quu+7SzJkzVVRUpFGjRunmm29WrVq1JEmHDx9Wr1699Mknnyg2NlaBgYG64447NGbMGNWoUUMBAQEaPXq04uPj1bFjx3J7vXfeeadGjRqlatWqWZs1kvTmm29q3rx5SkhIsLudyWTSQw89pGeffVYNGzZUTEyMJkyYoFq1almbS5LUq1cv3XDDDdYG05gxYzR8+HC1b99esbGxmj59unJzcx1q8E2ePFl5eXm65pprVLduXWVmZmrGjBkqKirSVVddJenM7YbffPON+vfvL5PJpAkTJshisVj30aRJE/Xu3Vt333233nnnHXl4eOiRRx6Rj4+PTCb7c5qGhobKx8dHCxcuVO3ateXt7a3AwEBFR0fr559/VmJiooKDgxUYGKiGDRsqJSVFs2fPVocOHfTDDz9o3rx5pX6NzuDQR8Xn+08CAKCimM1m3dmlntY91Vuz7+qoFrXO3OdeVGLoqw2H1PH5BE3+druSj55ycqQAAAC28vPzdeutt2rEiBHq37+/JOnuu+9Wjx49dNttt1mvcklJSVFqauoF9/XZZ5+pSZMm6tWrl6655hpdeeWVeu+996zLi4qKlJiYqLy8POvYa6+9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fft_mtf = mtf.FFTMTF(lens)\n", "fft_mtf.view()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions and Future Directions\n", "\n", "This notebook demonstrated the application of reinforcement learning (RL) for optimizing the design of an aspheric singlet lens. Key takeaways include:\n", "\n", "- While traditional optimization techniques may outperform RL for simpler problems like this one, RL offers a versatile framework for exploring high-dimensional, non-linear design spaces, making it promising for more complex optical systems.\n", "- The custom reward function guided the RL agent toward configurations with smaller RMS spot sizes, though further refinement of the reward structure could enhance convergence and solution quality.\n", "- The integration of Optiland into the RL workflow enabled the efficient construction of configurable lens models and the calculation of RMS spot size.\n", "\n", "This work provides a foundation for extending RL techniques to more advanced optical systems, such as multi-element lenses or designs with additional performance constraints.\n", "\n", "Future efforts could focus on:\n", "- Enhancing the reward function to better balance exploration and exploitation during optimization.\n", "- Incorporating additional optical metrics, such as wavefront error or transmission efficiency.\n", "- Exploring hybrid approaches that combine RL with traditional optimization methods.\n", "\n", "For additional examples of how machine learning and deep learning can be applied in optical engineering, see the [LensAI](https://github.com/HarrisonKramer/LensAI) repository." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "The methods and concepts demonstrated in this notebook build on ideas from prior research in reinforcement learning, optical engineering, and optimization. Below are key references that informed the development of this example:\n", "\n", "1. Côté G, Lalonde J-F, Thibault S (2019a) Extrapolating from lens design databases using deep learning. Opt Express 27(20):28279–28292\n", "2. Tong Yang, Dewen Cheng, and Yongtian Wang, \"Designing freeform imaging systems based on reinforcement learning,\" Opt. Express 28, 30309-30323 (2020)\n", "3. Côté G, Lalonde J-F, Thibault S (2021) Deep learning-enabled framework for automatic lens design starting point generation. Opt Express 29(3):3841–3854" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 2 }