{ "cells": [ { "cell_type": "markdown", "id": "07eb6d09", "metadata": {}, "source": [ "# 4. Fiber MMF coupling\n", "\n", "Demonstrates the `physical` focal plane (focal grid in metres, with an explicit `focal_length`) paired with the `fiber_dual` output tap. The tap produces a `(2, H, W, 1)` stack: focal-plane intensity in channel 0 and multi-mode fiber-coupled intensity in channel 1.\n", "\n", "This tutorial uses a deliberately small fiber setup (32-pixel focal plane, 3 wavelengths, smaller fiber core) so it executes in seconds. The full-fidelity reproduction lives at `fixtures/configs/15_fiber_mmf.yaml` and is exercised by `pytest --runslow tests/fixtures/`." ] }, { "cell_type": "code", "execution_count": 1, "id": "f5308b6d", "metadata": { "execution": { "iopub.execute_input": "2026-05-22T01:41:53.341383Z", "iopub.status.busy": "2026-05-22T01:41:53.341260Z", "iopub.status.idle": "2026-05-22T01:41:57.953187Z", "shell.execute_reply": "2026-05-22T01:41:57.952630Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "focal shape: (32, 32) mmf shape: (32, 32)\n", "pupil_opd RMS (nm): 0.0\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABP8AAAFZCAYAAADn44oPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAuVlJREFUeJzs3Ql8VOX1N/CThex7QgKBBMK+74iAIIiiuONSrC3VVqkULEVr+2qtxVqV1lrEVqCittq6obVu/eOCG6CILIKyEyCQsGXfE7LO+/k9cOMkmeQ+k8w+v6+fa8jkyZ3JLPeZe+Y85wRYLBaLEBERERERERERkc8JdPcNICIiIiIiIiIiIudg8I+IiIiIiIiIiMhHMfhHRERERERERETkoxj8IyIiIiIiIiIi8lEM/hEREREREREREfkoBv+IiIiIiIiIiIh8FIN/REREREREREREPorBPyIiIiIiIiIiIh/F4B8REREREREREZGPYvDPxwUEBMiDDz5o9+9VVVWp3/vss89a/ez5559X+z169Kj4E9wf+LutTZs2TW066urqZNWqVTJx4kSJjY2V8PBwGTx4sNx7771SWFjYajz2i+szNowfOXKkLF++XBobG5vG3Xrrrc3GRUZGSu/eveXqq6+Wf/7zn1JTU+OAv56IfNGaNWtk6NCh6viC48fOnTu9br6y97jtaTpzG/fu3at+31PmY9wO/C14n2DYtGmTuo0lJSVuvW1E5B/wvhjvg609+uij8tZbb7Uai/McHLNsne94GlvHV0fs84orrpCEhAS178WLF9u8HmOeKigocNh1+6KW72O86flF/oHBP2oz+Pf73//e5sEKk8SXX34p3bt396t77/bbb1d/d0fvz0suuUR+/vOfy+jRo+WVV16RtWvXyty5c2X16tXqsgMHDrT6vT59+qjrxIaT9B49eshdd90l9913X7NxOHE3xv3vf/+Thx56SAUB582bJ2PHjpXjx493+O8mIt+Un5+vjkF9+/aV999/Xx0/BgwY4O6b5Xc6M7cg+Ie52lOCf3hfgL8F7xOsg3+4jQz+EZG7tBX8GzNmjDpm4as/wjnFV199Jf/4xz/U/YDvbR3HqWP8/flFnifY3TeAvE/Xrl3V5m969uypto7AZLp+/Xp59dVXZc6cOU2XT58+XW644QY577zz5Prrr5dvvvlGgoKCmgX1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II+F5enoOI0AdcK5BjToDox6gOgKjCYhGIMsQGQAsglIx7DmHxERebcGO7r4umfFwBNPPCHPPvuseq9y8cUXy5NPPskP3omIyCvmsV27dsnLL78s27dvV9/PmDFDrrzySomLixN3YPDPBizpRbAvLT1drr7qKhU46X1u2S8CKuzmS95A1ahMSpK42FgVDOzXr5+cOnVK3nnnHcnJyVG1APPy8919M71WoFr2qznW2TeGtExNKdQad6oq0nRMQU241r4Ka0JMxxyt1JuKE+rMP9lMjdTbV3pckemYNw9naO1r4fBM0zGFldFa+zpUGG86ZlBCgda+EmNKTces2TtEa18X9zwhjvLpie5a4+YM2Ws6JqJLrda+9hV2NR3TK7rMYY/365n9tPY1u2+W6Zj8Cr3nTnZlmOmYolrHrdZIjdA7sqeGV5uO6R5RKe4Q0FgvAY2B2mNdLT8/X5566inZs2ePev89depU2bx5s0ycONHlt4WIiDyPp89j+/btU6tHcS4Oo0aNkvfff19uuukmcQeek7Zo6KEaKERGSmJSksqUwgM0duxYSUtLk5iYGNVVlcgb4LmM5yuet+np6ep5PHLkSPW8TuraVcIjIppqVnL5escz/3Q3IiIiz1suZcfmBlitcObMGbVaARs+iCciInLFPLZhwwa56qqrJPVck9e33nqr1ZiVK1eqevsI8OF8e+PGjU0/Q0POTz/9VEpKStT2ySefyIkTjvtA2V4M/p2DTxRRy2/06NEyfdo0uf666+TiGTMkKSlJPZBYBkzkrfD8xfMYb5qxbAbP72kXXqie70YNS+pYzT/djYiIyKN4+EkT6mzfc8896gNM7APvX/r27dvpP5uIiHyEk+exyspKlTyDLHRb1qxZI4sXL5b7779fduzYIVOmTFG9IrKzs9XPhwwZIosWLZKLLrpIZs+eLePHj3drXIkRrXPQvKN/v37qDcaF06bJpTNnqsuwxJdZUeTt8DxGFiDeXF966aXq0/PomBgJDQ2Vo0ePqiXAaBBCdtyndgT12O2XiIg8TYClXgIsmsultGsqtT5p+vGPfyzXX399mydNCABOnjxZnn76aXXStHfvXvV+HA3K/ve//6n3KXgPg58hoIjlv0RERB2Zx8rKmpc5wfkwNlsw72Bry7Jly+S2226T22+/XX2/fPly+eCDD2TVqlWydOlSddkd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import yaml\n", "from telescope_sim import TelescopeSim\n", "from telescope_sim.config.schema import SimConfig\n", "from telescope_sim.config.loader import build\n", "\n", "config = {\n", " 'pupil': {'resolution': 128, 'extent': 3.675},\n", " 'aperture': {\n", " 'type': 'segmented_circular',\n", " 'segment_diameter': 3.5,\n", " 'layout': 'custom',\n", " 'positions': [[0.0, 0.0]],\n", " },\n", " 'correctors': {\n", " 'zernike_dm': {\n", " 'type': 'zernike', 'n_modes': 10, 'zernike_diameter': 3.5,\n", " 'starting_mode': 1, 'actuate_scale': 1e-6,\n", " 'wavefront_role': 'actuate',\n", " 'target_strategy': 'actuators', 'target': True,\n", " }\n", " },\n", " 'corrector_chain': ['zernike_dm'],\n", " 'focal_planes': {\n", " 'filter1': {\n", " 'type': 'physical',\n", " 'central_lam': 6.35e-7, 'focal_extent': 5.25e-4,\n", " 'focal_res': 32, 'focal_length': 32.5,\n", " 'fractional_bandwidth': 0.001574803, 'num_samples': 3,\n", " 'wavefront_total_power': 1.0,\n", " }\n", " },\n", " 'outputs': {\n", " 'x': {\n", " 'tap': {\n", " 'type': 'fiber_dual', 'focal_plane_name': 'filter1',\n", " 'fiber': {\n", " 'type': 'step_index', 'core_radius': 1.0e-4,\n", " 'NA': 0.1, 'fiber_length': 7.4e-3, 'max_in_cache': 3,\n", " },\n", " },\n", " 'post_processing': [],\n", " }\n", " },\n", "}\n", "import hcipy\n", "from matplotlib.colors import LogNorm\n", "\n", "sim = build(SimConfig.model_validate(config))\n", "out = sim.sample(meas_pupil_opd=True)\n", "stack = out['images']['x'] # (2, H, W, 1)\n", "focal_psf, mmf_psf = stack[0, ..., 0], stack[1, ..., 0]\n", "print('focal shape:', focal_psf.shape, ' mmf shape:', mmf_psf.shape)\n", "print('pupil_opd RMS (nm):', 1e9 * out['pupil_opd'].std())\n", "\n", "# Custom layout because the fiber_dual tap stacks channels [focal, mmf]\n", "# rather than per-filter — the package's plot_opd_and_psfs helper\n", "# assumes the per-filter stack from the intensity tap.\n", "fig, axes = plt.subplots(1, 3, figsize=(13, 4))\n", "opd_nm = hcipy.Field(\n", " 1e9 * np.asarray(out['pupil_opd']), out['pupil_opd'].grid\n", ")\n", "plt.sca(axes[0])\n", "im0 = hcipy.imshow_field(\n", " opd_nm, mask=sim.aperture.field, cmap='RdBu_r'\n", ")\n", "axes[0].set_title('cumulative pupil OPD')\n", "axes[0].set_axis_off()\n", "fig.colorbar(im0, ax=axes[0], shrink=0.7, label='OPD [nm]')\n", "for ax, img, title in [\n", " (axes[1], focal_psf, 'focal-plane intensity'),\n", " (axes[2], mmf_psf, 'multi-mode fiber coupling'),\n", "]:\n", " vmax = float(img.max())\n", " vmin = vmax * 1e-8 if vmax > 0 else 1.0\n", " im = ax.imshow(img, norm=LogNorm(vmin=vmin, vmax=vmax), cmap='inferno')\n", " ax.set_title(title)\n", " ax.set_axis_off()\n", " fig.colorbar(im, ax=ax, shrink=0.7, label='intensity')\n", "plt.tight_layout()\n", "plt.show()\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.11.15" } }, "nbformat": 4, "nbformat_minor": 5 }