In [1]:
%load_ext autoreload
%autoreload 2
In [2]:
import os
import expipe
import pathlib
import numpy as np
import spatial_maps.stats as stats
import septum_mec
import septum_mec.analysis.data_processing as dp
import septum_mec.analysis.registration
import head_direction.head as head
import spatial_maps as sp
import speed_cells.speed as spd
import re
import joblib
import multiprocessing
import shutil
import psutil
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
from distutils.dir_util import copy_tree
from neo import SpikeTrain
import scipy

from tqdm import tqdm_notebook as tqdm
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas()

from spike_statistics.core import permutation_resampling

from spikewaveform.core import calculate_waveform_features_from_template, cluster_waveform_features

from septum_mec.analysis.plotting import violinplot
19:14:03 [I] klustakwik KlustaKwik2 version 0.2.6
In [3]:
%matplotlib inline
plt.rc('axes', titlesize=12)
plt.rcParams.update({
    'font.size': 12, 
    'figure.figsize': (6, 4), 
    'figure.dpi': 150
})

output_path = pathlib.Path("output") / "stimulus-spike-lfp-response"
(output_path / "statistics").mkdir(exist_ok=True, parents=True)
(output_path / "figures").mkdir(exist_ok=True, parents=True)
output_path.mkdir(exist_ok=True)
In [4]:
data_loader = dp.Data()
actions = data_loader.actions
project = data_loader.project
In [5]:
identification_action = actions['identify-neurons']
sessions = pd.read_csv(identification_action.data_path('sessions'))
units = pd.read_csv(identification_action.data_path('units'))
session_units = pd.merge(sessions, units, on='action')
In [6]:
lfp_action = actions['stimulus-spike-lfp-response']
lfp_results = pd.read_csv(lfp_action.data_path('results'))
In [7]:
# lfp_results has old unit id's but correct on (action, unit_name, channel_group)
lfp_results = lfp_results.drop('unit_id', axis=1)
In [8]:
statistics_action = actions['calculate-statistics']
shuffling = actions['shuffling']

