diff --git a/actions/comparisons-gridcells/attributes.yaml b/actions/comparisons-gridcells/attributes.yaml deleted file mode 100644 index 684d3298c..000000000 --- a/actions/comparisons-gridcells/attributes.yaml +++ /dev/null @@ -1,4 +0,0 @@ -registered: '2019-10-10T11:59:47' -data: - notebook: 20_comparisons_gridcells.ipynb - html: 20_comparisons_gridcells.html diff --git a/actions/comparisons-gridcells/data/20_comparisons_gridcells.html b/actions/comparisons-gridcells/data/20_comparisons_gridcells.html deleted file mode 100644 index ade8ee0f1..000000000 --- a/actions/comparisons-gridcells/data/20_comparisons_gridcells.html +++ /dev/null @@ -1,15807 +0,0 @@ - - -
- -%load_ext autoreload
-%autoreload 2
-
import os
-import pathlib
-import numpy as np
-import matplotlib.pyplot as plt
-import re
-import shutil
-import pandas as pd
-import scipy.stats
-
-import exdir
-import expipe
-from distutils.dir_util import copy_tree
-import septum_mec
-import spatial_maps as sp
-import head_direction.head as head
-import septum_mec.analysis.data_processing as dp
-import septum_mec.analysis.registration
-from septum_mec.analysis.plotting import violinplot
-
-from spike_statistics.core import permutation_resampling
-
project_path = dp.project_path()
-project = expipe.get_project(project_path)
-actions = project.actions
-
-output_path = pathlib.Path("output") / "comparisons-gridcells"
-(output_path / "statistics").mkdir(exist_ok=True, parents=True)
-(output_path / "figures").mkdir(exist_ok=True, parents=True)
-
statistics_action = actions['calculate-statistics']
-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')
-statistics_results = pd.read_csv(statistics_action.data_path('results'))
-statistics = pd.merge(session_units, statistics_results, how='left')
-statistics.head()
-
shuffling = actions['shuffling']
-quantiles_95 = pd.read_csv(shuffling.data_path('quantiles_95'))
-quantiles_95.head()
-
action_columns = ['action', 'channel_group', 'unit_name']
-data = pd.merge(statistics, quantiles_95, on=action_columns, suffixes=("", "_threshold"))
-
-data['specificity'] = np.log10(data['in_field_mean_rate'] / data['out_field_mean_rate'])
-
-data.head()
-
data.groupby('stimulated').count()['action']
-
data['unit_day'] = data.apply(lambda x: str(x.unit_idnum) + '_' + x.action.split('-')[1], axis=1)
-
query = (
- 'gridness > gridness_threshold and '
- 'information_rate > information_rate_threshold and '
- 'gridness > .2 and '
- 'average_rate < 25'
-)
-sessions_above_threshold = data.query(query)
-print("Number of sessions above threshold", len(sessions_above_threshold))
-print("Number of animals", len(sessions_above_threshold.groupby(['entity'])))
-
gridcell_sessions = data[data.unit_day.isin(sessions_above_threshold.unit_day.values)]
-
print("Number of gridcells", gridcell_sessions.unit_idnum.nunique())
-print("Number of gridcell recordings", len(gridcell_sessions))
-print("Number of animals", len(gridcell_sessions.groupby(['entity'])))
-
baseline_i = gridcell_sessions.query('baseline and Hz11')
-stimulated_11 = gridcell_sessions.query('frequency==11 and stim_location=="ms"')
-
-baseline_ii = gridcell_sessions.query('baseline and Hz30')
-stimulated_30 = gridcell_sessions.query('frequency==30 and stim_location=="ms"')
-
-print("Number of gridcells in baseline i sessions", len(baseline_i))
-print("Number of gridcells in stimulated 11Hz ms sessions", len(stimulated_11))
-
-print("Number of gridcells in baseline ii sessions", len(baseline_ii))
-print("Number of gridcells in stimulated 30Hz ms sessions", len(stimulated_30))
-
baseline_i = baseline_i.drop_duplicates('unit_id')
-stimulated_11 = stimulated_11.drop_duplicates('unit_id')
-baseline_ii = baseline_ii.drop_duplicates('unit_id')
-stimulated_30 = stimulated_30.drop_duplicates('unit_id')
-
print("Number of gridcells in baseline i sessions", len(baseline_i))
-print("Number of gridcells in stimulated 11Hz ms sessions", len(stimulated_11))
-
-print("Number of gridcells in baseline ii sessions", len(baseline_ii))
-print("Number of gridcells in stimulated 30Hz ms sessions", len(stimulated_30))
-
columns = [
- 'average_rate', 'gridness', 'sparsity', 'selectivity', 'information_specificity',
- 'max_rate', 'information_rate', 'interspike_interval_cv',
- 'in_field_mean_rate', 'out_field_mean_rate',
- 'burst_event_ratio', 'specificity', 'speed_score'
-]
-
gridcell_sessions.groupby('stimulated')[columns].mean()
-
gridcell_sessions.query('baseline')[columns].describe()
-
gridcell_sessions.query("stimulated")[columns].describe()
-
def summarize(data):
- return "{:.2f} ± {:.2f} ({})".format(data.mean(), data.sem(), sum(~np.isnan(data)))
-
-
-def MWU(column, stim, base):
- '''
- Mann Whitney U
- '''
- Uvalue, pvalue = scipy.stats.mannwhitneyu(
- stim[column].dropna(),
- base[column].dropna(),
- alternative='two-sided')
-
- return "{:.2f}, {:.3f}".format(Uvalue, pvalue)
-
-
-def PRS(column, stim, base):
- '''
- Permutation ReSampling
- '''
- pvalue, observed_diff, diffs = permutation_resampling(
- stim[column].dropna(),
- base[column].dropna(), statistic=np.median)
-
- return "{:.2f}, {:.3f}".format(observed_diff, pvalue)
-
-
-def rename(name):
- return name.replace("_field", "-field").replace("_", " ").capitalize()
-
_stim_data = gridcell_sessions.query('stimulated')
-_base_data = gridcell_sessions.query('baseline and i')
-
-result = pd.DataFrame()
-
-result['Baseline I'] = _base_data[columns].agg(summarize)
-result['Stimulated'] = _stim_data[columns].agg(summarize)
-
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-result.to_latex(output_path / "statistics" / "statistics.tex")
-result.to_csv(output_path / "statistics" / "statistics.csv")
-result
-
_stim_data = stimulated_11
-_base_data = baseline_i
-
-result = pd.DataFrame()
-
-result['Baseline I'] = _base_data[columns].agg(summarize)
-result['11 Hz'] = _stim_data[columns].agg(summarize)
-
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-
-result.to_latex(output_path / "statistics" / "statistics_11.tex")
-result.to_csv(output_path / "statistics" / "statistics_11.csv")
-result
-
_stim_data = stimulated_30
-_base_data = baseline_ii
-
-result = pd.DataFrame()
-
-result['Baseline II'] = _base_data[columns].agg(summarize)
-result['30 Hz'] = _stim_data[columns].agg(summarize)
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-
-result.to_latex(output_path / "statistics" / "statistics_30.tex")
-result.to_csv(output_path / "statistics" / "statistics_30.csv")
-result
-
_stim_data = stimulated_30
-_base_data = baseline_i
-
-result = pd.DataFrame()
-
-result['Baseline I'] = _base_data[columns].agg(summarize)
-result['30 Hz'] = _stim_data[columns].agg(summarize)
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-
-result.to_latex(output_path / "statistics" / "statistics_b_i_30.tex")
-result.to_csv(output_path / "statistics" / "statistics_b_i_30.csv")
-result
-
_stim_data = stimulated_30
-_base_data = stimulated_11
-
-result = pd.DataFrame()
-
-result['11 Hz'] = _base_data[columns].agg(summarize)
-result['30 Hz'] = _stim_data[columns].agg(summarize)
-
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-
-result.to_latex(output_path / "statistics" / "statistics_11_vs_30.tex")
-result.to_csv(output_path / "statistics" / "statistics_11_vs_30.csv")
-result
-
_stim_data = baseline_i
-_base_data = baseline_ii
-
-result = pd.DataFrame()
-
-result['Baseline I'] = _stim_data[columns].agg(summarize)
-result['Baseline II'] = _base_data[columns].agg(summarize)
-
-result.index = map(rename, result.index)
-
-result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
-result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
-
-
-result.to_latex(output_path / "statistics" / "statistics_base_i_vs_base_ii.tex")
-result.to_csv(output_path / "statistics" / "statistics_base_i_vs_base_ii.csv")
-result
-
%matplotlib inline
-plt.rc('axes', titlesize=12)
-plt.rcParams.update({
- 'font.size': 12,
- 'figure.figsize': (1.7, 3),
- 'figure.dpi': 150
-})
-
# colors = ['#1b9e77','#d95f02','#7570b3','#e7298a']
-# labels = ['Baseline I', '11 Hz', 'Baseline II', '30 Hz']
-
-stuff = {
- '': {
- 'base': gridcell_sessions.query('baseline and i'),
- 'stim': gridcell_sessions.query('stimulated')
- },
- '_11': {
- 'base': baseline_i,
- 'stim': stimulated_11
- },
- '_30': {
- 'base': baseline_ii,
- 'stim': stimulated_30
- }
-}
-
-label = {
- '': ['Baseline I ', ' Stimulated'],
- '_11': ['Baseline I ', ' 11 Hz'],
- '_30': ['Baseline II ', ' 30 Hz']
-}
-
-colors = {
- '': ['#1b9e77', '#b2182b'],
- '_11': ['#1b9e77', '#d95f02'],
- '_30': ['#7570b3', '#e7298a']
-}
-
for key, dd in stuff.items():
- baseline = dd['base']['information_specificity'].to_numpy()
- stimulated = dd['stim']['information_specificity'].to_numpy()
- print(key)
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Spatial information specificity")
- plt.ylabel("bits/spike")
- plt.ylim(-0.2, 1.6)
-
- plt.savefig(output_path / "figures" / f"information_specificity{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"information_specificity{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['information_rate'].to_numpy()
- stimulated = dd['stim']['information_rate'].to_numpy()
- print(key)
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Spatial information")
- plt.ylabel("bits/s")
- plt.ylim(-0.2, 4)
-
- plt.savefig(output_path / "figures" / f"spatial_information{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"spatial_information{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['specificity'].to_numpy()
- stimulated = dd['stim']['specificity'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Spatial specificity")
- plt.ylabel("")
- plt.ylim(-0.02, 1.25)
- plt.savefig(output_path / "figures" / f"specificity{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"specificity{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['average_rate'].to_numpy()
- stimulated = dd['stim']['average_rate'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Average rate")
- plt.ylabel("spikes/s")
- plt.ylim(-0.2, 40)
-
- plt.savefig(output_path / "figures" / f"average_rate{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"average_rate{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['max_rate'].to_numpy()
- stimulated = dd['stim']['max_rate'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Max rate")
- plt.ylabel("spikes/s")
- # plt.ylim(-0.2, 45)
-
- plt.savefig(output_path / "figures" / f"max_rate{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"max_rate{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['interspike_interval_cv'].to_numpy()
- stimulated = dd['stim']['interspike_interval_cv'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("ISI CV")
- plt.ylabel("Coefficient of variation")
- # plt.ylim(0.9, 5)
-
- plt.savefig(output_path / "figures" / f"isi_cv{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"isi_cv{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['in_field_mean_rate'].to_numpy()
- stimulated = dd['stim']['in_field_mean_rate'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("In-field rate")
- plt.ylabel("spikes/s")
- # plt.ylim(-0.1, 18)
-
- plt.savefig(output_path / "figures" / f"in_field_mean_rate{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"in_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['out_field_mean_rate'].to_numpy()
- stimulated = dd['stim']['out_field_mean_rate'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Out-of-field rate")
- plt.ylabel("spikes/s")
- # plt.ylim(-0.2, 8)
-
- plt.savefig(output_path / "figures" / f"out_field_mean_rate{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"out_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['burst_event_ratio'].to_numpy()
- stimulated = dd['stim']['burst_event_ratio'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Bursting ratio")
- plt.ylabel("")
- # plt.ylim(-0.02, 0.60)
-
- plt.savefig(output_path / "figures" / f"burst_event_ratio{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"burst_event_ratio{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['max_field_mean_rate'].to_numpy()
- stimulated = dd['stim']['max_field_mean_rate'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Mean rate of max field")
- plt.ylabel("(spikes/s)")
- # plt.ylim(-0.5,25)
-
- plt.savefig(output_path / "figures" / f"max_field_mean_rate{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"max_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['bursty_spike_ratio'].to_numpy()
- stimulated = dd['stim']['bursty_spike_ratio'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("ratio of spikes per burst")
- plt.ylabel("")
- # plt.ylim(-0.03,0.9)
-
- plt.savefig(output_path / "figures" / f"bursty_spike_ratio{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"bursty_spike_ratio{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items():
- baseline = dd['base']['gridness'].to_numpy()
- stimulated = dd['stim']['gridness'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Gridness")
- plt.ylabel("Gridness")
- plt.ylim(-0.6, 1.5)
-
- plt.savefig(output_path / "figures" / f"gridness{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"gridness{key}.png", dpi=600, bbox_inches="tight")
-
for key, dd in stuff.items(): #TODO narrow broad spiking
- baseline = dd['base']['speed_score'].to_numpy()
- stimulated = dd['stim']['speed_score'].to_numpy()
- plt.figure()
- violinplot(baseline, stimulated, xticks=label[key], colors=colors[key])
- plt.title("Speed score")
- plt.ylabel("Speed score")
- # plt.ylim(-0.1, 0.5)
-
- plt.savefig(output_path / "figures" / f"speed_score{key}.svg", bbox_inches="tight")
- plt.savefig(output_path / "figures" / f"speed_score{key}.png", dpi=600, bbox_inches="tight")
-
stim_action = actions['stimulus-response']
-stim_results = pd.read_csv(stim_action.data_path('results'))
-# stim_results has old unit id's but correct on (action, unit_name, channel_group)
-stim_results = stim_results.drop('unit_id', axis=1)
-
-data = data.merge(stim_results, how='left')
-
-waveform_action = actions['waveform-analysis']
-waveform_results = pd.read_csv(waveform_action.data_path('results')).drop('template', axis=1)
-
-data = data.merge(waveform_results, how='left')
-
-data.bs = data.bs.astype(bool)
-
-data.loc[data.eval('t_i_peak == t_i_peak and not bs'), 'ns_inhibited'] = True
-data.ns_inhibited.fillna(False, inplace=True)
-
-data.loc[data.eval('t_i_peak != t_i_peak and not bs'), 'ns_not_inhibited'] = True
-data.ns_not_inhibited.fillna(False, inplace=True)
-
-# make baseline for inhibited vs not inhibited
-data.loc[data.unit_id.isin(data.query('ns_inhibited').unit_id.values), 'ns_inhibited'] = True
-data.loc[data.unit_id.isin(data.query('ns_not_inhibited').unit_id.values), 'ns_not_inhibited'] = True
-
baseline = data.query('ns_inhibited and baseline and i')['speed_score'].to_numpy()
-stimulated = data.query('ns_inhibited and stimulated')['speed_score'].to_numpy()
-plt.figure()
-violinplot(baseline, stimulated, xticks=label[''], colors=colors[''])
-plt.title("Speed score")
-plt.ylabel("Speed score")
-# plt.ylim(-0.1, 0.5)
-
-plt.savefig(output_path / "figures" / f"speed_score_ns_inhibited.svg", bbox_inches="tight")
-plt.savefig(output_path / "figures" / f"speed_score_ns_inhibited.png", dpi=600, bbox_inches="tight")
-
action = project.require_action("comparisons-gridcells")
-
copy_tree(output_path, str(action.data_path()))
-
septum_mec.analysis.registration.store_notebook(action, "20_comparisons_gridcells.ipynb")
-
-
\n", - " | action | \n", - "baseline | \n", - "entity | \n", - "frequency | \n", - "i | \n", - "ii | \n", - "session | \n", - "stim_location | \n", - "stimulated | \n", - "tag | \n", - "... | \n", - "burst_event_ratio | \n", - "bursty_spike_ratio | \n", - "gridness | \n", - "border_score | \n", - "information_rate | \n", - "information_specificity | \n", - "head_mean_ang | \n", - "head_mean_vec_len | \n", - "spacing | \n", - "orientation | \n", - "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.398230 | \n", - "0.678064 | \n", - "-0.466923 | \n", - "0.029328 | \n", - "1.009215 | \n", - "0.317256 | \n", - "5.438033 | \n", - "0.040874 | \n", - "0.628784 | \n", - "20.224859 | \n", - "
1 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.138014 | \n", - "0.263173 | \n", - "-0.666792 | \n", - "0.308146 | \n", - "0.192524 | \n", - "0.033447 | \n", - "1.951740 | \n", - "0.017289 | \n", - "0.789388 | \n", - "27.897271 | \n", - "
2 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.373986 | \n", - "0.659259 | \n", - "-0.572566 | \n", - "0.143252 | \n", - "4.745836 | \n", - "0.393704 | \n", - "4.439721 | \n", - "0.124731 | \n", - "0.555402 | \n", - "28.810794 | \n", - "
3 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.087413 | \n", - "0.179245 | \n", - "-0.437492 | \n", - "0.268948 | \n", - "0.157394 | \n", - "0.073553 | \n", - "6.215195 | \n", - "0.101911 | \n", - "0.492250 | \n", - "9.462322 | \n", - "
4 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.248771 | \n", - "0.463596 | \n", - "-0.085938 | \n", - "0.218744 | \n", - "0.519153 | \n", - "0.032683 | \n", - "1.531481 | \n", - "0.053810 | \n", - "0.559905 | \n", - "0.000000 | \n", - "
5 rows × 39 columns
\n", - "\n", - " | border_score | \n", - "gridness | \n", - "head_mean_ang | \n", - "head_mean_vec_len | \n", - "information_rate | \n", - "speed_score | \n", - "action | \n", - "channel_group | \n", - "unit_name | \n", - "
---|---|---|---|---|---|---|---|---|---|
0 | \n", - "0.348023 | \n", - "0.275109 | \n", - "3.012689 | \n", - "0.086792 | \n", - "0.707197 | \n", - "0.149071 | \n", - "1833-010719-1 | \n", - "0.0 | \n", - "127.0 | \n", - "
1 | \n", - "0.362380 | \n", - "0.166475 | \n", - "3.133138 | \n", - "0.037271 | \n", - "0.482486 | \n", - "0.132212 | \n", - "1833-010719-1 | \n", - "0.0 | \n", - "161.0 | \n", - "
2 | \n", - "0.367498 | \n", - "0.266865 | \n", - "5.586395 | \n", - "0.182843 | \n", - "0.271188 | \n", - "0.062821 | \n", - "1833-010719-1 | \n", - "0.0 | \n", - "191.0 | \n", - "
3 | \n", - "0.331942 | \n", - "0.312155 | \n", - "5.955767 | \n", - "0.090786 | \n", - "0.354018 | \n", - "0.052009 | \n", - "1833-010719-1 | \n", - "0.0 | \n", - "223.0 | \n", - "
4 | \n", - "0.325842 | \n", - "0.180495 | \n", - "5.262721 | \n", - "0.103584 | \n", - "0.210427 | \n", - "0.094041 | \n", - "1833-010719-1 | \n", - "0.0 | \n", - "225.0 | \n", - "
\n", - " | action | \n", - "baseline | \n", - "entity | \n", - "frequency | \n", - "i | \n", - "ii | \n", - "session | \n", - "stim_location | \n", - "stimulated | \n", - "tag | \n", - "... | \n", - "head_mean_vec_len | \n", - "spacing | \n", - "orientation | \n", - "border_score_threshold | \n", - "gridness_threshold | \n", - "head_mean_ang_threshold | \n", - "head_mean_vec_len_threshold | \n", - "information_rate_threshold | \n", - "speed_score_threshold | \n", - "specificity | \n", - "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.040874 | \n", - "0.628784 | \n", - "20.224859 | \n", - "0.332548 | \n", - "0.229073 | \n", - "6.029431 | \n", - "0.205362 | \n", - "1.115825 | \n", - "0.066736 | \n", - "0.451741 | \n", - "
1 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.017289 | \n", - "0.789388 | \n", - "27.897271 | \n", - "0.354830 | \n", - "0.089333 | \n", - "6.120055 | \n", - "0.073566 | \n", - "0.223237 | \n", - "0.052594 | \n", - "0.098517 | \n", - "
2 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.124731 | \n", - "0.555402 | \n", - "28.810794 | \n", - "0.264610 | \n", - "-0.121081 | \n", - "5.759406 | \n", - "0.150827 | \n", - "4.964984 | \n", - "0.027120 | \n", - "0.400770 | \n", - "
3 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.101911 | \n", - "0.492250 | \n", - "9.462322 | \n", - "0.344280 | \n", - "0.215829 | \n", - "6.033364 | \n", - "0.110495 | \n", - "0.239996 | \n", - "0.054074 | \n", - "0.269461 | \n", - "
4 | \n", - "1849-060319-3 | \n", - "True | \n", - "1849 | \n", - "NaN | \n", - "False | \n", - "True | \n", - "3 | \n", - "NaN | \n", - "False | \n", - "baseline ii | \n", - "... | \n", - "0.053810 | \n", - "0.559905 | \n", - "0.000000 | \n", - "0.342799 | \n", - "0.218967 | \n", - "5.768170 | \n", - "0.054762 | \n", - "0.524990 | \n", - "0.144702 | \n", - "0.133410 | \n", - "
5 rows × 46 columns
\n", - "\n", - " | average_rate | \n", - "gridness | \n", - "sparsity | \n", - "selectivity | \n", - "information_specificity | \n", - "max_rate | \n", - "information_rate | \n", - "interspike_interval_cv | \n", - "in_field_mean_rate | \n", - "out_field_mean_rate | \n", - "burst_event_ratio | \n", - "specificity | \n", - "speed_score | \n", - "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
stimulated | \n", - "\n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " | \n", - " |
False | \n", - "8.904501 | \n", - "0.521371 | \n", - "0.618384 | \n", - "5.934539 | \n", - "0.234632 | \n", - "37.437808 | \n", - "1.246546 | \n", - "2.404647 | \n", - "14.717635 | \n", - "6.346875 | \n", - "0.211840 | \n", - "0.478775 | \n", - "0.135495 | \n", - "
True | \n", - "8.392252 | \n", - "0.440296 | \n", - "0.655698 | \n", - "5.977408 | \n", - "0.215736 | \n", - "33.716478 | \n", - "0.964787 | \n", - "2.223636 | \n", - "12.936021 | \n", - "6.122228 | \n", - "0.197264 | \n", - "0.455878 | \n", - "0.104697 | \n", - "
\n", - " | average_rate | \n", - "gridness | \n", - "sparsity | \n", - "selectivity | \n", - "information_specificity | \n", - "max_rate | \n", - "information_rate | \n", - "interspike_interval_cv | \n", - "in_field_mean_rate | \n", - "out_field_mean_rate | \n", - "burst_event_ratio | \n", - "specificity | \n", - "speed_score | \n", - "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "129.000000 | \n", - "
mean | \n", - "8.904501 | \n", - "0.521371 | \n", - "0.618384 | \n", - "5.934539 | \n", - "0.234632 | \n", - "37.437808 | \n", - "1.246546 | \n", - "2.404647 | \n", - "14.717635 | \n", - "6.346875 | \n", - "0.211840 | \n", - "0.478775 | \n", - "0.135495 | \n", - "
std | \n", - "7.605598 | \n", - "0.337607 | \n", - "0.187934 | \n", - "3.217366 | \n", - "0.200726 | \n", - "16.300117 | \n", - "0.605971 | \n", - "0.756407 | \n", - "9.267522 | \n", - "6.805499 | \n", - "0.080143 | \n", - "0.209531 | \n", - "0.072831 | \n", - "
min | \n", - "0.478349 | \n", - "-0.684924 | \n", - "0.200066 | \n", - "1.533216 | \n", - "0.007807 | \n", - "3.346027 | \n", - "0.117638 | \n", - "1.304387 | \n", - "0.924066 | \n", - "0.159076 | \n", - "0.025000 | \n", - "0.071681 | \n", - "-0.025629 | \n", - "
25% | \n", - "3.518392 | \n", - "0.316326 | \n", - "0.437499 | \n", - "3.729863 | \n", - "0.093252 | \n", - "26.948843 | \n", - "0.786753 | \n", - "1.872991 | \n", - "7.701156 | \n", - "1.669844 | \n", - "0.160795 | \n", - "0.310822 | \n", - "0.084280 | \n", - "
50% | \n", - "6.456882 | \n", - "0.529243 | \n", - "0.642167 | \n", - "4.794970 | \n", - "0.180286 | \n", - "35.064991 | \n", - "1.156087 | \n", - "2.221185 | \n", - "12.212289 | \n", - "4.314913 | \n", - "0.210240 | \n", - "0.436340 | \n", - "0.128603 | \n", - "
75% | \n", - "12.721755 | \n", - "0.783682 | \n", - "0.758097 | \n", - "7.439464 | \n", - "0.312487 | \n", - "44.324873 | \n", - "1.592948 | \n", - "2.770624 | \n", - "20.974026 | \n", - "9.121505 | \n", - "0.267568 | \n", - "0.624834 | \n", - "0.188948 | \n", - "
max | \n", - "59.365312 | \n", - "1.148979 | \n", - "0.976157 | \n", - "18.975875 | \n", - "1.243307 | \n", - "90.160158 | \n", - "3.456796 | \n", - "5.671362 | \n", - "66.350754 | \n", - "56.255544 | \n", - "0.393306 | \n", - "1.066391 | \n", - "0.297548 | \n", - "
\n", - " | average_rate | \n", - "gridness | \n", - "sparsity | \n", - "selectivity | \n", - "information_specificity | \n", - "max_rate | \n", - "information_rate | \n", - "interspike_interval_cv | \n", - "in_field_mean_rate | \n", - "out_field_mean_rate | \n", - "burst_event_ratio | \n", - "specificity | \n", - "speed_score | \n", - "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "102.000000 | \n", - "
mean | \n", - "8.392252 | \n", - "0.440296 | \n", - "0.655698 | \n", - "5.977408 | \n", - "0.215736 | \n", - "33.716478 | \n", - "0.964787 | \n", - "2.223636 | \n", - "12.936021 | \n", - "6.122228 | \n", - "0.197264 | \n", - "0.455878 | \n", - "0.104697 | \n", - "
std | \n", - "6.057001 | \n", - "0.357038 | \n", - "0.211704 | \n", - "3.702400 | \n", - "0.235916 | \n", - "13.249312 | \n", - "0.572972 | \n", - "0.819734 | \n", - "7.211895 | \n", - "5.366332 | \n", - "0.082164 | \n", - "0.236777 | \n", - "0.081989 | \n", - "
min | \n", - "0.198337 | \n", - "-0.516914 | \n", - "0.172684 | \n", - "1.930026 | \n", - "0.013088 | \n", - "2.846281 | \n", - "0.063173 | \n", - "1.110672 | \n", - "0.524639 | \n", - "0.099060 | \n", - "0.008475 | \n", - "0.097718 | \n", - "-0.138128 | \n", - "
25% | \n", - "3.579184 | \n", - "0.265949 | \n", - "0.458493 | \n", - "3.044303 | \n", - "0.066656 | \n", - "25.555110 | \n", - "0.564279 | \n", - "1.620472 | \n", - "7.555760 | \n", - "1.733624 | \n", - "0.146755 | \n", - "0.248057 | \n", - "0.056903 | \n", - "
50% | \n", - "6.838561 | \n", - "0.399053 | \n", - "0.699561 | \n", - "4.891855 | \n", - "0.128562 | \n", - "31.402558 | \n", - "0.862413 | \n", - "2.084020 | \n", - "11.451560 | \n", - "4.234871 | \n", - "0.192948 | \n", - "0.376143 | \n", - "0.106314 | \n", - "
75% | \n", - "11.934599 | \n", - "0.749561 | \n", - "0.842332 | \n", - "8.001587 | \n", - "0.300713 | \n", - "42.334786 | \n", - "1.190324 | \n", - "2.673991 | \n", - "17.335356 | \n", - "8.583415 | \n", - "0.247405 | \n", - "0.684623 | \n", - "0.149313 | \n", - "
max | \n", - "24.858738 | \n", - "1.155123 | \n", - "0.967003 | \n", - "19.911477 | \n", - "1.359164 | \n", - "65.990793 | \n", - "3.182285 | \n", - "6.526960 | \n", - "34.489913 | \n", - "21.696265 | \n", - "0.393037 | \n", - "1.091064 | \n", - "0.390079 | \n", - "
\n", - " | Baseline I | \n", - "Stimulated | \n", - "MWU | \n", - "PRS | \n", - "
---|---|---|---|---|
Average rate | \n", - "8.61 ± 0.75 (71) | \n", - "8.39 ± 0.60 (102) | \n", - "3599.00, 0.947 | \n", - "0.55, 0.757 | \n", - "
Gridness | \n", - "0.51 ± 0.04 (71) | \n", - "0.44 ± 0.04 (102) | \n", - "3208.00, 0.203 | \n", - "0.13, 0.145 | \n", - "
Sparsity | \n", - "0.61 ± 0.02 (71) | \n", - "0.66 ± 0.02 (102) | \n", - "4170.00, 0.091 | \n", - "0.06, 0.179 | \n", - "
Selectivity | \n", - "5.91 ± 0.37 (71) | \n", - "5.98 ± 0.37 (102) | \n", - "3460.00, 0.620 | \n", - "0.10, 0.874 | \n", - "
Information specificity | \n", - "0.25 ± 0.03 (71) | \n", - "0.22 ± 0.02 (102) | \n", - "2944.00, 0.037 | \n", - "0.05, 0.034 | \n", - "
Max rate | \n", - "36.55 ± 1.78 (71) | \n", - "33.72 ± 1.31 (102) | \n", - "3291.00, 0.309 | \n", - "3.19, 0.194 | \n", - "
Information rate | \n", - "1.30 ± 0.07 (71) | \n", - "0.96 ± 0.06 (102) | \n", - "2385.00, 0.000 | \n", - "0.32, 0.001 | \n", - "
Interspike interval cv | \n", - "2.42 ± 0.10 (71) | \n", - "2.22 ± 0.08 (102) | \n", - "3034.00, 0.070 | \n", - "0.12, 0.398 | \n", - "
In-field mean rate | \n", - "14.43 ± 1.00 (71) | \n", - "12.94 ± 0.71 (102) | \n", - "3368.00, 0.436 | \n", - "0.39, 0.817 | \n", - "
Out-field mean rate | \n", - "6.05 ± 0.62 (71) | \n", - "6.12 ± 0.53 (102) | \n", - "3600.00, 0.950 | \n", - "0.08, 0.944 | \n", - "
Burst event ratio | \n", - "0.22 ± 0.01 (71) | \n", - "0.20 ± 0.01 (102) | \n", - "3090.00, 0.102 | \n", - "0.02, 0.129 | \n", - "
Specificity | \n", - "0.48 ± 0.03 (71) | \n", - "0.46 ± 0.02 (102) | \n", - "3268.00, 0.277 | \n", - "0.06, 0.360 | \n", - "
Speed score | \n", - "0.14 ± 0.01 (71) | \n", - "0.10 ± 0.01 (102) | \n", - "2546.00, 0.001 | \n", - "0.05, 0.000 | \n", - "
\n", - " | Baseline I | \n", - "11 Hz | \n", - "MWU | \n", - "PRS | \n", - "
---|---|---|---|---|
Average rate | \n", - "8.96 ± 0.80 (63) | \n", - "8.80 ± 0.85 (58) | \n", - "1781.00, 0.813 | \n", - "0.04, 0.968 | \n", - "
Gridness | \n", - "0.53 ± 0.05 (63) | \n", - "0.41 ± 0.05 (58) | \n", - "1459.00, 0.057 | \n", - "0.21, 0.041 | \n", - "
Sparsity | \n", - "0.63 ± 0.02 (63) | \n", - "0.67 ± 0.03 (58) | \n", - "2138.00, 0.107 | \n", - "0.07, 0.128 | \n", - "
Selectivity | \n", - "5.76 ± 0.40 (63) | \n", - "5.69 ± 0.50 (58) | \n", - "1687.00, 0.469 | \n", - "0.00, 0.983 | \n", - "
Information specificity | \n", - "0.24 ± 0.03 (63) | \n", - "0.21 ± 0.03 (58) | \n", - "1452.00, 0.052 | \n", - "0.06, 0.030 | \n", - "
Max rate | \n", - "37.39 ± 1.91 (63) | \n", - "33.11 ± 1.85 (58) | \n", - "1538.00, 0.134 | \n", - "4.06, 0.125 | \n", - "
Information rate | \n", - "1.31 ± 0.08 (63) | \n", - "0.94 ± 0.08 (58) | \n", - "1143.00, 0.000 | \n", - "0.32, 0.004 | \n", - "
Interspike interval cv | \n", - "2.39 ± 0.10 (63) | \n", - "2.19 ± 0.12 (58) | \n", - "1462.00, 0.059 | \n", - "0.18, 0.139 | \n", - "
In-field mean rate | \n", - "14.88 ± 1.05 (63) | \n", - "13.27 ± 1.04 (58) | \n", - "1633.00, 0.315 | \n", - "0.77, 0.690 | \n", - "
Out-field mean rate | \n", - "6.37 ± 0.67 (63) | \n", - "6.57 ± 0.77 (58) | \n", - "1795.00, 0.870 | \n", - "0.47, 0.719 | \n", - "
Burst event ratio | \n", - "0.22 ± 0.01 (63) | \n", - "0.22 ± 0.01 (58) | \n", - "1897.00, 0.718 | \n", - "0.00, 0.824 | \n", - "
Specificity | \n", - "0.47 ± 0.03 (63) | \n", - "0.44 ± 0.03 (58) | \n", - "1605.00, 0.250 | \n", - "0.06, 0.414 | \n", - "
Speed score | \n", - "0.14 ± 0.01 (63) | \n", - "0.11 ± 0.01 (58) | \n", - "1378.00, 0.020 | \n", - "0.04, 0.022 | \n", - "
\n", - " | Baseline II | \n", - "30 Hz | \n", - "MWU | \n", - "PRS | \n", - "
---|---|---|---|---|
Average rate | \n", - "8.29 ± 0.87 (52) | \n", - "7.61 ± 0.87 (38) | \n", - "958.00, 0.810 | \n", - "0.27, 0.808 | \n", - "
Gridness | \n", - "0.54 ± 0.04 (52) | \n", - "0.48 ± 0.06 (38) | \n", - "914.00, 0.548 | \n", - "0.04, 0.598 | \n", - "
Sparsity | \n", - "0.63 ± 0.03 (52) | \n", - "0.64 ± 0.03 (38) | \n", - "1040.00, 0.674 | \n", - "0.06, 0.398 | \n", - "
Selectivity | \n", - "5.96 ± 0.46 (52) | \n", - "6.42 ± 0.60 (38) | \n", - "1019.00, 0.803 | \n", - "0.20, 0.845 | \n", - "
Information specificity | \n", - "0.21 ± 0.02 (52) | \n", - "0.22 ± 0.03 (38) | \n", - "950.00, 0.759 | \n", - "0.04, 0.506 | \n", - "
Max rate | \n", - "36.27 ± 2.34 (52) | \n", - "33.49 ± 1.89 (38) | \n", - "943.00, 0.716 | \n", - "2.90, 0.565 | \n", - "
Information rate | \n", - "1.13 ± 0.08 (52) | \n", - "0.98 ± 0.09 (38) | \n", - "827.00, 0.190 | \n", - "0.07, 0.335 | \n", - "
Interspike interval cv | \n", - "2.37 ± 0.09 (52) | \n", - "2.23 ± 0.11 (38) | \n", - "869.00, 0.333 | \n", - "0.17, 0.482 | \n", - "
In-field mean rate | \n", - "13.79 ± 1.12 (52) | \n", - "12.21 ± 0.98 (38) | \n", - "912.00, 0.537 | \n", - "1.06, 0.444 | \n", - "
Out-field mean rate | \n", - "5.80 ± 0.72 (52) | \n", - "5.36 ± 0.73 (38) | \n", - "959.00, 0.816 | \n", - "0.13, 0.912 | \n", - "
Burst event ratio | \n", - "0.20 ± 0.01 (52) | \n", - "0.16 ± 0.01 (38) | \n", - "676.00, 0.011 | \n", - "0.05, 0.009 | \n", - "
Specificity | \n", - "0.47 ± 0.03 (52) | \n", - "0.48 ± 0.04 (38) | \n", - "976.00, 0.925 | \n", - "0.00, 0.988 | \n", - "
Speed score | \n", - "0.12 ± 0.01 (52) | \n", - "0.11 ± 0.01 (38) | \n", - "784.00, 0.096 | \n", - "0.01, 0.242 | \n", - "
\n", - " | Baseline I | \n", - "30 Hz | \n", - "MWU | \n", - "PRS | \n", - "
---|---|---|---|---|
Average rate | \n", - "8.96 ± 0.80 (63) | \n", - "7.61 ± 0.87 (38) | \n", - "1081.00, 0.418 | \n", - "0.27, 0.804 | \n", - "
Gridness | \n", - "0.53 ± 0.05 (63) | \n", - "0.48 ± 0.06 (38) | \n", - "1094.00, 0.472 | \n", - "0.08, 0.354 | \n", - "
Sparsity | \n", - "0.63 ± 0.02 (63) | \n", - "0.64 ± 0.03 (38) | \n", - "1261.00, 0.656 | \n", - "0.03, 0.648 | \n", - "
Selectivity | \n", - "5.76 ± 0.40 (63) | \n", - "6.42 ± 0.60 (38) | \n", - "1276.00, 0.582 | \n", - "0.86, 0.292 | \n", - "
Information specificity | \n", - "0.24 ± 0.03 (63) | \n", - "0.22 ± 0.03 (38) | \n", - "1076.00, 0.398 | \n", - "0.05, 0.159 | \n", - "
Max rate | \n", - "37.39 ± 1.91 (63) | \n", - "33.49 ± 1.89 (38) | \n", - "1027.00, 0.235 | \n", - "3.99, 0.191 | \n", - "
Information rate | \n", - "1.31 ± 0.08 (63) | \n", - "0.98 ± 0.09 (38) | \n", - "797.00, 0.005 | \n", - "0.32, 0.049 | \n", - "
Interspike interval cv | \n", - "2.39 ± 0.10 (63) | \n", - "2.23 ± 0.11 (38) | \n", - "1100.00, 0.499 | \n", - "0.01, 0.991 | \n", - "
In-field mean rate | \n", - "14.88 ± 1.05 (63) | \n", - "12.21 ± 0.98 (38) | \n", - "1018.00, 0.211 | \n", - "1.74, 0.273 | \n", - "
Out-field mean rate | \n", - "6.37 ± 0.67 (63) | \n", - "5.36 ± 0.73 (38) | \n", - "1079.00, 0.410 | \n", - "0.51, 0.641 | \n", - "
Burst event ratio | \n", - "0.22 ± 0.01 (63) | \n", - "0.16 ± 0.01 (38) | \n", - "675.00, 0.000 | \n", - "0.05, 0.004 | \n", - "
Specificity | \n", - "0.47 ± 0.03 (63) | \n", - "0.48 ± 0.04 (38) | \n", - "1206.00, 0.952 | \n", - "0.01, 0.875 | \n", - "
Speed score | \n", - "0.14 ± 0.01 (63) | \n", - "0.11 ± 0.01 (38) | \n", - "835.00, 0.011 | \n", - "0.06, 0.004 | \n", - "