{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading, simulating & replaying a NeuroML model" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "libNeuroML >>> INFO - Loading NeuroML2 file: TestNet.net.nml\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "*******************************************************\n", "* NeuroMLDocument: TestNet\n", "*\n", "* IncludeType: ['BallAndStick.cell.nml']\n", "* PulseGenerator: ['i_clamp_early', 'i_clamp_late']\n", "*\n", "* Network: TestNet\n", "*\n", "* 1 cells in 1 populations \n", "* Population: pop0 with 1 components of type BallAndStick\n", "* Locations: [(96.6454, 44.0733, 0.7491), ...]\n", "* Properties: color=1 0 0; region=region1; \n", "*\n", "* 0 connections in 0 projections \n", "*\n", "* 2 inputs in 2 input lists \n", "* Input list: stim_dend_tip to pop0, component i_clamp_late\n", "* 1 inputs: [(Input 0: 0:9(0.500000)), ...]\n", "* Input list: stim_soma to pop0, component i_clamp_early\n", "* 1 inputs: [(Input 0: 0:0(0.500000)), ...]\n", "*\n", "*******************************************************\n" ] } ], "source": [ "import neuroml\n", "from pyneuroml import pynml \n", "\n", "test_net_file = 'TestNet.net.nml'\n", "test_cell_file = 'BallAndStick.cell.nml'\n", "\n", "nml_doc = pynml.read_neuroml2_file(test_net_file)\n", "\n", "print(nml_doc.summary())" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "libNeuroML >>> INFO - Converting NeuroML2 file: TestNet.net.nml to SVG\n", "libNeuroML >>> INFO - Executing: (java -Xmx400M -jar \"/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/pyneuroml/utils/./../lib/jNeuroML-0.13.3-jar-with-dependencies.jar\" TestNet.net.nml -svg) in directory: .\n", "libNeuroML >>> INFO - Command completed successfully!\n", "libNeuroML >>> INFO - Output: \n", " jNeuroML >> jNeuroML v0.13.3\n", " jNeuroML >> >>> JNML generated file: /Users/padraig/git/NeuroMLSBMLShowcase/TestNet.net.svg\n", " jNeuroML >> \n", "libNeuroML >>> INFO - Successfully ran the following command using pyNeuroML v1.3.13: \n", " java -Xmx400M -jar \"/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/pyneuroml/utils/./../lib/jNeuroML-0.13.3-jar-with-dependencies.jar\" TestNet.net.nml -svg\n", "libNeuroML >>> INFO - Output:\n", "\n", " jNeuroML v0.13.3\n", ">>> JNML generated file: /Users/padraig/git/NeuroMLSBMLShowcase/TestNet.net.svg\n", "\n" ] }, { "data": { "image/svg+xml": [ "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"860\" height=\"260\" viewBox=\"0 0 860 260\">\n", "<!--\n", "Rot z: 0.0, rot y: 90.0 of: Rot z: 90.0, rot y: 0.0 of: Rot z: 0.0, rot y: 90.0 of: View of network\n", "[ 0, 0, 440, 140 ]\n", "-->\n", "<rect x=\"0.0\" y=\"0.0\" width=\"440.0\" height=\"140.0\" style=\"fill:none;stroke:black;stroke-width:1;\"/>\n", "<text x=\"25.0\" y=\"115.0\" fill=\"black\" font-size=\"20px\">\n", "100.0 μm</text>\n", "<line x1=\"400.0\" y1=\"100.0\" x2=\"380.0\" y2=\"99.99999999999999\" style=\"stroke:rgb(255,0,0);stroke-width:20.0\"/>\n", "<line x1=\"380.0\" y1=\"99.99999999999999\" x2=\"340.0\" y2=\"99.99999999999999\" style=\"stroke:rgb(255,0,0);stroke-width:8.0\"/>\n", "<line x1=\"340.0\" y1=\"99.99999999999999\" x2=\"300.0\" y2=\"99.99999999999999\" style=\"stroke:rgb(255,0,0);stroke-width:6.0\"/>\n", "<line x1=\"300.0\" y1=\"99.99999999999999\" x2=\"260.0\" y2=\"99.99999999999999\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"260.0\" y1=\"99.99999999999999\" x2=\"220.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"220.0\" y1=\"99.99999999999997\" x2=\"180.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"180.0\" y1=\"99.99999999999997\" x2=\"140.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"140.0\" y1=\"99.99999999999997\" x2=\"100.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"100.0\" y1=\"99.99999999999997\" x2=\"60.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"60.0\" y1=\"99.99999999999997\" x2=\"20.0\" y2=\"99.99999999999997\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"420.0\" y1=\"120.0\" x2=\"320.0\" y2=\"119.99999999999999\" style=\"stroke:green;stroke-width:3.0\"/>\n", "<line x1=\"420.0\" y1=\"120.0\" x2=\"420.0\" y2=\"119.99999999999999\" style=\"stroke:yellow;stroke-width:3.0\"/>\n", "<line x1=\"420.0\" y1=\"120.0\" x2=\"420.0\" y2=\"20.0\" style=\"stroke:red;stroke-width:3.0\"/>\n", "<!--\n", "Rot z: 0.0, rot y: 90.0 of: View of network\n", "[ 0, 140, 140, 140 ]\n", "-->\n", "<rect x=\"0.0\" y=\"140.0\" width=\"140.0\" height=\"140.0\" style=\"fill:none;stroke:black;stroke-width:1;\"/>\n", "<circle cx=\"40.0\" cy=\"240.0\" r=\"10.0\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<line x1=\"40.0\" y1=\"240.0\" x2=\"40.00000000000001\" y2=\"240.0\" style=\"stroke:rgb(255,0,0);stroke-width:8.0\"/>\n", "<circle cx=\"40.00000000000001\" cy=\"240.0\" r=\"3.0\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<line x1=\"40.00000000000001\" y1=\"240.0\" x2=\"40.000000000000014\" y2=\"240.0\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<circle cx=\"40.000000000000014\" cy=\"240.0\" r=\"2.5\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<circle cx=\"40.000000000000014\" cy=\"240.0\" r=\"2.0\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<circle cx=\"40.000000000000014\" cy=\"240.0\" r=\"2.0\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<line x1=\"40.000000000000014\" y1=\"240.0\" x2=\"40.00000000000002\" y2=\"240.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"40.00000000000002\" y1=\"240.0\" x2=\"40.00000000000003\" y2=\"240.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<circle cx=\"40.00000000000003\" cy=\"240.0\" r=\"2.0\" stroke-width=\"0\" fill=\"rgb(255,0,0)\"/>\n", "<line x1=\"20.0\" y1=\"260.0\" x2=\"20.000000000000007\" y2=\"260.0\" style=\"stroke:green;stroke-width:3.0\"/>\n", "<line x1=\"20.0\" y1=\"260.0\" x2=\"20.0\" y2=\"160.0\" style=\"stroke:yellow;stroke-width:3.0\"/>\n", "<line x1=\"20.0\" y1=\"260.0\" x2=\"120.0\" y2=\"260.0\" style=\"stroke:red;stroke-width:3.0\"/>\n", "<!--\n", "Rot z: 0.0, rot y: 0.0 of: View of network\n", "[ 440, 0, 440, 140 ]\n", "-->\n", "<rect x=\"440.0\" y=\"0.0\" width=\"440.0\" height=\"140.0\" style=\"fill:none;stroke:black;stroke-width:1;\"/>\n", "<line x1=\"480.0\" y1=\"100.0\" x2=\"500.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:20.0\"/>\n", "<line x1=\"500.0\" y1=\"100.0\" x2=\"540.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:8.0\"/>\n", "<line x1=\"540.0\" y1=\"100.0\" x2=\"580.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:6.0\"/>\n", "<line x1=\"580.0\" y1=\"100.0\" x2=\"620.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"620.0\" y1=\"100.0\" x2=\"660.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"660.0\" y1=\"100.0\" x2=\"700.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"700.0\" y1=\"100.0\" x2=\"740.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"740.0\" y1=\"100.0\" x2=\"780.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"780.0\" y1=\"100.0\" x2=\"820.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"820.0\" y1=\"100.0\" x2=\"860.0\" y2=\"100.0\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"460.0\" y1=\"120.0\" x2=\"560.0\" y2=\"120.0\" style=\"stroke:green;stroke-width:3.0\"/>\n", "<line x1=\"460.0\" y1=\"120.0\" x2=\"460.0\" y2=\"20.0\" style=\"stroke:yellow;stroke-width:3.0\"/>\n", "<circle cx=\"460.0\" cy=\"120.0\" r=\"1.5\" stroke-width=\"0\" fill=\"red\"/>\n", "<!--\n", "Rot z: -10.0, rot y: -20.0 of: View of network\n", "[ 440, 140, 412, 127 ]\n", "-->\n", "<rect x=\"440.0\" y=\"140.0\" width=\"412.0\" height=\"127.0\" style=\"fill:none;stroke:black;stroke-width:1;\"/>\n", "<line x1=\"474.3061263289053\" y1=\"171.58455930679136\" x2=\"492.8144578968718\" y2=\"175.05752286012998\" style=\"stroke:rgb(255,0,0);stroke-width:20.0\"/>\n", "<line x1=\"492.8144578968718\" y1=\"175.05752286012998\" x2=\"529.8311210328046\" y2=\"182.00344996680718\" style=\"stroke:rgb(255,0,0);stroke-width:8.0\"/>\n", "<line x1=\"529.8311210328046\" y1=\"182.00344996680718\" x2=\"566.8477841687376\" y2=\"188.9493770734844\" style=\"stroke:rgb(255,0,0);stroke-width:6.0\"/>\n", "<line x1=\"566.8477841687376\" y1=\"188.9493770734844\" x2=\"603.8644473046705\" y2=\"195.89530418016162\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"603.8644473046705\" y1=\"195.89530418016162\" x2=\"640.8811104406034\" y2=\"202.84123128683885\" style=\"stroke:rgb(255,0,0);stroke-width:5.0\"/>\n", "<line x1=\"640.8811104406034\" y1=\"202.84123128683885\" x2=\"677.8977735765363\" y2=\"209.78715839351605\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"677.8977735765363\" y1=\"209.78715839351605\" x2=\"714.9144367124693\" y2=\"216.73308550019325\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"714.9144367124693\" y1=\"216.73308550019325\" x2=\"751.9310998484023\" y2=\"223.6790126068705\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"751.9310998484023\" y1=\"223.6790126068705\" x2=\"788.9477629843352\" y2=\"230.6249397135477\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"788.9477629843352\" y1=\"230.6249397135477\" x2=\"825.9644261202682\" y2=\"237.5708668202249\" style=\"stroke:rgb(255,0,0);stroke-width:4.0\"/>\n", "<line x1=\"466.8404028665134\" y1=\"179.69615506024414\" x2=\"829.603701598656\" y2=\"247.76624070568084\" style=\"stroke:green;stroke-width:1.0\"/>\n", "<line x1=\"470.1039210898441\" y1=\"160.0\" x2=\"832.8672198219867\" y2=\"228.07008564543668\" style=\"stroke:green;stroke-width:1.0\"/>\n", "<line x1=\"463.2635182233307\" y1=\"160.0\" x2=\"826.0268169554735\" y2=\"228.07008564543668\" style=\"stroke:green;stroke-width:1.0\"/>\n", "<line x1=\"460.0\" y1=\"179.69615506024414\" x2=\"822.7632987321427\" y2=\"247.76624070568084\" style=\"stroke:green;stroke-width:1.0\"/>\n", "<line x1=\"466.8404028665134\" y1=\"179.69615506024414\" x2=\"470.1039210898441\" y2=\"160.0\" style=\"stroke:yellow;stroke-width:1.0\"/>\n", "<line x1=\"829.603701598656\" y1=\"247.76624070568084\" x2=\"832.8672198219867\" y2=\"228.07008564543668\" style=\"stroke:yellow;stroke-width:1.0\"/>\n", "<line x1=\"460.0\" y1=\"179.69615506024414\" x2=\"463.2635182233307\" y2=\"160.0\" style=\"stroke:yellow;stroke-width:1.0\"/>\n", "<line x1=\"822.7632987321427\" y1=\"247.76624070568084\" x2=\"826.0268169554735\" y2=\"228.07008564543668\" style=\"stroke:yellow;stroke-width:1.0\"/>\n", "<line x1=\"466.8404028665134\" y1=\"179.69615506024414\" x2=\"460.0\" y2=\"179.69615506024414\" style=\"stroke:red;stroke-width:1.0\"/>\n", "<line x1=\"829.603701598656\" y1=\"247.76624070568084\" x2=\"822.7632987321427\" y2=\"247.76624070568084\" style=\"stroke:red;stroke-width:1.0\"/>\n", "<line x1=\"470.1039210898441\" y1=\"160.0\" x2=\"463.2635182233307\" y2=\"160.0\" style=\"stroke:red;stroke-width:1.0\"/>\n", "<line x1=\"832.8672198219867\" y1=\"228.07008564543668\" x2=\"826.0268169554735\" y2=\"228.07008564543668\" style=\"stroke:red;stroke-width:1.0\"/>\n", "</svg>" ], "text/plain": [ "<IPython.core.display.SVG object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pyneuroml import pynml\n", "pynml.nml2_to_svg(test_net_file)\n", "from IPython.display import SVG, display\n", "display(SVG(filename='%s'%test_net_file.replace('.nml','.svg')))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "libNeuroML >>> INFO - Loading NeuroML2 file: TestNet.net.nml\n" ] }, { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pyneuroml.plot.PlotMorphology import plot_2D\n", "\n", "plot_2D(test_net_file, plane2d='xy', )" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "libNeuroML >>> INFO - Loading NeuroML2 file: BallAndStick.cell.nml\n", "libNeuroML >>> INFO - Processing 1 cells\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "97a444a5cc8f44809b8c801c1417fdb2", "version_major": 2, "version_minor": 0 }, "text/plain": [ "RFBOutputContext()" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/vispy/app/backends/_qt.py:840: DeprecationWarning: sipPyTypeDict() is deprecated, the extension module should use sipPyTypeDictRef() instead\n", " QGLWidget.__init__(self, p.parent, hint)\n", "libNeuroML >>> INFO - Processing 10 segments\n", "0 of 10| |Elapsed Time: 0:00:00\n", "10 of 10|################################################|Elapsed Time: 0:00:00\n", "/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/OpenGL/GL/VERSION/GL_2_0.py:387: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.\n", " name = name.tostring().rstrip(b'\\000')\n", "/opt/homebrew/anaconda3/envs/py39n/lib/python3.9/site-packages/OpenGL/GL/VERSION/GL_2_0.py:416: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.\n", " name = name.tostring().rstrip(b'\\000')\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9a749122b0334cfba617135b1ece9117", "version_major": 2, "version_minor": 0 }, "text/html": [ "<div class='snapshot-9a749122b0334cfba617135b1ece9117' style='position:relative;'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAcJklEQVR42u3dCYycZf3A8QFREcWDKt6oUfECEfG+wBiNYjyKqHiiRmP8g6AY76ue8QKjGAGj0YrGK9EoeCu727sUem6htFBKaUuhF1SgqGj/81t8dTrM7s7Mzvx25p3PJ5nAzvnOdJN5v/u8z/NW9gIAACSpTPcGAAAAg0OAAAAAaQQIAACQRoAAAABpBAgAAJBGgAAAAGkECAAAkEaAAAAAaQQIAACQRoAAAABpBAgAAJBGgAAAAGkECAAAkEaAAAAAaQQIAACQRoAAAABpBAgAAJBGgAAAAGkECAAAkEaAAAAAaQQIAACQRoAAAABpBAgAAJBGgAAAAGkECAAAkEaAAAAAaQQIAACQRoAAAABpBAhAn7ngggsuPvnkk+euWrVqXXHdjh07dr7tbW+b+/Wvf314urev3r+rZs2aNXTqqaeObN++fWe3XudvVf+sauex55133px3v/vdczZv3rx1+j4pgMEgQAA66FOf+tTQa1/72gW1l9e//vULYgf817/+9eJt27btmOprnHnmmcOVSmXvb3/72yXFdTfccMP2uC5eb7zHxc756aefPvya17xm4fXXX78t6zOJADn22GOX3/Oe97z56quvvrb2tmoz3Pzzn/98wUknnTS/+LyOP/74JaeddtrwH/7wh0v+VdXMa0Q4zJgxY0f1eRY0c/96H/vYx4budre7/X316tVXZn0uAINKgAB0SOxov+xlL1sSIbDffvv9O/5b/P/+++//r7ve9a7/eNKTnrRu8eLFq6fyOu0GSIyYPOABD9h+wAEH/PPHP/7x/MzPpVGAxGjIG97whvmxPbHz/5SnPGVNbP8DH/jAG+K9HHXUUWs2bNiwqbh/xMjZZ589csUVV1xd/xpXXnnlNfGYV77ylYvb2UYBApBHgAB0SOxov/SlL13ykIc8ZOuuXbtuLK6PkYfR0dF1cYhPhEjsaN900027232ddgPks5/97NDBBx/8txkzZux84QtfuCy2N+tzaRQgZ5111tj7eMUrXrF47dq1G4rrb7311j0rVqy44rvf/e6c26uK66+55ppNhxxyyM4YSWr0OtXAWlu9z+Z2tlGAAOQRIAAdUgTIQx/60OtuvvnmW+pv37Jly/XPfvazV1V3xG+55JJLLmv0HLHDvafq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EAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA0ggQAAAgjQABAADSCBAAACCNAAEAANIIEAAAII0AAQAA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jgABAMrFtzswoemMEACgfHzDAxOargABAMrJtzwwqcwAAQDKzbc9MKmsAAEAys83PtCUbgcIADAYfOsDTakNkP1P2V98AABt8c0PNK2Ij9qL+AAAWuHbH2hafXxMNUQAgMFjDwBoWcshMlN8AAB3sBcAtGWiCBkLkZmVfS/iAwDYK0CAKWg6PmaKDwDgDvYGgClpNj4AAIK9AqAjGsbHCXdcAAAK9gwAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDQCBAAASCNAAACANAIEAABII0AAAIA0AgQAAEgjQAAAgDT/DzGO3KOOSaL5AAAAAElFTkSuQmCC' style='width:800.0px;height:600.0px;' /><div style='position: absolute; top:0; left:0; padding:1px 3px; background: #777; color:#fff; font-size: 90%; font-family:sans-serif; '>snapshot</div></div>" ], "text/plain": [ "CanvasBackend(css_height='600px', css_width='800px')" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pyneuroml.plot.PlotMorphologyVispy import plot_interactive_3D\n", "\n", "plot_interactive_3D(test_cell_file)" ] } ], "metadata": { "kernelspec": { "display_name": "py39n", "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.9.16" } }, "nbformat": 4, "nbformat_minor": 2 }