{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from pathlib import Path\n", "from brainlit.utils.Neuron_trace import NeuronTrace\n", "from brainlit.algorithms.trace_analysis.fit_spline import GeometricGraph\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.cm import ScalarMappable\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import matplotlib\n", "from scipy.interpolate import splev" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fitting Splines to Neuron Trace SWC Tutorial\n", "\n", "## 1) Define variables\n", "- `swc` the geometric graph\n", "- `df,_,_,_` read the x, y, and z columns in swc file\n", "- `neuron` define a new class inherited from `GeometricGraph` class\n", "- `soma` define the data on the first run as the location of soma" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "brainlit_path = Path.cwd().parent.parent.parent\n", "swc = Path.joinpath(\n", " brainlit_path,\n", " \"data\",\n", " \"data_octree\",\n", " \"consensus-swcs\",\n", " \"2018-08-01_G-002_consensus.swc\",\n", ")\n", "nt = NeuronTrace(path=str(swc))\n", "df = nt.get_df()\n", "neuron = GeometricGraph(df=df)\n", "soma = np.array([df.x[0], df.y[0], df.z[0]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2) Plot the whole spline tree\n", "- `spline_tree` use the `fit_spline_tree_invariant` to locate neuron branches" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection=\"3d\")\n", "spline_tree = neuron.fit_spline_tree_invariant()\n", "for node in spline_tree.nodes:\n", " path = spline_tree.nodes[node][\"path\"]\n", " locs = np.zeros((len(path), 3))\n", " for p, point in enumerate(path):\n", " locs[p, :] = neuron.nodes[point][\"loc\"]\n", " ax.scatter(\n", " locs[:, 0],\n", " locs[:, 1],\n", " locs[:, 2],\n", " marker=\".\",\n", " edgecolor=\"yellowgreen\",\n", " linewidths=1,\n", " c=\"mediumblue\",\n", " s=8,\n", " )\n", " ax.plot(\n", " locs[:, 0],\n", " locs[:, 1],\n", " locs[:, 2],\n", " linestyle=\"-\",\n", " color=\"midnightblue\",\n", " linewidth=0.8,\n", " )\n", "ax.scatter(soma[0], soma[1], soma[2], c=\"darkorange\", s=5)\n", "ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))\n", "ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))\n", "ax.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))\n", "ax.grid(True)\n", "\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Figure 1. The green dots indicate the locations of nodes on a tree, representing a neuron, and the single orange dot locates the position of the soma. Each nodes are connected with darkblue lines to illustrate the path of the neuron." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3) Plot each branch in separate plots" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOcAAADnCAYAAADl9EEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtXElEQVR4nO3dd3xV9f3H8de5Izc3e90s9hBB9oYwZLirv1axVmtrl921y4q7Vqq12qqt1dZqXa0ECDMQCJBEBAcKKEP2iKxsMu7N3ev8/rgEGUGSm3PvPffm+/wHH4Fz7jeSN99zvuPzlWRZRhAE9dFEugGCILRPhFMQVEqEUxBUSoRTEFRKhFMQVEp3id8XQ7mCEHpSe18UPacgqJQIpyColAinIKiUCKcgqJQIpyColAinIKiUCKcgqJQIpyColAinIKiUCKcgqJQIpyColAinIKiUCKcgqJQIpyColAinIKiUCGcE+P1+7HYbfr8/0k0RVOxSm60FhdlsVkrXrebEyePMufk24g3xJCQkoI+LI04fhyS1u+9W6IZEOMPo+IljLF+xBKvdikbSYIw34vV6aW5pJlA+WMYYb8RoNBIXZ0Cv14uwdmMinGHg9Xn58KMP2LhpAynJKZiysmloaECSJPR6PXq9HgBZls+E1S/LaCTpi55VHyfC2s2IcIZYi7mFlSUrOH78KNmmbHQ6HX6/H1m+8H3zYmFtbGoCZCRJOtOzirDGPhHOEJFlmUOHD1K8ahmyDLm5eecEqSPHYLQXVo/Hg93hAGQkTeDROOF0WHU6nQhrDBHhDAG3282GjeVs2fox6ekZGI3Gc35fkqQOhfN87YXV7XJht9tB9iNptYGwJiSg1+lFWKOcCKfCGhrqWb5yKQ0N9eTm5qHRtD9b5ZdlZFnuUngkSSIuLo64tnv6/bhdLmw2GxoJ0GhIMCYEBphO96xC9BB/WwqRZZkdu7azdt0a4uL05ObmXfTPSpKEdPoaJXs2jUYTCGtcIK5+vx+X04nNZgVZRqvVYTQmEG+MF2GNAuJvRwF2h51169ewe89nZGZlYYgzXPIaWe7Ye2dXnAkrX4TV4bBjtbV+EdaEBIzxRvR6vQiryoi/jS6qqjrJsuIlWK2t5OXld7gnlDQScpgL6ms0GgyGL/7h8Pl8OOx2Wq0WJCS0Gu0XYY3To9OKH49IEv/3g+Tz+fh4y0dseLecxKQksrNzOnV922NtJGm1WrRaLQYCgW0Lq9XaiiyDXqfDmGAk3iDCGgni/3YQLK0WVpWsoPLzSrKzs4N6HJRlGbUdKt4W1jY+nw+7zUZrayCscXo9RqOR+HgjOr1OhDXExP/dTjp85BArVi7D7/ORl5cX9IBOYDpF3Qvf2wurzWbFYjGDJKHXfRFWvV5/zp8Vuk6Es4M8Hg+b3nuXDz96n7S0dBISErp8T7X1nJfSXlitViutrRb8tPWsCRjj49HpRFi7SoSzAxqbTrGieBk1dTXk5OQq9kOn9p7zUtoNa2srrRYzMhJxcYGwxhsMIqxBEOH8ErIss3vPZ6wuXYVOryPvS+YuO0uSpOjrOi/h/LB6vV5aLRbMfj9IEnGGOBLiEzAY4tDr4y66QEMIEOG8CKfTyfrytezYtZ2szEwMhnhF7y9J4PfHVjjPp9Ppzhks83q9mM0tp6eQzgprvAG9Ti/Ceh4RznbU1FazbPliLBYLeV+yBK8rZAj7PGekXSys/hYZSQKDwUCCMZE4Q5wIKyKc5/D7/WzdtoWKDesxGo1k53Ru7rIzJCTkbl6m5Oywtm2Pazm9l1WS6PZVIkQ4T7NarawuXcnBQwcwmbLP7PwIGZlu1m9+uYtuPG9uQg4s2TgT1u5SJUKEEzh67HOWrViC2+Pu1BK8LpECO1OE9nW0SkQsl3Tp1uH0er28/8Em3vtwE6kpqaSmpobtswMlg0Q4O+rLwtq2uyfWqkR023A2NzdRvGoZJ6tOBpbghXkpmoSEP8rnOSPpklUiJOnMgoi4OENUbjzvduGUZZl9+/dSsroYSSNdUD4kjC0RL50KajesbveFVSKiqKRLtwqny+Wk4p1yPtm+lYyMTOLjlZ277BwxWhtK54e1rUqE3W5HQj6nSoRepw/9AGAQuk046+rrWL5iMU3NTV9aPiR85G43zxlJX2w8Dzi7SkSgootWdVUiIt+CEPP7/Wzf+QnrykqJN8STk5Mb6SYFSFLMrxBSs2ioEhHT4Ww7+mDf/r1kZZnO1NZRhUCdkki3Qjjt/CoRfr8/4lUiYjacbUcfOJyO8M1ddookHmpVrC2skawSEXPh9Pq8bP7oQzZueofk5BRMpuxIN6ldkkYSixCiSCSqRMRUOM2njz44dvwoJlNw5UPCRjzWRrVLVYn4z39e4/vf+z59+/YN+jMiPWSpCFmWOXjoAK+89i9qamvIzc1TdzAJDPWLRQixQ6vVYjDEk5CQSIIxgS0fb8Hr9Xbpnur+Ce6ASx19cFF+PwlmM/b09NA28CJk0XPGNLvdRnJycpfuEdXh7OjRB+fLqjzK1Df/h8bnY/kff48ckTnP4M5LEaKD3e7onuGUZZmdn+2gdO3qSx590J6C/80nvrWVLbfdGsERU1mEM4a5XK5zpmaCEXXhDObogzZ6h5NJhQsxHT3OlttuoXLyhBC29FIk/GL5Xkzr6iq0qApnsEcftMk4cZJB72/GmpHO/iunh6iVHSV6zVjX1bn1qAhnV48+aGPLSANg36wZeBI6OHAUQmKeMzbJsoyk6fqiF9WHU4mjD87nUqAgdNeJAaFY5fV60UhdH2RU9TznkcrDvPray1RVnSQvr+tzl7b0dKwZ6QxbX47O5VKolcEJlK0V4YxFDoej41N6X0KV4fR4PFS8U0bhwv8RFxdHZlaWImtjZa2WTXd/j9S6esYtWa5AS7vQFlmM1sYqm81GYlJil++jusfaUB190KZmyOVUDR1Cz1174E5Fb905kgRihVBMslqtJCXGUDjPOfpAp1X06IMLPkvSoHO70LlceLs4FxV8I9R3BKCgDJvNRoIC4VTFY63T6WTV6mKWr1xKSkoy6ekZIf28fbNnkGC2MPntBSH9nEsR85yxyWq1kpSU1OX7RLznbDv6wGwxh+zog/OdGDmck8OuwFR5NOSfdTHd8TiG7sJut0d3OP1+P9s+2UL5O4GjD8JdPsSenk525edIXh+yLvxH0wWOnQ/7xwphYLPZSEyI0sdaq9XK4qULWVdWSkZGJikp4Svm3KahXx8MNjspDQ1h/2wQo7WxzGq1kZwchT1nRI4+aEec3QGAPYxV3s8mE/2H5wrts9ttZGR0fdwkbOH0er28/+F7vPfBxrAffdCevp9spyUvN2LL+AKPtaLnjEU2m51evXt3+T5hCWekjz44X/rJKrIrP+ejO74euUYEDs4SYpDdbiMpUeWPtbIss//APlaVrIjw0Qfn6rvtU2RJ4sikSG4ZE4+1sUr1o7XqOvrgNFkm59BhrijfQEO/vjhTUiLWFAkJn5jnjEl2u50ktQ4Iqe/oAxhSsYGCtxcC4I43sPW2WyLbIEmclRKrbHa7IlMpioZTtUcfACn1gSmTj+74OgenTcVjjGxPLgaEYpfd1vXiXqDgPKff72f5iiWsKS0hPS2D1NQ0pW6tiLrLBgZ+HTgg4sEEQJLwibNSYpLNZic5RUXh1Gg02Ow28vLy1XUmyWm1p8PZY+++CLckINBzisfaWGR32BUZrVX0ZTAry6SK0dj2OFNTqBs4gCEVG0lobo50c5DEO2fM8rg9Xa68BwqHU+1V1jffeTt6p4Prn3keyeuLdHPEEYAxTIlOStFwqvF04LM19u3Nph98l7TaOgZvei+ibZEkCR+i54w1siwjSZIKw6lTdzgBjo0dTUPf3oxctSayDZEkEI+1MScQTmXupexjrcp7TiAQCkmDL8JtlQC/TzzWxhqv14tGo8wWREVfEuOiIJy5+w9g+vwofq0GyedDVrhGUYdJEn7xWBtz7HY7CQqVXlU0nDoVP9ZKfj8TFi1h2PoKHMnJfHb91ZELJqenUsSAUMyx2WwkKlA/CBQOp1oHhLIqjzJxYRG5h46w56pZbL3tlog/1iLO54xJVquVxERV9pzqm0oZUVLK+KUrcKQks/EH3+Xw1MmRbhJw+p1TDAjFHJvNRlJS11cHQYz3nHF2O6NXrebE8KFs+OkP8ShQhVspUqDke6SbISjMarUqUlAaYnwqZcpb89F6vGy79WZVBbON6Dljj1J7OSGGp1ISmprpv2Ubu6+ZTVPvXpFuzgUkSRIrhGKQUpX3QOFwqmUqRe9wMnHhYnxaLQeunBbp5lyEhCymUmKOzaZM5T1QekBIBeFMq6rmxj/9BYPdzic3/x/mPPXsKT1b2E4Zk2U01dVo9+1HW1mJpq4OTX39mV+llhYktws53oivTx/cN34F5113gQr+LqORzW7HlGVS5F7KDgip4J0zsbkFg93O3llXsuOmGyLdnC8Rwsdav5/4V/9D/MKFaCsrkez2M78l63T4s7Px5+Tg69kTefhwZEMcksOBbs8ekh54kPjCBVif/jPeMWNABVUsoondZiOpbz9F7qVwzxn5qZSqKwbT2KsnPXbvQ+Pz4Vfh9A6EdstYwpN/IuGFF/BMmIDzW9/CN3AA3sFD8F02EDkj4+KBk2XiSkpIuvd3pF1/A35TFu6Zs3Bffx3umTNBocn1WGZTcEBI2XBqdWg1Wnz+CG7H0mjYduvNXPv8PxhaVsFn118bubZ8GSl0m63jysrwZ2bS+sIL+Af070SbJNw33UTz1KnEVVSgLy8nrqyM+KIi/ImJOH/yY+xz54re9EvYbTZ1jtYCaFXQU50cMYxjo0YwZtlKTEc+j3Rz2iUhEaqnWvu99yLZ7aRPmYLxpZc6fb2cno7r1luxvvwyTXv3YF62FDQaEp59Du2hQyFoceyw2x2KVN6DEIRTLSO2733/O9jT07jqH/9UReWDC0iE7LHW/dX/o2nrFtzXXUviHx5Ht2NH8DfT6fBMm4b72mvwJyfjGzRIsXbGIptdpVMpoJ7F767kJD6Z8zUSzBbGLVkR6eZcINBzhm4qRc7JwfqPfyAbjRiKFnfpXpraWgwrivHMno1imxVjlN1mJ0WhesiKh1NNS/jaFrf3/WR7hFtyISkMZwDKycl4R4xAt6OL37/TCXFx6D76CM4a+RUupFRBaQhFOFXwztnGYgrMN9nS09B4PBFuzXkkKeTL9zRHKtEcP44c37Wli/6+fbG8/T+0tbUk//gn4HAo1MLYo9Q5KRCKx1oV9ZzmvBw+HzeGtNo6bnl0Hr127FLNYnMJ8IewLbpt20ifNQvJ4cB+/9wu388zbRrWp57CsHYt8W+9pUALY5PX61Ps6TEEPad6wunX6Xjn5z9m7W/vQZYkrvn7S1z56htoVdCLSiHuOfWbNyPZ7ZiXL8M7caIi93Te/QP8KSloKysVuV+sUqo8rPLhjFNPONtUDR/Gsj8+xqdfvZGBmz/m+meeJ95iiXCrJOQQnQEY/5/XMP7rX6c/RtkBHO/YscSVlYPXq+h9Y4Esy0gaZSrvQYz3nGeTdVq2f+0mKn72IzKPHefGJ/9CUsOpiLVHCuFUSuK8eWgaTtH63HP4rrhC0Xs7v/lNtCdPov/4Y0XvGwtkWVb0zNWYfudsz9HxYymd+xvibVZuevJpMo8dj1BLpJC9/nqHDMEzeTKub39L8Z5TTk8L/KpQhblY4na7Fa0G0m16zrPVDxxAyYP34ddqufGJpxm+Zh36cI9ASsptttacOIGhcAFxq1ej/ewz/D16oN2zR5F7n09yOkNy31hgt9sVK+4FITifU6+Cxe8d0dIjn+LHHmLa6/9lwuJljFq1mkNTC9g7eyaW3JyQf75E1weENEePkvLd76Lbs/eC3/OOGNGle1+MZ8wY5IQEkubOxTL/bfy9e4fkc6KRkpX3IAThVMsKoY5wpqRQ9utfkFV5lCsqNjB4wyaGlm/g6JhRbP36LSENaeBps2vh1B46jG7PXtyzZ2N77PdILhea4yeQWltxX32VIu08n2wyYb/nFyQ+/QwZY8fR/MH7YknfaYHKeyoOZ5xefcf/Xcqp/n3Z1P97bL3tFoa8s5Gh68uZ88gf2H/ldLZ/9UacCpy1eD5ZBofDSXNzM2lpaUGN8HmmFOA3ZYHPi2/IkMAXR41StqHtSHz6mTP/bXz+eaxtI8PdnE3BHSkQip4zSh5r2+NITeXTm/+PvbNmMKZ4FYPf3cTADz9i51euY881s/EpdO6oy+WiuqaajPQMPvz4AzRaLfk5uWSbcsjMzOr4+aYJCTh++lMS5/0R7c6d+EaOVKR9X0ZTXX3uF6LwH+NQsdlsilXeg1C8c0bRY+3FOFNT+PCuO9lz9WzGFy1j/NIVDHlnI5/M+SqHJ0/s0n5Gq9XKqVMNDB0ylF69+gQ+z+mgxWKmtq4Wt8dDRkYGeTl5ZGWaLrmI2n3NNSTO+yNxmzbhCEM4/fn5mBctRPfpp2hazNjv+UXIPzNaKFncC0C6RB2bTg/2N7c0s2xF13ZBqE3u/oNMWLQE09FjNPbuxZbb5lA9dEin79PY2IjdbmXMqHFkZGa1+2f8Ph+WVgutVgsul4u4OAN5efnkZGWTkZH5xVC9LGN4ez6J8+YhOZ20lKwKS88pXNzixYupr2/gscce6+yl7b7TKB5Oq9XKoiWFnb1M/fx++m/ZxrglK0hubOTYqBF8fMdttGZfupiTLMvU1dUiSRJjx4wnsRMLox0OO2aLGYfdgd/vIzMzi7zcPPovWET6X5/FU1CA9S/PiEEZFXjzzTfRaDT89rf3dvbSdsPZbadSOk2joXLSBI6NHc3Q9RWMLFnDLQ//gd3XXc3Or1yHNz6+3ct8Ph81NdWkJKcwauQY9J18bzUaEzAaA2dv+LxezK0WWosCwTw2bQrHnphHdmYG6T4f2ggezCQE6gfl5eUpdr8QhDO2Bwh8ej27vnIdhwsmMb5oKaNKShmyYSP7Zl7Jnqtm4Uz94h3R7XZTXX2Snj16M2TIFV0+t1Gr05GRnkGeK7Bw/+iPf0x9Qz3HTx7H5/eTY8olNzeHjIwsEozKHKYjdJzdptx2MQhBODUaDVqtFp8vgkW+wsCensbGH/+APVfPYsSadYxcvZZha8s4PGUyO79yHXUJRuob6hh8+RX07d1X0WV0CZ8fRZYk4tNSyUtPB8DjdmNpNbN37x5cbjcpKSnk5uZhysomPS1dscXYwsUpWXkPQhBOCIzYxno425zq3493fvETUmrrGL62jMs+2Myg9z5g54ihnLr7box9lKlh2iahspK84pVUf30OntPBBNDHxZGZaSIz04Qsy9isrZysOsGRI4eRNBK52bnkZOeSmZWFIc6gaJuEAIfdTpKap1IgUKrE6epeazAtuTm8/507WT9lAhM3vs+4rdvR/uJXNE2eRNU3bsM8bqwivWfc6Z00tn4XD70kSSQlp5CUHHjEdrmcWCwW6vd8htvjIi0tnbzcPEyZJlJSUkWvqhCbzU5SsnILVkISzmhawqcUv99PdXUVSaZsrE88wTabndzlK8hbtoLhv/4ttv79qJlzC/XXXoO/CyeetYwbi2X4MPr962WaphTgyWp/SuZsBkM8JlNgwMrv89FqbeXo0c85cPAAOp2W3Jy8wAKIjMyOL4AQLqBkiRIIwVQKwKrVK6hvqA+uRVHI43FTXV1NXl4+Q68Yds7Aj+RyYSqvIH/JUpIOHsKblETD7Fk0TZtKy9gxyEGEIXn3bkb++GcceOxRGq65ukttdzodmM0tOBwOPF4vmRmZ5Obkkm3KVuwQ2O7iG9+4nTfffJNevTp9ql14plIg9kdsz2a326mrq2XQoMvp33fABY+ussFA/VduoP6G60n+bDd5y5aTvb6MvOKV+OLjMY8aScuE8bSMH4+9X98OPfp60tIAkBR4r4+PNxJ/ugCY3+fD3GrmSOUR9u7fgyEunvz8PExZOWRkZKDTxug0mULsDuUq70EIB4S6g5aWZsxmM6NHjSEn5xLzW5JE64jhtI4YjuRykfbJp6R/vIW0LVvp/8KLALiysmgZP+50WMedM+BzNpfJhM9gIPHAQbj+OsW+H41WS3paBulpGQA4HDYaGho4fuIEfr+PrExTYFlhlomEBDFVcz67za7o8r3QvHPG6kKE02RZpqGhHq/Xy6SJBaSkpHbueoOB5oLJNBdMBsBQW0fa1q2kbdlKxgcfklO6FggM+phHj8QyahTm0aPwZGScub512FBSPtut7Dd2HqMxEaMx8MPm9XiwtJrZf3Af7t07SUxMJDc3n+ysbNLS0sQCCALjDkpWQhA9Zyf5/X5qaqsxxicwYfwkDIb2VwZ1his3h7qbbqTuphvB5yPp4CHStm0jZcdOskvXkb9sBQD23r2xjBqJedRIdFYr+MJ3+K5OrycjI4uMjCxkWcZht1FTW83Ro4FKfNmmbHJzcsnIyMLYhQGvaKdR8JCnkAwIbd32Mbt27wyuRSrm8Xioqaki25TL8GEj0ISjt/B6STp4kNTtO0nduZOUnbsCwTyt7rprOf797+HqkR/6tlyEx+3GbDFjt9twuVykpKSQn9eDzMysbrMAQpZlZl91Fbt27grm8vAsfAfYvuNTPt2xLZhLVcvhsFNbV8fA/gMZOOCyyJ0Z4vOReKSSnvMLMZVXnPmyedRI6r5yAw2zZyEbIrfIQJZlrK2tWKxmXC4XGklLbk4OOdm5ZGRmxuwCCL/fz1VXXc2uXSoP5+69n/Hxls3BXKpKZrOZlpZmhg8bSV5e5Hqo8+kbGxnx83swnjh55mvOnGwOPfwg5rFjI9iyL7hcTixmM3anHbfbTXpaBnm5gUGl1E6+q6uZw+Hg5ptvZtu2T4K5PHzhPHBwP+9/uCmYS1VFlmVOnWrA7fEwdvQ4UlPTIt2kC3m99H/xJfKWLEM66+/y4EMPUH/D9ao6FSywAMJCa2srTpcTQ5yBnNxccrICFSCUHEwJt8bGRn70ox+xcWNQP/fhC2fl50fYsLHi0n9Qxfx+PzU1NRgMcYwdM/7MXKBaGWpqyPhwMwOe+9uZrzl69qD61lupufmroMIf/LMXQHh9XjIzTeSacjBlZyu60iYcjh49yqOP/p7S0tJgLg/fIoRo/hcQwOv1Ul1dRVZmFsOHj4yK5YiuvDxq5tyCefRoBj3xJEkHDmI8WcWAv/2dnJLVHL7/d1gVrv7eVecvgGixmDlceYg9+3YTH28kPy+fbFM2aenpql8AYVd4RwqEcOF7tHI6ndTU1tC/7wAuG3gZkoJD4+Fg79+PHf95hbxlyxnw/N8xjxhBfHU1I3/0U2rm3MKxH92NT8HyjUrRaLVkpGeQkR6Yy7XbbNQ11HHs+FF8fj/Z2dnkZueRlZmlygUQVqs1SsIZBT1NeywWC03NjQwfOoIePXpGujnB02iouXUOWRUbSDh2jP2PP0bme++Tt3QZmRs3UfmbX9E4fZqq3kfPl5CYSELiFwsgzBYz+w7sxe1ykZyUTF5ePqYsE6mp6lgAYbPZFa28ByE4jgHUf15KexpPncJiMTNx3KToDuZZDj10Pz6jkaH33ocrJ4ddL7+ENzWFIQ89wrB7fk3S3gsrxauRTq8nMzOLPr37MnDgIJKSkqmqPslHWzazrnwtn+7YRlX1SVwuV8TaaLdbFV26ByHqOeOiKJyyLFNTW41ep6dg8tQz9XpigbNXL3a88R8G/vkZ+v3zX5hHjmDfH+eRvmULvd54i1E//AmnZs7g6I9/iLPzOykiIrBXNfnMvkmP243Z3MLuvZ/hdrlJS00jNy+frIysoIt1B8NqtZGs4F5OCNFordvt5n+FbwbVoHDy+gIDPxnpGYwYMTpqH8cvSZbJLl1L/7+9gD/ewPbX/4PfmED+okX0LFyIxu2m9sYbqLr9dpy9oyOk7fH7fNhsViytFpwuJ1qtnrycnM4X6w7C66+/jsFg4Fe/+nUwl4dvKkWWZV5/69VgLg0bl8tJdU0Nffv05fLLBkfdwE8wEo4cYeQPf4J1yGD2PPsX/PHx6Jua6PXGW+SuKkHj8WDv2wdnbi7+uDgkwJucjDsjA2d+Hk3Tpl50p4wauVzOM1M1bo+H9PRAsW5T1qWLdXfWiy++RM9ePbn7B3cHc3n4wgnw1tuv41Xp6cet1lYaGxsYOmQ4PXt2r1OyTOvWc/m8J7D37k3lb35Fy4TxAOibmsguXUfqjh3oG5vQeNwgSegsreibmtD4fDjz89i2YL4q50wvpW0BhKU1UKzbYDCQm5NHjinn3GLdQXr6mWcYM3oMd9xxRzCXh2+eEwIjtmoMZ2NjIza7jfFjJ5GRkRnp5oRdw7XX4ElPZ8BfnmXYb+6lcdpUKu/5Ba4e+VTdeQdVd7bzw+X3k794Cf1feJHk/ftpHTYs/A3vIo1WS2pqOqmpgZ7f4bBzqqmRk1Un8fu+KNadlWkK6qQwuy1K3jkBipYspNVqCfZyxcmyTG1tDVqtljGjx3Wq6nosklwueixaTK///g/J66X61jlUf+M23Kb2axLF1dUx9s67kHy+wPvpnXfiCsM5puHQVqzbam3F7XKRkJAQqKuUnUN6WnqHpmruu28u3/nOXcyYMTOYJoT3sXbFyqU0NjUGe7mifD4f1dVVpKamMWrk6G5VRuVS4hoa6PvyK5jWlyFrNDRcczVVd3wDe//+F/xZQ1U1vd6eT/aaUpAkTn77To5//3uqni8Nht1mw2xpweVyninWnZMTGFS6WLHun/3858y9by7jxo0L5iPDG86SNSupq68N9nLFuNwuamqq6dWjN4MHD+ly1fVYFX+yivyixeSsXoPW6aRp0kRO3vVtLCNHkFOymsueeprN69bgS0rCUFtHn5f/TXZZOZW//AXV37gt0s0PmbZi3Tar9UuLdX/3u9/jr3/9K4MHDw7mY8IbznVlpZysOhHs5Yqw2qw0NNQzZPBQ+vTqE3P/woeCzmwmd0Ux+UVLiGtpwTroMpIOHjrz++9/cHrXhSwz/Gf3oLNY2D7/vxFqbXi1Fes2t5pxOV3nFOu+555fUVhYSI8ePYK5dXgHhCK9+L2pqRGr1ca4MRPIyrr0SWBCgDc1lZPfuYvq275ObvFKMj48d1+u1mbHl5gAkkTLxPH0efU1tJZWfCE4/VttLlase++mDWzfsV3REiUQouV7ELnF720DP26Ph4JJBSKYQfIbjVTf/g12v/A33v9gE/VXXwXA+K/dQv+//Z344ydonjgRWZIY8Pzf4MufwGJSW/2ol174J2+88YaiJ4xBCB9rN3/0AXv37wn28qC0DfykJKcwatQY4mK0JEakJO3bR37RErLe2YDG66Vp8iR8iYmYyis48ptfUXPrnEg3MaxOnTrF/ffdz+OPP87ttwc1v9kmvO+c2z7Zws7PdgR7eae53W5qaqrIz+vJFVcMFQM/IaRvbCS3eBX5RYvR2e1nilvvfPklWocPj3DrwqO5uZn7fjeXhx58kLvu+k5Xb9duOGPisdZut1FdVcVlAy9n2NDhIpgh5snM5MT3v8snC+ZTd/21Z74+aN6TSB5PBFsWHmazmfvnPsDv7v2dEsG8qJCFM1zVA1pammloOMWYMWPp1+/C4xCE0PGmp3H4wQfY+9STABirq+mxYFGEWxVaFouF++c+wD333MPddwe1jrbDorbnlGWZ+vo6HA4HkycVYDLFxmqVaNQ0fRpHf/IjAPr++xXSPt4S4RaFhs1m48H7H+SHd9/NT3/y05B/Xgh7ztBNpfj9fqqqTqLX65k8aQrJycruMBA67+S3v0X1nFsAGPbb39H71dci3CJl2W12Hrj/Qe781reC3RbWaVHXc3o8Ho6fOI4py8SEccochyAoo/LXv8SZmwtAZnAlIlXJ6XTy0EMPc+ucOcy9b27YPjd0u1JCsH7V7ggct3fZwMsZIN4v1Uej4dPC/xFXXx81lRUuxeVy8chDj3DDDTfw8MOPhPWzQxhOZW9tNrfQ0tLCqBGjyc1VT9V14Vx+gyGGgunm94/+npkzZzLv8Xlh//yQ7udUgizLNJxqwO12M2nCZFLUWHVdiDkej4fHH3+cCRMm8qc/PRWRNoRuba0C75yBqutVxMcnMHXyVAwqr7ouxAav18sTf3yCYUOH8dyzz0XslDTV9pyBqusnMZlyGD50BNooLI0hRB+fz8dTf3qKfv368+I/Xozo8YUh3ZUiSRKXWB7YLqfTQU1NDQMGXMZlkTxuT+hWfD4fzzz9DDk5Ofz75X8rvsuks0IWTkmS0Ov0uD3uTl1nsZhpampm5IhR5OUFtTdOEDrN7/fz3LPPkZycwhuvv6mKKvIhfVbU6TseTlmWaWw8hcvlZOKESaSlRU8JRiG6+f1+/v63v6PT6pj/9nxVBBNCHE59B98T/X4/tbU1xOn1TJ48FWN87FRdF9RNlmX++dI/8bg9LF26TDXBhFD3nB0YFGo7bi8zM4sRUXLcnhAbZFnmlZf/jbnFTHHxStWdjhfanvMS36zT6aS2tpq+ffszaODl3aLquqAeb7z+OjU1tZSsXh3SoxqCFeLH2ouHs7W1lcbGUwwdOoKePWJjRYkQPf771n85cqSStaXriFfp+uzQhjOu/XA2njqFw2Fn/LiJ3bLquhBZhYWF7Nmzl/Xr1mM0qndhS1h7zsBxezXotDomT5pCQjevui6E3+KixXz6yaeUrS8P6tiFcAr5VEqbwHF71aSnpTNyxChRdV0Iu+XLlvPBBx9SXlau+LkmoRCWqRSXy0V1TTV9evXh8ssHixo/QtiVrFrFOxUbKK8oJy0tLdLN6ZCQ95xWq5VTpxoYOmQovXr1CeXHCUK7SktLWbNmLRUVFWRG0RhHSMO5desW6utrmTh+MhmZ7Z9eJQihVFa2nuLlxVRUVGCKsgLjIQ3nzu27WLlyJZs/2MrUaVOZOnUqCQli9Y8QHhs2bKBo0RIqyivIycmNdHM6LWRFpdt4PB7KK8pZuHAhmzZtonfvXkyZMoXpV04nKUmM1gqh8d777/Hm629Rtr6M3r1Vf3p5eCu+t8fn8/HuxndZsGAB727YQE5uLlOmFjDjyhmkpIoKeoIyPtq8mVf+/R/WrV9Hv779It2cjoh8OM/m8/nYvPlDCgsLKSsvJzMzg4Ipk5kxYyYZGRmh+lghxm3ZspV/vfRPSktLGTjwskg3p6PUFc6z+f1+tmzdwoIFC1i3di1JyUkUTClg5syZmEzR9RIvRM6n2z/lhef/QUlJSbCH2EaKesN5zgfKMjt2bGd+YSFr1qzBYDAwuWASs2bNIjc3+l7qhfDYtXMnz/71OVYUFzN8WNQdphQd4Tznw2WZ3Xt2U1hYSMmqVUiSxOSCycyaPZMePXpGsmmCiuzZs4enn3qGpUuXMnr06Eg3JxjRF87z7T+wnwWFCyheWYzH42bSpEnMnD2Lvn3E4obuav+BA/zpj0+yaNEixo+fEOnmBCv6w3m2ysojFC5YwIoVK7BarUycOIFZs2fRv3//iFZME8Ln0KHD/PHxebw9fz4Fkwsi3ZyuiK1wnu348WMsXLiQZcuW0dTczPjx45g1eyaDBl0ughqjPv/8cx579A+89dabTJs2PdLN6arYDefZampqWFS0iCVLllBbW8u4cWOZOWsmgwcPVlV9GCF4x48f49GHf8+rr77KrFmzI90cJXSPcJ6toaGBoqIilixZzPHjJxgzdjRXzriS4cOHi6BGqZMnq3j4wYd56Z8vcd2110W6OUrpfuE8W1NzE0uXLqGoqIgjh48wYuRIZsyczujRY0RQo0RtTQ0PPvAQzz//PDfeeFOkm6Ok7h3Os1ksFpYtX0ZR0SL27d3H8OHDmH7ldMaOG6e6CmxCQENDPXN/dz9/fvpp5twyJ9LNUZoIZ3tsNhsrilewuKiIHTt2csXQwUybfiUTJ05QZUW27ujUqQbuv+8BHn/8cW6//Y5INycURDgvxeFwULK6hEWLFrFt2zYGDRrE1GlTmDJlCgaDIdLN65aam5u57965PPzIQ3z7W3dFujmhIsLZGS63i3Vr17Jg4UI2b97MgAH9mTJ1itiTGkZms5n77r2P3/72Xu6+++5INyeURDiD5fF4KCsvY+HChbz33nuBPalTpzB9utiTGioWi4W5983l5z//BT/9yU8j3ZxQE+FUgtfrPb0ntZB3N7xLbl4eU6cVcOV0sSdVKVarlfvvu58f/OAH/PKXv4p0c8JBhFNpPp+PDz/8gPmF86koryAzK5MpUwqYMXMm6enilLRg2G127r//Ab75zTu473dzI92ccBHhDCW/38/HWz4+vSd1HSkpyRRMmczMWbPIyhLFzTrC6XTywP0PcPPXbubhhx+JdHPCSYQzXGRZZvv2TyksLGRNaemZPamzZ8+KykJT4eByuXjowYe49trrmPf4vEg3J9xEOCNBlmU++2wXhQsWsLqkBEmjYfLkSWJP6llcLje/f+RRpk+fzlNP/TnSzYkEEU412H9gP4XzCyleWYzP62XipIndek+qx+Phscf+wLixY3n2r891111EIpxqU1l5hPnz51NcXIzNbmPCxAnMnjWbfv37dYsfUq/Xy7zH53HFkCv4xz9e7Bbf80WIcKrZsWNHA3tSly+npbmZcTG+J9Xn8/HkE0/Su3cfXvn3K2i698HJIpzRoqq6ikWLFrJ06TLq6upibk+qz+fj6T8/jSnLxBtvvNndgwkinNGpvr4+sCd16RJOHD/OmLFjuHLmlQwfFp17Un0+H88++yyJCUm8/b+3o/J7CAERzmjX1NTI4sVLWLxkMUeOHGHUqJFcOSN69qT6/X7+/re/IyGxaFFRVLQ5TEQ4Y0mLuYXly5dTVFTE/n37GD5iGNOnq3dPqizLvPTiS9jtDpYuWarKNkaQCGesslqtFBcXs6hoEbt27uKKoUOYNn26avakyrLMKy//m1OnGikuXqmKNqmMCGd34HA4WFWyiqJFi9i27RMGXT6IadOnUlBQELE9qa+/9honjp9kVUkJ8Yb4iLRB5UQ4uxuXy8XataUsWLiQjz76iAED+jNt2lQKpkwJ257U/771Xw4eOEjp2rUY441h+cwoJMLZnbk9bsrLylhwek9q3z69mTJtKtOmTQvZntTC+fPZufMzytaXiQ3qX06EUwjwer1seHcDCwoLeXfjRvLz8yiYUsCMGTNISVFmT2pRURFbPt5C2fpykpOTFblnDBPhFC7k8/l4//33KFxQSEXFO5iysgLnpHZhT+ryZcvZuHET5WXlpKWlKdvg2CTCKXw5n88X2JNaWMi6detJTU2hYMpkZs2eRWZmx/akrlq5kvXryql4p4KMdHEIcgeJcAodJ8syn3z6CQtO70k1GuMpKJjMzFkzL7ontbS0lFUrS3jnnXfI6mCYBUCEUwjWmT2phYWUlJSg1WoDe1KvmkV+fg8AysrWs3TxMioqKsSG8s4T4RS6TpZl9u3fR2FhIatWrcLn9dKjZw+Ofn6UDRveJT8/P9JNjEYinILyDh8+zCOPPsLDDz3M8OFRd9y7WohwCoJKtRvObr+RThDUSoRTEFRKhFMQVEqEUxBUSoRTEFRKhFMQVEqEUxBUSoRTEFRKhFMQVEqEUxBUSoRTEFRKhFMQVEp3id+PvRN0BCFKiJ5TEFRKhFMQVEqEUxBUSoRTEFRKhFMQVEqEUxBU6v8BuIkodC3WTCsAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOcAAADnCAYAAADl9EEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmmUlEQVR4nO3daXxT153/8c+1JMsy3nezr2a12cEbZksm+/zbkqRpSNuZJO1MppPpvKZNICFtJ5lu6X/STiYlnbRNk3ZiA2Y1NhiwHXZMSAgBQtgJq3djW5auLFnSnQeyCaQGb1fSlXzeDxMkHcBfztX5nfM7kqIoCIKgPSH+HoAgCF0T4RQEjRLhFASNEuEUBI0S4RQEjdJ38//FUq4geJ/U1X8UM6cgaJQIpyBolAinIGiUCKcgaJQIpyBolAinIGiUCKcgaJQIpyBolAinIGiUCKcgaJQIpyBolAinIGiUCKcgaJQIpyBolAinIGiUCKcfuN1uZNmK2+3291AEDevusLWgMqvVQun2LVy5epklX32UMGMY4eHhGEJDCTWEIkldnrsVBiARTh+6fOUSGzetwyJbCJFCMIWZcDqdNDU34WkfrGAKM2EymQgNNWIwGERYBzARTh9wupwcOLif3Xt2EhUZRWJCEvX19UiShMFgwGAwAKAoyo2wuhWFEEn6YmY1hIqwDjAinF7W3NLM5pJNXL58kaTEJPR6PW63G0X56++btwtr4/XrgIIkSTdmVhHW4CfC6SWKonD23BmKijegKJCSknpLkHpyDUZXYW1vb0e22QAFKcTzaBzeEVa9Xi/CGkREOL3A4XCwc3c5hz78gNjYOEwm0y3/X5KkHoXzy7oKq8NuR5ZlUNxIOp0nrOHhGPQGEdYAJ8Kpsvr6OjZuXk99fR0pKamEhHRdrXIrCoqi9Cs8kiQRGhpKaOd7ut047HasVishEhASQrgp3LPA1DGzCoFD/G2pRFEUPjl2hG3btxIaaiAlJfW2v1aSJKSO16g5s4WEhHjCGuqJq9vtxt7WhtVqAUVBp9NjMoUTZgoTYQ0A4m9HBbJNZvuOrXx64jjxCQkYQ43dvkZReva9sz9uhJUvwmqzyVisrV+ENTwcU5gJg8Egwqox4m+jn65du8qGonVYLK2kpg7u8UwohUgoPm6oHxISgtH4xT8cLpcLmyzTajEjIaEL0X0R1lADep348fAn8affRy6Xiw8OHWTnrnIGRUSQlJTcq9d3Ptb6k06nQ6fTYcQT2M6wWiytKAoY9HpM4SbCjCKs/iD+tPvA3GqmuGQTFz6/QFJSUp8eBxVFQWuXineGtZPL5UK2Wmlt9YQ11GDAZDIRFmZCb9CLsHqZ+NPtpXPnz7Jp8wbcLhepqal9XtDxlFO0vfG9q7BarRbM5haQJAz6L8JqMBhu+bVC/4lw9lB7ezt79u7iwMF9xMTEEh4e3u/31NrM2Z2uwmqxWGhtNeOmc2YNxxQWhl4vwtpfIpw90Hi9gU1FG6iurSY5OUW1Hzqtz5zd6TKsra20mltQkAgN9YQ1zGgUYe0DEc47UBSFT08cZ0tpMXqDntQ71C57S5KkwJs6u/HlsDqdTlrNZlrcbpAkQo2hhIeFYzSGYjCE3naDhuAhwnkbbW1t7CjfxifHjpAQH4/RGKbq+0sSuN3BFc4v0+v1tyyWOZ1OWlqaO0pIN4U1zIhBbxBh/RIRzi5U11SxYeNazGYzqXfYgtcfCvi8zulvtwuru1lBksBoNBJuGkSoMVSEFRHOW7jdbj786BAVO3dgMplISu5d7bI3JCSUAd6m5Oawdh6Pa+44yypJDPguESKcHSwWC1tKN3Pm7GkSE5NunPzwGoUBNm/e2W0PnjddR/Fs2bgR1oHSJUKEE7h46XM2bFqHo93Rqy14/SJ5TqYIXetpl4hgbukyoMPpdDrZt38Pew/sIToqmujoaJ99tqdlkAhnT90prJ2ne4KtS8SADWdT03WKijdw9dpVzxY8H29Fk5BwB3id05+67RIhSTc2RISGGgPy4PmAC6eiKJw89RklW4qQQqS/ah/iw5GIL50q6jKsDsdfd4kIoJYuAyqcdnsbFe+Xc/jIh8TFxRMWpm7tsnfEaq03fTmsnV0iZFlGQrmlS4RBb/D+AmAfDJhw1tbVsnHTWq43Xb9j+xDfUQZcndOfvjh47nFzlwhPRxed5rpE+H8EXuZ2uzly9DDby0oJM4aRnJzi7yF5SFLQ7xDSskDoEhHU4ey8+uDkqc9ISEi80VtHEzx9Svw9CqHDl7tEuN1uv3eJCNpwdl59YGuz+a522SuSeKjVsM6w+rNLRNCF0+lyUnnwALv3vE9kZBSJiUn+HlKXpBBJbEIIIP7oEhFU4WzpuPrg0uWLJCb2rX2Iz4jH2oDWXZeIP/7xbZ78+ycZOXJknz/D30uWqlAUhTNnT/P7t39HdU01KSmp2g4mnqV+sQkheOh0OozGMMLDBxFuCufQB4dwOp39ek9t/wT3QHdXH2iVImbOoCbLViIjI/v1HgEdzp5efaBNfbsvRQgMsmwbmOFUFIWjxz+hdNuWbq8+0C5FhDOI2e32W0ozfRFw4ezL1QfaJOEW2/eCWn+f5AIqnH29+kCbxKwZ7Pr78xkQ4ezv1QdaJeqcwUlRFKSQ/k8cmg+nGlcfaJNYEApWTqeTEKn/i5Oa/kk/f+EcmzZvwOV09uvqAy3ytK0V4QxGNptNlZKeJsP5V1cfxMT4e0iqUxSxWhusrFYrgyIG9ft9NBdOb119oDmSBGKHUFCyWCxEDAqicN5y9YFep+rVB5qkwSsABXVYrVbCgyWc3r76QKtEnTM4WSwWIiIi+v0+fg9n59UHLeYWr119oEUD8TqGgUKW5cAOp9vt5qPDhyh/33P1gWbah/iI59p5f49C8Aar1cqg8AB9rPX51QcaJFZrg5fFYiUyMgBnTr9cfaBBCoF/ea7QNVm2EhcX1+/38Vk4nU4n+w7sZe/+3T6/+kCLPI+1YuYMRlarzLDhw/v9Pj4Jp7+vPtAkz8VZQhCSZSsRgzT+WKsoCqdOn6S4ZJOfrz7QJvFYG5w0v1qrrasPtEdCwiXqnEFJlmUitLogpL2rDzRIEnelBCurLGuvlKLZqw80SCwIBS/Z2v/mXqBiON1uNxs3reOzUyd6fPVB/MXLGK1WqiaOh4E2u0oSLnFXSlCyWmUiozQUzpCQEKyytVe1yyk7yhlb+QGtCfGcmZfDmdxs5LhYtYakaZ6ZUzzWBiPZJmtvtTYhIZHqmqoe//p9f/9NrmRMIW3vfmZu3Mz0TcVcS5/M6Xk5XJ42FUUfpMfF8PSXEd85g1O7o73fnfdA5XD2toWIy2DgQuYcLmTOIbKunrS9+xm3r5K7Vr6FLSqSszlZnJmXQ0tqcH53FVcABi81SoaqhrM/e2RbkxI5vOQrfPyVhxj66Wek7dnHlB3lZJTuoGbcWE7n5XJx9gycKvyLpAWSJOFCzJzBRlEUJEnSYDj1/d/Aruh0XJmazpWp6ZhaWhi7/yBpe/cz/+13ycpfzfnMOZzJy6Fh5AhPN4FAJUkgHmuDjiec6ryXuo+1Kp8usUVHc/z+ezh+39+QfPYc43fvY9yBSibu2kPjsKGcycvhXOZcHCr0a/E1CXC7xGNtsHE6nYSEqLNWomo4Q7119EuSqE0bR23aOCqXPsaYDw6RtmcfWflrmL1mPZdmTud0Xi7VE9ICpyQjSbjFY23QkWWZ8PBwVd5L5QUh75/LbA83cWrhfE4tnE/c5Suk7dnH2MpDjPngQ8yJCZyZl8PZ3CzkWG2XZCRAEQtCQcdqtTJIhf5BoKEFob64PnwYB5/4Bh8+uoQRhz9h/N59zNpQxIyNm7maMYUzeblczkjXZklG3M8ZlCwWC4MGaXLm9M9RMFdoKBey5nAh60slmTd+hxwVxbmcTE7n5WJO0c41DhKiwVcwslqtRET0f3cQBPjM2ZVbSjLHTzB+zz6mbO8oyaR5SjKfz5qJy9j99kJvkjwt3/06BkF9FotFlYbSoMFSiloUnY4r0zK4Mi0DU0sL4/ZVekoyf7ypJDPPvyUZMXMGH7XOcoLGSylqsUVHc+yBezl2/z2knDlL2p79jNtfycSd/ivJSJIkdggFIbU670GglFLUIknUjE+jZnwaB5d+ndEHPyRtr79KMhKKKKUEHatVnc57MEBmzq44wsM5tWg+pxb5pyQjbhkLTlZZJjEhUZX3CtrvnL1xc0lm5OEjpO3Z74OSjHisDUay1UrEyFGqvJfKM2dgd9VzhYZyPmsu57Pm3lSSOeCVkow4MhacrJpdENLp0YXocLldar6tX3i9JCOJw9bBSLZatRlOAJ1ej8sR+OHsdEtJprmFcfsrSdtza0nmdF4ujSOG96okIyEhnmqDjyzbVOm8B14IZ6jBgMNhV/ttNcEW00VJZt8XJZnTebmcz5qDoyd7KyXEY20QssoaLaWAbza/+10XJZnxe/aRnb+aOWvWcXHWDM7k5VI9ftxtSzKemVOEM9jIVpmoqChV3kv1cGphC58v3VySib90mbQ9+xlz8BBjDx7ylGTycjibk40cG3PL6yRxB2BQUquhNHgjnH7a/K4FjSOGU/nN4Rz6emdJZh+z1hcxY4OnJHM6L5crnSUZSRLb94KQWvekgDceawfYzNmVW0oytXWeksz+Su7uKMmczc3i+OwZNCdr55SMoA6n06Xa06MXZk4Rzpu1Jidx+OGv8vFX/5ahxz9l/O79pG8rY+rW7VwbOxqjW4f9oYdApdPzgv+pdVmX1M0Wsl5/KdpfuZdTp0/2fUQDgKm5hVG79zBx/0Fi6htwR0Zif3gJbUuX4srICOzGZQOYoigsvusujh091tuXdvkXrvrubjFzds8WE82Re+/m3Zeep3nTJhz33kPYqtXE3nU3MYsWE/bHt5Gam/09TKGXFEVR9c5V1cMpvnP2lISChDMnG8ubb3L90+NYXv0lSBIRL7xA3JR0Ip55BsO+faKFZoBwOByqdgMRM6e/SLcetlaio2l78kma36+gqbyctscfJ3RHGdFf/RqxczMx/dfrhNTU+HHAQndkWVatuRd4I5wBvvndVyRuX0pxTc3A+qtXuf7pcVrfXIl78GAG/exnxE6bTuQT3yS0tBTa2308YqE7anbeA7FDyG88az7dPK6aTNgfeQT7I48Qcv4CYQUFhK1ejXH7dtxJSbQ99hhtjz+Oe8xoXwxZ6Ian856GZ85Qg38bZwUKRQGbrY2mpqYeHbp2jxmN/KOXuH70E8z/+xfap0/HtHIlcZmZRP+/r2BcuxZsNh+MXLgdq4onUsArmxDEY2137HY7VdVVxMXGceCD/YTodAxOTiEpMZn4+IQ7Xzys1+O4914c995LSE0NxtVrCMvPJ/Kfvseg5S9gX7KEtieewJWR7rvfkAB0PNaq2IdKbELwMYvFQkNDPZMnTmbYsBEAtLXZaDa3UFNbg6O9nbi4OFKTU0mIT7zjJmp3Sgq2f/0+tn95FkNlJcb8fMJWrcL0zjs409Npe2Ip9iVLUKKjffXbG9DUbO4FXtiE0NTcxIZNa/s+oiDW2NiILFuYMW0WcfEJXf4at8uFudVMq8WM3W4nNNRIaupgkhOSiIuL73apXmpuxrh+PWHv5aP/9FOUsDDsDz1I29IncGZniQ0OXrR27Vrq6ur5yU9+0tuXdvmXImZOH1AUhdraGiRJIiszl0F32BgdotMRExNLTIynsZjNJtPY2MDVK1dwu13ExyeQmuKZVbtafFBiYmh76inannoK3dFjhOXne8K6dh2uUaNoW7qUtq9/HUVD3e+DhZqd98ALM6fd3sZ7q/7S9xEFGZfLRXV1FVGRUUybOgPDnb5PdvdeTictrWYsllYcdjvh4eGkpKSSlJhMbEwsOt1tGpDJMsaSEsLyCzAcOICi0+G4+27sTyzFsXgxDOCTRGpa+eabpKam8t3vfLe3L/XRzClWa29wOBxUVV1l6JDhTJw4qd/3Nur0euJi44iLjQM8/Wpqa2u4fPkiLreb5MQUUlKSiYtLINx000b68HDsjz6K/dFHby3JbNuGKzkZ+2OP0fb4N3CPFiWZ/pCt6h0XAy+EMyQkBJ1Oh8sVPH2E+sJqtVJXX8uE8ZMYOXykV77rhQ8aRHjHo227w4G5tYXPPjuB3eEgKiqKlJRUEhOSiI2JvXFSorMkIy9fRmh5Ocb8AkxvvEH466/jyMnBvvRx7A8+CCaT6uMNdmp23gMvhBM83zsHcjibm5swm83MnD6bxMQkn3ymITSU+PhE4uMTURQFq6WVq9eucP78OaQQiZSkFJKTUohPSMAYagSDAcd99+G47z5RklGJTZaJ0HIpBTytStrsbd54a01TFIW6uloUt5usudlERKrTS6a3JEkiIjLqxufb7W2YzWbqThzH0W4nJiaW1JRUEuMTiYqKvrUkc+CApyRTUOApyWRk0Lb0cVGS6QGrVSYiUp3r/8ALC0IAGzato6n5et9GFKDcbjdVVdeIiIhk2rQZntlJg9wuF62WVlpbzdgdDvR6HSnJnkWl+Lj4GxsgpOZmjOvWE/bee+hPnBAlmR548skn+eUvX2XSpEm9falvFoRg4G1+b293UFVVRWrqYCZPmtLvhR9vCtHpiI6OITo6BujYANHcRHV1Fe1OJ/Fx8aQkp5CUmITy9FO0PfUkumMdJZl1HSWZ0aNpe/xxUZL5EqtVJlLrM+e2HVu5VnW1byMKMLIsU1tbQ1raeEaPHBPQM4rb5aKltQVLqwW7ow1jaBiDB6eSmJBMXFwcervDU5J5Lx9DZaUoyXzJQ3/7t2zdupXYmF5ffuXDmXOAbERobm6ipaWF6dNmkJyc6u/h9FuITkdsTByxMZ5Sjc1mpb6+nssdGyAS4hNJzZxLwoMPElFdTVi+KMncTLbK2t6+B7B7707OnT/btxEFAEVRqK+vw+l0MnPGbKKign+hxNnejrm1BYvFgsPhYNCgQaSkDCYpOpbkw4cJL1iFobwcye32lGSeWIr9gQcGVElm4cJFHD16lJDe3+3a5czplXAeqNzHydOf9eWlmud2u6muqcIUFs6M6TMxGsP8PSSfUxQFm2yl2dyCvc2zKp+UmMRQQhhS8T6RhYXoLl7CHR3tKcksXTogSjILFy7i+PHjfXmp78L54UcfcOzTo315qaa1t7dTXX2NpMQU0qdkEHK77XIDTLvDQYu5BVm2YrfbiYqIYEJNPcO27yByRxmS3e4pyTyxFPvXvhaUJZl+dN4DX4bzyCcf8/EnH/XlpZpls8nU1NYydvRYxo4ZF9ALP96kKAqW1lbMlhbsdjthchsZxz5lRFk5ptNnUEymL0oyWZlB8+fodru56667OXZMvXB6Z0EoNLgWhFpaWmhubmJq+jRSUwf7eziaJkkSkVFRREZ9sQHiZGIih7PnEHnmHOkHDzFsy1ZiCtd6SjJLO0oyAd793nO8T92fe6/MnKfPnGLfgT19G5GGKIpCQ0M9jvZ2Zk6fdaM2KPSNZwOEGbmhgZR9+xm/Zz9Jp06j6HTY77oL+7e+SfuiRQFZkmlsbOS73/0uu3f36efel5sQAn/mdLvdVFdXYzSGkp2ZQ1jYwFl19BbPBohYoqNjYcw4jn3967g++4yh28sYvWcv0du340hMRH70Edzf/jbuUaP8PeQea21tJVzFMgp4ocEXoGpjXX9wOp1cvXqF2JgY5s7JEsH0krAwE4NmzKTpheV8tGkDh15cTv3QIUS9+Tvi5sxF/zf34Hj3HZxWi7+H2i1Z5RMp4KVwBvLM2dbWxpWrVxgxfBTTps4QrT59RDIacTxwP5//9r/5aMNazv7dt9Bfu8bg55YRO3kKlqeepL6iHFmW/T3ULlksFtXDKXYI3cRsNnO9qZH0yRkMGTLU38MZsBxJSdR+52lqn3qS6I+PkLS5mGFbt6HbXEL9qBFcvusuHA8vIW7kKKKjY27fAcKHrFZZ1c574KVwBuJ9KY0NDdjabMydlUlMR6cBwc9CQmiZNZOWWTP53GwmcXsZKcXFzPjD2zj//L9cmjOLIwvmE5KXS3JHt0Kj0T+ngWTZourWPfBSOEMDKJyKolBdU4VBbyA7KxeTSdyTqUXOqCiqH1lC9cNfI+LUKZKLtzCirJwx+w7QOngw5+bnsidzLmHDh5OSOpiEuARiYmJUuyuzOxaLVdUTKeCtmTNAHmudLidVVdeIi40jI2N6wD6ODyiShGXiRCwTJ/L5s98jYecukou3MH1VIVML11M3ZzZn5udSOSGNkNAwUpOTe9asu5/U7rwHA7iUYre3UVVdzcgRIxk/bgJS7zcrC37mNpmou/8+6u6/D9OlSySXbCWpdBt5lQeZm5BA1T13czo3m2MdzbpjYz3NuhMT7tysuy9k2UZcfLyq7+mVcEqShF6vx+l0euPt+63V0kpjYz1TJqUzdOhwfw9HUIFtxAgufu8ZLv3Dd4jbf4Dk4hJGrlrDqPxVNM+cQfUD93NxRjQXLp7j5OkTGI1GUpJTSU5M7lGz7u5YZXW7vYOXwgmeFVsthrOxsRGrbGX2zEzi4tT9l07wP0Wvp3F+Ho3z8witqyN5aynJW7Yy8ZWfMjYykvp7/oaahx6kMT6RhuuNXL12Fber+2bd3ZGtAfKdEzq/d2rn1itFUaipqUan05GdmXPHrutCcHAkJXHl777NlW99k+iPj5BSXEJK0WYGr1tP64QJ1D70APV334XDaKSl1czps6c5/ukxT7Pu5FSSkrpp1n0TWbap2nkPvBhOtTcB94fL5aKq6hrR0TFMmzpdNL4eaG4qyehbWkjcUUZKcQlj//9rjHpjJQ0LF1D70IOYM9JBkjzNuutquHzli2bdycmeRaXw26zmW2UrEREBNXP6n91hp7q6imFDhjNhwkRNN98SvM8ZHU31Iw9T/fCSjpJMCYllFSSXbkMePpzaBx+g7r57CE8dAnzRrPvkyTs365at6m/f88qpFIDtZaVcvXalry9XhcVqob6+jokTJjNi2IigOTsoqCvEZiPh/V0kl5QQfew4bp2O6znZ1D70IE1z50DHY21ns+6W1hbsbfZbmnU/++z3KSgoYMiQIX0Zgu9OpYD/N79fv96IxWJl1ow5JCQk+nUsgra5TSbqHriPugc6SjLFW0gq3UbMR4c5tHkj7o4+SLdr1v3Znp0c+eRIX3oH3ZH3Vmv9VOvsvG4PSSI7M5tBKn8PEIKbbcQILv7zP3HpH75D+Oef3whmVzz9o8ys/O83eeedd0hNVbcDo1dLKb7WufATFRnFtGkzCNVo13VB+xSDAWta2h1/TUNDA8uff4FXXnmFJV9bovoYgmbmdDgcVFdfY3DqUCZNmiwWfgSvampqYvmyF1ixYgWPPfYNr3xGUIRTlq3U1daRljaeUSNHi4UfwataWlpY9vxyfviDH/Ktb33ba58T8KUUT9d1MzNmzCQxMbCbRAnaZzabWfb8cp599lmefvppr35WwM6cnV3XXS4XWZnZRPrpuj1h4LBarbyw7AW+8/TTPPOPz3j98wKylNJ53d6gQYOYMztzQHZdF3xLtsosX/YCS594gu9//1998pkBN3O2t7dzreoaqckpTJksuq4L3tfW1saLL67g4SVLeP655332uV4Mp/r7V2Wb57q9cWPHM2ZUYF+3JwQGu93OSy++xP3338+KFS/59LO9GE5137qlpZnm5mamZUwnJUV0XRe8z2538OMf/ZiFCxfyysuv+PzzNb8JQVEU6hvqcTgcZM7JIkp0XRd8oL29nZdffpk5c+by85//wi9j8N6CkArfOT1d168RFhZOblYuRtHcWfABp9PJT//jp0yZPIVfv/ZrnzUJ+zLNzpxOp5OqqqskJiaTPjkDXYB3kRcCg8vl4hc//wWjRo3mt2/81m/BBC+XUiRJopsjaV1qa7NRXV3NmDHjGCeu2xN8xOVy8atXf0VycjJv/c9bqp8y6S2vhVOSJAx6A452R69eZza3cP16E1MzppGa2qezcYLQa263m1+/9msiI6N450/vaqKLvFefFfWGnodTURQaGxuw29uYOyeTmJhYbw5NEG5wu928/l+vo9fpyX8vXxPBBC+H09DD74lut5uammpCDQaysnIxhYmu64JvKIrCmyvfpN3Rzvr1GzQTTPD2zNmDRSHPws814uMTyEifqpneQ0LwUxSF3//PW7Q0t1BUtFlzzdC9O3N285tta2ujpqaKkSNHkzZ2vOi6LvjUO3/6E9XVNZRs2eLVqxr6ysuPtbcPZ2trK42NDUyenMHQIcO8OQxB+Ct/+fNfOH/+AttKtxOm0YMT3g3nbXrXNjY0YLPJzJ41V3RdF3yuoKCAEyc+Y8f2HZju0CPI33w6c3qu26tGr9OTlZlDuOi6LvjY2sK1fHz4Y8p2lPfp2gVf8noppZPnur0qYmNimZoxTXRdF3xu44aN7N9/gPKyctXvNfEGn5RS7HY7VdVVjBg2gvHjJ4jmW4LPlRQX837FTsoryomJifH3cHrE6zOnxWKhoaGeyRMnM2zYCG9+nCB0qbS0lK1bt1FRUUF8AK1xeDWcH354iLq6GubOziIuPsGbHyUIXSor20HRxiIqKipIDLDO/14N59Ejx9i8eTOV+z8kd14uubm5hIeL3T+Cb+zcuZPCNeuoKK8gOTnF38PpNa9dZNSpvb2d8opyVq9ezZ49exg+fBg5OTnkzc9T/VYmQei0d99e3v3TnynbUcbw4Zq/vbzLY1deD+fNXC4Xu3bvYtWqVezauZPklBRycrNZMH8BUdGitaWgjoOVlfz+rT+yfcd2Ro0c5e/h9IT/w3kzl8tFZeUBCgoKKCsvJz4+juycLBYsWEhcXJy3PlYIcocOfcjvVr5JaWkpY8eO8/dwekpb4byZ2+3m0IeHWLVqFdu3bSMiMoLsnGwWLlxIYmJgfYkX/OfjIx/z3795g5KSEiZMmODv4fSGdsN5ywcqCp98coT8ggK2bt2K0WgkKzuTRYsWkZISeF/qBd84dvQor/3nr9lUVET6lHR/D6e3AiOct3y4ovDpiU8pKCigpLgYSZLIys5i0eKFDBky1J9DEzTkxIkTvPqLX7F+/XqmT5/u7+H0ReCF88tOnT7FqoJVFG0uor3dQWZmJgsXL2LkCLG5YaA6dfo0P/+Pn7FmzRpmz57j7+H0VeCH82YXLpynYNUqNm3ahMViYe7cOSxavIjRo0f7tWOa4Dtnz57jP15+hffy88nOyvb3cPojuMJ5s8uXL7F69Wo2bNjA9aYmZs+exaLFC0lLGy+CGqQ+//xzfvKjf+fPf36XefPy/D2c/grecN6surqaNYVrWLduHTU1NcyaNZOFixYyYcIETfWHEfru8uVL/GjFj/nDH/7AokWL/T0cNQyMcN6svr6ewsJC1q1by+XLV5gxczrzF8wnPT1dBDVAXb16jRUvrGDlmyu59557/T0ctQy8cN7setN11q9fR2FhIefPnSdj6lQWLMxj+vQZIqgBoqa6mheWv8hvfvMbHnzwIX8PR00DO5w3M5vNbNi4gcLCNZz87CTp6VPIm5/HzFmzNNeBTfCor6/j+R8u45evvsqSry3x93DUJsLZFavVyqaiTawtLOSTT44yafIE5uXNZ+7cOZrsyDYQNTTUs+y55bz88ss89tg3/D0cbxDh7I7NZqNkSwlr1qzho48+Ii0tjdx5OeTk5GA0Gv09vAGpqamJ537wPCteepFvPvEtfw/HW0Q4e8PusLN92zZWrV5NZWUlY8aMJic3R5xJ9aGWlhae+8Fz/Nu//YCnn37a38PxJhHOvmpvb6esvIzVq1ezd+9ez5nU3Bzy8sSZVG8xm808/9zzfO97/8wz//iMv4fjbSKcanA6nR1nUgvYtXMXKamp5M7LZn6eOJOqFovFwrLnlvHUU0/xL//yfX8PxxdEONXmcrk4cGA/+QX5VJRXEJ8QT05ONgsWLiQ2VtyS1heyVWbZsuU8/vg3eO6Hz/t7OL4iwulNbrebDw590HEmdTtRUZFk52SxcNEiEhJEc7OeaGtrY/my5Xz1K19lxYqX/D0cXxLh9BVFUThy5GMKCgrYWlp640zq4sWLArLRlC/Y7XZefOFF7rnnXl55+RV/D8fXRDj9QVEUjh8/RsGqVWwpKUEKCSErK1OcSb2J3e7gxy/9iLy8PH7xi1/6ezj+IMKpBadOn6Igv4CizUW4nE7mZs4d0GdS29vb+clP/p1ZM2fy2n/+eqCeIhLh1JoLF86Tn59PUVERVtnKnLlzWLxoMaNGjxoQP6ROp5NXXn6FSRMn8cYbvx0Qv+fbEOHUskuXLnrOpG7cSHNTE7OC/Eyqy+XiZz/9GcOHj+D3b/2ekIF9cbIIZ6C4VnWNNWtWs379Bmpra4PuTKrL5eLVX75KYkIi77zz7kAPJohwBqa6ujrPmdT167hy+TIzZs5g/sL5pE8JzDOpLpeL1157jUHhEbz3v+8F5O/BC0Q4A931642sXbuOtevWcv78eaZNm8r8BYFzJtXtdvP6f72OhMSaNYUBMWYfEeEMJs0tzWzcuJHCwkJOnTxJesYU8vK0eyZVURRW/nYlsmxj/br1mhyjH4lwBiuLxUJRURFrCtdw7OgxJk2eyLy8PM2cSVUUhd//z1s0NDRSVLRZE2PSGBHOgcBms1FcUkzhmjV89NFh0sanMS8vl+zsbL+dSf3T229z5fJViktKCDOG+WUMGifCOdDY7Xa2bStl1erVHDx4kDFjRjNvXi7ZOTk+O5P6lz//hTOnz1C6bRumMJNPPjMAiXAOZI52B+VlZazqOJM6csRwcublMm/ePK+dSS3Iz+fo0eOU7SgTB9TvTIRT8HA6nezctZNVBQXs2r2bwYNTyc7JZsGCBURFqXMmtbCwkEMfHKJsRzmRkZGqvGcQE+EU/prL5WLfvr0UrCqgouJ9EhMSPPek9uNM6sYNG9m9ew/lZeXExMSoO+DgJMIp3JnL5fKcSS0oYPv2HURHR5Gdk8WixYuIj+/ZmdTizZvZsb2civcriIsVlyD3kAin0HOKonD448Os6jiTajKFkZ2dxcJFC297JrW0tJTizSW8//77JPQwzAIgwin01Y0zqQUFlJSUoNPpPGdS71rE4MFDACgr28H6tRuoqKgQB8p7T4RT6D9FUTh56iQFBQUUFxfjcjoZMnQIFz+/yM6duxg8eLC/hxiIRDgF9Z07d46XfvQSK15cQXp6wF33rhUinIKgUV2Gc8AfpBMErRLhFASNEuEUBI0S4RQEjRLhFASNEuEUBI0S4RQEjRLhFASNEuEUBI0S4RQEjRLhFASNEuEUBI3Sd/P/g+8GHUEIEGLmFASNEuEUBI0S4RQEjRLhFASNEuEUBI0S4RQEjfo/j0xIo98w+1cAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for node in spline_tree.nodes:\n", " path = spline_tree.nodes[node][\"path\"]\n", " locs = np.zeros((len(path), 3))\n", " for p, point in enumerate(path):\n", " locs[p, :] = neuron.nodes[point][\"loc\"]\n", "\n", " spline = spline_tree.nodes[node][\"spline\"]\n", " u = spline[1]\n", " u = np.arange(u[0], u[-1] + 0.9, 1)\n", " tck = spline[0]\n", " pts = splev(u, tck)\n", "\n", " if node < 3:\n", " fig = plt.figure()\n", " ax = fig.add_subplot(111, projection=\"3d\")\n", " ax.plot(pts[0], pts[1], pts[2], \"red\")\n", " ax.w_xaxis.set_pane_color((0.23, 0.25, 0.209, 0.5))\n", " ax.w_yaxis.set_pane_color((0.23, 0.25, 0.209, 0.1))\n", " ax.w_zaxis.set_pane_color((0.23, 0.25, 0.209, 0.3))\n", " ax.grid(False)\n", " ax.set_xticks([])\n", " ax.set_yticks([])\n", " ax.set_zticks([])\n", " plt.axis(\"on\")\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Figure 2. Examples of fitted splines to three different paths in a tree-like neuron." ] } ], "metadata": { "kernelspec": { "display_name": "env_37_demo", "language": "python", "name": "env_37_demo" }, "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.7.8" } }, "nbformat": 4, "nbformat_minor": 2 }