{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CoperniFUS in interactive mode\n", "For direct interaction with the data created and manipulated by CoperniFUS" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 1. Install CoperniFUS\n", "\n", "1. Create a python environment to prevent package version conflicts. Although `pyenv` can be used, [miniconda](https://docs.anaconda.com/miniconda/install/) is recommanded.\n", " \n", " `conda create -n coperniFUS_env python=3.12`\n", "2. Make sure that your ipython notebook kernel runs in the `coperniFUS_env` environment.\n", "3. Install CoperniFUS" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install git+https://github.com/Tomaubier/CoperniFUS.git" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 2. Launch CoperniFUS\n", "(First launch after install might take some time)\n", "\n", "### Specify path where to search for assets.\n", "Assets (such as `.stl` mesh files) loaded by armatures need to be located in a single directory. By default, data will be loaded from `coperniFUS/examples/assets` however this behaviour can be changed by providing an `assets_dir_path` argument." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Launching CoperniFUS v0.1.0\n", "\n", "> Info: Like any text outputs, warnings and error messages will be outputed to the internal console, to change this behaviour, feel free to set disable_internal_console to True.\n", "\n", "> Info: Referencing assets located in /Users/tomaubier/Documents/US_Neurostim/Analysis_scripts/CoperniFUS/coperniFUS/examples/assets directory.\n", "\n", "> Info: Cached configuration file location: /Users/tomaubier/coperniFUSCache/Untitled Configuration.json\n" ] } ], "source": [ "from coperniFUS.viewer import coperniFUSviewer\n", "from coperniFUS import *\n", "\n", "cfv = coperniFUSviewer() # Optional: Provide assets_dir_path='path/to/your/armature/assets'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> For the sake of this interactive demo, load the example configuration described [in the tutorial](https://copernifus.readthedocs.io/en/latest/contents/tutorial.html)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cfv.load_example_configuration('Dual arms FUS + rec electrode rat tutorial config')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Bregma to Stereotaxic Frame Origin': ,\n", " 'Skull Mesh': ,\n", " 'Brain Mesh': ,\n", " 'Coordinates Registration Probe Arm': ,\n", " 'Coords Registration Probe Shaft': ,\n", " 'Coords Registration Probe Tip': ,\n", " 'FUS Transducer Arm': ,\n", " 'FUS Transducer Shaft': ,\n", " 'FUS Transducer Holder Mesh': ,\n", " 'Theoretical FUS focal spot preview': ,\n", " 'Stereotaxic Frame Rails Distance': ,\n", " 'Recording Electrode Arm': ,\n", " 'Electrode Electrode Shaft': ,\n", " 'Recording Electrode Body': ,\n", " 'kWave 3D Simulation': }" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Modules objects can be grabbed using\n", "cfv.get_module_object_from_name()\n", "\n", "# Armatures objects can be grabbed using\n", "stereotaxic_frame_handle = cfv.get_module_object_from_name('StereotaxicFrame')\n", "stereotaxic_frame_handle.armatures_objects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 3. Running acoustic simulations\n", "1. Compute Brain Mesh (defined as the convex hull of the skull mesh)\n", "2. Compute the acoustic domain (apply boolean operation)\n", "3. Run the k-Wave 3D simulation\n", "\n", "![video_export_LUT_editor_screenshot.png](../../docs/_static/tutorial_assets/tuto_32.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 4. Grab mesh & pressure simulation data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "acsim_armature = cfv.stereotaxic_frame.armatures_objects['kWave 3D Simulation']\n", "acsim_armature" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "acsim_armature.mesh_handler.stl_item_mesh[1].show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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eqvepz8NITs7G7fccgvmz5+PCy+8EBdccAE2btyIN998s0FtXn311Th48CDOPvtsdO3aFT/88AMee+wx9O/fX3v6CBx6snjOOefgkksuwebNm/Hkk09i+PDh+PnPfw4ASE1NxVNPPYVf/epXOP3003HppZciOzsb27dvx7Jly3DmmWfi8ccfBwA88cQTGD58OPr164epU6fiuOOOQ3FxMdasWYOdO3dGfOJuvfVW/OUvf8F5552HGTNmICkpCYsWLUKPHj3w6aefNmnOGsOFF16Ie+65B1OmTMGwYcPw2Wef4YUXXtCejqpkZGRg+PDhmDJlCoqLi7FgwQIcf/zxmDp1aov3lRBCSBugFd/IJUfgzTffFFdeeaXo06ePSE5OFh6PRxx//PHihhtuEMXFxVrdQCAg7r77bpGfny/cbrfo1q2bmD17tmbnIYQQoVBI3HbbbSIrK0skJiaKwsJC8e2338a0O/noo4+04w/barz77rtam3fffbfo1KmTSEhIECNHjhSff/55VJv18dJLL4lRo0aJjh07Co/HI7p37y6uvfZasWfPnqi+vPfee+Kaa64RHTp0EMnJyWLChAniwIEDUW2+++67orCwUKSlpQmfzyd69uwpJk+eLD7++GOt3nfffScmTpwocnNzhdvtFl26dBEXXniheOmll7R6n376qRgxYoTw+XyiS5cu4re//a3405/+1GC7k6SkpKj9I0aMECeddFLU/h49eojRo0dHtmtra8XNN98cmdszzzxTrFmzRowYMUKMGDFCGzMA8be//U3Mnj1bdOzYUSQkJIjRo0eLH374wbaPhBBC4gdLiGZSwRPSQjz77LOYMmUKPvroo4i+kOisWrUKZ511FpYuXYqLL764tbtDCCGklaDGjhBCCCEkTuDCjhBCCCEkTuDCjhBCCCG2HM4D7nQ60b9/fwBAXl4eJk+e3KT2LMvCXXfddcR6d91114/yaG2PcGFH2jyTJ0+GEIL6OhtGjhwJIQT1dYQcgWeffRaWZUX+fD4fTjjhBEyfPh3FxcWt3b02yb/+9S/ceuutOPPMM/HMM8/gvvvua+0uERtod0IIIaTdcc899yA/Px+1tbV4//338dRTT+GNN97A559/jsTExNbuXpvinXfegcPhwJ/+9Cd4PJ7I/s2bN0dyWZO2wzGxsHviiSfw+9//HkVFRTj11FPx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "p_amp_xyz, x, y, z = acsim_armature.kw3D.p_amp_xyz\n", "\n", "fig, axs = plt.subplots(ncols=2)\n", "axs[0].imshow(acsim_armature.kw3D.medium.sound_speed[34].T)\n", "axs[0].set_title('Sound speed map')\n", "axs[0].set_xlabel('y [a.u.]')\n", "axs[0].set_ylabel('z [a.u.]')\n", "\n", "axs[1].imshow(p_amp_xyz[34].T, extent=[y[0], y[-1], z[-1], z[0]])\n", "axs[1].set_title('Pressure field')\n", "axs[1].set_xlabel('y [m]')\n", "axs[1].set_ylabel('z [m]')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-9.944e-01, -1.045e-01, -1.745e-02, 0.000e+00],\n", " [-1.045e-01, 9.945e-01, 1.224e-16, 0.000e+00],\n", " [1.736e-02, 1.824e-03, -9.998e-01, 0.000e+00],\n", " [-5.428e-03, -1.251e-03, 3.679e-03, 1.000e+00]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Grab kWave 3S Simulation Armature affine transform matrix\n", "\n", "np.set_printoptions(formatter={'float':lambda x: f'{x:.3e}'})\n", "acsim_armature.end_transform_mat" ] } ], "metadata": { "kernelspec": { "display_name": "coperniFUS_DEV_env", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }