From b363537823a71094231eeb0dff8829bd079dee04 Mon Sep 17 00:00:00 2001 From: kushalkolar Date: Sun, 23 Jun 2024 16:18:50 +0200 Subject: [PATCH] after workshop --- intro_demo.ipynb | 252 ++++++++++++++++++++++------------------ neuro_demo.ipynb | 291 +++++++++++++++++++++++++++++------------------ 2 files changed, 320 insertions(+), 223 deletions(-) diff --git a/intro_demo.ipynb b/intro_demo.ipynb index 713c21d..d865db3 100644 --- a/intro_demo.ipynb +++ b/intro_demo.ipynb @@ -62,27 +62,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "52c12cb2-1b3c-4578-81d6-b64b7598ffec", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: imageio in /home/caitlin/venvs/fpl/lib/python3.11/site-packages (2.34.1)\n", - "Requirement already satisfied: numpy in /home/caitlin/venvs/fpl/lib/python3.11/site-packages (from imageio) (1.26.4)\n", - "Requirement already satisfied: pillow>=8.3.2 in /home/caitlin/venvs/fpl/lib/python3.11/site-packages (from imageio) (10.3.0)\n" - ] - } - ], + "outputs": [], "source": [ "!pip install imageio" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "bdc431ce-9c99-4c8e-b925-f8136c4778cf", "metadata": {}, "outputs": [], @@ -100,14 +90,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "c3ceed4f-a32c-489a-9cad-f7cf7d188662", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0b5011f3b1f44ea88d77837e1a510f71", + "model_id": "e36aa378c98141ab949e9d6dcf16791b", "version_major": 2, "version_minor": 0 }, @@ -122,12 +112,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "MESA-INTEL: warning: cannot initialize blitter engine\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n" + "Unable to find extension: VK_EXT_swapchain_colorspace\n" ] }, { @@ -135,9 +120,10 @@ "output_type": "stream", "text": [ "Available devices:\n", - "πŸ―„ (default) | Intel(R) Arc(tm) Graphics (MTL) | IntegratedGPU | Vulkan | Mesa 24.0.8-1\n", - "❗ | llvmpipe (LLVM 17.0.6, 256 bits) | CPU | Vulkan | Mesa 24.0.8-1 (LLVM 17.0.6)\n", - "❗ | Mesa Intel(R) Arc(tm) Graphics (MTL) | IntegratedGPU | OpenGL | \n" + "πŸ―„ | AMD Radeon Graphics (RADV REMBRANDT) | IntegratedGPU | Vulkan | Mesa 22.3.6\n", + "βœ… (default) | NVIDIA T1200 Laptop GPU | DiscreteGPU | Vulkan | 535.129.03\n", + "❗ | llvmpipe (LLVM 15.0.6, 256 bits) | CPU | Vulkan | Mesa 22.3.6 (LLVM 15.0.6)\n", + "❗ | AMD Radeon Graphics (rembrandt, LLVM 15.0.6, DRM 3.52, 6.4.0-0.deb12.2-amd64) | Unknown | OpenGL | \n" ] } ], @@ -157,14 +143,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "602a6498-d4ed-4b5f-80b8-1f6db5b59460", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1b1416e693344605b2e4b38994313d88", + "model_id": "c258251b26924cb6841e9efe2c18c3cb", "version_major": 2, "version_minor": 0 }, @@ -175,20 +161,13 @@ "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n" - ] - }, { "data": { "text/plain": [ "JupyterOutputContext(children=(JupyterWgpuCanvas(css_height='500px', css_width='600px'), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-scale scene'), Button(icon='align-center', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-center scene'), ToggleButton(value=True, icon='hand-pointer', layout=Layout(width='auto'), tooltip='panzoom controller'), ToggleButton(value=True, description='1:1', layout=Layout(width='auto'), style=ToggleButtonStyle(font_weight='bold'), tooltip='maintain aspect'), Button(icon='arrow-down', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='y-axis direction'), Button(icon='draw-polygon', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='add PolygonSelector'), ToggleButton(value=False, icon='video', layout=Layout(width='auto'), tooltip='record'), Dropdown(description='Subplots:', layout=Layout(width='200px'), options=('(0, 0)',), value='(0, 0)')))))" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -226,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "94ab4863-aa46-472d-a32a-19617dc24917", "metadata": {}, "outputs": [], @@ -248,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "cca79223-30c8-4e67-800c-d2d96f6a59ca", "metadata": {}, "outputs": [ @@ -258,7 +237,7 @@ "(512, 512)" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -269,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "4bac341a-d89b-41ba-92be-7b87abc2e6f5", "metadata": {}, "outputs": [], @@ -288,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "289a9df8-c218-4de8-922b-51a314674bf5", "metadata": {}, "outputs": [], @@ -306,7 +285,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "c567c61e-9475-4036-aaec-b668c74ca676", "metadata": {}, "outputs": [], @@ -317,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "1295d135-482d-447c-aaf3-96820455e201", "metadata": {}, "outputs": [], @@ -339,14 +318,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "eb989954-c5b8-4d56-8796-b7bd1d47001d", "metadata": {}, "outputs": [], "source": [ "# create new random data the same shape as the original image\n", "### insert code\n", + "new_data = np.random.rand(*image_graphic.data.value.shape)\n", "\n", + "image_graphic.data = new_data\n", "# update the data \n", "### insert code" ] @@ -361,13 +342,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "18f7cb43-3e2d-493a-a0aa-4cd4a7efc948", "metadata": {}, "outputs": [], "source": [ "# reset the vmin/vmax\n", - "### insert code here" + "### insert code here\n", + "image_graphic.reset_vmin_vmax()" ] }, { @@ -380,17 +362,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "b6f705c6-6616-4f93-a4a6-5b24bb731958", "metadata": {}, "outputs": [], "source": [ - "### insert code here\n" + "### insert code here\n", + "image_graphic.cmap = \"hsv\"" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "8f4a8b9d-9817-43ef-815f-276ff36f6171", "metadata": {}, "outputs": [], @@ -411,14 +394,14 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "39e4b3a4-3975-478e-8470-74b4cbe3522f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "731290d6e8474cce9fab6477b9d26aaf", + "model_id": "46aa562e93cf49ae9ad32179774800f2", "version_major": 2, "version_minor": 0 }, @@ -435,7 +418,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(css_height='500px', css_width='600px'), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-scale scene'), Button(icon='align-center', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-center scene'), ToggleButton(value=True, icon='hand-pointer', layout=Layout(width='auto'), tooltip='panzoom controller'), ToggleButton(value=True, description='1:1', layout=Layout(width='auto'), style=ToggleButtonStyle(font_weight='bold'), tooltip='maintain aspect'), Button(icon='arrow-down', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='y-axis direction'), Button(icon='draw-polygon', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='add PolygonSelector'), ToggleButton(value=False, icon='video', layout=Layout(width='auto'), tooltip='record'), Dropdown(description='Subplots:', layout=Layout(width='200px'), options=('(0, 0)',), value='(0, 0)')))))" ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -467,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "ad014d22-5618-48d8-a4b0-894284df5556", "metadata": {}, "outputs": [], @@ -499,66 +482,109 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "3ab5b823-bd5b-42f7-a1e0-ab4a78cb7aff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2de5f107f37f40cd887654936c14e202", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "RFBOutputContext()" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# create a new fig\n", "### insert code here\n", + "practice_fig = fpl.Figure()\n", "\n", "# create random data in the shape (512, 512)\n", "### insert code here\n", + "data = np.random.rand(512,512)\n", "\n", "# add image to plot\n", - "### insert code here\n" + "### insert code here\n", + "image_graphic = practice_fig[0,0].add_image(data=data, cmap=\"viridis\", name=\"random-image\")" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "6098b032-362b-494c-938e-27e159d822ce", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# show the plot\n", - "### insert code here\n" + "### insert code here\n", + "practice_fig.show()" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 21, "id": "cef0d2fe-20a0-4f97-abaa-fa976ecedb5e", "metadata": {}, "outputs": [], "source": [ "# set the top-left and bottom-right quadrants of the data to 1\n", - "### insert code here\n" + "### insert code here\n", + "practice_fig[0,0][\"random-image\"].data[:256, :256] = 1\n", + "practice_fig[0,0][\"random-image\"].data[256:, 256:] = 1" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "id": "941ab3e5-cbfb-48dd-a237-b83b57008c2d", "metadata": {}, "outputs": [], "source": [ "# define an animation function to update the top-right and bottom-left quadrants with new random data\n", "### insert code here\n", - "\n", + "def update_data(plot_instance):\n", + " new_data = np.random.rand(256, 256)\n", + " plot_instance[0,0][\"random-image\"].data[:256, 256:] = new_data\n", + " plot_instance[0,0][\"random-image\"].data[256:, :256] = new_data\n", "# add the animation function to the figure\n", - "### insert code here\n" + "### insert code here\n", + "\n", + "practice_fig.add_animations(update_data)" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "id": "bfd121ce-584b-447a-a155-d9188e64b316", "metadata": {}, "outputs": [], "source": [ "# close the plot\n", - "### insert code here\n" + "### insert code here\n", + "practice_fig.close()" ] }, { @@ -581,7 +607,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "id": "31516018-632d-41fc-9e13-cb88a6159b8d", "metadata": {}, "outputs": [], @@ -612,14 +638,14 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "id": "72e36685-ebf8-4691-b2c1-271c9bf6eda3", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f1a27239e68948fd989d61f0cf5a7cb1", + "model_id": "c97bd85cd21745a2b9032868b890b7d1", "version_major": 2, "version_minor": 0 }, @@ -634,7 +660,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/caitlin/repos/fastplotlib/fastplotlib/graphics/_features/_base.py:21: UserWarning: casting float64 array to float32\n", + "/home/kushal/venvs/workshop/lib/python3.11/site-packages/fastplotlib/graphics/_features/_base.py:21: UserWarning: casting float64 array to float32\n", " warn(f\"casting {array.dtype} array to float32\")\n" ] }, @@ -644,7 +670,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-scale scene'), Button(icon='align-center', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-center scene'), ToggleButton(value=True, icon='hand-pointer', layout=Layout(width='auto'), tooltip='panzoom controller'), ToggleButton(value=True, description='1:1', layout=Layout(width='auto'), style=ToggleButtonStyle(font_weight='bold'), tooltip='maintain aspect'), Button(icon='arrow-up', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='y-axis direction'), Button(icon='draw-polygon', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='add PolygonSelector'), ToggleButton(value=False, icon='video', layout=Layout(width='auto'), tooltip='record'), Dropdown(description='Subplots:', layout=Layout(width='200px'), options=('(0, 0)',), value='(0, 0)')))))" ] }, - "execution_count": 23, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -679,7 +705,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 26, "id": "d63d971e-2d08-4e9d-81ed-eb8df6de0a8f", "metadata": {}, "outputs": [], @@ -692,7 +718,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 27, "id": "ef97df2e-1862-4f03-8286-e049e2e06038", "metadata": {}, "outputs": [], @@ -703,7 +729,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 28, "id": "31030051-b7d3-4d3a-991b-d68b099c5067", "metadata": {}, "outputs": [], @@ -716,7 +742,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 29, "id": "99e25363-03dd-449a-b648-7d5ee628105d", "metadata": {}, "outputs": [], @@ -737,7 +763,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 30, "id": "53896982-33c9-480e-a2c0-fdcdf485f816", "metadata": {}, "outputs": [], @@ -748,7 +774,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 31, "id": "75d72707-d641-4960-9441-286105be36eb", "metadata": {}, "outputs": [ @@ -758,7 +784,7 @@ "26214400" ] }, - "execution_count": 61, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -769,7 +795,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 32, "id": "7277575b-195d-484a-bf3b-923ef4a9a990", "metadata": {}, "outputs": [ @@ -779,7 +805,7 @@ "(100, 4, 256, 256)" ] }, - "execution_count": 29, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -791,7 +817,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 33, "id": "d25bb23f-9d03-40f8-82c7-9770388dde57", "metadata": {}, "outputs": [ @@ -801,7 +827,7 @@ "4" ] }, - "execution_count": 30, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -814,14 +840,14 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 34, "id": "680a7202-550c-4b26-a35c-72a4e4caea29", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aa9c92938b8d4e499ff031d25ad398ae", + "model_id": "b8d1ad9cb08f49408f699836ec3d8355", "version_major": 2, "version_minor": 0 }, @@ -844,7 +870,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 35, "id": "60f3a1af-9293-4e81-9bc0-30010cd8dd4a", "metadata": {}, "outputs": [ @@ -854,7 +880,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-scale scene'), Button(icon='align-center', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-center scene'), ToggleButton(value=True, icon='hand-pointer', layout=Layout(width='auto'), tooltip='panzoom controller'), ToggleButton(value=True, description='1:1', layout=Layout(width='auto'), style=ToggleButtonStyle(font_weight='bold'), tooltip='maintain aspect'), Button(icon='arrow-down', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='y-axis direction'), Button(icon='draw-polygon', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='add PolygonSelector'), ToggleButton(value=False, icon='video', layout=Layout(width='auto'), tooltip='record'), Dropdown(description='Subplots:', layout=Layout(width='200px'), options=('plane-0', 'plane-1', 'plane-2', 'plane-3'), value='plane-0'))), IpywidgetImageWidgetToolbar(children=(HBox(children=(Button(icon='adjust', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='reset vmin/vmax'), Button(description='reset', icon='adjust', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='reset vmin/vmax and reset histogram using current frame'), Play(value=0, description='play/pause', interval=10, max=99), BoundedIntText(value=1, description='Step Size:', layout=Layout(width='150px'), max=99, min=1, tooltip='set slider step'), BoundedIntText(value=100, description='Speed', layout=Layout(width='150px'), max=1000, min=1, step=50, tooltip='Playback speed, this is NOT framerate.\\nArbitrary units between 1 - 1,000'))), IntSlider(value=0, description='dimension: t', max=99)))))" ] }, - "execution_count": 32, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -873,7 +899,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 36, "id": "f595ddf0-5dfd-486e-ac4c-b34aa64862a8", "metadata": {}, "outputs": [], @@ -883,7 +909,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 37, "id": "cb60d702-db37-42bf-9ada-298006ae46df", "metadata": {}, "outputs": [], @@ -906,14 +932,14 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 38, "id": "13299d8d-2748-476c-a8b9-69c05321ee44", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a3782a868f34da0b037f014498dcbfa", + "model_id": "0c3bb5def3ba4500b0ba3c2c70a4eec0", "version_major": 2, "version_minor": 0 }, @@ -935,7 +961,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 39, "id": "201bf7c3-2d36-4fe6-9f7b-5dc5f1afe1ef", "metadata": {}, "outputs": [ @@ -950,7 +976,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" ] }, - "execution_count": 36, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -961,7 +987,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 40, "id": "a7db958b-623f-4157-926c-d5045d9d0116", "metadata": {}, "outputs": [], @@ -980,14 +1006,14 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 41, "id": "7f5a6b74-693a-4cb6-bec5-d8464b0a9da6", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b858d053bcba4dd6a70f52fd9a9c210b", + "model_id": "6fe8b4f0583e41c1a426b6d1cbb3cc76", "version_major": 2, "version_minor": 0 }, @@ -1004,7 +1030,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-scale scene'), Button(icon='align-center', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='auto-center scene'), ToggleButton(value=True, icon='hand-pointer', layout=Layout(width='auto'), tooltip='panzoom controller'), ToggleButton(value=True, description='1:1', layout=Layout(width='auto'), style=ToggleButtonStyle(font_weight='bold'), tooltip='maintain aspect'), Button(icon='arrow-up', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='y-axis direction'), Button(icon='draw-polygon', layout=Layout(width='auto'), style=ButtonStyle(), tooltip='add PolygonSelector'), ToggleButton(value=False, icon='video', layout=Layout(width='auto'), tooltip='record'), Dropdown(description='Subplots:', layout=Layout(width='200px'), options=('(0, 0)',), value='(0, 0)')))))" ] }, - "execution_count": 38, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1037,7 +1063,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "5dc7f467-51e7-4df4-9856-8c897a407d68", "metadata": {}, "outputs": [], @@ -1055,7 +1081,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "ad6963da-bd09-49ca-84c2-0fc94d873cd2", "metadata": {}, "outputs": [], @@ -1073,7 +1099,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "1d62006a-4e6c-402d-8813-b8cf8cf1739d", "metadata": {}, "outputs": [], @@ -1241,7 +1267,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13b439710c6d4796aa33b4829cf27248", + "model_id": "d81c04254d8f46d18f6afbd97ed3e70d", "version_major": 2, "version_minor": 0 }, @@ -1268,7 +1294,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "", + "model_id": "d7907ee50af14a3cb0ec30436b24c2a3", "version_major": 2, "version_minor": 0 }, @@ -1352,7 +1378,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "d628720c-94ec-4ea8-be63-16746ebd127a", "metadata": {}, "outputs": [], @@ -1362,7 +1388,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "e9b9ebed-cff1-40a5-b20d-1b6b2cb21d5d", "metadata": {}, "outputs": [], @@ -1389,14 +1415,14 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 52, "id": "a9114d6d-d472-4140-93ba-71b53511cbea", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d076ec645cd64a3792cd0dcee26e1874", + "model_id": "44f2a75cb97c461eaf13fcfcd8114657", "version_major": 2, "version_minor": 0 }, @@ -1410,7 +1436,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "", + "model_id": "c94b235d9ff7492586a82d3ad9ff6f4e", "version_major": 2, "version_minor": 0 }, @@ -1418,7 +1444,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" ] }, - "execution_count": 54, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1439,7 +1465,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 53, "id": "58df2108-c4c6-49a5-9ed5-6190145b8f96", "metadata": {}, "outputs": [], @@ -1457,7 +1483,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "18e2344d-c608-4079-80c9-0e482514818f", "metadata": {}, "outputs": [], @@ -1475,14 +1501,14 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 54, "id": "c440b95a-7d76-46ac-aa52-966bb9648a6e", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "41ba205e05004e45bda2295113315782", + "model_id": "3143c785457349178fd8d52876c9fb57", "version_major": 2, "version_minor": 0 }, @@ -1496,7 +1522,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "", + "model_id": "9ef3d4fb18f34adf9a8a8599bcb807bd", "version_major": 2, "version_minor": 0 }, @@ -1504,7 +1530,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" ] }, - "execution_count": 57, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1547,7 +1573,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "id": "8b454250-eb4f-4f71-a743-7432886907c9", "metadata": {}, "outputs": [], @@ -1597,7 +1623,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.2" } }, "nbformat": 4, diff --git a/neuro_demo.ipynb b/neuro_demo.ipynb index 68fdc54..203193e 100644 --- a/neuro_demo.ipynb +++ b/neuro_demo.ipynb @@ -18,47 +18,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "id": "99751d32-4ec7-4555-ab6d-b2926ba0f27b", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "35e84ce94cc74423befd1016d8a50838", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Image(value=b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x01,\\x00\\x00\\x007\\x08\\x06\\x00\\x00\\x00\\xb6\\x1bw\\x99\\x…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "MESA-INTEL: warning: cannot initialize blitter engine\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n", - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Available devices:\n", - "πŸ―„ (default) | Intel(R) Arc(tm) Graphics (MTL) | IntegratedGPU | Vulkan | Mesa 24.0.8-1\n", - "❗ | llvmpipe (LLVM 17.0.6, 256 bits) | CPU | Vulkan | Mesa 24.0.8-1 (LLVM 17.0.6)\n", - "❗ | Mesa Intel(R) Arc(tm) Graphics (MTL) | IntegratedGPU | OpenGL | \n" - ] - } - ], + "outputs": [], "source": [ "import fastplotlib as fpl\n", "import pynapple as nap\n", @@ -69,12 +32,13 @@ "from sklearn.preprocessing import StandardScaler\n", "from scipy.ndimage import gaussian_filter1d\n", "from sidecar import Sidecar\n", + "#from workshop_utils.store_model import TimeStore\n", "from time_store import TimeStore" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "id": "03e1a4e1-43e8-491c-acb6-42a825914ad2", "metadata": {}, "outputs": [], @@ -84,6 +48,24 @@ "fpl.config.party_parrot = True" ] }, + { + "cell_type": "markdown", + "id": "6cab3966-5276-427d-bbf3-87a50b2932f1", + "metadata": {}, + "source": [ + "## **Add this❗**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8c5c6e4c-3903-4a57-99c4-78a49ca07e9e", + "metadata": {}, + "outputs": [], + "source": [ + "warnings.filterwarnings(\"ignore\", category=DeprecationWarning)" + ] + }, { "cell_type": "markdown", "id": "7ca263fa-c81a-4d01-858c-f47e4df567df", @@ -102,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "id": "d615ea13-18ec-47a0-8e46-caa71c23b3d2", "metadata": {}, "outputs": [], @@ -112,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "id": "41a3eabe-c5f9-42dc-9bee-f54d700a01da", "metadata": {}, "outputs": [ @@ -136,7 +118,7 @@ "┕━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━┙" ] }, - "execution_count": 4, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -157,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "id": "8161fbb7-f03e-49ef-a53f-2107bfef3da3", "metadata": {}, "outputs": [], @@ -175,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "id": "30532af5-d92b-414a-a7f7-2ee38d98e17e", "metadata": {}, "outputs": [ @@ -185,7 +167,7 @@ "(9045, 204, 256)" ] }, - "execution_count": 6, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -205,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "id": "c318349d-4987-461d-8851-a1fe8b6ef2b8", "metadata": {}, "outputs": [ @@ -215,7 +197,7 @@ "(17886, 136, 166)" ] }, - "execution_count": 7, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -225,6 +207,82 @@ "calcium_data.shape # (time, x, y)" ] }, + { + "cell_type": "code", + "execution_count": 32, + "id": "bd903975-f705-4fdb-b379-49e2f143b8d5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Time (s)\n", + "---------- -----------------\n", + "7.4164 [[26 ... 31] ...]\n", + "7.48355 [[28 ... 31] ...]\n", + "7.5507 [[25 ... 29] ...]\n", + "7.61785 [[28 ... 30] ...]\n", + "7.685 [[25 ... 28] ...]\n", + "7.7521 [[24 ... 30] ...]\n", + "7.81925 [[23 ... 30] ...]\n", + "...\n", + "1206.5961 [[28 ... 32] ...]\n", + "1206.66325 [[25 ... 28] ...]\n", + "1206.7304 [[30 ... 33] ...]\n", + "1206.79755 [[25 ... 27] ...]\n", + "1206.8647 [[28 ... 30] ...]\n", + "1206.93185 [[26 ... 31] ...]\n", + "1206.999 [[29 ... 29] ...]\n", + "dtype: uint8, shape: (17866, 136, 166)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "calcium_data" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "f8095d01-2321-4e8b-9df7-91771bd6dfae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Time (s)\n", + "---------- -----------------\n", + "7.39305 [[35 ... 44] ...]\n", + "7.5264 [[35 ... 44] ...]\n", + "7.6597 [[35 ... 44] ...]\n", + "7.79305 [[35 ... 44] ...]\n", + "7.92635 [[35 ... 44] ...]\n", + "8.0597 [[35 ... 44] ...]\n", + "8.193 [[35 ... 44] ...]\n", + "...\n", + "1212.3944 [[35 ... 44] ...]\n", + "1212.5277 [[35 ... 45] ...]\n", + "1212.66105 [[35 ... 45] ...]\n", + "1212.79435 [[35 ... 44] ...]\n", + "1212.9277 [[35 ... 44] ...]\n", + "1213.061 [[35 ... 45] ...]\n", + "1213.19435 [[35 ... 44] ...]\n", + "dtype: uint8, shape: (9045, 204, 256)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "behavior_data" + ] + }, { "cell_type": "markdown", "id": "ec9aa23d-b513-4fdc-a80c-7881a8f93072", @@ -235,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "id": "e53612db-83ad-42c3-a2b9-249d219d0e4e", "metadata": {}, "outputs": [ @@ -263,7 +321,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "id": "86f7321b-9165-4ebd-8add-133e155a3a8a", "metadata": {}, "outputs": [], @@ -285,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "b707fe30-84de-4081-9896-76ea289a60f2", "metadata": {}, "outputs": [], @@ -295,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "id": "67831ff2-2ce2-4619-b6c7-7e94f8b9863a", "metadata": {}, "outputs": [ @@ -322,7 +380,7 @@ "dtype: float64, shape: (144709, 2)" ] }, - "execution_count": 11, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -341,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "id": "0f2e6aca-a89c-403a-b2d3-fc920410cc37", "metadata": {}, "outputs": [ @@ -351,7 +409,7 @@ "(7.39305, 1213.22765)" ] }, - "execution_count": 12, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -365,14 +423,14 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 16, "id": "8d16d8b1-12ed-4edf-81e2-fb12d7fce686", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5ba681450c5f4c248add42e64af8c5b0", + "model_id": "7feaa223d350433e8ef26bba73e066ea", "version_major": 2, "version_minor": 0 }, @@ -383,13 +441,6 @@ "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { @@ -401,7 +452,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" ] }, - "execution_count": 13, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -418,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 17, "id": "b1bf40df-d0cd-46b1-a8b6-8a0bd14c49e4", "metadata": {}, "outputs": [], @@ -436,14 +487,14 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 22, "id": "2426251c-8fbf-4e6f-99a6-29a6e36720c8", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0c84a824431f4e2fbaae07725740e81d", + "model_id": "e4c1487591aa4e64917816130c4ce9ca", "version_major": 2, "version_minor": 0 }, @@ -487,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 23, "id": "bf762a1c-1d15-4bef-82ef-218872c5208f", "metadata": {}, "outputs": [], @@ -511,7 +562,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 24, "id": "2eab6aa0-33b0-4a10-983c-a66296c5ff3d", "metadata": {}, "outputs": [], @@ -542,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 25, "id": "d8cc4e61-ef19-4ea0-abef-d421ec83a782", "metadata": {}, "outputs": [], @@ -552,6 +603,16 @@ " display(VBox([nap_figure.show(), synced_time]))" ] }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a9c00afb-a84e-4154-a1af-f13a2e528f09", + "metadata": {}, + "outputs": [], + "source": [ + "tracks_graphic.thickness = 0.2" + ] + }, { "cell_type": "markdown", "id": "c9837c9d-69b8-4bd1-b178-7aff1eddae39", @@ -562,7 +623,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 27, "id": "ec9ae28d-f804-45db-8747-7a2862139e70", "metadata": {}, "outputs": [], @@ -584,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 28, "id": "f85f796c-0cee-497f-a5fa-326ec7e5ef19", "metadata": {}, "outputs": [], @@ -595,7 +656,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 29, "id": "8ad66e63-999b-4cb9-a69e-1c69a51e7902", "metadata": {}, "outputs": [], @@ -606,7 +667,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 30, "id": "0c576d03-d46f-4051-8e31-4a6bdc406278", "metadata": {}, "outputs": [], @@ -624,7 +685,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 31, "id": "8b33757e-8f82-48df-8ff0-8feee1c56517", "metadata": {}, "outputs": [], @@ -645,7 +706,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 34, "id": "8e8408cc-da72-4bdb-a3c2-8668dfaf2ef8", "metadata": {}, "outputs": [], @@ -658,7 +719,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 35, "id": "a809353a-cd85-4acd-99a5-2dfc4d7fb8e8", "metadata": {}, "outputs": [], @@ -680,7 +741,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 36, "id": "57bb7592-7996-469e-accd-bc57927dbf0e", "metadata": {}, "outputs": [], @@ -706,7 +767,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 37, "id": "7a2ee68e-3ed7-467c-ba6c-d0ac051df380", "metadata": {}, "outputs": [ @@ -733,7 +794,7 @@ "dtype: float64, shape: (35550, 105)" ] }, - "execution_count": 27, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -746,7 +807,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 38, "id": "7b7a10cc-fe5c-41e7-87d5-29dcb2f522b4", "metadata": {}, "outputs": [], @@ -767,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 39, "id": "5b654537-f5f4-4117-b53b-a8f023428cda", "metadata": {}, "outputs": [], @@ -787,7 +848,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 40, "id": "5da1a757-ea92-4ba7-957f-d822d3d9a5a2", "metadata": {}, "outputs": [], @@ -806,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 41, "id": "972ce762-5173-44ca-b938-13f3f4c5b228", "metadata": {}, "outputs": [], @@ -817,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 42, "id": "d9714bbb-fde3-4d46-aebf-d42b5ed38de6", "metadata": {}, "outputs": [ @@ -829,7 +890,7 @@ " 2, 85, 3, 19, 38, 17, 30, 29, 25, 84, 12, 26, 41, 9, 11, 1])" ] }, - "execution_count": 32, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -850,7 +911,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 43, "id": "b8ab6db5-6f1d-43e4-bad4-49922a50c298", "metadata": {}, "outputs": [], @@ -870,7 +931,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 44, "id": "823940d0-76d1-4e72-89ab-389d3b0fa9ce", "metadata": {}, "outputs": [], @@ -892,14 +953,14 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 45, "id": "2609b04d-f1c0-4b8d-ac1c-b6f7396d9801", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "eb8a9d1b73cc4a519f58b8f713cbe24f", + "model_id": "ca3bd4d3bcf54b1aa9b1d2853455e730", "version_major": 2, "version_minor": 0 }, @@ -918,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 46, "id": "18565a01-148c-4a66-a951-b8b6b6722419", "metadata": {}, "outputs": [], @@ -940,7 +1001,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 47, "id": "bdd215ac-2f9b-4a6d-b36a-9bfba0919786", "metadata": {}, "outputs": [], @@ -950,7 +1011,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 48, "id": "c1dcc0e5-6332-4366-94ad-8310623215ac", "metadata": {}, "outputs": [], @@ -960,7 +1021,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 49, "id": "aad4da44-e0aa-44e3-abbb-01aad2c142b5", "metadata": {}, "outputs": [], @@ -979,7 +1040,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 50, "id": "2a4b7bcc-096e-4b70-bbdb-448be1b33c7c", "metadata": {}, "outputs": [], @@ -996,7 +1057,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 51, "id": "646922ae-2c4c-448f-9e23-37ae284ee4c9", "metadata": {}, "outputs": [], @@ -1027,7 +1088,17 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 53, + "id": "69ac42b9-13f8-47b5-8155-1b9b65b91b86", + "metadata": {}, + "outputs": [], + "source": [ + "tracks_graphic.visible = False" + ] + }, + { + "cell_type": "code", + "execution_count": 52, "id": "763ee717-7fe8-441a-a5b5-bca68ef50796", "metadata": {}, "outputs": [], @@ -1069,7 +1140,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 54, "id": "5d8bbff5-6406-442b-b55e-d94f7593fcc6", "metadata": {}, "outputs": [], @@ -1088,7 +1159,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 55, "id": "e9f83353-c06b-4e9e-b4eb-bad477a44405", "metadata": {}, "outputs": [], @@ -1117,7 +1188,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 56, "id": "d1c05a86-8b0d-4397-b323-5c43407bb62e", "metadata": {}, "outputs": [], @@ -1128,7 +1199,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 57, "id": "7e1717c2-63e6-495c-83d4-2cfefdac5d86", "metadata": {}, "outputs": [], @@ -1142,14 +1213,14 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 58, "id": "22d5b513-3749-485f-b105-1a7d4908f29f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b70cbf8419b44e188f48feedc800df8", + "model_id": "0448475f18044f808786f719fe58b675", "version_major": 2, "version_minor": 0 }, @@ -1163,7 +1234,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6341359975ba4d0786652f186bfadb3e", + "model_id": "06a2ac777e0943d08efb1ef3785833f5", "version_major": 2, "version_minor": 0 }, @@ -1171,7 +1242,7 @@ "JupyterOutputContext(children=(JupyterWgpuCanvas(), IpywidgetToolBar(children=(Button(icon='expand-arrows-alt'…" ] }, - "execution_count": 47, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1197,7 +1268,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 59, "id": "e9c8d255-4bbc-4bf9-8133-561dc64a27d5", "metadata": {}, "outputs": [], @@ -1218,7 +1289,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "f4190905-2900-423c-8bf4-272d091b0cc1", "metadata": {}, "outputs": [], @@ -1228,7 +1299,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "2cd1e1da-e29e-4378-b717-560552f05129", "metadata": {}, "outputs": [], @@ -1261,7 +1332,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.2" } }, "nbformat": 4,