{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Microsphere microlens array for on-chip fluorescence microscopy\n",
    "\n",
    "**Author: William Gorgas, University of Toledo**\n",
    "\n",
    "In this project, we investigate the use of a two-dimensional glass microsphere array as a microlens system to enhance light collection efficiency and improve the signal-to-noise ratio in an on-chip fluorescence microscope. The microspheres act as microlenses that collect and focus emitted fluorescence onto a CMOS sensor, thereby compensating for the lack of traditional imaging optics.\n",
    "\n",
    "<img src=\"img/Microlens.png\" alt=\"diagram\" width=\"700\"/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Microlens Use"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Microlenses are utilized in fluorescence microscopy to enhance image resolution and light collection efficiency. By focusing and directing excitation light more effectively, microlenses improve the overall fluorescence signal, allowing for better detection of low-abundance targets within a sample. Their importance lies in their ability to increase sensitivity and contrast, making it easier to visualize cellular structures and processes at a microscopic level."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Beyond conventional microscopy, microlenses play a particularly important role in the development of compact and low-cost imaging platforms, such as mobile microscopes. These mobile systems are increasingly vital for point-of-care diagnostics and environmental monitoring, especially in resource-limited settings."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Our implementation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To systematically evaluate and optimize this approach, we employ finite-difference time-domain (FDTD) simulations to model the interaction of emitted fluorescence with the microlens array. In our simulations, fluorophores are approximated as point sources, and their emitted light is propagated through the microspheres to the detector plane. We analyze the optical response across a range of fluorophore-to-microlens distances to understand how this spacing influences light collection, image formation, and signal strength on the sensor."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The fluorophore to microlens distance governs whether the resulting image is virtual or real. By systematically varying these distances in simulation, we establish a theoretical framework to identify the optimal spatial configuration specifically, the relative positioning of the sample, microsphere array, and CMOS sensor, that maximizes signal-to-noise ratio while preserving adequate resolution and field of view."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Overall, this work provides a computational foundation for integrating microlens arrays into on-chip fluorescence imaging systems, with the goal of enabling high-performance, low-cost platforms for biomedical and environmental applications."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## FDTD Code"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initialization"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first task was to define the mediums simulated. In this project, this is a simple task as we only account for the vacuum the light travels through, and the Borosilicate glass (n ~ 1.48) that the sphere is made of. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tidy3d as td\n",
    "import numpy as np\n",
    "import tidy3d.plugins.design as tdd\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy.ndimage import gaussian_filter1d\n",
    "\n",
    "vacuum = td.Medium(\n",
    "    name = 'Vacuum'\n",
    ")\n",
    "\n",
    "glass = td.Medium(\n",
    "    name = 'glass', \n",
    "    permittivity = 2.1904 # n = 1.48\n",
    ")\n",
    "\n",
    "sphere_radius = 75  # microns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Define Pre- and Post-Processing Functions\n",
    "\n",
    "The Design plugin works by splitting the simulation workflow into:\n",
    "- **`pre`**: takes parameter values, returns a `td.Simulation`\n",
    "- **`post`**: takes `td.SimulationData`, returns a dict of results\n",
    "\n",
    "The plugin then handles batching all simulations and running them in parallel on the Tidy3D cloud.\n",
    "\n",
    "We start the definition by grouping together the point source and the microsphere. The distance between the two is the main relationship we are exploring.\n",
    "\n",
    "We define sim_x as the total simulation size in the x-direction. This size is influenced by how long the distance from the source to the sphere is, plus an arbitrary distance (\"visualization constant\") following the sphere that is big enough to analyze the image formation properly. In this example, 300 microns was used. In the y and z directions, a buffer of +3 is used to avoid Structure-PML interaction.\n",
    "\n",
    "We chose to highlight a range of distances outside of the focal length, as those produce global maxima outside (>75μm) the center of the microsphere. The equation for the effective focal length (EFL) of a ball lens is given by:\n",
    "$$\n",
    "f = \\frac{nR}{2(n - 1)}\n",
    "$$\n",
    "and, for n = 1.48 & R = 75μm, yields EFL ~= 116μm (BFL ~= 41μm). Therefore, we choose source distances 130μm, 140μm, 200μm, 300μm, 400μm, & 500μm to get an adequate picture of the correlation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pre(distance: int) -> td.Simulation:\n",
    "    \"\"\"Create a Tidy3D simulation for a given fluorophore-to-sphere distance.\n",
    "\n",
    "    The visualization constant is derived from the distance to ensure\n",
    "    adequate space for analyzing image formation beyond the sphere.\n",
    "    \"\"\"\n",
    "    constant = max(300, distance + 160)\n",
    "\n",
    "    pointdipole = td.PointDipole(\n",
    "        name=\"pointdipole_0\",\n",
    "        center=[-distance, 0, 0],\n",
    "        source_time=td.GaussianPulse(freq0=193615962458333.3, fwidth=6245676208333.328),\n",
    "        polarization=\"Ey\",\n",
    "    )\n",
    "\n",
    "    sphere = td.Structure(\n",
    "        geometry=td.Sphere(radius=sphere_radius, center=[0, 0, 0]),\n",
    "        name=\"sphere_0\",\n",
    "        medium=glass,\n",
    "    )\n",
    "\n",
    "    sim_x = distance + sphere_radius + constant\n",
    "    sim_center = -distance + (sim_x / 2)\n",
    "\n",
    "    field_monitor = td.FieldMonitor(\n",
    "        name=\"field\",\n",
    "        size=[sim_x, 0, 153],\n",
    "        center=[sim_center, 0, 0],\n",
    "        freqs=td.C_0 / 1.55,\n",
    "    )\n",
    "\n",
    "    dl_fine = 0.155\n",
    "    dl_coarse = 0.31\n",
    "\n",
    "    # Fine mesh around the sphere to properly resolve the dielectric interface.\n",
    "    # Covers a 190x160x160 box centered on the sphere (sphere_radius + 20 µm buffer).\n",
    "    sphere_fine_mesh = td.MeshOverrideStructure(\n",
    "        geometry=td.Box(center=[0, 0, 0], size=[190, 160, 160]),\n",
    "        dl=(dl_fine, dl_fine, dl_fine),\n",
    "        name=\"sphere_fine_mesh\",\n",
    "    )\n",
    "\n",
    "    # Coarser mesh for the far observation region beyond the sphere.\n",
    "    # This region is large (hundreds of µm) but contains only smoothly\n",
    "    # varying vacuum fields, so 2x coarser spacing is adequate.\n",
    "    far_x_start = 95.0\n",
    "    far_x_end = sphere_radius + constant + 1\n",
    "    far_coarse_mesh = td.MeshOverrideStructure(\n",
    "        geometry=td.Box(\n",
    "            center=[(far_x_start + far_x_end) / 2, 0, 0],\n",
    "            size=[far_x_end - far_x_start, td.inf, td.inf],\n",
    "        ),\n",
    "        dl=(dl_coarse, dl_coarse, dl_coarse),\n",
    "        enforce=True,\n",
    "        name=\"far_coarse_mesh\",\n",
    "    )\n",
    "\n",
    "    sim = td.Simulation(\n",
    "        size=[sim_x + 1, 153, 153],\n",
    "        center=[sim_center, 0, 0],\n",
    "        grid_spec=td.GridSpec.auto(\n",
    "            wavelength=1.55,\n",
    "            min_steps_per_wvl=10,\n",
    "            override_structures=[sphere_fine_mesh, far_coarse_mesh],\n",
    "        ),\n",
    "        run_time={\"quality_factor\": 1, \"source_factor\": 3},\n",
    "        medium=vacuum,\n",
    "        sources=[pointdipole],\n",
    "        monitors=[field_monitor],\n",
    "        structures=[sphere],\n",
    "    )\n",
    "\n",
    "    return sim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Photon Density Calculation\n",
    "### Setup\n",
    "\n",
    "The key relationship to find photon density from |E| is the **electromagnetic energy density** of a wave in a medium:\n",
    "\n",
    "$$u = \\frac{\\varepsilon}{2} |E|^2$$\n",
    "\n",
    "where $\\varepsilon = n^2 \\varepsilon_0$ is the permittivity of the medium and $E$ is the electric field amplitude. This tells us how much energy per unit volume is stored in the field at any point in space.\n",
    "\n",
    "To convert this energy density into a **photon number density**, we divide by the energy of a single photon:\n",
    "\n",
    "$$E_{\\text{photon}} = \\frac{hc}{\\lambda}$$\n",
    "\n",
    "So the photon density is:\n",
    "\n",
    "$$\\rho_{\\text{photon}} = \\frac{u}{E_{\\text{photon}}} = \\frac{\\varepsilon |E|^2}{2 h c / \\lambda}$$\n",
    "\n",
    "### Geometry / Dielectric\n",
    "\n",
    "The sphere has refractive index $n = 1.48$, so the permittivity inside of it is:\n",
    "\n",
    "$$\\varepsilon = n^2 \\varepsilon_0$$\n",
    "\n",
    "We define the sphere geometry and build a **boolean mask** that we will later use to apply the correct permittivity at every grid point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "e_0 = 8.854e-12\n",
    "h_planck = 6.626e-34\n",
    "c_light = 3e8\n",
    "wavelength = 1.55e-6\n",
    "photon_energy = h_planck * c_light / wavelength\n",
    "\n",
    "n_dielectric = 1.48"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Loading FDTD Data\n",
    "\n",
    "The FDTD solver outputs the field at every grid point as a flat table: each row is `(x, y, E_value)`. We need to reshape this into a proper 2D array so that `value[i, j]` gives the field at position `(x[i], y[j])`.\n",
    "\n",
    "The solver exports the **magnitude** $|E|$ at each point, not the field directly. The relevant quantity for energy is $|E|^2$ (intensity), so we must square it.\n",
    "\n",
    "### Photon Density vs distance\n",
    "\n",
    "We collapse the transverse ($y$) dimension by taking the **mean** across each $x$-slice — a discrete approximation to integrating over the beam cross-section:\n",
    "\n",
    "$$\\langle\\rho\\rangle(x) = \\frac{1}{L_y}\\int \\rho(x,y)\\,dy$$\n",
    "\n",
    "This gives the average photon density at each x value. \n",
    "\n",
    "Additionally, we only track values above x = 75 to ensure we find the location of the maxima on the side on which the image is formed, and NOT the maximum where the point source is located, for instance.\n",
    "\n",
    "**Both (3 & 4) of these tasks are done through a single function to streamline processing of multiple datasets**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def post(data: td.SimulationData) -> dict:\n",
    "    \"\"\"Process the simulation data to find the location and value of max photon density.\n",
    "\n",
    "    Computes the E-field magnitude, converts to photon density,\n",
    "    and finds the x-position of the peak density beyond the sphere.\n",
    "    \"\"\"\n",
    "    field_data = data[\"field\"]\n",
    "\n",
    "    Ex = np.abs(field_data.Ex.values)\n",
    "    Ey = np.abs(field_data.Ey.values)\n",
    "    Ez = np.abs(field_data.Ez.values)\n",
    "    magnitude = np.sqrt(Ex**2 + Ey**2 + Ez**2)\n",
    "\n",
    "    magnitude = np.squeeze(magnitude)\n",
    "    intensity = magnitude**2\n",
    "\n",
    "    x = field_data.Ex.x.values\n",
    "    z = field_data.Ex.z.values\n",
    "\n",
    "    xx, zz = np.meshgrid(x, z, indexing=\"ij\")\n",
    "    inside_sphere = xx**2 + zz**2 <= sphere_radius**2\n",
    "    intensity_corrected = np.where(inside_sphere, intensity * n_dielectric, intensity)\n",
    "\n",
    "    photon_density = (e_0 / 2) * intensity_corrected / photon_energy\n",
    "\n",
    "    x_mask = x > sphere_radius\n",
    "    photon_density_masked = photon_density.copy()\n",
    "    photon_density_masked[~x_mask, :] = -np.inf\n",
    "\n",
    "    profile = np.mean(photon_density_masked[x_mask, :], axis=1)\n",
    "    max_idx = np.argmax(profile)\n",
    "    max_x = float(x[x_mask][max_idx])\n",
    "    max_profile_value = float(profile[max_idx])\n",
    "\n",
    "    return {\n",
    "        \"max_density_x\": max_x,\n",
    "        \"max_density_value\": max_profile_value,\n",
    "    }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Verify a Sample Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: title={'center': 'cross section at y=0.00 (μm)'}, xlabel='x (μm)', ylabel='z (μm)'>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pre(130).plot(y=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Run the Design Space Exploration\n",
    "\n",
    "The Design plugin will:\n",
    "1. Call `pre(distance)` for each distance value\n",
    "2. Batch all simulations together for parallel execution on the cloud\n",
    "3. Call `post(sim_data)` for each result\n",
    "4. Store everything in a `Result` object"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "distances = [130, 140, 200, 300, 400, 500]\n",
    "\n",
    "param_distance = tdd.ParameterAny(name=\"distance\", allowed_values=distances)\n",
    "\n",
    "method = tdd.MethodGrid()\n",
    "\n",
    "design_space = tdd.DesignSpace(\n",
    "    parameters=[param_distance],\n",
    "    method=method,\n",
    "    task_name=\"Microlens_Design\",\n",
    "    path_dir=\"./data\",\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">10:13:38 EDT </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6</span> Simulations                                              \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m10:13:38 EDT\u001b[0m\u001b[2;36m \u001b[0mRunning \u001b[1;36m6\u001b[0m Simulations                                              \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">10:14:40 EDT </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: Simulation final field decay value of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.000144</span><span style=\"color: #800000; text-decoration-color: #800000\"> is greater </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">than the simulation shutoff threshold of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\">. Consider running   </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">the simulation again with a larger </span><span style=\"color: #008000; text-decoration-color: #008000\">'run_time'</span><span style=\"color: #800000; text-decoration-color: #800000\"> duration for more    </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">accurate results.                                                  </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m10:14:40 EDT\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Simulation final field decay value of \u001b[0m\u001b[1;36m0.000144\u001b[0m\u001b[31m is greater \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthan the simulation shutoff threshold of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m. Consider running   \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthe simulation again with a larger \u001b[0m\u001b[32m'run_time'\u001b[0m\u001b[31m duration for more    \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31maccurate results.                                                  \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">10:14:41 EDT </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: Simulation final field decay value of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5.95e-05</span><span style=\"color: #800000; text-decoration-color: #800000\"> is greater </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">than the simulation shutoff threshold of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\">. Consider running   </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">the simulation again with a larger </span><span style=\"color: #008000; text-decoration-color: #008000\">'run_time'</span><span style=\"color: #800000; text-decoration-color: #800000\"> duration for more    </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">accurate results.                                                  </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m10:14:41 EDT\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Simulation final field decay value of \u001b[0m\u001b[1;36m5.95e-05\u001b[0m\u001b[31m is greater \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthan the simulation shutoff threshold of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m. Consider running   \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthe simulation again with a larger \u001b[0m\u001b[32m'run_time'\u001b[0m\u001b[31m duration for more    \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31maccurate results.                                                  \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: Simulation final field decay value of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2.03e-05</span><span style=\"color: #800000; text-decoration-color: #800000\"> is greater </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">than the simulation shutoff threshold of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\">. Consider running   </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">the simulation again with a larger </span><span style=\"color: #008000; text-decoration-color: #008000\">'run_time'</span><span style=\"color: #800000; text-decoration-color: #800000\"> duration for more    </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">accurate results.                                                  </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m            \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Simulation final field decay value of \u001b[0m\u001b[1;36m2.03e-05\u001b[0m\u001b[31m is greater \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthan the simulation shutoff threshold of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m. Consider running   \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthe simulation again with a larger \u001b[0m\u001b[32m'run_time'\u001b[0m\u001b[31m duration for more    \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31maccurate results.                                                  \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">10:14:42 EDT </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: Simulation final field decay value of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.26e-05</span><span style=\"color: #800000; text-decoration-color: #800000\"> is greater </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">than the simulation shutoff threshold of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\">. Consider running   </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">the simulation again with a larger </span><span style=\"color: #008000; text-decoration-color: #008000\">'run_time'</span><span style=\"color: #800000; text-decoration-color: #800000\"> duration for more    </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">accurate results.                                                  </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m10:14:42 EDT\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Simulation final field decay value of \u001b[0m\u001b[1;36m1.26e-05\u001b[0m\u001b[31m is greater \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthan the simulation shutoff threshold of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m. Consider running   \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthe simulation again with a larger \u001b[0m\u001b[32m'run_time'\u001b[0m\u001b[31m duration for more    \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31maccurate results.                                                  \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: Simulation final field decay value of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\"> is greater  </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">than the simulation shutoff threshold of </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1e-05</span><span style=\"color: #800000; text-decoration-color: #800000\">. Consider running   </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">the simulation again with a larger </span><span style=\"color: #008000; text-decoration-color: #008000\">'run_time'</span><span style=\"color: #800000; text-decoration-color: #800000\"> duration for more    </span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #800000; text-decoration-color: #800000\">accurate results.                                                  </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m            \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: Simulation final field decay value of \u001b[0m\u001b[1;36m1.1e-05\u001b[0m\u001b[31m is greater  \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthan the simulation shutoff threshold of \u001b[0m\u001b[1;36m1e-05\u001b[0m\u001b[31m. Consider running   \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31mthe simulation again with a larger \u001b[0m\u001b[32m'run_time'\u001b[0m\u001b[31m duration for more    \u001b[0m\n",
       "\u001b[2;36m             \u001b[0m\u001b[31maccurate results.                                                  \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "results = design_space.run(pre, post)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>distance</th>\n",
       "      <th>max_density_x</th>\n",
       "      <th>max_density_value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>130</td>\n",
       "      <td>290.250000</td>\n",
       "      <td>258013600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>140</td>\n",
       "      <td>252.430000</td>\n",
       "      <td>259395744.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>200</td>\n",
       "      <td>165.561983</td>\n",
       "      <td>204321600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>300</td>\n",
       "      <td>130.330000</td>\n",
       "      <td>123189744.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>400</td>\n",
       "      <td>118.149053</td>\n",
       "      <td>79960096.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>500</td>\n",
       "      <td>111.470000</td>\n",
       "      <td>55442156.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   distance  max_density_x  max_density_value\n",
       "0       130     290.250000        258013600.0\n",
       "1       140     252.430000        259395744.0\n",
       "2       200     165.561983        204321600.0\n",
       "3       300     130.330000        123189744.0\n",
       "4       400     118.149053         79960096.0\n",
       "5       500     111.470000         55442156.0"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = results.to_dataframe()\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plotting / Visualization\n",
    "### Photon Density vs Distance from Sphere Center\n",
    "As an example, we can visualize the photon density profile for the 130 µm source distance case. The x-axis will represent the distance from the center of the sphere, and the y-axis will represent the photon density\n",
    "\n",
    "Similar to get_max_photon_density_location, this visualization only takes values above x = 0 (sphere center) into consideration."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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bSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBFaTaK9cuRJ169aFs7MzSpQoge7duyMyMjLf43788UdUrVoVjo6O8Pb2xltvvYVbt26ZIGIiIiIismYaIYRQO4jCmj9/PgYMGAAACAwMRHx8PJKSkuDt7Y2TJ0/Cx8cnx+PGjBmDiRMnAgAqVqyImJgYPHr0CJUrV8axY8fg4uKS77WTkpLg7u6OxMREuLm5Ge5FEREREZFBqJWvWXyP9pMnTzBy5EgAQLdu3XD58mWEh4fD1dUVcXFxmDRpUo7H3bp1C9988w0AYNiwYbhw4QIOHjwIjUaD8+fP4+effzbZayAiIiIi62OndgCFdeTIEdy5cweATLQBwNfXF40aNcK2bduwZcuWHI/bvn07UlNTsxxXs2ZNVKhQARcvXsSWLVvwySefZDsuJSUFKSkp2u8TExMByL+UiIiIiMj8KHmaqQdyWHyife3aNe22t7e3drt06dIAgOjo6AIfd/HixVyPmzx5MiZMmJDtcT8/v4IFTkREREQmFR8fD3d3d5Ndz+IT7dzo+xdLfseNGjUqS0/3vXv3EBAQgOjoaJP+4CxdUlIS/Pz8cO3aNY5t1xHvmX543wqO90w/vG8Fx3umH963gktMTIS/vz9KlChh0utafKKduSc5Li4u27a/v79OxwUHB+t0nKOjIxwdHbM97u7uzje7Htzc3HjfCoj3TD+8bwXHe6Yf3reC4z3TD+9bwdnYmHZ6osVPhqxfvz5KliwJAFizZg0A4MaNGzh48CAAoG3btgCAypUro3Llypg5cyYAIDQ0FHZ2dlmOO3XqFC5dupTlOCIiIiIifVh8ou3g4KCtLLJmzRoEBQWhSpUqSE5OhpeXl7YiSUREBCIiIrQTJ318fDB8+HAAwHfffYeQkBA0atQIQghUrFgR77zzjjoviIiIiIisgsUn2gAwaNAgLF26FLVr18aNGzeg0WjQtWtX7N+/H76+vrke9/XXX+OHH35A5cqVERUVhWLFiqFv377Ys2cPihUrptO1HR0dMW7cuByHk1DueN8KjvdMP7xvBcd7ph/et4LjPdMP71vBqXXPrGLBGiIiIiIic2MVPdpEREREROaGiTYRERERkREw0SYiIiIiMgIm2kRERERERsBEWwezZs1C+fLl4eTkhIYNG+Lw4cO57jt37lw0a9YMnp6e8PT0RKtWrfLc39KNHz8eGo0my1flypW1zz9+/BjvvfceSpYsieLFi6Nbt264detWrudLTU3FiBEjUKNGDRQrVgy+vr7o06cPbty4YYqXYzR79uxBp06d4OvrC41Gg/Xr12d5XgiBsWPHokyZMnB2dkarVq1w8eLFLPskJCSgd+/ecHNzg4eHB95++23cv38/12smJCTg/fffR0hICJydneHv748PPvgAiYmJxniJBpffPevXr1+2996z9e+L2j2bPHky6tevD1dXV3h7e+OVV15BREREln10+TcZHR2NDh06wMXFBd7e3hg+fDiePn2a63WvXLmCt99+G4GBgXB2dkZwcDDGjRuHJ0+eGOV1Gpou961FixbZ3m+DBw/Osk9Ru28//fQTatasqV00pXHjxti8ebP2eb7XssvvnvF9lr8pU6ZAo9Hgo48+0j5m1u81QXlauXKlcHBwEAsWLBBnz54VAwcOFB4eHuLWrVs57t+rVy8xa9YsceLECREeHi769esn3N3dRUxMjIkjN41x48aJatWqiZs3b2q/bt++rX1+8ODBws/PT+zYsUMcPXpUNGrUSDRp0iTX8927d0+0atVKrFq1Spw/f14cOHBANGjQQNSrV88UL8doNm3aJD7//HOxdu1aAUCsW7cuy/NTpkwR7u7uYv369eLkyZOic+fOIjAwUDx69Ei7T9u2bUWtWrXEwYMHxb///isqVKggevbsmes1T58+Lbp27Sr++OMPcenSJbFjxw5R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RJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYiIiIiMgIk2EREREZERMNEmIiIiIjICJtpEREREREbARJuIiIiIyAiYaBMRERERGQETbSIiIiIiI2CiTURERERkBEy0iYqo8uXLQ6PR4MqVK1keb9GiBTQaDXbt2qVKXNbu3r17eO+99xAQEAAHBwdoNBq0aNFC7bDIDD148AB+fn6oVasW0tPT1Q4nV0uXLoVGo8Hs2bPVDoXI7DDRJiKjyC2RL+oGDRqE2bNnw8bGBl27dkXfvn3Rtm1btcMqchYtWgSNRoN+/fqpHUquJk2ahJiYGEyaNAk2Nub767pXr16oUaMGxowZg4SEBLXDITIrdmoHQETmZcmSJXj48CH8/f3VDsXqpKamYt26dXBycsLJkyfh5uamdkhkpq5fv47vvvsO9evXR4cOHdQOJ082NjYYN24cunfvjokTJ2L69Olqh0RkNsz3T2QiUoW/vz8qV64MFxcXtUOxOjdv3sTTp09RunRpJtmUp9mzZyMlJQVvv/222qHopHPnzihVqhTmz5+P+/fvqx0Okdlgok1kxc6dO4dXX30VXl5ecHZ2RvXq1fHtt98iLS0t12NyG6OdkpKCadOmoV69enB1dYWDgwN8fHxQv359fPbZZ9qPjJWP5K9evQoACAwMhEaj0X5lPu/atWsxYMAAVK9eHZ6ennByckJgYCDeeustRERE5Bhfv379oNFosGjRIkRFReHNN9+Ej48PHB0dERwcjC+++AIpKSm5vr5jx46hb9++CAwMhJOTE0qUKIFatWph+PDh2pgzu3HjBj755BNUqVIFLi4ucHV1Rf369TFz5kw8ffo01+s8S6PRICAgAABw9erVHO9J5td25swZvPbaayhTpgxsbW0xfvx47bkSEhIwevRoVKtWTRtTvXr1MHXqVDx69CjbtXft2qUdC56SkoIJEyagUqVKcHJygr+/P0aMGIHHjx8DABITE/Hpp58iKCgITk5OKF++PMaPH1+g15qZse+3Pu+H8uXLo3///gCAxYsXZ/lZ5DRefvXq1Wjbti1KlSoFBwcHlC1bFm+88QbOnTuXbd8rV65Ao9GgfPnySEtLw/Tp01GnTh0UL14cGo1Gp3v25MkTzJ07F46Ojnj99dezPZ/555kb5fXk9fjSpUvRoEEDFC9eHKVKlULPnj0RHR0NABBCYObMmahduzaKFSsGLy8v9OvXD3FxcTlez97eHr169UJSUhJ+/fVXnV4nUZEgiMgq/fvvv6JYsWICgAgKChKvv/66aNWqlbC3txfdunUTAQEBAoCIiorKclzz5s0FALFz507tY2lpaSI0NFQAEG5ubqJdu3aiZ8+eolWrVtrznDhxQnvdvn37aq/drVs30bdvX+1XeHi49ry2trbCxcVFPPfcc6Jr166ic+fOIigoSAAQxYoVE/v27cv2uvr27SsAiA8//FC4ubmJgIAA0aNHD9GqVSvh7OwsAIhXXnklx3sydepUYWNjIwCISpUqiR49eohOnTqJKlWqCABi4cKFWfbfvXu38PT0FABE+fLlRefOnUWbNm20j7Vu3Vo8efJEp59H3759Rbdu3bSvLad7ory2gQMHCkdHR1G+fHltjN9++60QQojIyEjtPS9VqpTo1q2b6Ny5s3B1dRUARN26dUVCQkKWa+/cuVMAEI0bNxbNmzcXbm5uonPnzqJjx47C3d1dABAdO3YU8fHxIiQkRHve1q1bCycnJwFADB48WKfXaer7rc/7YdiwYeL5558XAERwcHCWn8XkyZO1+6WmpooePXoIAMLR0VE0adJEvPrqq6JWrVoCgHB2dhabN2/Ocu6oqCgBQPj7+4vOnTsLBwcHERoaKnr27Clq1qyp0337559/BADRtGnTHJ9Xfp7NmzfP9RwARE6/4pXHR44cKezs7ETLli1F9+7dhb+/vwAg/Pz8REJCgujRo4dwcnISbdu2FV26dBHe3t4CgKhZs6ZISUnJ8Zp//fWX9udERBITbSIr9OjRI+Hn5ycAiI8++kg8ffpU+9zJkyeFl5eX9heuLon27t27BQBRp04dkZSUlO16R44cEXfu3MnyWG6JfGYrV64U9+/fz/JYenq6mDVrlgAgqlWrJtLT07M8ryRWAMTnn3+e5bWdPn1am+Dv378/y3EbNmwQAISTk5NYtWpVtljOnj0rzp07p/3+5s2bomTJkkKj0YjZs2eLtLQ07XN37twRLVu2FADEhAkTcn19z1KSsICAgByfz/zaRo4cmeWaioYNGwoAonPnzlnuXVxcnKhbt64AIHr16pXlGCUxAyAaNGiQ5Wd15coVbSJbo0YN0alTJ/HgwQPt80eOHBF2dnbCxsZGXL16VefXaqr7re/7YeHChQKA6Nu3b66vYfTo0QKAaNiwobh8+XKW537//Xdha2srPD09xd27d7WPKz9jAKJcuXIiIiIiz/uUky+++EIAEMOHD8/xeUMk2iVLlhRhYWHaxx8+fCiaNm2qfR8EBweLK1euaJ+/ffu2qFChggAgli5dmuM14+PjhUajES4uLrkm40RFDRNtIiu0dOlSbe9UTj2u33//fYES7d9++00AEB988IHOMeiSaOelcePGAoA4e/ZslseVxKpevXrZknAhhBg8eLAAIL788sssj9euXVsAEN99951O1x8xYoQAIIYOHZrj8zExMcLe3l6UKlUqxzhyomuiXalSpSwJo+Lff/8VAISLi4uIjY3N9vzRo0cFAGFjYyOuXbumfVxJzDQajTh9+nS24z744AMBQBQvXlzcunUr2/OdOnUSAMTixYt1ep1CmO5+6/t+yC/Rjo+PF87OzsLJyUnExMTkuM+7774rAIgff/xR+1jmRHvJkiX5vewcdejQQQAQCxYsyPF5QyTas2bNyvbc2rVrtc9v3Lgx2/PfffedACD69++f63XLlCkjAIiTJ0/mug9RUcIx2kRWSBnz26NHD9jb22d7vm/fvgU6X926dWFra4sFCxZg1qxZuHnzpiHCBABcunQJM2fOxEcffYS3334b/fr1Q79+/XDr1i0AyHWsdseOHXMcg1qlShUAsmqDIjY2FmFhYbCxsdF5ctnGjRsBAK+99lqOz5ctWxYVK1bE7du3cfHiRZ3OqatXXnkFtra22R5Xfq5t27ZF6dKlsz1fr149bc3l3bt3Z3ve398f1atXz/Z4xYoVtcd7e3vn+vyNGzd0il+N+12Q94Mudu7ciUePHuH5559H2bJlc9xHGSO9f//+HJ/v1q1bga6pUN77JUuW1Ot4XbRv3z7bY8rP2c7ODq1bt871+bzeB0rMymsgKupY3o/ICsXExACQExFz4unpCXd3dyQmJup0vuDgYHz//fcYPnw4hg4diqFDhyIgIACNGzdGx44d8eqrr8LBwaFAMaalpWHo0KGYM2cOhBC57peUlJTj47mVH1SqeSiT+wBoJ3iVKVMG7u7uOsV3+fJlAECzZs3y3ff27duoVKmSTufV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",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data_130 = td.SimulationData.from_file(results.task_paths[0])\n",
    "\n",
    "field_data = sim_data_130[\"field\"]\n",
    "Ex = np.abs(field_data.Ex.values)\n",
    "Ey = np.abs(field_data.Ey.values)\n",
    "Ez = np.abs(field_data.Ez.values)\n",
    "magnitude = np.sqrt(Ex**2 + Ey**2 + Ez**2)\n",
    "\n",
    "magnitude = np.squeeze(magnitude)\n",
    "intensity = magnitude**2\n",
    "\n",
    "x = field_data.Ex.x.values\n",
    "z = field_data.Ex.z.values\n",
    "\n",
    "xx, zz = np.meshgrid(x, z, indexing=\"ij\")\n",
    "inside_sphere = xx**2 + zz**2 <= sphere_radius**2\n",
    "intensity_corrected = np.where(inside_sphere, intensity * n_dielectric, intensity)\n",
    "photon_density_130 = (e_0 / 2) * intensity_corrected / photon_energy\n",
    "\n",
    "x_mask = x > 0\n",
    "x_plot = x[x_mask]\n",
    "y_plot = gaussian_filter1d(np.mean(photon_density_130[x_mask, :], axis=1), sigma=1)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 6))\n",
    "ax.plot(x_plot, y_plot, color=\"blue\")\n",
    "ax.set_xlabel(\"distance from center (\\u00b5m)\", fontsize=16, labelpad=16)\n",
    "ax.set_ylabel(\"Photon Density (m\\u207b\\u00b3)\", fontsize=16, labelpad=12)\n",
    "\n",
    "xticks = np.arange(x_plot[0], x_plot[-1] + 50, 50)\n",
    "ax.set_xticks(xticks)\n",
    "for label in ax.get_yticklabels():\n",
    "    label.set_fontweight(\"bold\")\n",
    "ax.set_xlim(left=x_plot[0])\n",
    "ax.set_ylim(bottom=0)\n",
    "ax.tick_params(axis=\"y\", labelsize=10)\n",
    "plt.subplots_adjust(bottom=0.15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Final Graph"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As previously mentioned, the main metric we're after is\n",
    "\n",
    "     Distance to Global Density Maximum vs Source Distance\n",
    "     \n",
    "where both distances are measured from the center of the microsphere. We can get this data by utilizing the previously defined function for all of our datasets\n",
    "\n",
    "For this set of fluorophore distances, we can see a clear inverse correlation between the two variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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YWGhmPestPqbPXu2ACBeeumlMuuiNJIQWhzyqYpasGABFi5ciPnz52PBggW6Doeqgfj4eHh4eMDd3V3pbVhERERE1UVBQQG8vLwUdxC0b99ere1Uuz4qRERERESkO2vWrMGNGzfQvn17tZMUoBr2USEiIiIioufr6tWrWLZsGZKTk7Fnzx7IZDJ8/vnnFdomExUiIiIiIqqQpKQkrF27FoaGhnjhhRewYMGCEiOelRf7qBARERERUaXDPipERERERFTpMFEhIiIiIqJKh31USiGXy5GYmAgLCwtIkqTrcIiIiIiInjshBB4+fAhnZ2fFJKzPCxOVUiQmJsLV1VXXYRARERER6dzNmzfh4uLyXF+TiUopLCwsADx5UywtLXUcjW7J5XKkpKTAzs7uuWfS1R3rVntYt9rDutUe1q32sG61i/WrPbqu24yMDLi6uirOjZ8nJiqlKLzdy9LSkomKXI7s7GxYWlryy0fDWLfaw7rVHtat9rButYd1q12sX+2pLHWri64QPJKIiIiIiKjSYaJCRERERESVDhMVIiIiIiKqdJioEBERERFRpcNEhYiIiIiIKh0mKkREREREVOkwUSEiIiIiokqHiQoREREREVU6TFSIiIiIiKjSYaJCRERERESVDhMVIiIiIiKqdJioEBERERFRpcNEhYiIiIiIKh0mKkREREREVOkwUSEiIiIiokpHX9cBUEkFcoETcfdx92E27C2M0cbDBnoySddhERERERE9N0xUKpk9F5KwcOclJKVnK5Y5WRlj/gAf9G7spMPIiIiIiIieH976VYnsuZCEKZtOF0tSACA5PRtTNp3GngtJOoqMiIiIiOj5YqJSSRTIBRbuvAShZF3hsoU7L6FArqwEEREREVH1wkSlkjgRd79ES0pRAkBSejZOxN1/fkEREREREekIE5VK4u7D0pMUdcoREREREVVlTFQqCXsLY42WIyIiIiKqypioVBJtPGzgZGWM0gYhlvBk9K82HjbPMywiIiIiIp1golJJ6MkkzB/gAwAlkpXCx/MH+HA+FSIiIiKqEZioVCK9Gzth1ZgWcLQqfnuXo5UxVo1pwXlUiIiIiKjG4ISPlUzvxk7o4eOIbWdu451fz8JAT0LYrAAY6jOnJCIiIqKag2e/lZCeTMKLvnVgbCBDXoHArQePdR0SEREREdFzxUSlktKTSWjgYAEA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eHi4mDt3rs7c+g3RTJmp+SeTyYSLi4uIiIgQM2fOFDt27NCbfra+Pt68eVMsWbJE9O/fX/j4+Ai5XC58fX3F8OHDxfbt2/Wev3XrVtGzZ09hY2Oj3b9GTk6OmDlzpvD19RVKpVKEh4eLzz77TKSkpBiMfUPxqm9a0PLycrFy5Urx4IMPChsbG2Fvby+6du0qXnnlFZ17vghRe0+ft99+W4SFhWnbhoSEiMmTJ4tff/3VcHAN+OCDD0RISIiwtrY2OE727dsnRowYIZydnYVcLhedOnUSixcv1rm/Q1OVlJSIVatWiQEDBgh3d3chk8mEs7OziIqKEu+//77efTiEaPqYMuY9oFKpxLPPPit8fHyElZWVwffwkSNHxMSJE4Wvr6+wtrYW7u7uIjIyUrzxxhsiKSlJ264px4CGNOe92BrTEzekOdMTa/zyyy8iOjpae++dgIAAMXXqVHHmzBltm4amw9ZoahwSEhLE888/L8LCwoSzs7OwsbERISEhYs6cOXrT+mr6XVZWJhYuXCjat28v5HK5CA0NFWvWrNGburyhqcob+j231ljV2LVrlxg9erTw8PAQ1tbWwtvbW0RFRYl3331XXLlypcHnapSVlQlXV1eD0z5r4pKQkCB69uwpFAqF8PPzE8uXLxeXLl0SgYGBwsXFRTtmGnrtDcWsvvGampoqJBKJmD9/fpNeC7UdEiHq1J4QkcVZsmQJli5ditjYWIPTdRIRUdMMHDgQ8fHxaKsffRYvXowVK1YgOTlZW8YKmD8ub7/9Nj744AMkJSUhODjYLH0gy8RrVIiIiIjagIULF8LV1bXZU22b0s2bN/HJJ59g1qxZTFJIDxMVIiIiojbAwcEB3333HQICApp1LyFTSk1NxYIFC/DOO++YuytkgXgxPREREVEbMXToUAwdOtTc3dCKjIxEZGSkubtBForXqBARERERkcVh6RcREREREVkcJipERERERGRxmKgQEREREZHFYaJCREREREQWh4kKERERERFZHCYqRERERERkcZioEBERERGRxWGiQkREREREFoeJChERERERWZz/D3BF2F56ErXrAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(8, 6))\n",
    "\n",
    "ax.plot(df[\"distance\"], df[\"max_density_x\"], marker=\"o\", color=\"tab:blue\")\n",
    "ax.set_xlabel(\"Fluorophore Distance to Center of Microsphere (\\u00b5m)\", fontsize=14)\n",
    "ax.set_ylabel(\"Distance to Global Photon Density Max (\\u00b5m)\", fontsize=14)\n",
    "ax.set_title(\"Optimal Microsphere-Sensor Distance for Maximum Photon Density\", fontsize=16)\n",
    "ax.grid(True, alpha=0.3)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "applications": [
   "Lenses",
   "Sensors"
  ],
  "description": "This notebook demonstrates how to use Tidy3D FDTD simulations to model glass microsphere microlens arrays for on-chip fluorescence microscopy. The microspheres collect and focus emitted fluorescence onto a CMOS sensor. The Design plugin sweeps over fluorophore-to-microlens distances to identify the optimal configuration that maximizes photon density on the detector.",
  "feature_image": "./img/Microlens.png",
  "features": [
   "Design plugin",
   "Mesh override",
   "Parameter sweep"
  ],
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "keywords": "microlens, microsphere, fluorescence microscopy, photon density, Tidy3D, FDTD",
  "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.11.8"
  },
  "title": "How to model microsphere microlens arrays in Tidy3D FDTD"
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