statistics_results = pd.read_csv(statistics_action.data_path('results'))
statistics_results = session_units.merge(statistics_results, how='left')
quantiles_95 = pd.read_csv(shuffling.data_path('quantiles_95'))
action_columns = ['action', 'channel_group', 'unit_name']
data = pd.merge(statistics_results, quantiles_95, on=action_columns, suffixes=("", "_threshold"))
In [9]:
data['unit_day'] = data.apply(lambda x: str(x.unit_idnum) + '_' + x.action.split('-')[1], axis=1)
In [10]:
data = data.merge(lfp_results, how='left')
In [11]:
waveform_action = actions['waveform-analysis']
waveform_results = pd.read_csv(waveform_action.data_path('results')).drop('template', axis=1)
In [12]:
data = data.merge(waveform_results, how='left')
In [13]:
colors = ['#1b9e77','#d95f02','#7570b3','#e7298a']
labels = ['Baseline I', '11 Hz', 'Baseline II', '30 Hz']
queries = ['baseline and Hz11', 'frequency==11', 'baseline and Hz30', 'frequency==30']
In [14]:
data.bs = data.bs.astype(bool)
In [15]:
grid_query = 'gridness > gridness_threshold and information_rate > information_rate_threshold'
sessions_above_threshold = data.query(grid_query)
print("Number of gridcells", len(sessions_above_threshold))
# print("Number of animals", len(sessions_above_threshold.groupby(['entity'])))
Number of gridcells 225
In [16]:
gridcell_sessions = data[data.unit_day.isin(sessions_above_threshold.unit_day.values)]
In [17]:
gridcell_sessions
Out[17]:
action baseline entity frequency i ii session stim_location stimulated tag ... stim_half_f1 stim_half_f2 stim_half_width stim_energy half_width peak_to_trough average_firing_rate bs bs_stim bs_ctrl
17 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.173035 30.443743 0.270708 0.129917 0.283497 0.606614 9.779867 True 1.0 NaN
19 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.128480 30.460705 0.332225 0.258594 0.261815 0.633750 7.437802 True 1.0 NaN
21 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.188571 30.437126 0.248556 0.080818 0.242524 0.534827 2.265039 True 1.0 NaN
29 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.155404 30.445467 0.290063 0.160690 0.279806 0.598967 10.924422 True 1.0 NaN
30 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.195374 30.437554 0.242181 0.091302 0.265158 0.581451 3.984881 True 1.0 NaN
31 1839-120619-4 False 1839 30.0 False True 4 ms True stim ii ... 30.195640 30.437892 0.242252 0.098635 0.246920 0.570844 3.497452 True 1.0 NaN
33 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.272875 0.602667 5.945508 True NaN 1.0
34 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.226452 0.274814 2.860048 False NaN 0.0
35 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.247266 0.570104 3.365674 True NaN 1.0
39 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.284542 0.644111 17.471520 True NaN 1.0
40 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.259920 0.581698 5.891739 True NaN 1.0
42 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.263630 0.596746 13.436847 True NaN 1.0
44 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.281399 0.607354 17.446704 True NaN 1.0
46 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.285816 0.603160 7.914246 True NaN 1.0
47 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.279177 0.585152 10.840470 True NaN 1.0
49 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.282336 0.711705 5.890705 True NaN 1.0
54 1839-060619-3 False 1839 11.0 True False 3 ms True stim i ... 10.995334 11.259054 0.263719 0.143591 0.270286 0.573804 14.025342 True 1.0 NaN
57 1834-150319-3 True 1834 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.277867 0.588852 17.162446 True NaN 1.0
76 1834-120319-4 False 1834 30.0 False True 4 ms True stim ii ... 30.136513 30.450445 0.313932 0.178995 0.285028 0.578245 34.841257 True 1.0 NaN
87 1849-280219-4 False 1849 30.0 False True 4 ms True stim ii ... 30.178205 30.439063 0.260858 0.102743 0.272793 0.570844 10.825754 True 1.0 NaN
106 1849-110319-2 False 1849 11.0 True False 2 ms True stim i ... 10.998382 11.225055 0.226673 0.070224 0.230947 0.561223 2.339767 True 1.0 NaN
124 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.271262 0.615002 2.868000 True NaN 1.0
125 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.307694 0.659653 6.912052 True NaN 1.0
126 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.267708 0.630543 4.229867 True NaN 1.0
128 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.289100 0.673221 16.735961 True NaN 1.0
129 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.290402 0.650772 25.974728 True NaN 1.0
131 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.272160 0.620429 14.686236 True NaN 1.0
132 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.241405 0.595513 18.657578 True NaN 1.0
134 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.269911 0.609574 3.106903 True NaN 1.0
135 1833-010719-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN NaN 0.273069 0.651265 6.213807 True NaN 1.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1154 1839-120619-3 True 1839 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.273572 0.611548 5.407135 True NaN 1.0
1155 1834-110319-5 False 1834 11.0 True False 5 mecl True stim i ... 10.981120 11.242957 0.261837 0.170881 0.276394 0.585645 27.008837 True 1.0 NaN
1156 1834-110319-5 False 1834 11.0 True False 5 mecl True stim i ... 11.010395 11.204906 0.194511 0.065052 0.249700 0.569364 18.304313 True 1.0 NaN
1174 1839-200619-2 False 1839 11.0 True False 2 ms True stim i ... 11.023967 11.199671 0.175703 0.041580 0.249357 0.517805 8.992236 True 1.0 NaN
1184 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.275930 0.594526 5.288548 True NaN 1.0
1185 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.225575 0.277528 2.693978 False NaN 0.0
1186 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.244049 0.571337 3.425185 True NaN 1.0
1189 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.222604 0.576271 6.484767 True NaN 1.0
1191 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.189559 0.248665 3.564358 False NaN 0.0
1193 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.257469 0.636957 26.839270 True NaN 1.0
1194 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.252255 0.587372 4.589373 True NaN 1.0
1197 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.261129 0.592306 7.407060 True NaN 1.0
1199 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.277189 0.615988 9.221822 True NaN 1.0
1202 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.287132 0.616235 7.835622 True NaN 1.0
1204 1833-260619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.300175 0.610068 9.358786 True NaN 1.0
1208 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.293775 0.657679 7.071948 True NaN 1.0
1214 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.252895 0.600200 15.695836 True NaN 1.0
1215 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.271023 0.699617 11.768979 True NaN 1.0
1217 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.343906 0.698383 4.442023 True NaN 1.0
1218 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.304748 0.641151 3.102590 True NaN 1.0
1219 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.277708 0.585645 6.900656 True NaN 1.0
1220 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.294291 0.639177 22.458685 True NaN 1.0
1221 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.258204 0.608094 3.767155 True NaN 1.0
1223 1833-200619-3 True 1833 NaN False True 3 NaN False baseline ii ... NaN NaN NaN NaN 0.276894 0.623636 12.778706 True NaN 1.0
1255 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 11.016969 11.215476 0.198507 0.058616 0.277537 0.570597 5.734302 True 1.0 NaN
1257 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 11.023725 11.224735 0.201010 0.038708 0.248774 0.604394 2.814742 True 1.0 NaN
1263 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 10.994052 11.225703 0.231651 0.045162 0.280033 0.560729 4.760330 True 1.0 NaN
1264 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 11.000518 11.216176 0.215657 0.037637 0.281934 0.627089 15.890929 True 1.0 NaN
1268 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 11.034662 11.197408 0.162746 0.021146 0.266512 0.594033 2.704037 True 1.0 NaN
1275 1833-010719-2 False 1833 11.0 True False 2 ms True stim i ... 11.016058 11.203307 0.187249 0.050767 0.257098 0.545188 5.292658 True 1.0 NaN

