septum-mec/actions/waveform-analysis/data/10_waveform_analysis.ipynb

1508 lines
204 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import expipe\n",
"import pathlib\n",
"import numpy as np\n",
"import spatial_maps.stats as stats\n",
"import septum_mec\n",
"import septum_mec.analysis.data_processing as dp\n",
"import septum_mec.analysis.registration\n",
"import head_direction.head as head\n",
"import spatial_maps as sp\n",
"import speed_cells.speed as spd\n",
"import re\n",
"import joblib\n",
"import multiprocessing\n",
"import shutil\n",
"import psutil\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from distutils.dir_util import copy_tree\n",
"from neo import SpikeTrain\n",
"import scipy\n",
"\n",
"from tqdm import tqdm_notebook as tqdm\n",
"from tqdm._tqdm_notebook import tqdm_notebook\n",
"tqdm_notebook.pandas()\n",
"\n",
"from spike_statistics.core import permutation_resampling\n",
"\n",
"from spikewaveform.core import calculate_waveform_features_from_template, cluster_waveform_features\n",
"\n",
"from septum_mec.analysis.plotting import violinplot"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"color_control = '#4393c3'\n",
"color_stimulated = '#d6604d'\n",
"\n",
"color_bs = '#5aae61'\n",
"color_ns = '#9970ab'\n",
"\n",
"figsize_violin = (1.7, 3)\n",
"figsize_gen = (4, 3)\n",
"\n",
"output_path = pathlib.Path(\"output\") / \"waveform-analysis\"\n",
"(output_path / \"statistics\").mkdir(exist_ok=True, parents=True)\n",
"(output_path / \"figures\").mkdir(exist_ok=True, parents=True)\n",
"output_path.mkdir(exist_ok=True)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"data_loader = dp.Data()\n",
"actions = data_loader.actions\n",
"project = data_loader.project"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"N cells: 1281\n"
]
}
],
"source": [
"identify_neurons = actions['identify-neurons']\n",
"sessions = pd.read_csv(identify_neurons.data_path('sessions'))\n",
"units = pd.read_csv(identify_neurons.data_path('units'))\n",
"session_units = pd.merge(sessions, units, on='action')\n",
"#########################3\n",
"# session_units = session_units.drop_duplicates('unit_id')\n",
"#################################\n",
"print('N cells:',session_units.shape[0])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>action</th>\n",
" <th>control</th>\n",
" <th>entity</th>\n",
" <th>frequency</th>\n",
" <th>session</th>\n",
" <th>stim_location</th>\n",
" <th>stimulated</th>\n",
" <th>tag</th>\n",
" <th>channel_group</th>\n",
" <th>unit_name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1849-060319-3</td>\n",
" <td>True</td>\n",
" <td>1849</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>baseline ii</td>\n",
" <td>1</td>\n",
" <td>104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1849-060319-3</td>\n",
" <td>True</td>\n",
" <td>1849</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>baseline ii</td>\n",
" <td>1</td>\n",
" <td>108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1849-060319-3</td>\n",
" <td>True</td>\n",
" <td>1849</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>baseline ii</td>\n",
" <td>1</td>\n",
" <td>85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1849-060319-3</td>\n",
" <td>True</td>\n",
" <td>1849</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>baseline ii</td>\n",
" <td>1</td>\n",
" <td>94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1849-060319-3</td>\n",
" <td>True</td>\n",
" <td>1849</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>baseline ii</td>\n",
" <td>1</td>\n",
" <td>98</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" action control entity frequency session stim_location \\\n",
"0 1849-060319-3 True 1849 NaN 3 NaN \n",
"1 1849-060319-3 True 1849 NaN 3 NaN \n",
"2 1849-060319-3 True 1849 NaN 3 NaN \n",
"3 1849-060319-3 True 1849 NaN 3 NaN \n",
"4 1849-060319-3 True 1849 NaN 3 NaN \n",
"\n",
" stimulated tag channel_group unit_name \n",
"0 False baseline ii 1 104 \n",
"1 False baseline ii 1 108 \n",
"2 False baseline ii 1 85 \n",
"3 False baseline ii 1 94 \n",
"4 False baseline ii 1 98 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"session_units.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f06055511d0>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"session_units.groupby('action').count().unit_name.hist()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Process all data"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def features(row):\n",
" action_id = row['action']\n",
" channel_id = row['channel_group']\n",
" unit = row['unit_name']\n",
" template = data_loader.template(action_id, channel_id, unit)\n",
" spike_times = data_loader.spike_train(action_id, channel_id, unit)\n",
" half_widths, peak_to_troughs = calculate_waveform_features_from_template(\n",
" template.data, template.sampling_rate)\n",
" peak_amps = template.data.min(axis=1)\n",
" half_widths = half_widths * 1000 # to ms\n",
" peak_to_troughs = peak_to_troughs * 1000 # to ms\n",
" idxs = np.argsort(peak_amps)\n",
" peak_to_trough = np.nan\n",
" for p2t in peak_to_troughs[idxs]:\n",
" if np.isfinite(p2t) and p2t > .1:\n",
" peak_to_trough = p2t\n",
" break\n",
" half_width = np.nan\n",
" for hw in half_widths[idxs]:\n",
" if np.isfinite(hw):\n",
" half_width = hw\n",
" break\n",
" \n",
" return pd.Series({\n",
" 'half_width': half_width,\n",
" 'peak_to_trough': peak_to_trough,\n",
" 'average_firing_rate': float(len(spike_times) / spike_times.t_stop),\n",
" 'template': template.data[idxs[0]]\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4e27da53954b492ba7a0ab4933847df2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, max=1281), HTML(value='')))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"results = session_units.merge(\n",
" session_units.progress_apply(features, axis=1), \n",
" left_index=True, right_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"df = results.loc[:, ['half_width', 'peak_to_trough']].dropna()\n",
"\n",
"idxs_df = cluster_waveform_features(df.half_width, df.peak_to_trough)\n",
"\n",
"results.loc[df.index, 'bs'] = idxs_df"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_gen)\n",
"size = 5\n",
"mew = .5\n",
"marker_bs = '.'\n",
"marker_ns = '+'\n",
"\n",
"plt.scatter(\n",
" results.query('bs==0')['half_width'], \n",
" results.query('bs==0')['peak_to_trough'], \n",
" c=color_ns, s=size, marker=marker_ns, linewidth=mew, label='NS')\n",
"\n",
"plt.scatter(\n",
" results.query('bs==1')['half_width'], \n",
" results.query('bs==1')['peak_to_trough'], \n",
" c=color_bs, s=size, marker=marker_bs, linewidth=mew, label='BS')\n",
"\n",
"plt.xlabel('half width')\n",
"plt.ylabel('peak to through')\n",
"\n",
"plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
" mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"clusters.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"clusters.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_gen)\n",
"\n",
"size = 5\n",
"mew = .5\n",
"marker_bs = '.'\n",
"marker_ns = '+'\n",
"\n",
"plt.scatter(\n",
" results.query('bs==0')['half_width'], \n",
" results.query('bs==0')['peak_to_trough'], \n",
" c=color_ns, s=size, marker=marker_ns, linewidth=mew, label='NS')\n",
"\n",
"plt.scatter(\n",
" results.query('bs==1')['half_width'], \n",
" results.query('bs==1')['peak_to_trough'], \n",
" c=color_bs, s=size, marker=marker_bs, linewidth=mew, label='BS')\n",
"\n",
"plt.scatter(\n",
" results.query('bs==1 and average_firing_rate > 10')['half_width'], \n",
" results.query('bs==1 and average_firing_rate > 10')['peak_to_trough'], \n",
" c='red', s=size, marker=marker_bs, linewidth=mew, label='BS rate > 10 Hz')\n",
"\n",
"plt.xlabel('half width')\n",
"plt.ylabel('peak to through')\n",
"\n",
"plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
" mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"clusters_and_rate.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"clusters_and_rate.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"stim = results.query('stimulated').loc[:, ['half_width', 'peak_to_trough']].dropna()\n",
"\n",
"idxs_stim = cluster_waveform_features(stim.half_width, stim.peak_to_trough)\n",
"\n",
"results.loc[stim.index, 'bs_stim'] = idxs_stim"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"control = results.query('not stimulated').loc[:, ['half_width', 'peak_to_trough']].dropna()\n",
"\n",
"idxs_control = cluster_waveform_features(control.half_width, control.peak_to_trough)\n",
"\n",
"results.loc[control.index, 'bs_ctrl'] = idxs_control"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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klVSZd50NDe2M0QmKSnJlpub22g/Z8+eNe/YsSMsIyPDMmrUqHKX56ENHz688uTJkxaAYcOGVQH06dPHZrPZrrg+EhISbO6md1FRUeCoUaOqASZNmlSemZnZYpPZaDTy3HPPZb744otJeXl59Q+L7du3hz/88MP569atkzt27DgcHBxsX7VqVWJ7z73HCUxQYrItauqswqDEZFtH93X06NHgp59+up87gJuWllYTGhpqN5lMGAwG7Wpz7bTUtAgKCnIUFRUFAmRmZporKioaCdVf//rX+JEjR1a++OKL5+bMmVPi3r/7WLGxsXWxsbG2V155JeODDz6QDzzwwKUbb7yxPDU1tfrgwYOhAAcPHgxuKkwNiYiIcDz11FPnV61aVS8g//jHP+LffffdGACLxaKlpaVVBwYGtj1C6Uf07RViu214QmHfXiEdvk5mz559ec+ePZEZGRlBADabzfDMM8/0lVIGDxo0qObbb78Ndy8/cuRIWGpqqhWufq0YjUbNHRw2GAz1F1hMTExtenp6MMDOnTvDk5OTa1o9x759ax944IGcv/zlL/XezurVq5O3b98eBk4vKyUlxepuyrWHHhmD6QxxAZg3b97ljIwMy9y5c4cEBwc7NE3jscceuxgVFWW/9tprq1avXp08ePDgVv/RbsaMGVMZFhZWd/vtt1+TkpJSEx8f38jO6dOnl65cubLf1q1bo8PCwupMJpNWU1NjaHisJ598Muu+++4bpGmaISQkxL569epzEydOrPiP//iPAfPmzRP9+/evCQwMbPGCmTp1avnNN99cfOrUqRCAlStXnv/1r3/d76233ooPCgpyREZG1q5cufJC+341/6EzxAUgMjLS8dvf/vbcr371q/4Oh8NQVVVlnDx5cumyZcsKjEYje/fuDb/jjjuuqa2tNUyfPr1k9OjRVa+//vpV93XttddWPPHEEwNWrFjRKMbyzDPPZK5YsaKfpmmYTCbt2WefzfTEtqVLlxZ99tln9UHc1atXn12xYkXf3//+9wGBgYFanz59rC3Fc1rD4M8z2qWnp2eOHDmysKvtUCh6Gunp6bEjR45MaW29HtdEUigU3kMJjEKh0A0lMAqFQjeUwCgUCt1QAqNQKHRDCYxCodCNHpkH05msWrUqYd++fRF1dXUGo9GoPfnkkxfHjBlTdfjw4eCSkhLTlClTKh544IGB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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_gen)\n",
"size = 5\n",
"mew = .5\n",
"marker_bs = '.'\n",
"marker_ns = '+'\n",
"plt.scatter(\n",
" results.query('bs_stim==0')['half_width'], \n",
" results.query('bs_stim==0')['peak_to_trough'], \n",
" c=color_stimulated, s=size, marker=marker_ns, \n",
" linewidth=mew, label='Stimulated NS', alpha=.5)\n",
"\n",
"plt.scatter(\n",
" results.query('bs_stim==1')['half_width'], \n",
" results.query('bs_stim==1')['peak_to_trough'], \n",
" c=color_stimulated, s=size, marker=marker_bs, \n",
" linewidth=mew, label='Stimulated BS', alpha=.5)\n",
"\n",
"\n",
"plt.scatter(\n",
" results.query('bs_ctrl==0')['half_width'], \n",
" results.query('bs_ctrl==0')['peak_to_trough'], \n",
" c=color_control, s=size, marker=marker_ns, \n",
" linewidth=mew, label='Control NS', alpha=.5)\n",
"\n",
"plt.scatter(\n",
" results.query('bs_ctrl==1')['half_width'], \n",
" results.query('bs_ctrl==1')['peak_to_trough'], \n",
" c=color_control, s=size, marker=marker_bs, \n",
" linewidth=mew, label='Control BS', alpha=.5)\n",
"\n",
"plt.xlabel('half width')\n",
"plt.ylabel('peak to through')\n",
"plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
" mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"compare-clusters.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"compare-clusters.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"results.average_firing_rate = results.apply(lambda x: float(x.average_firing_rate), axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"results.frequency = results.apply(\n",
" lambda x: \n",
" float(x.frequency.replace('Hz', '')) if isinstance(x.frequency, str) \n",
" else float(x.frequency), axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins=100\n",
"density=True\n",
"cumulative=True\n",
"histtype='step'\n",
"lw = 2\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Narrow spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==0')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw, label='Control');\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==0')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw, label='Stimulated');\n",
"\n",
"plt.xlim(-.5, 56)\n",
"# plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
"# mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins=100\n",
"density=True\n",
"cumulative=True\n",
"histtype='step'\n",
"lw = 2\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Narrow spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==0')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw, label='Control');\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==0 and frequency==30')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw, label='Stimulated');\n",
"\n",
"plt.xlim(-.5, 56)\n",
"# plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
"# mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns_30.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns_30.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAADPCAYAAAD8ksT3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAEARJREFUeJzt3X2wXHV9x/H3JYREJKIMPpGxIFI+paVAxSFEBNIpSGKLOIjTFq0QSoCWKhQ6ERwo2EF8AGpL0KJQHkSRykMEKhBQiEIAeW5NTL9MKFIrQ4c4PBMCIbd/nLOXczZ795579+yes7uf1wzD7p7N3u9NZj/7/f3O7+xvZHR0FDOzhs2qLsDM6sWhYGY5DgUzy3EomFmOQ8HMchwKZpazedUFWJ6kHYDHgUURcXHm8b8Ddo2IIysqrWOSLgauAtYAKyNiq6bj2wHXRMQHq6jPEu4U6mkjcK6knasupEwRcXRE/KjN8ScdCNVzp1BP64DzgO9JmhsRr2YPpmHxdWArYDvgEeBPI+IVSeuB64HdgU8CK5ruvwk4B9gSeBU4DbgNeAqYGxFrJJ0C/FVEbJ/+vNuAr0XETZka3gV8G9g2feiHEXG6pCOBPyf5wJkN/Bo4IiKelLQcuAB4IPM6uwA3AScBD5N2EJLOBHYA3g1sDzyd/o5PStoL+AawBfBYevykiFg+6b9p24Q7hfr6IvAScHaLY4uAyyNiLrAT8F7gj9NjWwA3RoQi4oHsfZJhyTXACRGxG3AE8B3gt4Abgfnpa8wHtpC0s6StgT2A5k/4RcB/R8T7gX2B306fC7APcHxE/C7wIHB+q19Q0q7pzz06Ipa2eMq+wCci4neAZ4BjJW0OXAucnv4O56f1WUkcCjUVERuBTwELJR3YdPhzwNOSFgP/QtItZMfndzY9v3F/DrAmIn6W/oxVJJ3EPGApsEDSLJJP5yuBA4GPALc0dyvALcDHJd0EHAucEhHPpcdujYhH09sXAQe1+BVnAHcAj0TEj8f5a1geEc+ntx8GtgF+P6395vT/dwArx/nzNgUOhRqLiP8BjgMu5402HeB7wDHAE8DXgIeAkczxF5teqnG/1b/3ZsB0kiHEB0g6juXp/Q8DHyX5ZG6u7X6SDuVbJG3+fZIa8wEbml7/9XF+xY8B75d06DjH12Vuj5L8jhvI/660eX2bAodCzUXE1cDNwImZhw8C/iEi/o3kzTIHmFbg5e4FlI7JkfR7wH4kn8ivAD8BzgBuTW/PJWnhb2l+IUlfJmnhfwCcAKwCGhOjfyRpdnr7OJIhQrP1EbECOAq4MJ2jKGI1sF7S/LSOvUi6B1/ZVxKHQn/4LElX0PB5YKmkB4ALSd7AO030IhGxFvgEsETSz0mGCAszrf5Skjf27RGxDvgPYEUaGM3+CdhD0kqSicPHSToYgP8FrpC0mqSLOLHFn2/UtJzkNOUlE9WfPn8D8HHgTEkPAyeTTJK+XOTP28RGfOm0lSk9+3BYRPxJF3/GOcC5EfF/kt5DEl47RsSz3fqZw8SnJK0fPQH8WNJrJPMLRzsQyuNOwcxyPKdgZjkOBTPLcSiYWU7PJxrnzJkzOnv27ImfaGalWrVq1dqIePtEz+t5KMyePZvrrruu1z/WbOhJemLiZ3n4YGZNHApmllMoFCTNSa+Fb378YEn3S7pH0qLSqzOznpswFNLLcy8GZjY9Pp3kCr0PA/sDx0h6ZzeKNLPeKTLR+BhwKHBF0+O7kFyb/wyApLtIrri7utQKzQbc6oUfrbqEnAk7hYi4FnitxaG3AM9l7r8AbN3ieWbWRzo5Jfk8MCtzfxbgi1LMMibTBexy6Q0TPueAC+6aejF3/2Whp3USCqtJvpdvG5Jv9tkPOLeD1zOzjI4CoAOTDgVJhwNbRcS3JJ0ELCMZhlwSEb8uu0CzupnKHEC7LmDszT+JEPjR33xo0jVoSbHnFQqFiPglsHd6+8rM4zfS+qu2zGqvlxN8nXzqTyUAOuEvWTGbouZP/07b/V6/+cfjULChV2SCL6tX7X5VHAo2NCYzXOindr9sDgWzjMmEQb+/+cfjULCBNV5n0BguFBkGDOobvx2Hgg2dIt3AMIZBg0PBBkK7+YJNJhKbQmGYA6AVh4L1pamsMWjuEBwGrTkUbKBM9vSibcqhYH2jVXcwlRBwh9CeQ8Fqr27fNzDoHArWdzxE6C6HgtXOROsLrLv8bc5mluNOwWqrrM6gqi8r6VcOBRtYDoOpcSjY0PCpyGIcCjbwHAaT41CwSpW9BsFDhs45FKwv+c3fPQ4Fq4Wy1yB4yDB1DgXra37zl8+hYLXnoUJvORSsp3xxU/1NGAqSNgO+AewOrAeOjog1meMnA4cDG4GzI2Jpl2q1IeehQm8U6RQ+BsyMiLmS9gbOAw4BkPRW4ARgJ+DNwCOAQ8E20dwh+OKm+ioSCh8CbgGIiHslfSBz7CXgCZJAeDNJt2BWCs8lVKNIKLwFeC5z/3VJm0fEhvT+r4BfANOAL5Vcnw2Yrm+3bh0rEgrPA7My9zfLBMIC4N3Ae9P7yyStiIj7SqzRhsR4YeC5hN4qEgorgIOB76dzCj/PHHsGWAesj4hRSc8Cby2/TBtU7boCh0E1ioTCUuBASXcDI8BCSScBayLiBkkHAPdK2gjcBdzWvXJtGDgMqjVhKETERuC4pof/K3P8DOCMkuuyATHeugTvwVBf/jo2M8vxikYrXavu4DN7Lk5uuEOoPYeCdcxLlweLQ8G6Zqw7yHBnUH8OBZuy5g6hOQQcAP3JoWCFTGaI4DDobw4F69jY0mUvTx4IDgVrq8jVjb5WYbA4FKylIsMFh8FgcihYIUWubvRcwmBwKFjbrqARBr5waXh4mbOZ5bhTsDEeIhg4FGwCnkwcPg4Fa8lhMLwcCpbjr0Qzh8IQK7IWwWEwfBwK1pLDYHg5FGzcL0Cx4eR1CmaW405hCI03l+Ahg4E7BTNr4k5hiLX6ujSzMraiX0Cy78MI8CBwfESMdqdcM+u2TreinwWcA8yLiLWSFgPbAk93q2CbHK9FsMnqdCv6D5LsLXmepB2BiyPCgdAnHAbWSqdb0W8L/CGwB/AicKekeyLi0fJLtU7scukNm27VVlEtVm+dbkX/G+D+iHgKQNJPSQLCoVCx5mGDL3Cyojrdiv4hYFdJ2wLPAnsDF5VepZXKwwZrp4yt6E8FlqXP/X5ErOxSrTYFjdOODgIrqoyt6K8Criq5LjOriBcvDRhv9mqdcigMOA8bbLIcCgNqbC6h4jqs//iCKDPLcacwIBrrEJZUXIf1P4fCgPJcgk2Vhw9mluNOoc95+bKVzaHQhxwE1k0OhQGx5MGvVl2CDQiHQh/LTiauXuhQsHI4FAZMkZ2jzdpxKPQ5X+tgZfMpSTPLcafQR9qddfCwwcriUOgDPgVpveRQ6ENewmzd5FDoIw4D6wWHQg15uGBVcijUWPMqRS9Qsl5wKNSQlyxblRwKfcCnG62XHAo15jCwKnS8FX3mOT8Ero+IC7tRaD/zUmTrJ0WWOY9tRQ+cQrIVfbOzgLeVWZiZVaPTreiRdBiwsfEcG78zaDccaHUa0l/PblXoaCt6SbsChwOHAX/fjQKHjRcoWdU63Yr+08Bs4HZgB+BVSb+MiKHsGpo7hCIThV6oZHXT0Vb0EbG4cVvSmcBTwxgInki0QdLxVvRdra5PNXcIRboBDxusLjreij7zvDNLqqkvtOoOvK7ABoEXL/WQuwHrBw6FDk32NKNZ3TkUJsmTijboHApd0NwheNhg/cShUFBzh/CZPdOzsR4i2IBxKEygk+GCOwTrRw6FSRqbWEw7BL/xbdA4FDLadQWNMPAZBRt0DgV8RsEsy6HQQqu1Bz6jYMPCoZBRJAzMBp1DoYV2QeAOwQadQ6Egh4ENi6EOhYkmGB0ENoyKfHGrmQ2RoewUvGTZbHxDEwpei2BWzNCEQitesmy2qaELhexaBK9BMNvUwIdCq2GDw8BsfAMfCkV42GD2hqEJhVZLmB0GZpsamlDwkMGsmI63opf0t8CfpXdviogvdKPQyWqEwJKK6zDrN0U6hbGt6NNt484DDgGQtCPwSWAOyc7Td0laGhH/2a2CJ9KYWGwOAw8VzIopssw5txU9kN2K/lfA/Ih4PSJGgenAK6VXaWY909FW9BHxGrBW0ghwDvBwRDzajULbyc4XNDoEb+FmNjWdbkWPpJnAJcALwF+XW1574w0VzGzqOtqKPu0Qrgduj4ivdKfENzSfQXAYmJWvo63ogWnA/sAMSQvS558aEfd0pdpxNK5y9GSiWefK2Ip+ZqkVFbDkwa/m7jsMzMrjL1kxs5y+XtHoMwxm5XOnYGY5fdEp+NSjWe/UNhT89Wlm1ahtKLTiOQSz7qtdKDR3CA4Cs96qTSj4UmezeqhNKDRzh2BWjdqEQvMqRTOrRuWh4GGDWb1UHgrNPGwwq5ZXNJpZjkPBzHIqHz54gtGsXioLBU8wmtVT5Z1CgycYzerBcwpmluNQMLMch4KZ5VQ2p+CzDmb15E7BzHIqP/vgsw5m9VLGVvSLgGOBDcBZEfHvXarVzHqgyPBhbCt64BSSregBkPQu4LPAPsBBwJckzehGoWbWG51uRb8XsCIi1kfEcyRbye1WepVm1jMdbUXf4tgLwNbtXmzVqlVrJT0x9oBUvFoz68T2RZ7U6Vb0zcdmAc+2e7GIeHuRwsysGkWGDyuAjwA0b0UP3AfsK2mmpK2BXYCVpVdpZj0zMjo62vYJmbMPu5FuRU8SEmsi4ob07MMxJAFzdkRc292SzaybJgwFMxsuXtFoZjkOBTPL6fky54lWSFZF0hzgKxExT9JOwGXAKMnE6fERsbGiuqYDlwA7ADOAs4Bf1KE+SdOAiwCltRwHvFKH2rIkvQN4EDiQZOXtZdSkPkkPkZzFA3gc+CbwzyR13hoRX+h1TVV0CuOukKyKpMXAxcDM9KF/BE6LiH1JJlcPqao24FPAb9Ja5gMX1Ki+gwEiYh/gNOCLNaoNGAvVbwLr0odqU5+kmcBIRMxL/1sIXAgcTrJocI6kP+h1XVWEQrsVklV5DDg0c39P4Cfp7ZuBA3pe0RuuBk5Pb4+QfILUor6I+AHJmSdIFsY8S01qyziX5I32ZHq/TvXtDmwp6VZJt0vaD5gREY9FxCiwrIr6qgiFliskK6hjTHoa9bXMQyPpPwoUWKXZTRHxYkS8IGkWcA3JJ3Kd6tsg6XKS7+D9bp1qk3Qk8HRELMs8XJv6gJdJQusgkqHXpeljDZXUV0UotFshWRfZMeaEqzS7TdJ7gDuAKyLiSmpWX0QcAexMMr/wpsyhqms7CjhQ0nJgD+DbwDsyx6uu71HgOxExGhGPknxYbpM5Xkl9VYRCuxWSdfGwpHnp7QXAnVUVIumdwK3A5yLikvThWtQn6S8knZrefZkkrB6oQ20AEbFfROwfEfOAR4BPAzfXpT6S0DoPQNJ2wJbAS5LeJ2mEpIPoeX1VtO1LSdL7bt5YIVk3JwMXSdoCWE3Stlfl88DbgNMlNeYWTgDOr0F91wGXSvopMB04Ma2nLn93rdTp3/Zfgcsk3UVyNuQokmD9LjCN5OzDz3pdlFc0mlmOFy+ZWY5DwcxyHApmluNQMLMch4KZ5TgUzCzHoWBmOQ4FM8v5f4tumu/36PcNAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins=100\n",
"density=True\n",
"cumulative=True\n",
"histtype='step'\n",
"lw = 2\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Narrow spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==0')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw, label='Control');\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==0 and frequency==11')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw, label='Stimulated');\n",
"\n",
"plt.xlim(-.5, 56)\n",
"# plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc=\"lower left\",\n",
"# mode=\"expand\", borderaxespad=0, ncol=2)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns_11.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_ns_11.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins = 100\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Broad spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==1')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw);\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==1')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw);\n",
"\n",
"plt.xlim(-.5, 44)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins = 100\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Broad spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==1')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw);\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==1 and frequency==11')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw);\n",
"\n",
"plt.xlim(-.5, 44)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs_11.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs_11.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins = 100\n",
"\n",
"plt.figure(figsize=figsize_gen)\n",
"plt.title('Broad spiking')\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_ctrl==1')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_control, lw=lw);\n",
"\n",
"_, bins, _ = plt.hist(\n",
" results.query('bs_stim==1 and frequency==30')['average_firing_rate'], \n",
" bins=bins, density=density, cumulative=cumulative, \n",
" histtype=histtype, color=color_stimulated, lw=lw);\n",
"\n",
"plt.xlim(-.5, 44)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs_30.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"cumulative_bs_30.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"U-test: U value 104995.0 p value 0.047251399227811186\n",
"U-test: U value 13472.0 p value 0.6449484150738996\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_violin)\n",
"# test = 'permutation_resampling'\n",
"test = 'mann_whitney'\n",
"\n",
"plt.title('Broad spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==1')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==1')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs.png\", dpi=600, bbox_inches=\"tight\")\n",
"\n",
"plt.figure(figsize=figsize_violin)\n",
"plt.title('Narrow spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==0')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==0')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"U-test: U value 63173.0 p value 0.3220377333457417\n",
"U-test: U value 8043.0 p value 0.32905688838219194\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_violin)\n",
"# test = 'permutation_resampling'\n",
"test = 'mann_whitney'\n",
"\n",
"plt.title('Broad spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==1')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==1 and frequency==11')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs_11.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs_11.png\", dpi=600, bbox_inches=\"tight\")\n",
"\n",
"plt.figure(figsize=figsize_violin)\n",
"plt.title('Narrow spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==0')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==0 and frequency==11')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns_11.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns_11.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"U-test: U value 41822.0 p value 0.016842133424593897\n",
"U-test: U value 5429.0 p value 0.7318233387867226\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 122.4x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_violin)\n",
"# test = 'permutation_resampling'\n",
"test = 'mann_whitney'\n",
"\n",
"plt.title('Broad spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==1')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==1 and frequency==30')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_bs.png\", dpi=600, bbox_inches=\"tight\")\n",
"\n",
"plt.figure(figsize=figsize_violin)\n",
"plt.title('Narrow spiking')\n",
"violinplot(\n",
" results.query('bs_ctrl==0')['average_firing_rate'].to_numpy(), \n",
" results.query('bs_stim==0 and frequency==30')['average_firing_rate'].to_numpy(), \n",
" test=test)\n",
"\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns_30.svg\", bbox_inches=\"tight\")\n",
"plt.savefig(output_path / \"figures\" / \"rates_ns_30.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [],
"source": [
"columns = [\n",
" 'average_firing_rate',\n",
" 'half_width',\n",
" 'peak_to_trough'\n",
"]\n",
"\n",
"\n",
"def summarize(data):\n",
" return \"{:.2f} ± {:.2f} ({})\".format(data.mean(), data.sem(), sum(~np.isnan(data)))\n",
"\n",
"\n",
"bs = pd.DataFrame()\n",
"\n",
"bs['Control'] = results.query('bs_ctrl==1')[columns].agg(summarize)\n",
"bs['Stimulated'] = results.query('bs_stim==1')[columns].agg(summarize)\n",
"\n",
"ns = pd.DataFrame()\n",
"\n",
"ns['Control'] = results.query('bs_ctrl==0')[columns].agg(summarize)\n",
"ns['Stimulated'] = results.query('bs_stim==0')[columns].agg(summarize)\n",
"\n",
"\n",
"def MWU(column, df, cluster, extra):\n",
" '''\n",
" Mann Whitney U\n",
" '''\n",
" Uvalue, pvalue = scipy.stats.mannwhitneyu(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {}'.format(cluster, extra))[column].dropna(),\n",
" alternative='two-sided')\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(Uvalue, pvalue)\n",
"\n",
"\n",
"def PRS(column, df, cluster, extra):\n",
" '''\n",
" Permutation ReSampling\n",
" '''\n",
" pvalue, observed_diff, diffs = permutation_resampling(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {}'.format(cluster, extra))[column].dropna())\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(observed_diff, pvalue)\n",
"\n",
"\n",
"bs['MWU'] = list(map(lambda x: MWU(x, results, 1, ''), columns))\n",
"bs['PRS'] = list(map(lambda x: PRS(x, results, 1, ''), columns))\n",
"\n",
"ns['MWU'] = list(map(lambda x: MWU(x, results, 0, ''), columns))\n",
"ns['PRS'] = list(map(lambda x: PRS(x, results, 0, ''), columns))\n",
"\n",
"bs.to_latex(output_path / \"statistics\" / \"broad_spiking.tex\")\n",
"bs.to_csv(output_path / \"statistics\" / \"broad_spiking.csv\")\n",
"\n",
"ns.to_latex(output_path / \"statistics\" / \"narrow_spiking.tex\")\n",
"ns.to_csv(output_path / \"statistics\" / \"narrow_spiking.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [],
"source": [
"columns = [\n",
" 'average_firing_rate',\n",
" 'half_width',\n",
" 'peak_to_trough'\n",
"]\n",
"\n",
"\n",
"def summarize(data):\n",
" return \"{:.2f} ± {:.2f} ({})\".format(data.mean(), data.sem(), sum(~np.isnan(data)))\n",
"\n",
"\n",
"bs = pd.DataFrame()\n",
"\n",
"bs['Control'] = results.query('bs_ctrl==1')[columns].agg(summarize)\n",
"bs['Stimulated'] = results.query('bs_stim==1 and frequency==11')[columns].agg(summarize)\n",
"\n",
"ns = pd.DataFrame()\n",
"\n",
"ns['Control'] = results.query('bs_ctrl==0')[columns].agg(summarize)\n",
"ns['Stimulated'] = results.query('bs_stim==0 and frequency==11')[columns].agg(summarize)\n",
"\n",
"\n",
"def MWU(column, df, cluster, extra):\n",
" '''\n",
" Mann Whitney U\n",
" '''\n",
" Uvalue, pvalue = scipy.stats.mannwhitneyu(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {} and frequency==11'.format(cluster, extra))[column].dropna(),\n",
" alternative='two-sided')\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(Uvalue, pvalue)\n",
"\n",
"\n",
"def PRS(column, df, cluster, extra):\n",
" '''\n",
" Permutation ReSampling\n",
" '''\n",
" pvalue, observed_diff, diffs = permutation_resampling(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {} and frequency==11'.format(cluster, extra))[column].dropna())\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(observed_diff, pvalue)\n",
"\n",
"\n",
"bs['MWU'] = list(map(lambda x: MWU(x, results, 1, ''), columns))\n",
"bs['PRS'] = list(map(lambda x: PRS(x, results, 1, ''), columns))\n",
"\n",
"ns['MWU'] = list(map(lambda x: MWU(x, results, 0, ''), columns))\n",
"ns['PRS'] = list(map(lambda x: PRS(x, results, 0, ''), columns))\n",
"\n",
"bs.to_latex(output_path / \"statistics\" / \"broad_spiking_11.tex\")\n",
"bs.to_csv(output_path / \"statistics\" / \"broad_spiking_11.csv\")\n",
"\n",
"ns.to_latex(output_path / \"statistics\" / \"narrow_spiking_11.tex\")\n",
"ns.to_csv(output_path / \"statistics\" / \"narrow_spiking_11.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [],
"source": [
"columns = [\n",
" 'average_firing_rate',\n",
" 'half_width',\n",
" 'peak_to_trough'\n",
"]\n",
"\n",
"\n",
"def summarize(data):\n",
" return \"{:.2f} ± {:.2f} ({})\".format(data.mean(), data.sem(), sum(~np.isnan(data)))\n",
"\n",
"\n",
"bs = pd.DataFrame()\n",
"\n",
"bs['Control'] = results.query('bs_ctrl==1')[columns].agg(summarize)\n",
"bs['Stimulated'] = results.query('bs_stim==1 and frequency==30')[columns].agg(summarize)\n",
"\n",
"ns = pd.DataFrame()\n",
"\n",
"ns['Control'] = results.query('bs_ctrl==0')[columns].agg(summarize)\n",
"ns['Stimulated'] = results.query('bs_stim==0 and frequency==30')[columns].agg(summarize)\n",
"\n",
"\n",
"def MWU(column, df, cluster, extra):\n",
" '''\n",
" Mann Whitney U\n",
" '''\n",
" Uvalue, pvalue = scipy.stats.mannwhitneyu(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {} and frequency==30'.format(cluster, extra))[column].dropna(),\n",
" alternative='two-sided')\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(Uvalue, pvalue)\n",
"\n",
"\n",
"def PRS(column, df, cluster, extra):\n",
" '''\n",
" Permutation ReSampling\n",
" '''\n",
" pvalue, observed_diff, diffs = permutation_resampling(\n",
" df.query('bs_ctrl=={} {}'.format(cluster, extra))[column].dropna(), \n",
" df.query('bs_stim=={} {} and frequency==30'.format(cluster, extra))[column].dropna())\n",
"\n",
" return \"{:.2f}, {:.3f}\".format(observed_diff, pvalue)\n",
"\n",
"\n",
"bs['MWU'] = list(map(lambda x: MWU(x, results, 1, ''), columns))\n",
"bs['PRS'] = list(map(lambda x: PRS(x, results, 1, ''), columns))\n",
"\n",
"ns['MWU'] = list(map(lambda x: MWU(x, results, 0, ''), columns))\n",
"ns['PRS'] = list(map(lambda x: PRS(x, results, 0, ''), columns))\n",
"\n",
"bs.to_latex(output_path / \"statistics\" / \"broad_spiking_30.tex\")\n",
"bs.to_csv(output_path / \"statistics\" / \"broad_spiking_30.csv\")\n",
"\n",
"ns.to_latex(output_path / \"statistics\" / \"narrow_spiking_30.tex\")\n",
"ns.to_csv(output_path / \"statistics\" / \"narrow_spiking_30.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Control</th>\n",
" <th>Stimulated</th>\n",
" <th>MWU</th>\n",
" <th>PRS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>average_firing_rate</th>\n",
" <td>9.53 ± 0.37 (491)</td>\n",
" <td>10.62 ± 0.44 (462)</td>\n",
" <td>104995.00, 0.047</td>\n",
" <td>1.09, 0.058</td>\n",
" </tr>\n",
" <tr>\n",
" <th>half_width</th>\n",
" <td>0.30 ± 0.00 (491)</td>\n",
" <td>0.30 ± 0.00 (462)</td>\n",
" <td>116089.00, 0.530</td>\n",
" <td>0.00, 0.420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>peak_to_trough</th>\n",
" <td>0.66 ± 0.00 (491)</td>\n",
" <td>0.67 ± 0.01 (462)</td>\n",
" <td>116944.00, 0.407</td>\n",
" <td>0.00, 0.522</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Control Stimulated MWU \\\n",
"average_firing_rate 9.53 ± 0.37 (491) 10.62 ± 0.44 (462) 104995.00, 0.047 \n",
"half_width 0.30 ± 0.00 (491) 0.30 ± 0.00 (462) 116089.00, 0.530 \n",
"peak_to_trough 0.66 ± 0.00 (491) 0.67 ± 0.01 (462) 116944.00, 0.407 \n",
"\n",
" PRS \n",
"average_firing_rate 1.09, 0.058 \n",
"half_width 0.00, 0.420 \n",
"peak_to_trough 0.00, 0.522 "
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bs"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Control</th>\n",
" <th>Stimulated</th>\n",
" <th>MWU</th>\n",
" <th>PRS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>average_firing_rate</th>\n",
" <td>21.22 ± 1.17 (147)</td>\n",
" <td>20.20 ± 0.96 (178)</td>\n",
" <td>13472.00, 0.645</td>\n",
" <td>1.02, 0.501</td>\n",
" </tr>\n",
" <tr>\n",
" <th>half_width</th>\n",
" <td>0.23 ± 0.01 (147)</td>\n",
" <td>0.23 ± 0.00 (178)</td>\n",
" <td>12839.00, 0.773</td>\n",
" <td>0.01, 0.454</td>\n",
" </tr>\n",
" <tr>\n",
" <th>peak_to_trough</th>\n",
" <td>0.29 ± 0.00 (147)</td>\n",
" <td>0.29 ± 0.00 (178)</td>\n",
" <td>13194.50, 0.895</td>\n",
" <td>0.00, 0.893</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Control Stimulated MWU \\\n",
"average_firing_rate 21.22 ± 1.17 (147) 20.20 ± 0.96 (178) 13472.00, 0.645 \n",
"half_width 0.23 ± 0.01 (147) 0.23 ± 0.00 (178) 12839.00, 0.773 \n",
"peak_to_trough 0.29 ± 0.00 (147) 0.29 ± 0.00 (178) 13194.50, 0.895 \n",
"\n",
" PRS \n",
"average_firing_rate 1.02, 0.501 \n",
"half_width 0.01, 0.454 \n",
"peak_to_trough 0.00, 0.893 "
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# example waveforms"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [],
"source": [
"def normalize(a):\n",
" t = a - a.min()\n",
" return t / t.max()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"'half_width','peak_to_trough'"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f05ec0bc7f0>]"
]
},
"execution_count": 142,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAADECAYAAACWVTQ0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztnXd4HPWd/1+zXb03q9iWJY8b7sYFXCimBAIkJKRw6ZeQh+QXLlxCCIQAAZLjIAnhkhwJuYQn3OWSQMJRQgmOMbjhjossj21ZVrOs3lfb5/fHSLO7sspK2ib5+3oeP56ZnZn9rqR9z/dTvp+PpKoqAoFAMIgh1gMQCATxhRAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhCnab7h69Wq1sLAw2m8rEFz0VFRUtCqKkjPWeVEXhcLCQv76179G+20FgoseWZZrQjlPmA8CgSAIIQoCgSAIIQoCgSCIkHwKsiyvBh5XFGXTkOMfBr4PeIDfKorybNhHeBFg73bQXNNOfmk2tiRLrIcTMp2OLmq76uhydunHksxJFCTnk5OUjckQdZeVIAyM+VuTZfke4DNA35DjZuCnwKqB13bKsvyKoihNkRjodENVVepOnOfE7mpqKhpRfSoZeances9mDAYp1sMbFp/qo7JVYXvtLo40HaXL2T3iuQbJwMy0YhblLGBR7gLmZctCJKYIofyWqoCPAs8POT4fOK0oSgeALMs7gA3AC2Ed4TTlyLaT7HnlaNCxjqZuGk83Uzg3L0ajGh6f6mPb2e38n/Iabf1tIV9T3VlDdWcNr556gxRLMqsLV3F5yTrKMkqRpPgUPkEIoqAoyl9kWZ41zEupQFfAfg+QFqZxTXtOH6gb9vipA3VxJQpVHdU8d/i/OdNRfcFrVqOV4tQi8pJzkJBQUel0dHG+t4m2/vagc3tcvWypfoct1e8wJ2M2N5Rfx8qC5RgNxmh9FEGITGY+1w2kBOynAJ2TG87Fgdvpof3cwI9Kgk2fWsW2P+wDoPpIPZd/bBkmc2y/LKqq8tqpN/lTxYuo+Ev2JZuTWFe8hstL1jE7fSYGaXhfdZ/LTmXrCY42V3Cg8QM6HB36a1Ud1Ty99z/JS8rl1vm3sLbo0hHvI4g+kxGFSqBcluVMoBfNdHgyLKOa5jTXtjNYGjMzP43ylSUc/Hsl3a29uB0eao83UrqkKGbj8/g8/PbQ73m3dod+zGwwcWP59Xx47oewmqxj3iPJksjKGctZOWM5n1tyOydaT7Kjdhe76t/H7fMA0NTXzC/3/5rXTr7OJxZ+jCV5lwizIg4YtyjIsvxpIFlRlF/Lsnw38BZaaPO3iqI0hHuA05Gms367PG9WFpIkUbaimINvVQJw+kBtzETB4XHy5O6fUdl6Qj82N7OMO1Z8ifzkiZk1BsnAgpx5LMiZxycW3srbZ7by9zNb6XNrvuva7nqe2P0Ui3IXcvuiT1CSFjtBFIQoCoqinAXWDGz/IeD4q8CrERnZNKapOkAUZmcBULa8RBeF2uPncdpdWBOjG570+rz8fN8zQYKwvuQyvrT0s5iN5rC8R5otjY8t+AjXl13L306/yZun/47T6wLgWHMF9219kKtmb+K2BbeSZEkMy3sKxocw5KKM6lNprgmcKWQCkJ6bQk5xBgA+r4/qI9GddKmqyu+P/IFD5w/rx25b8FHuWP7FsAlCIEmWRG5b8FF+es3jXDV7ExKa2aCisqX6Hb615T521O5GtCCIPkIUokxXSw9OuxsAW5KF1Oxk/bU5y4v17TMf1Ed1XK+depMt1e/o+x+e+yFulm+MuI2fZkvji0s/y4+uephFuQv1493Obv7zwLM8tuPfqe8WVmk0EaIQZc6fDTYdAr90gX6EprNt+HzReUqebDvNnype1PfXFq3mtgUfjcp7D1KcWsS96+7mrkvvJMOWoR+vbFW4b+tD/O+xF3B4nFEd08WKEIUoE+RPmJkV9FpyRiJJaQmAFrbsON9FpHF4HDxz4Dd62FHOKueO5V+MSYhQkiQuLVzJk5sf44ay6zBKWljWq3p57dQb3PuPBzjSdCzq47rYEKIQZZrOXuhkDCR3ZmbAue0XvB5u/ufon2nqawYgwZTAnSu/EhEfwniwmWx8+pLbeOzKB5GzyvXjLfZWHt/1E365/9f0OHtjOMLpjRCFKOK0u+hs6gFAMki6YzGQvFl+oQh0SEaCD84fYevZbfr+55bcTnbihUIVK4pTi3hg/b18edkXSDIn6cd31r3PPf/4Hnsa9sdwdNMXIQpRpCngS55dlI7JcmFEOFozBZfXxe8O+5ezrJqxgsuL10bs/SaKJElsmrWeJzY/xrqiNfrxbmc3T+/9JU/t+QXdoyzMEowfIQpRpK3B7yPILckc9pzsogwMRs352NXcg6PPFZGxvH76LVrtmkglW5L54tLPxHU2YZo1la+t+grfWntXkCNy37kDfGfLA+xrOBDD0U0v4lIUdta9z/8ee4Gq9jOxHkpY6Wn3rz5Py0ke9hyTxUhWYbq+HwkTor2/g1eU1/X9jy/4CKnW1LC/TyRYlr+Ef7/6Ea6YtUE/1u3q4am9v+CZ/b/B7u6P4eimB3EnCk29A/nwp97g++8+yuM7f8LJttOxHlZY6O2w69vJmUkjnhcYlWiuCb8J8aeKF3F6tfBecWoRV8zcMMYV8UWiOZF/XvZ5vrPu7qBZw/a6Xdy39UFOTZO/l1gRd6JgM9uCnlpHmo/x8Hs/5IldT1HbNfxy46lCT7tfFFIyR07hzQ1wNgZGK8JBVfsZdtTt1vc/s/hTU3b58uK8RTx+1SNcFuALabG38oPt/8arJ1/Hp/piOLqpS9yJQpo1lQc3fJfLitfoqa8AHzQd4b6tD/HMgf+ako4lVVXp7fCbDykZo8wUZvn9Dc017WFNYnqh8iV9e2XBMhbmzA/bvWNBkiWRO1d+ma+vuoNEs5bj4VN9/LHiRZ7c/TN6nD0xHuHUI+5EASA/OY87V36FJ65+jMuK1wblxW+v3cm33r6fbWffm1JPgv5eJ163Nl5LghlLwsi5AMkZiSSk2AAtiamzKTwieLq9iqPNFQBISHxy4cfDct94YG3Ran505Q8ozyzTjx1uOsr97zxMdcfZ2A1sChKXojBIQUo+d678Mj+88mGW5S/Rj/e5+3j20HM8sfsp+lz2Ue4QP/QGOBlTRvEngBaGC5wthMuEeOmEf0HruuLVFKTkh+W+8UJ2YhbfW38PN5Zfrx9r62/n4fd+xPbaXTEc2dQirkVhkJK0Ir619i7uWfdNchKz9eNHmo7x4LuPcr43/mvFhupPGCQ3zM7G6o6zfNB0BNBmCTfPvXHS94xHTAYTn1r0cf51zTd0c8Ltc/PMgd/w/JE/4Bko8CIYmSkhCoMsybuEx696hBvKrtOPNfae54Ftj8S9xzkwHJmcEYooBPsVJstLin+WsLpwFYWpMyZ9z3hmecFSfrDxAWakFOjH3qzawg93PEmnI/JrSqYyU0oUAKwmK5++5Da+vuqrmA2aXW532/nJnp9fUCw0nggMR45lPgDkFGcwmEvU0dSNy+Ge8HvXdtVzoPGQvn/LvOk5SxhKQUo+D2/8HisLlunHlLaT3P/OQ9MmzB0JppwoDLK26FK+v+FeUi1a7dhuZzc/2/MLXN6Jf3kiyXjNB7PVREbBQHFsFVrqOka/YBTerPq7vr2yYDnFqRdPubNEcwJ3rf4aty34qO6w7nR08ej2x9ly5h1RxGUYpqwoAJRmzOYbq+/Ul/lq5cifj8tfdJD5EMJMAYJToSdqQnQ7u9lV976+f0P5daOcPT0xSAZulm/knnXfJHlgYZVX9fK7w8/zq4O/xSnqNAQxpUUBYH62zO2LPqHvv1uzg73n4isPXlXVcc8UIDx+hX9Uv6tXTy7NmE155pwJ3Wc6sDhvEY9e8SCz0kr0Y9trd/LAtkdEdacAprwoAFw75+qgrLYXjv8Fr88bwxEF4+hz4XVr4zHbTFgTQivIOlQUxjsD8vg8bDmzVd+/bs7Vcb3oKRrkJGXz4Mb7WF+8Tj/W0HOOB7Y9wraz78XlLDPajCkKsiwbZFl+Rpbl3bIsb5NluWzI6/8qy/IBWZb3ybL8kcgNdWQkSeKziz+lh6Aae5t4r3ZnLIYyLD3jyFEIJD0vFbNVW17d3+Ogr3N8i332NOyjc6D5a7otjdWFq8Z1/XTFYrRwx4ov8eVln8di1ATa5XXx7KHn+Omen4/aI/NiIJSZwi2ATVGUtcC9wI8HX5BlOR24C1gLXAM8FYlBhkKyJTkoaeWvJ16OG6dj7wRMBwDDkEIs4zUh3jz9tr599ewrRYPXALQ6DRv4wabvUZjiD88eaDzEvf/4/kW9FDsUUbgceBNAUZT3gZUBr/UBNUDSwL+Y5h1fO2czaQOLqdr7O4KmzrEkaKYwypqH4Qg2IULPbKzurOFM51lA6+501eyN43rfi4Xi1CIe2fQA15RepR/rdnbz1N5f8NP3/4P2/olHfaYqoYjC0EayXlmWAx85dcBx4CDwdBjHNm5sJiu3yB/W918++be4qADcE7RkenwNTibqbHzn7Lv69qWFq6ZMvYRYYDVZ+dyS2weWYvtrWexvPMS3t9zPqyffiJtZZzQIRRSGNpI1KIoymCt6PVAAzAZKgFtkWb40vEMcH1fO3qinQve6etl/7mAsh6ONY4I+BQgOS7bUd+Lzjj0Zc3ic7Krbo+8HFiQRjIy2FPvRoJ+Xw+PgjxUvcM+W+9ldv2dKLcKbKKGIwk7gQwCyLK8Bjga81gH0A05FURxoXafTL7hDFDEZTFw1e5O+v70u9gthgsKRIaQ4B5KYlkBSuuZA9bq9tJ8bO0V3b8N++j2aUzI/KY95WXPH9Z4XM0kWrYDL99Z/hxnJ/hTpFnsrP9/3K7679UH2NRyY1uIQiii8BDhkWd4F/BT4pizLd8uyfJOiKNuBfcD7sizvBk4Cb49yr6iwLqAWQ0Xz8ZjahVodhdAqLo1E/mz/IrCGU81jnr+t5j19e9OsDRd9GHIizM+W+dFVD/O5JbeTbPGXzqvvbuCpvb/gvq0PsbPu/bgKfYeLMd3RiqL4gK8OOXwi4PUHgQfDPK5JkZWQyYKceVS0VKKisrPufT489/qxL4wATrsLt1OztsxWE9bE8fdUKJRzqTqkVZ2qP9HEkivlEc9t6D6H0nYKAKNkZH3JuhHPFYyOyWDimtKruKxoLX879QZvVm3Ry9jVddfzy/2/5sXKl/hQ2bVsKLkMq8ka4xGHh2mRvDQcgV+G7bU7Y5aUEjRLyEic0FO7SPa3gG8806qLzHBsq9muby/LX0K6LW3c7ycIJsmSyG0Lb+Wpax/nxvLrsRr9X/7mvhaeO/zf3PXWt/lL5f9Ni0pP01YUVs1YgXUgMaWh5xxnu2pjMg57t0PfHmwJN16S0xPJyNeiBz6vj8aqlmHP86m+oHUOwsEYXlKtqXxq0cf52bVP8NF5Nwc1qOlx9fLXE6/wjbe+zXOH/5vmvrHNvHhl2oqCzWRj1YwV+v6OGGU4BorCYIm1iVA0zz9bqD8xfFGZipZKPYMxzZrKJQFdnAXhI8WazK3zb+bp657gM4s/FdRVy+V18faZrfzr2/fxn/ufpaH7XAxHOjGmrShAsAnxfv2+mHiMA0UhMXXiolAcYELUKcOLws5af5XmtUWXTtkqzVMFm8nGdXM285PN/8bXVn4laKGVT/Wxo2433/nHAzy995dTqhL5tM57XZAzn2RLMr2uXjqdXdR11zMz4BcXDew94RGF/NIcjGYDXrePruYeetr7gnIenB4n+xr9qbnr4rAF3HTFaDCyrngNa4tWU9FynFdOvk5FSyWgFRve07CfPQ37WVmwjJvkG5mTMTvGIx6daT1TMEgGFuUs0PePNFVEfQzhmimYLEYK5uTo+/VDZgsHzx/Wszfzk/IoTZ814fcSTAxJkliUu5D7Lv82D228P6jYMGgZkt/f9gg/3PEER5qOxe2KzGktCgCL8/x29dHmY1F///4wiQIERyGG+hUCHYzriteI3IQYU545h2+tvYvHrngwyLcFmu/n8V0/4Tv/eIAtZ97B4XGMcJfYMK3NB4BLchfp20rbKRweJ7YoxpPD5WiEIaJwsgm304PZaqLH2cvhJn+i6WXFa4a7XBADZqXP5F9Wf43arnpeO/U6u+v36r6thp5z/O7w8/xvxZ9ZU7iaTbPWU5ZRGnNBn/YzhcyEDIpSCgGt6MiJViVq762qKvYefw2Eyc4UMvJTSc3WsuvcDg/Hd1UBsPfcfryqllk3J6OU/OS8Ee8hiA0laUXcufIr/Hjzj7im9KqgB5PD42RbzXs89O5j3P32vfzx2Auc6aiOWSr1tBcFgEtiZEK4HR69K5TJYtQLpkwUSZJYcoV/HcORd07hcXvZ07BPP7auePWk3kMQWXKTcvjcktv5j+t+wmcXfzpofQVoyVCvnnqDB7Y9wtffuJtnDvwXO+t2R7VS+bQ3HwAW5y7ijdNaReNoOhvt3cGzhHBMC+deOpODf6+kr6uf/h4Hh3dWcrxDzzpn9YyVo1wtiBcSzQlcO+dqrim9ilPtVWyreY+9DQf0hWwAXc5uttfuZPtAjk1OYjZzs8opz5xDeeYcilILI1I456IQhXnZczEbTLh9Hs71NtJqbwtKOIkUgeHIyfoTBjGajCy+Yi67/+8wAIe3noQlgAHmZpaRkZAx7HVup4e+rn4sNjPWRDNGk8hhiAckSWJuVhlzs8r4wpLPcLS5gj0N+/ig6Si9rt6gc1vsrbTYW9k50DXcbDBRnFbM4tyF3DT3hrCtvZj2ouDz+nB0uJAz5nGsTTMdjjZXRCUFOFzhyKHMWzObQ29X4uhz4enxMePcTBqKznJpYfAswdHn5MwH9dQcO0fDqWZ8Xn8ILDU7mUs2liOvnoXJLAQiHjAbzSwvWMrygqX4VB/VHWc50nyMylaFU+1VuLyuoPPdPg9nOqo501GN1WjlJvmGsIxjWouC1+Plb798j/PVbWRJJayyZdKd2smxzMoYiMLE1j0Mh9lq4pKN5ex7XTOFys4sIKE/ieVXLsXj9tJxvpvjO6s4fbBW92kMpbu1l51/OcShtytZfs185q+Lvddb4McgGZiTWcqczFI+guYkr+6s4XR7Fafaq6jqOEOr3V+eLyMhfGVMprUoHHjzOOerB35wKiT2J5PYn0znnlaIQsnCIFFICW8YdOH6Mg7vPoGrQ4s6FDbO5LXHdowoAqCt0vS4vTjtLlSfqo9xx4uHqFea2PSpVVgSxr+0WxB5TAaT7ksYLALQ4+zhbFctiebEsCarTVtRaDrbxuGtw4cfU89n0NTRQl5GzrCvh4tIzRQALDYzLRtqcO00ktOqebCHE4TsonTmrprJzEUz9LRoj8tD5e5qDr+jYO/Sxnj26Dn+2riFzZ9fS1ZhTItnCUIkxZoSkUVv0zIk6XF52PaHfQxmkc4oz+EL/3YL7jTtC2BQjRzcFfkoRH+gozE1vDOFPpedo50VHJ9/iJNlRzHbNL+AZJBISk9gzrJibvp/m/jI3VexaEN50DoJk0UzPz55//UsWu9v49Hd2sfLT7/DmcP1YR2rYGoxLWcK+9+ooKtF89yarSY2fnIlZquJpAUWXAMLCRs+aIHw+GVGJJIzhQ+ajmgJSxLYFhj43FdvxtHnwpZsxWAIzTdgMhtZ99Gl5M3O4r0/HcDt9OBxedny3PusuHYBy6+ZjxTivQTTh2k3U+jr7OfY9ip9f+0tS/SnpLx8Fj5Js8F9rRLtjWMXQZ0MkYo+ABw6f1jfXlGwHIPRQGKqLWRBCGTOsmJu+eaVerYkwIG3jvPGszvo6xpfVyrB1GfaicLhrYpeBj13Ziby6ln6a/MKy2nN9i8kOrGnOmLj8Ho0hx6AJIEtKXzmg9fnDVrrMHQ13kTIyEvlln+5ksLyXP1Y/YkmXvz3tzl9sC5uV/QJws+0EgV7Vz+V75/R95dfMz8ozJaRkIG92D87UPadDamPwkTo7/E3oUlImdgTfCROtp/G7tZqP2YmZDAzrTgs97UlWbj+jstZfMVcBoph47S72Pr8Hv7y5BZOH6yN2M9LED9MK5/C4W0ndQ98TnEGxfPzLzgnvzwb57F+rK4E3HYPdSfOM3PhjAvOmyzhXB05lEONftNhWf6SsOYXGIwG1ty0mJIF+Wz7w3698Gz7uS62Pr+X7S8cJH92Nvml2SSlJWBLsoy4psNkMQ1kUFqwJppFHsQUYUxRkGXZAPwSLZnWCfyzoiinA16/Hq3EuwQcAL6mKErU55r2HgfHd448SxikPHsOu3I+oLihFNBasUVaFCLpT1ievzSs9x5kRlkuH/v2Zg68dZzK3WfwuDRfjNvhoa7yPHWV58d1P7PNRFp2Mmk5KWQXpZNdnEFOUYbIi4hDQpkp6F2nBzpE/Ri4GUCW5RTgCWCToiitsizfA2QDw5cbjiAfbDmB16394WYVplOysGDY88oySnkrxd9nsbW+MyLjGboYKlyc723iXG8joLVUX5AzL2z3HoolwczaW5awbPM8KrZXceL96gk7Ht0OD631nbTWd+o9LJC05eB5s7LILckkpySDjLxUDMZpZdVOOUIRhaCu07IsBybYr0NrI/djWZZLgd8oihJ1Qehq6aFihz/isOLa4WcJoBW9cKT4ezu2NkSme1S4ajMOJXCWsChnAZaBMvaRxJZkZcV1C1h+7Xx62vo4V9VCW0MXjj4nzj4XbpdHc0EE/MxVVcXj9OByuOnvdeozjSBU6GjspqOxmxO7Naev0WwgPTeV9LwU0nKSSUpLGDBTrFgSzFhsZoxmA0ajAYPRgGSQhFkSZkIRhWG7Tg80mc0GrgCWAr3AdlmWdyuKcnIyg2quaaP9fDdly4oxWcYe4p5Xj+ppu/mzs5i5aGRzwGw0k1uQjdfgwegz0d/tpL/HEXa7P1LmQ6AohCPqMB4kSSI1OzkodBkKqqrS3+uku6WX9sYuWus7aanroL2xS/+9DeJ1+2hr6KStIfQZnGSQMJoMGE1GTGYjJosRk8WE2ar5NCwJZqwJZmxJVmzJFqyJVmyJZqxJViw2E2arGbPVhMlijLjAqKqqJdUN/K/6VHw+Hz6viurzDewP/PP68Hq8eN0+PC4PbpcHt0MTWle/G2e/C6fdTUpmIgvXl2GxhccUC0UURus63QbsUxTlPIAsy++hCcSERaGvq5+Xn96G6lOp3HWGG766YVS7s7GqhbNH/bX119wytuNtTuZsWpJ6SO3Rlhm3NXRSNO9Cp+Rk6I/Asul+dz8nWv0/2mX5i8Ny30gjSRKJKTYSU2zkl/r7YrqdHlpq22k620ZLXQctdR30dY7fPFF9Kh6XF4/Li3Ps00cZKJgtJkxmI4YBkTEYJG02Mhg9UrUv9uD/qqri8wZ8sdXBL7dWyRkVfD7/Fz5ikV1JYtnV4TElQxGFncCHgT8P03X6ILBIluVstI7Ta4BnJzOgwC90S20Hb/x6B9ffcfmwKqj6VN5/+Yi+X7aiJKh1+0jMTCuhOnmvLgqtERCFSMwUjree0MuuzUwrGbF2wlTBbDUxozyXGQG5EY4+J51NPXSc76anow97l4O+rn6cdpf2hHR48Hl8eL0+fF7fBTONSaFqQjVaW754JTk9fBmzoYjCS8Dmga7TEvAFWZbvBk4rivKKLMvfBd4aOPfPiqJMqt5ZYqqNy25dxo4XDgLawqa3frOTzV9Yhy3Jbz+rPpX3/nyAljrNJ2A0G7j0hkXD3nMoM9NL6E3eou+3NYQ/szF4hWR4ROFos3+9xnTt/mRLspJfag2aUYyG9mRW8Xp8eNxevG6vNtV2atNtV78HV78Lh92F0+7C0av977Rrx1wO94AQuEddYRpWJO3hpz3/JAxGCYPRMDArMeizE6NJ85sEmUS2AZPIpplE1kQLWYXp5M0KX9GgcHSd/iPwx7CNCFiwrhSfx8eulz4AoLGqlRef+DsbP7mS4nn5uiAoe87q1yy5UiY5IzGk+xemzKAv2V/VpqU+vPXvVFW9IHkpHBxp8uvt4rzQBHC6I0kS0sCXarI1MH0+FY9LW//h9Xjxegam/D4V38C8X5JAQtK+2ANOToNB0p2eurkhDThAJYKPTQHHaNwmLy3aUIbP59PNA3uXgzd+tYO0nGRcDk+QzT730lmsuGbBSLe6AIvRTFpeEioqEhLdLX16ufRw4HZ49My/cBRsBWjua6ZpoGmp1WhhbmbZGFcIxovBIOlP4YuZuA4IL940l2u/tI6EZP+6ga6W3iGCMJONn1gx7tV8xZlF2BP9s4VwLo7q7w1wMiaHaZYQYDrMz56H2Xhx/+EKIkdciwLAzEUz+Ng9m5l1SXCYUTJILFpfxoZPrJzQ8t6StGJ6k7v1/fGEwMYi2HQIz0Koo03T358giA/i1nwIJCHFxjVfXEdvh12f5g8mskyUmWnF7EjaTx5ao5hwZjY6+vyiEI7VkR6fR29YCsKfIIgsU0IUBgnVkRgKU2mmUNVRrfcDyErIpCA5vOFTgSCQuDcfIkW6LQ0p0x/jbmvsCtuy4P7eAFFInrwoHA2IOlySuyjuvdeCqc1FKwoAhTkFOCzaE9jn8dHd1jfGFaERKAq2MIjCsZbj+nZgF22BIBJc1KIwM62Y/gS/EHS39Y5ydugERx8mJwr97n6qOvwVohZkz5/U/QSCsbjoRcGR4M+172mzh+W+jjCaD0rbKb378My0ElKs41uMJBCMl4taFErSinHY/ELQE7aZQoD5MMlsxuMt/uaxC7IjVztBIBjkohaFguR8XAn+L3BHa/coZ4eOoyd8M4WKVn8oMpIFVQSCQS5qUTAZTKRm+ZukdLRMPqtR9alhy1Poc/VR01kLaPn287LnTnp8AsFYXNSiAJCT619qbe+Y1Gp8QKt+PLhm3pJgxmia+I+4slXR1uQDpRmzSDSHL09DIBiJi14UZuTk4zVo6+d9LlXv1TBRwpmjEJjFuCBHRB0E0eGiF4Wi1CIcNn8EYrK5CuEMRx5vFU5GQfQRopA6g/6gCMQkRaEnPJGHLmc39d0NABglI3Ozyic1LoEgVC56UchNysGV4H+6tzZPrrpKiW7EAAANyklEQVRzoJMxYRJOxsqAUGRZZik2U3i7VgsEI3HRi4JBMmBN96+2bG5qndT9wrUYqrJV0beF6SCIJhe9KACkZvmzBDsnmasQrnUPJ9r8VZvnZcuTGpNAMB6EKAB5ef6il/2dsY8+9Dh7g/wJZZlzJjUmgWA8CFEAimb4qzr5erUCnhPFEdTvYWKioLSd0rdnp88S/gRBVBGiAJRkFeEya094ySdhn2C/RID+Pv9MY6LZjCfa/P4EOVtEHQTRZdJdpwPO+RvwsqIoz0RioJEkLykXp60fi1v7Ejc3tU+4ypOjd/KdoQJnCvOyRGqzILqEMlPQu04D96J1nR7Ko8CUbVdkNBiRAhrj1Z9rmNB9vB4fTrsb0PoDWBPH3/y1393P2c4a7R5IyCI/QRBlQhGFoK7TQGDXaWRZ/hjgGzxnqpKQ7v8CNze1TegeQxdCGSZQZfpUe5VeP6E4rYgkS9IYVwgE4SUUURi26zSALMuLgE8D34/A2KJKWrZ/qtA1wboKjjCEI4NCkcJ0EMSAUERhtK7TnwUKga3A54G7ZVm+LqwjjBJ5ef7ehc4JhiXDEY5UWgPzE4QoCKLPpLpOK4pyz+C2LMsPAecVRZmSZkRJYRFVNAGg9k4sKBNccWn8ouDyuqnqOKPvy2KmIIgBofz1vwQ4BrpO/xT4pizLd8uyfFNkhxZdSgoK9doFJqeZXsf4F0YFtrObSLu4Mx3VuH3aJCw/KY90W9q47yEQTJZJd50OOO+hMI0pJlgtFrxWDyanGQmJmsY6Fs4e35qDyRZsDQpFCtNBECNE8lIAhgBHf+35c+O+frLrHpQAJ6NYKi2IFUIUArCmBoQlm8e/WrJ/EgVbfaqPU+3+nDCRnyCIFUIUAkjN8E8VOtvHv1oy0KeQmDo+n0J9dwN2t5ZenW5NIy8pd9zvLxCEAyEKAWRnBxRx7XSMcubw2HsmnuJ8YojpIPpFCmKFEIUA8vP8T2e1D5ye0Ks7q6oaPFMYZ0jyZICTUSyCEsQSIQoBpGX6i61YnDYae8+HfK3T7sbn1UKaZqsJkyWUFBANVVU50RogCiI/QRBDhCgEkJzuXxlpcybQ0BN6BCKwivN4/Qmt9jY6HFptSJvJSklq0biuFwjCiRCFABJTbTBgylvcVuo7Ql8t2d89cX9CYH5CeWYZRoNxXNcLBOFEiEIABqMBU5L/R9LY3BzytfZJVFwKzE8QoUhBrBGiMISk9AR9u62tM+Tr7N2BTsaJzxSEP0EQa4QoDCE9M1Xf7uvsx+11h3RdUOLSOHwKPc4e3XdhlIzMyZgd8rUCQSQQojCE1MAIhMPK+b6mkK4LDkeGLgqBs4TSjFlYRZFWQYwRojCEwAiE1ZlAQ3doEYiJ+hROtIqiKoL4QojCEAJ9ClanLeSwZKD5MJ6ZQmDlZtH0RRAPCFEYQvIQUajrDi0saZ9ASNLu7udsZy2gFWmdm1U2jpEKBJFBiMIQkgLNB5eNuq76Ma/x+dQhpd1DMx9OtZ/WC7vMTCsm0TyxsvICQTgRojCEhBQb0kAVZovbSkt3K44x1kA4+pyoA02lrIkWjKbQko9OiHqMgjhEiMIQDAaJpDS/CWFxWWkYw4SYaOThREBn6XlZwp8giA+EKAxDkF/BkUBt9+gmRHCKc2img8vroqqjWt8XKyMF8YIQhWEI8is4bdR21Y16vn0CiUun28/gVb0AzEgpINWaOsYVAkF0EKIwDEPDkmOJwkTMh+CmL8J0EMQPk24wK8vyN4FPDuy+rijKw5EYaDQZmsBU230GVVVHrIY0kcSlIH+CMB0EccSkGszKslwK3A6sA9YA18iyvDgSA40myZnBdRXsbjtt/e0jnt8/zsVQLq87qNLS/OzxlZIXCCLJZBvM1gHXKYriVRRFBczA+IsbxhmpWf4CrrZ+TSBGMyGCZgoh+BROtZ/Wm74UJOeTmTBlG3YLpiGTajCrKIpbUZRWWZYlWZafBA4pinJy2LtMIVIyA0TBmQAq1I0SgRhvinNFS6W+vTBn/gRHKRBEhsk2mEWWZRvwPwPn3Bne4cUGs9Wk920wqAasThs1oc4UQhCF40IUBHFMKKKwE/gQwNAGs7IsS8DLwGFFUe5QFMUbkVHGgJRAE8KROGK6s8/rw9mndamWpLE7Q9nd/Xp+goQk/AmCuCOUksMvAZsHGsxKwBdkWb4bOA0YgY2AVZbl6wfO/66iKLsjMtookpKVRHON5ly0ORJp7G3A5XVhMVqCzgs0HWzJVgyG0fs1KG0n8ak+QFvvkGJNHvV8gSDahKPB7PjbK08BAp2NCY4EVFTquxsoHVIZabymQ6A/YYEwHQRxiEheGoEgZ6NDi0Cc7ay54LzxhiOFk1EQ7whRGIHUrAtF4VR71QXnjWem0OPs0UObRskoKjcL4hIhCiMQ7GjU0p4Du0IP0t3Wq28nZyRc8Hogx1v9VldpxmwSzKOfLxDEAiEKI5CUlqDXVbC6bBi8Bhp7m+hx9gSd19XiF4W0nBRG4/B5PXDDImE6COIUIQojYDAaSM4ISHcewYQIFoWRIwk+1cehpiP6/tL8KZ8NLpimCFEYheH8CicDTAjVp4Y8U6juOEu3s1u7ryXlgiiGQBAvCFEYheAIhGb/n2zzi0Jfdz9et5avZU20YEsKzmEI5ND5w/r20vzFGCTxoxfEJ+IvcxSCcxW0mcKZjmo8A4uZQjUdIFgUluUvCecwBYKwIkRhFAIjEGnudADcPjc1A2XZQzUd2vs7ONulXWOUjFySuzASwxUIwoIQhVEIFIVkl/9LP+hX6GrxRyJGmykEzhLm58wToUhBXCNEYRRSA3wKhj4TAy0a9HyFrubQzIdg00FEHQTxjRCFUbAmWTBbteUhqhvMbs2ReLLtNKqq0tU6tii4vK6g1OZlecKfIIhvhCiMgiRJQSZEqjsNgA5HJw1djXS3ju1T2H/uIC6vtrR6RkoBecm5ERyxQDB5hCiMQWAEotzkX6uwW9mH6tPsicQ0mz6jGMq2mu369mXFayI0SoEgfAhRGIOsGen6dr69UN+uqPKvY0jLHt50aOlr1U0HCYn1JZdFaJQCQfgQojAGM8pz9G13g6oXWbG3+4urjGQ6vFu7Q99enLeIrITMCI1SIAgfQhTGIHdmFkaz1jC2t93O8uSlACT0+9dFDOdk9Kk+3qvxi8LGmesjPFKBIDwIURgDo8lAQWm2vl/m0ro5JdgDEpuGmSkcaz6u94pIsSSzomBphEcqEIQHIQohMKPcHzEwtyRgM1lJ7A8QhdwLZwrbat7Tty8rXovJEEo5TIEg9ghRCIHCAL/C+apWlucsw+ocyEqUgiMUAErbKfY07Nf3N80SpoNg6iBEIQSyijKw2MwA2Lsc5B0rQUIrwOKw2Wlztunnur1ufnPwOX1/ef5SilOLojpegWAyCFEIAYNBoqDMP1tor/AnLZ3Lr+U/9j6D2+sG4JWTf+NcbyMANpOVzy/5p+gOViCYJOHoOv1l4A7AAzyqKMprERprTCksz6Hm2LmgY12pHdQVnYFO+K8Pfk9Bch4vK3/TX//Ego+RlSjCkIKpxWS7TucD3wAuA64FfiTLcmi92KcYgc5G0FrLzbu5mAErgu21O/nz8b/iVbWiK+WZc7i69IpoD1MgmDST7Tp9KbBTURSnoihdaF2jpuUywIz8VBIDOkpfdusyblx2LcvzLww1plpT+edlnxfVlQRTklDiZMN2nR5oMjv0tR4gLYzjixskSWLDJ1dw8K1KZl1SSPnKEiRJ4qsrvsSvD/6OFnsrs9NnMTdrDsvzl5JiHb2ys0AQr4QiCqN1nR76WgrQGaaxxR0l8wsomV8QdCzJksQ313w9RiMSCMLPpLpOA3uB9bIs22RZTgPmA8fCPkqBQBA1JtV1WlGUV2RZfhrYjiYw9yuK4hjlXgKBIM6ZdNdpRVGeBZ4N87gEAkGMEO5xgUAQhBAFgUAQRNSX7lVUVLTKslwT7fcVCATMDOUkSVXVSA9EIBBMIYT5IBAIghCiIBAIghCiIBAIghCiIBAIghCiIBAIghCiIBAIgoi7EsNjVXqaasiybAZ+C8wCrMCjwHHgObQ+1seArw2kk085ZFnOBQ4Am9Gqbz3HNPhcALIsfxe4CbCg/U2+yzT6fCMRjzOFESs9TVH+CWhTFGU9cB3wc+AnwPcGjknAzTEc34QZELxfAf0Dh6bF5wKQZXkTsA6tqthGoJhp9PlGIx5FYbRKT1ORF4AHBrYltKfpCrSnDsAbwNUxGFc4eBJ4BhgsXjldPhdo5QWPoq0SfhV4jen1+UYkHkVh2EpPsRrMZFEUpVdRlB5ZllOAF4HvAZKiKIOppFOyWpUsy58HWhRFeSvg8JT/XAFkoz2QPo62Svh/0AoMTZfPNyLxKAqjVXqaksiyXAy8AzyvKMofgEA7dKpWq/oiWp2NbcBS4PdAYHXbqfq5BmkD3lIUxaUoigI4CBaBqf75RiQeRWG0Sk9TDlmW84C/A99RFOW3A4cPDdisANejFamZUiiKskFRlI2KomwCPgA+C7wx1T9XADuA62RZlmRZngEkAf+YRp9vROJxWn5BpacYj2ey3AdkAA/IsjzoW7gLeFqWZQtQiWZWTAf+FXh2OnwuRVFek2V5A1rJQQPwNaCaafL5RkOskhQIBEHEo/kgEAhiiBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQhBAFgUAQxP8HTRXyhzw5JdoAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 288x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=figsize_gen)\n",
"\n",
"\n",
"lw = 3\n",
"\n",
"row = results.query('bs==1').sort_values('half_width', ascending=False).iloc[50]\n",
"template = data_loader.template(\n",
" row.action, row.channel_group, row.unit_name)\n",
"\n",
"mean_wf = template.data\n",
"peak_wf = mean_wf[np.argmin(mean_wf.min(1))]\n",
"plt.plot(normalize(peak_wf.T), color=color_bs, lw=lw)\n",
"\n",
"\n",
"row = results.query('bs==0').sort_values('half_width').iloc[10]\n",
"template = data_loader.template(\n",
" row.action, row.channel_group, row.unit_name)\n",
"\n",
"mean_wf = template.data\n",
"peak_wf = mean_wf[np.argmin(mean_wf.min(1))]\n",
"plt.plot(normalize(peak_wf.T), color=color_ns, lw=lw)\n",
"\n",
"# plt.savefig(output_path / \"figures\" / \"example_waveforms.svg\", bbox_inches=\"tight\")\n",
"# plt.savefig(output_path / \"figures\" / \"example_waveforms.png\", dpi=600, bbox_inches=\"tight\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Store results in Expipe action"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [],
"source": [
"action = project.require_action(\"waveform-analysis\")"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [],
"source": [
"stuff = {\n",
" \"figures\": \"figures\",\n",
" \"statistics\": \"statistics\"\n",
"}\n",
"\n",
"for key, value in stuff.items():\n",
" action.data[key] = value\n",
" data_path = action.data_path(key)\n",
" data_path.parent.mkdir(exist_ok=True, parents=True)\n",
" source = output_path / value\n",
" if source.is_file():\n",
" shutil.copy(source, data_path)\n",
" else:\n",
" copy_tree(str(source), str(data_path))"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [],
"source": [
"septum_mec.analysis.registration.store_notebook(action, \"10_waveform_analysis.ipynb\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}