271 rows × 67 columns

In [18]:
data.loc[:,'gridcell'] = False
data['gridcell'] = data.isin(gridcell_sessions)
In [19]:
data.query('baseline and Hz11 and gridcell').head()
Out[19]:
action baseline entity frequency i ii session stim_location stimulated tag ... stim_half_f2 stim_half_width stim_energy half_width peak_to_trough average_firing_rate bs bs_stim bs_ctrl gridcell
33 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN 0.272875 0.602667 5.945508 True NaN 1.0 True
34 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN 0.226452 0.274814 2.860048 False NaN 0.0 True
35 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN 0.247266 0.570104 3.365674 True NaN 1.0 True
39 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN 0.284542 0.644111 17.471520 True NaN 1.0 True
40 1833-260619-1 True 1833 NaN True False 1 NaN False baseline i ... NaN NaN NaN 0.259920 0.581698 5.891739 True NaN 1.0 True

5 rows × 68 columns

In [21]:
density = True
cumulative = True
histtype = 'step'
lw = 2
bins = {
    'theta_energy': None,#np.arange(0, .7, .03),
    'theta_peak': np.arange(0, .7, .03),
    'theta_freq': np.arange(4, 10, .5),
    'theta_half_width': np.arange(0, 15, .5)
}
xlabel = {
    'theta_energy': 'Theta coherence energy',
    'theta_peak': 'Theta peak coherence',
    'theta_freq': '(Hz)',
    'theta_half_width': '(Hz)',
}

for cell_type in ['gridcell', 'not bs']:
    for key in bins:
        fig = plt.figure(figsize=(3.5,2.2))
        plt.suptitle(key + ' ' + cell_type)
        legend_lines = []
        for color, query, label in zip(colors, queries, labels):
            data.query(query + ' and ' + cell_type)[key].hist(
                bins=bins[key], density=density, cumulative=cumulative, lw=lw, 
                histtype=histtype, color=color)
            legend_lines.append(matplotlib.lines.Line2D([0], [0], color=color, lw=lw, label=label))
        plt.xlabel(xlabel[key])
        plt.legend(
            handles=legend_lines,
            bbox_to_anchor=(1.04,1), borderaxespad=0, frameon=False)
        plt.tight_layout()
        plt.grid(False)
#         plt.xlim(-0.05, bins[key].max() - bins[key].max()*0.02)
        sns.despine()
        figname = f'spike-lfp-coherence-histogram-{key}-{cell_type}'.replace(' ', '-')
        fig.savefig(
            output_path / 'figures' / f'{figname}.png', 
            bbox_inches='tight', transparent=True)
        fig.savefig(
            output_path / 'figures' / f'{figname}.svg', 
            bbox_inches='tight', transparent=True)
In [22]:
data['stim_strength'] = data.stim_p_max / data.theta_energy
In [23]:
density = True
cumulative = True
histtype = 'step'
lw = 2
bins = {
    'stim_energy': np.arange(0, .4, .01),
    'stim_half_width': np.arange(0, 10, .5),
    'stim_p_max': np.arange(0, 1, .01),
    'stim_strength': np.arange(0, 50, 1)
}
xlabel = {
    'stim_energy': 'Coherence energy',
    'stim_half_width': '(Hz)',
    'stim_p_max': 'Peak coherence',
    'stim_strength': 'Ratio',
}
# key = 'theta_energy'
# key = 'theta_peak'
for cell_type in ['gridcell', 'not bs']:
    for key in bins:
        fig = plt.figure(figsize=(3.2,2.2))
        plt.suptitle(key + ' ' + cell_type)
        legend_lines = []
        for color, query, label in zip(colors[1::2], queries[1::2], labels[1::2]):
            data.query(query + ' and ' + cell_type)[key].hist(
                bins=bins[key], density=density, cumulative=cumulative, lw=lw, 
                histtype=histtype, color=color)
            legend_lines.append(matplotlib.lines.Line2D([0], [0], color=color, lw=lw, label=label))
        plt.xlabel(xlabel[key])
        plt.legend(
            handles=legend_lines,
            bbox_to_anchor=(1.04,1), borderaxespad=0, frameon=False)
        plt.tight_layout()
        plt.grid(False)
        plt.xlim(-0.05, bins[key].max() - bins[key].max()*0.02)
        sns.despine()
        figname = f'spike-lfp-coherence-histogram-{key}-{cell_type}'.replace(' ', '-')
        fig.savefig(
            output_path / 'figures' / f'{figname}.png', 
            bbox_inches='tight', transparent=True)
        fig.savefig(
            output_path / 'figures' / f'{figname}.svg', 
            bbox_inches='tight', transparent=True)
In [24]:
from septum_mec.analysis.plotting import plot_bootstrap_timeseries
In [25]:
coher = pd.read_feather(output_path / 'data' / 'coherence.feather')
freqs = pd.read_feather(output_path / 'data' / 'freqs.feather')
In [26]:
freq = freqs.T.iloc[0].values

mask = (freq < 100)
In [27]:
for cell_type in ['gridcell', 'not bs']:
    fig, axs = plt.subplots(1, 2, sharex=True, sharey=True, figsize=(5,2))
    axs = axs.repeat(2)
    for i, (ax, query) in enumerate(zip(axs.ravel(), queries)):
        selection = [
            f'{r.action}_{r.channel_group}_{r.unit_name}' 
            for i, r in data.query(query + ' and ' + cell_type).iterrows()]
        values = coher.loc[mask, selection].dropna(axis=1).to_numpy()
        values = 10 * np.log10(values)
        plot_bootstrap_timeseries(freq[mask], values, ax=ax, lw=1, label=labels[i], color=colors[i])
    #     ax.set_title(titles[i])
        ax.set_xlabel('Frequency Hz')
        ax.legend(frameon=False)
    axs[0].set_ylabel('Coherence')
    sns.despine()
    figname = f'spike-lfp-coherence-{cell_type}'.replace(' ', '-')
    fig.savefig(
        output_path / 'figures' / f'{figname}.png', 
        bbox_inches='tight', transparent=True)
    fig.savefig(
        output_path / 'figures' / f'{figname}.svg', 
        bbox_inches='tight', transparent=True)

Store results in Expipe action

In [28]:
action = project.require_action("stimulus-spike-lfp-response")
In [29]:
copy_tree(output_path, str(action.data_path()))
Out[29]:
['/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/data/freqs.feather',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/data/coherence.feather',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_strength-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_energy-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_peak-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_energy-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_energy-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_peak-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_strength-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_p_max-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_peak-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_half_width-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_half_width-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_half_width-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_energy-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_freq-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_strength-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_freq-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_peak-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_half_width-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_p_max-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_freq-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_half_width-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_freq-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_strength-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_energy-not-bs.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_p_max-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_energy-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_half_width-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_energy-not-bs.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_p_max-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_half_width-gridcell.svg',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-theta_half_width-gridcell.png',
 '/media/storage/expipe/septum-mec/actions/stimulus-spike-lfp-response/data/figures/spike-lfp-coherence-histogram-stim_energy-not-bs.svg']
In [30]:
septum_mec.analysis.registration.store_notebook(action, "20_stimulus-spike-lfp-response.ipynb")
In [ ]: