You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
773 lines
176 KiB
773 lines
176 KiB
{ |
|
"cells": [ |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 2, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"name": "stdout", |
|
"output_type": "stream", |
|
"text": [ |
|
"stim_data.pkl\n", |
|
"dict_keys(['stim_val', 'trial_stim_id', 'key_list', 'num_trial', 'trial_pair_id', 'pair_val', 'pair_trial_id', 'stim_id_trial', 'num_stim'])\n", |
|
"spike_data.pkl\n", |
|
"dict_keys(['spike_count_rate', 'avg_firing_rate', 'sem_firing_rate', 'firing_rate', 'stim_num_trial', 'C_r_fphi_theta', 'theta_hist', 'phase_hist', 'pair_hist'])\n", |
|
"corr_data.pkl\n", |
|
"dict_keys(['corr_stim_unit', 'optimal_avg_firing_rate', 'stim_hist', 'stim_hist_caution'])\n" |
|
] |
|
} |
|
], |
|
"source": [ |
|
"# load data\n", |
|
"\n", |
|
"import numpy as np\n", |
|
"import matplotlib.pyplot as plt\n", |
|
"import pandas as pd\n", |
|
"import scipy.stats as sts\n", |
|
"import pickle\n", |
|
"import ipywidgets as widgets\n", |
|
"from mpl_toolkits import mplot3d\n", |
|
"from mpl_toolkits.mplot3d import Axes3D\n", |
|
"from scipy import sparse\n", |
|
"from matplotlib import cm\n", |
|
"cmap_hot = cm.get_cmap('hot')\n", |
|
"cmap_viridis = cm.get_cmap('viridis')\n", |
|
"\n", |
|
"execfile('Stimulus.py')\n", |
|
"data_folder = \"../data/\"\n", |
|
"\n", |
|
"stim_file = \"Stiminfo_PVCre_2021_0012_s06_e14.csv\"\n", |
|
"stim = pd.read_csv(data_folder+stim_file)\n", |
|
"\n", |
|
"spike_times_file = \"Spiketimes_PVCre_2021_0012_s06_e14.npy\"\n", |
|
"spike_times = np.load(data_folder+spike_times_file, allow_pickle=True)\n", |
|
"active = [len(spike_times[i]) > 0 for i in range(len(spike_times))]\n", |
|
"spike_times = spike_times[np.where(active)]\n", |
|
"\n", |
|
"num_unit = len(spike_times)\n", |
|
"num_trial = len(stim)\n", |
|
"\n", |
|
"# sort by firing rate\n", |
|
"\n", |
|
"num_spike = list(map(len, spike_times))\n", |
|
"# num_spike = np.array([len(spike_times[i]) for i in range(len(spike_times))])\n", |
|
"spike_times = spike_times[np.argsort(num_spike)[::-1]]\n", |
|
"execfile('load.py')\n", |
|
"\n", |
|
"max_delay = 300 # dt\n", |
|
"tau_id_range = np.arange(max_delay)\n", |
|
"\n", |
|
"latest_spike_time = max([np.max(s) for s in spike_times if len(s)])\n", |
|
"latest_stim_offtime = list(stim['stim_offtime'])[-1]\n", |
|
"experiment_dur = max([latest_spike_time, latest_stim_offtime])\n", |
|
"\n", |
|
"dt = 0.001 # 1 ms\n", |
|
"exp_time = np.arange(0, experiment_dur, dt)\n", |
|
"trial_length = np.mean(stim['stim_offtime']-stim['stim_ontime'])\n", |
|
"M = len(exp_time)\n", |
|
"\n", |
|
"# binary spike and stimulus trains\n", |
|
"B_stim = {}\n", |
|
"for key in key_list:\n", |
|
" B_stim[key] = []\n", |
|
" for stim_id, trials in enumerate(stim_id_trial[key]):\n", |
|
" B_stim[key].append([])\n", |
|
" s = []\n", |
|
" for trial_id in trials:\n", |
|
" t_on, t_off = stim['stim_ontime'][trial_id], stim['stim_offtime'][trial_id]\n", |
|
" s += list(np.arange(int(t_on//dt), int(t_off//dt)))\n", |
|
"\n", |
|
" B_stim[key][stim_id] = sparse.coo_matrix((np.ones(len(s)), (np.zeros(len(s), dtype=int), s)), shape=(1, M))\n", |
|
"s = spike_times//dt\n", |
|
"B_spike = []\n", |
|
"for unit_id in range(num_unit):\n", |
|
" B_spike.append(sparse.coo_matrix((np.ones(len(s[unit_id])), (np.zeros(len(s[unit_id]), dtype=int), np.int0(s[unit_id]))), shape=(1, M)))\n", |
|
"\n", |
|
"# histogram error bars: num spikes\n", |
|
"s = np.zeros((num_unit, 2))\n", |
|
"for unit_id in range(num_unit):\n", |
|
" # print(\"unit: %d\"%unit_id)\n", |
|
" a = np.zeros(len(tau_id_range))\n", |
|
" for tau_id in tau_id_range:\n", |
|
" a[tau_id] = np.sum(B_spike[unit_id].col >= tau_id)\n", |
|
" \n", |
|
" s[unit_id] = [np.mean(a), np.std(a)]\n", |
|
"\n", |
|
"key_symbol = {'pair':'$(\\\\theta,\\phi)$', 'orientation':'$\\\\theta$', 'phase':'$\\phi$'}\n", |
|
"\n", |
|
"# 2D tuning\n", |
|
"avg_firing_rate_pair = np.array([sts.zscore(stim_hist['pair'][unit_id]).reshape((len(tau_id_range), num_stim['orientation'], num_stim['phase'])) for unit_id in range(num_unit)])" |
|
] |
|
}, |
|
{ |
|
"cell_type": "markdown", |
|
"metadata": {}, |
|
"source": [ |
|
"## Peristimulus time histogram\n", |
|
"we should wait for the PSTH to stabilize otherwise we get the transient sharp response to sudden change of stimulus." |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 3, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"# concatenate spike times of all trials with the same stimuli\n", |
|
"# firing rate" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 4, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"name": "stderr", |
|
"output_type": "stream", |
|
"text": [ |
|
"/usr/lib/python3.10/site-packages/pandas/core/roperator.py:13: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n", |
|
" return right - left\n" |
|
] |
|
} |
|
], |
|
"source": [ |
|
"trial_spike_times = np.ndarray((num_unit, num_trial), dtype=object)\n", |
|
"delta_t_on = 0.2 # 200ms\n", |
|
"delta_t_off = 0.3\n", |
|
"for trial_id in range(num_trial):\n", |
|
" t_on, t_off = stim['stim_ontime'][trial_id]-delta_t_on, stim['stim_offtime'][trial_id]+delta_t_off\n", |
|
" for unit_id in range(num_unit):\n", |
|
" trial_spike_times[unit_id, trial_id] = spike_times[unit_id][np.where((spike_times[unit_id] < t_off) & (spike_times[unit_id] > t_on))]\n", |
|
"subseq_trials = 5\n", |
|
"subseq_spike_times = np.ndarray(num_unit, dtype=object)\n", |
|
"for unit_id in range(num_unit):\n", |
|
" subseq_spike_times[unit_id] = [np.concatenate(trial_spike_times[unit_id][i:i+subseq_trials]) for i in range(num_trial-subseq_trials)]\n", |
|
"\n", |
|
"subseq_spike_times_locked = {}\n", |
|
"subseq_spike_times_locked['ontime'] = [subseq_spike_times[unit_id] - stim['stim_ontime'][:-subseq_trials] for unit_id in range(num_unit)]\n", |
|
"subseq_spike_times_locked['offtime'] = [subseq_spike_times[unit_id] - stim['stim_offtime'][:-subseq_trials] for unit_id in range(num_unit)]" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 5, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"from scipy.stats import zscore\n", |
|
"trial_dur = stim['stim_offtime'] - stim['stim_ontime']\n", |
|
"z_trial_dur = zscore(trial_dur)\n", |
|
"intertrial_dur = np.array(stim['stim_ontime'])[1:] - np.array(stim['stim_offtime'])[:-1]\n", |
|
"z_intertrial_dur = zscore(intertrial_dur)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 6, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"data": { |
|
"image/png": "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", |
|
"text/plain": [ |
|
"<Figure size 864x1080 with 1 Axes>" |
|
] |
|
}, |
|
"metadata": { |
|
"needs_background": "light" |
|
}, |
|
"output_type": "display_data" |
|
} |
|
], |
|
"source": [ |
|
"fig = plt.figure(figsize=(12,15))\n", |
|
"plt.eventplot(intertrial_dur, lineoffsets=-1000, linelengths=1000, color='r')\n", |
|
"plt.plot(intertrial_dur, np.arange(19999))\n", |
|
"plt.ylim([15250, 15450])\n", |
|
"plt.show()" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 7, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"data": { |
|
"image/png": "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", |
|
"text/plain": [ |
|
"<Figure size 1080x720 with 2 Axes>" |
|
] |
|
}, |
|
"metadata": { |
|
"needs_background": "light" |
|
}, |
|
"output_type": "display_data" |
|
} |
|
], |
|
"source": [ |
|
"unit_id = 1\n", |
|
"\n", |
|
"fig, ax = plt.subplots(1,2, figsize=(15,10))\n", |
|
"ax[0].plot(np.diff(stim['stim_ontime'], n=2), np.arange(20000-2))\n", |
|
"ax[0].invert_yaxis()\n", |
|
"ax[0].set_xlabel('$\\Delta^2[t_{on}]=\\Delta$ trial duration / s', size=20)\n", |
|
"ax[0].set(ylabel='trials')\n", |
|
"ax[1].eventplot([[trial_dur[i]] for i in range(num_trial)], lineoffsets=1, linelengths=0.8)\n", |
|
"ax[1].set(yticks=[], xlabel='trial duration / s')\n", |
|
"ax[1].invert_yaxis()\n", |
|
"# ax[2].eventplot([[stim['stim_ontime'][i] - stim['stim_offtime'][i]] for i in range(num_trial)], lineoffsets=1, linelengths=0.8)\n", |
|
"# ax[2].set(title='unit %d'%unit_id, yticks=[], xlabel='t/s (locked to trial onsets)')\n", |
|
"# ax[2].invert_yaxis()\n", |
|
"plt.subplots_adjust(wspace=0)\n", |
|
"plt.show()" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 8, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"data": { |
|
"image/png": "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", |
|
"text/plain": [ |
|
"<Figure size 1440x720 with 3 Axes>" |
|
] |
|
}, |
|
"metadata": { |
|
"needs_background": "light" |
|
}, |
|
"output_type": "display_data" |
|
} |
|
], |
|
"source": [ |
|
"unit_id = 1\n", |
|
"\n", |
|
"fig, ax = plt.subplots(1,3, figsize=(20,10))\n", |
|
"ax[0].plot(np.diff(stim['stim_ontime'], n=2), np.arange(20000-2))\n", |
|
"ax[0].invert_yaxis()\n", |
|
"ax[0].set_xlabel('$\\Delta^2[t_{on}]=\\Delta$ trial duration / s', size=20)\n", |
|
"ax[0].set(ylabel='trials')\n", |
|
"ax[1].eventplot(subseq_spike_times_locked['ontime'][unit_id], lineoffsets=1, linelengths=0.8)\n", |
|
"ax[1].set(title='unit %d'%unit_id, yticks=[], xlabel='t/s (locked to trial onsets)')\n", |
|
"ax[1].invert_yaxis()\n", |
|
"ax[2].eventplot(subseq_spike_times_locked['offtime'][unit_id], lineoffsets=1, linelengths=0.8)\n", |
|
"ax[2].set(title='unit %d'%unit_id, yticks=[], xlabel='t/s (locked to trial ends)')\n", |
|
"ax[2].invert_yaxis()\n", |
|
"plt.subplots_adjust(wspace=0)\n", |
|
"plt.show()" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 9, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"trial_spike_times = np.ndarray((num_unit, num_trial), dtype=object)\n", |
|
"delta_t_on = 0.2 # 200ms\n", |
|
"delta_t_off = 0.3\n", |
|
"for trial_id in range(num_trial):\n", |
|
" t_on, t_off = stim['stim_ontime'][trial_id]-delta_t_on, stim['stim_offtime'][trial_id]+delta_t_off\n", |
|
" for unit_id in range(num_unit):\n", |
|
" trial_spike_times[unit_id, trial_id] = spike_times[unit_id][np.where((spike_times[unit_id] < t_off) & (spike_times[unit_id] > t_on))] - stim['stim_ontime'][trial_id]" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 10, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"dt = 0.001 # 1ms\n", |
|
"T = delta_t_on + delta_t_off + trial_length\n", |
|
"time_range = np.arange(0, T, dt) - delta_t_on\n", |
|
"trial_onsets = time_range[np.where(np.diff(time_range//trial_length))]\n", |
|
"num_bins = len(time_range)\n" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 11, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"PSTH = {}\n", |
|
"\n", |
|
"for key in key_list:\n", |
|
" PSTH[key] = np.zeros((num_unit, num_stim[key], num_bins))\n", |
|
" for stim_id, trials in enumerate(stim_id_trial[key]):\n", |
|
" for unit_id in range(num_unit):\n", |
|
" cumulative_spike_times = np.concatenate(trial_spike_times[unit_id, trials])\n", |
|
" for t in cumulative_spike_times:\n", |
|
" PSTH[key][unit_id, stim_id, int((t+delta_t_on)//dt)] += 1\n", |
|
" # firing_rate[key][unit_id, stim_id] = np.histogram(cumulative_spike_times, dt_edges)\n", |
|
" \n", |
|
" PSTH[key] /= dt*len(trials)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 12, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"from scipy import signal\n", |
|
"fs = 1/dt\n", |
|
"b, a = signal.butter(5, 50, fs=fs, btype='low')\n", |
|
"PSTH_filt = {}\n", |
|
"for key in key_list:\n", |
|
" PSTH_filt[key] = signal.filtfilt(b, a, PSTH[key], axis=-1)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 13, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"from matplotlib import gridspec\n", |
|
"\n", |
|
"def plot_PSTH_raster(unit_id, key, stim_list=[], raster=True, plot=False, savepath=''):\n", |
|
"\n", |
|
" if len(stim_list)==0:\n", |
|
" stim_iter = range(num_stim[key])\n", |
|
" \n", |
|
" else:\n", |
|
" stim_iter = stim_list\n", |
|
"\n", |
|
" n_row = int(len(stim_iter)//4)+1\n", |
|
" fig = plt.figure(figsize=(4*5, n_row*5))\n", |
|
" gs = gridspec.GridSpec(n_row, 4)\n", |
|
" for i, stim_id in enumerate(stim_iter):\n", |
|
"\n", |
|
" r, c = i //4, i%4\n", |
|
"\n", |
|
" if raster:\n", |
|
" gs0 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs[r, c], hspace=0)\n", |
|
" ax0 = fig.add_subplot(gs0[0, :])\n", |
|
"\n", |
|
" ax0.eventplot(trial_spike_times[unit_id, stim_id_trial[key][stim_id]]+delta_t_on)\n", |
|
" ax0.set(ylabel='trials', title=key_symbol[key] + ' = %d'%stim_val[key][stim_id])\n", |
|
"\n", |
|
" ax0.invert_yaxis()\n", |
|
"\n", |
|
"\n", |
|
" ax1 = fig.add_subplot(gs0[1, :])\n", |
|
" ax1.axvspan(0, trial_length, color='g', alpha=0.1)\n", |
|
"\n", |
|
" for t_on in trial_onsets:\n", |
|
" ax1.axvline(t_on, c='k', alpha=0.5)\n", |
|
"\n", |
|
" ax1.plot(time_range, PSTH[key][unit_id, stim_id], alpha=0.3)\n", |
|
" ax1.plot(time_range, PSTH_filt[key][unit_id, stim_id], 'r', label='smoothed PSTH')\n", |
|
" ax1.set(xlabel='t / s')\n", |
|
"\n", |
|
" else:\n", |
|
" ax1 = fig.add_subplot(gs[r, c])\n", |
|
" ax1.axvspan(0, trial_length, color='g', alpha=0.1)\n", |
|
" for t_on in trial_onsets:\n", |
|
" ax1.axvline(t_on, c='k', alpha=0.5)\n", |
|
" \n", |
|
" ax1.plot(time_range, PSTH[key][unit_id, stim_id], alpha=0.3)\n", |
|
" ax1.plot(time_range, PSTH_filt[key][unit_id, stim_id], 'r')\n", |
|
" ax1.set(xlabel='t / s', title=key_symbol[key] + ' = %d'%stim_val[key][stim_id])\n", |
|
" \n", |
|
"\n", |
|
" fig.suptitle('PSTH of unit %d' % unit_id, y=1.01)\n", |
|
" plt.tight_layout()\n", |
|
" \n", |
|
" if plot:\n", |
|
" plt.show()\n", |
|
" \n", |
|
" if len(savepath)>0:\n", |
|
" plt.savefig(savepath, transparent=False, facecolor='white', bbox_inches='tight')\n", |
|
" plt.close()" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 14, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"name": "stdout", |
|
"output_type": "stream", |
|
"text": [ |
|
"1\r" |
|
] |
|
} |
|
], |
|
"source": [ |
|
"for unit_id in range(1,2):\n", |
|
" print(unit_id, end='\\r')\n", |
|
" plot_PSTH_raster(unit_id=unit_id, key='orientation', stim_list=[], raster=True, plot=False, savepath='PSTH_orientation_unit%d'%unit_id)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 15, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"autocorr = np.convolve(B_spike[1].A[0][:100000], B_spike[1].A[0][::-1][:100000], mode='full')" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 16, |
|
"metadata": {}, |
|
"outputs": [ |
|
{ |
|
"data": { |
|
"text/plain": [ |
|
"[<matplotlib.lines.Line2D at 0x7f882a32baf0>]" |
|
] |
|
}, |
|
"execution_count": 16, |
|
"metadata": {}, |
|
"output_type": "execute_result" |
|
}, |
|
{ |
|
"data": { |
|
"image/png": "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", |
|
"text/plain": [ |
|
"<Figure size 432x288 with 1 Axes>" |
|
] |
|
}, |
|
"metadata": { |
|
"needs_background": "light" |
|
}, |
|
"output_type": "display_data" |
|
} |
|
], |
|
"source": [ |
|
"plt.plot(autocorr)" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 17, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"def point_fft(pt, tapers, nfft):\n", |
|
" \"\"\"\n", |
|
" Compute Fourier spectra of a set of point processes given a set of tapers.\n", |
|
" \n", |
|
" Parameters\n", |
|
" ----------\n", |
|
" pt : ndarray\n", |
|
" 2D array of point processes, columns should correspond to processes\n", |
|
" tapers : ndarray\n", |
|
" 2D array of tapers, rows should correspond to different tapers\n", |
|
" nfft : int\n", |
|
" number of points to include in the FFT, if nfft is greater than the number of time points the signals\n", |
|
" will be zero-padded\n", |
|
" \n", |
|
" Returns\n", |
|
" -------\n", |
|
" out : ndarray\n", |
|
" Fourier series of each tapered point process\n", |
|
" \"\"\"\n", |
|
" # allow 1D input\n", |
|
" if pt.ndim == 1:\n", |
|
" pt = pt[:, np.newaxis]\n", |
|
" \n", |
|
" assert pt.shape[0] == tapers.shape[1], \"Tapers and point-processes must have same number of time points.\"\n", |
|
" \n", |
|
" # apply tapers to point process\n", |
|
" tapered_pt = np.array([pt.T * taper for taper in tapers])\n", |
|
" \n", |
|
" # compute mean event rate (repeated for each taper)\n", |
|
" mean_rates = np.ones((tapers.shape[0], pt.shape[-1])) * pt.mean(axis=0)\n", |
|
" \n", |
|
" # compute FT of tapers\n", |
|
" taper_fft = fft.fft(tapers, nfft)\n", |
|
" \n", |
|
" # compute a 'baseline' spectrum by scaling the taper FT by the mean rate\n", |
|
" baseline = np.array([mean_rates.T * taper for taper in taper_fft.T]).T\n", |
|
" \n", |
|
" # compute FT of tapered point process and subtract baseline \n", |
|
" return fft.fft(tapered_pt, nfft) - baseline " |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": 18, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [ |
|
"import numpy as np\n", |
|
"from matplotlib import pyplot as plt\n", |
|
"from scipy import io, fft, signal\n", |
|
"from scipy.signal import windows, detrend\n", |
|
"\n", |
|
"def mtptcoh(pt, ct, fs=1, nperseg=None, nfft=None, noverlap=None, nw=3, ntapers=None, detrend_method='constant',\n", |
|
" nspike_min=4, progress_report=True):\n", |
|
" \"\"\"\n", |
|
" Compute the coherence between a set of point processes and a set of continuous signals. \n", |
|
" \n", |
|
" Parameters\n", |
|
" ----------\n", |
|
" pt : ndarray\n", |
|
" 2D array of point processed, columns should correspond to processes (termed units)\n", |
|
" ct : ndarray\n", |
|
" 2D array of continous signals, columns should correspond to channels\n", |
|
" fs : float (default = 1)\n", |
|
" sampling frequency\n", |
|
" nperseg : int, None (default = None)\n", |
|
" number of data points per segment, if None nperseg is set to 256\n", |
|
" nfft : int, None (default = None)\n", |
|
" number of points to include in scipy.fft.fft, if None nfft is set to 2 * nperseg, if nfft > nperseg data \n", |
|
" will be zero-padded\n", |
|
" noverlap : int, None (default = None)\n", |
|
" amout of overlap between consecutive segments, if None noverlap is set to nperseg / 2\n", |
|
" nw : int (default = 3)\n", |
|
" time-frequency bandwidth for Slepian tapers, passed on to scipy.signal.windows.dpss\n", |
|
" ntapers : int, None (default = None)\n", |
|
" number of tapers, passed on to scipy.signal.windows.dpss, if None ntapers is set to nw * 2 - 1 (as \n", |
|
" suggested by original authors)\n", |
|
" detrend_method : {'constant', 'linear'} (default = 'constant')\n", |
|
" method used by scipy.signal.detrend to detrend each segment\n", |
|
" nspike_min : int\n", |
|
" smallest number of discrete events (per time segment) allowed for a unit to be considered in the\n", |
|
" computation\n", |
|
" \n", |
|
" Returns\n", |
|
" -------\n", |
|
" f : ndarray\n", |
|
" frequency bins\n", |
|
" Sxx_pt, Sxx_ct : ndarray x 2\n", |
|
" 'auto-spectra' of point processes and continuos signals respectively\n", |
|
" Sxy : ndarray\n", |
|
" cross-spectra between every combination of point process and continuous signal channels\n", |
|
" Cxy : ndarray\n", |
|
" coherence magnitude between every combination of point process and continuous signal channels\n", |
|
" phloc : ndarray\n", |
|
" phase locking between every combination of point process and continuous signal channels, phase locking\n", |
|
" index in each frequency bin can be computed by taking the angle of matrix each entry\n", |
|
" \"\"\"\n", |
|
" # allow 1D inputs\n", |
|
" if pt.ndim == 1:\n", |
|
" pt = pt[:, np.newaxis]\n", |
|
" \n", |
|
" if ct.ndim == 1:\n", |
|
" ct = ct[:, np.newaxis]\n", |
|
" \n", |
|
" assert pt.shape[0] == ct.shape[0], \"Signals must be same length.\"\n", |
|
" \n", |
|
" # set some default for parameters values\n", |
|
" if nperseg is None:\n", |
|
" nperseg = 256\n", |
|
" \n", |
|
" if nfft is None:\n", |
|
" nfft = nperseg * 2\n", |
|
" \n", |
|
" if noverlap is None:\n", |
|
" noverlap = nperseg / 2\n", |
|
" \n", |
|
" if ntapers is None:\n", |
|
" ntapers = 2 * nw - 1\n", |
|
" \n", |
|
" stepsize = nperseg - noverlap\n", |
|
" nsegs = int(np.floor(pt.shape[0] / stepsize))\n", |
|
"\n", |
|
" fftnorm = np.sqrt(2 / nfft) # value taken from original matlab function\n", |
|
" \n", |
|
" # initialize auto-spectra and cross-spectra arrays\n", |
|
" Sxx_pt = np.zeros((pt.shape[1], nfft), dtype='complex128')\n", |
|
" Sxx_ct = np.zeros((ct.shape[1], nfft), dtype='complex128')\n", |
|
" Sxy = np.zeros((pt.shape[1], ct.shape[1], nfft), dtype='complex128')\n", |
|
" phloc = np.zeros((pt.shape[1], ct.shape[1], nfft), dtype='complex128')\n", |
|
" \n", |
|
" # get FFT frequency bins\n", |
|
" f = fft.fftfreq(nfft, 1 / fs)\n", |
|
" \n", |
|
" # get tapers\n", |
|
" tapers = windows.dpss(nperseg, nw, Kmax=ntapers)\n", |
|
"\n", |
|
" # keep track of number of segments used for each unit \n", |
|
" unit_nsegs = np.zeros(pt.shape[1]) \n", |
|
" # loop over segments\n", |
|
" for seg_ind in range(nsegs):\n", |
|
" if progress_report:\n", |
|
" print('%d'%(100*(seg_ind+1)/nsegs)+'%', end='\\r')\n", |
|
" \n", |
|
" # prepare segment\n", |
|
" i0 = int(seg_ind * stepsize)\n", |
|
" i1 = int(seg_ind * stepsize + nperseg)\n", |
|
" if i1 > len(pt): # stop if segment is out of range of data\n", |
|
" break\n", |
|
" seg_pt = pt[i0:i1, :]\n", |
|
" seg_ct = ct[i0:i1, :]\n", |
|
" \n", |
|
" # get nspikes\n", |
|
" nspikes = seg_pt.sum(axis=0)\n", |
|
" valid_units = np.where(nspikes >= nspike_min)[0]\n", |
|
" \n", |
|
" # restrict analysis for this segment to units with sufficient spikes\n", |
|
" seg_pt = seg_pt[:, valid_units]\n", |
|
" unit_nsegs[valid_units] += 1\n", |
|
" \n", |
|
" # compute FT of point process data\n", |
|
" pxx_pt = point_fft(seg_pt, tapers, nfft) / fftnorm\n", |
|
" \n", |
|
" # compute 'auto-spectra' of point process\n", |
|
" Sxx_pt[valid_units] += (pxx_pt * np.conjugate(pxx_pt)).sum(axis=0) \n", |
|
" \n", |
|
" # detrend continuous data\n", |
|
" seg_ct = detrend(seg_ct, type=detrend_method, axis=0)\n", |
|
"\n", |
|
" # apply tapers\n", |
|
" tapered_seg_ct = np.array([seg_ct.T * taper for taper in tapers]) \n", |
|
"\n", |
|
" # compute FFT for each channel-taper combination\n", |
|
" pxx_ct = fft.fft(tapered_seg_ct, nfft) / fftnorm\n", |
|
" \n", |
|
" # compute 'auto-spectra' of continuous process\n", |
|
" Sxx_ct += (pxx_ct * np.conjugate(pxx_ct)).sum(axis=0)\n", |
|
" \n", |
|
" # for each unit-channel combination\n", |
|
" for unit in range(seg_pt.shape[1]):\n", |
|
" for channel in range(seg_ct.shape[1]):\n", |
|
" # compute cross-spectra, averaging over tapers\n", |
|
" Sxy[unit, channel] += (pxx_pt[:, unit, :] * np.conjugate(pxx_ct[:, channel, :])).sum(axis=0)\n", |
|
" # take only phase values and compute PLI, averagins over tapers\n", |
|
" pt_phase = np.angle(pxx_pt[:, unit, :])\n", |
|
" ct_phase = np.angle(pxx_ct[:, channel, :])\n", |
|
" phloc[unit, channel] += (np.exp(1j * pt_phase) * np.conjugate(np.exp(1j * ct_phase))).sum(axis=0) \n", |
|
" \n", |
|
" # get normalization factors to account for summing over tapers and segments\n", |
|
" unit_csdnorm = unit_nsegs * ntapers\n", |
|
" continuous_csdnorm = nsegs * ntapers\n", |
|
" \n", |
|
" # apply normalization factors (divide by zero will result in NaN)\n", |
|
" Sxx_pt = (Sxx_pt.T / unit_csdnorm).T\n", |
|
" Sxx_ct = (Sxx_ct.T / continuous_csdnorm).T\n", |
|
" Sxy = (Sxy.T / unit_csdnorm).T\n", |
|
" phloc = (phloc.T / unit_csdnorm).T\n", |
|
" \n", |
|
" # compute power normalization matrix\n", |
|
" powernorm = np.zeros((pt.shape[1], ct.shape[1], nfft))\n", |
|
" for unit in range(pt.shape[1]):\n", |
|
" for channel in range(ct.shape[1]):\n", |
|
" powernorm[unit, channel] = np.sqrt((np.abs(Sxx_pt[unit])) * (np.abs(Sxx_ct[channel]))) \n", |
|
" \n", |
|
" # apply normalization to cross-spectra to get coherence\n", |
|
" Cxy = np.abs(Sxy) / powernorm\n", |
|
" \n", |
|
" return f, Sxx_pt, Sxx_ct, Sxy, Cxy, phloc\n", |
|
"\n", |
|
"def inds2train(inds_list, n):\n", |
|
" \"\"\"\n", |
|
" Convert a set of event indices (time points) into a binary time-series. It is assumed that all channels in\n", |
|
" the input set occur over the same period and that the indices refer to the same time base.\n", |
|
" \n", |
|
" Parameters\n", |
|
" ----------\n", |
|
" inds_list : list, dict, ndarray\n", |
|
" sequence containing indices (time points) at which events occur for each of a set of \n", |
|
" point processes\n", |
|
" n : int\n", |
|
" total length of segment in which events occur\n", |
|
" \n", |
|
" Returns\n", |
|
" -------\n", |
|
" event_train : ndarray\n", |
|
" binary time-series array for each member of input set, columns correspond to channels\n", |
|
" \"\"\"\n", |
|
" event_train = np.zeros((n, len(inds_list)), dtype='uint8')\n", |
|
" for ch in range(len(inds_list)): \n", |
|
" event_train[inds_list[ch], ch] = 1\n", |
|
" \n", |
|
" return event_train\n", |
|
"\n", |
|
"def point_fft(pt, tapers, nfft):\n", |
|
" \"\"\"\n", |
|
" Compute Fourier spectra of a set of point processes given a set of tapers.\n", |
|
" \n", |
|
" Parameters\n", |
|
" ----------\n", |
|
" pt : ndarray\n", |
|
" 2D array of point processes, columns should correspond to processes\n", |
|
" tapers : ndarray\n", |
|
" 2D array of tapers, rows should correspond to different tapers\n", |
|
" nfft : int\n", |
|
" number of points to include in the FFT, if nfft is greater than the number of time points the signals\n", |
|
" will be zero-padded\n", |
|
" \n", |
|
" Returns\n", |
|
" -------\n", |
|
" out : ndarray\n", |
|
" Fourier series of each tapered point process\n", |
|
" \"\"\"\n", |
|
" # allow 1D input\n", |
|
" if pt.ndim == 1:\n", |
|
" pt = pt[:, np.newaxis]\n", |
|
" \n", |
|
" assert pt.shape[0] == tapers.shape[1], \"Tapers and point-processes must have same number of time points.\"\n", |
|
" \n", |
|
" # apply tapers to point process\n", |
|
" tapered_pt = np.array([pt.T * taper for taper in tapers])\n", |
|
" \n", |
|
" # compute mean event rate (repeated for each taper)\n", |
|
" mean_rates = np.ones((tapers.shape[0], pt.shape[-1])) * pt.mean(axis=0)\n", |
|
" \n", |
|
" # compute FT of tapers\n", |
|
" taper_fft = fft.fft(tapers, nfft)\n", |
|
" \n", |
|
" # compute a 'baseline' spectrum by scaling the taper FT by the mean rate\n", |
|
" baseline = np.array([mean_rates.T * taper for taper in taper_fft.T]).T\n", |
|
" \n", |
|
" # compute FT of tapered point process and subtract baseline \n", |
|
" return fft.fft(tapered_pt, nfft) - baseline " |
|
] |
|
}, |
|
{ |
|
"cell_type": "markdown", |
|
"metadata": {}, |
|
"source": [ |
|
"## Spike triggered covariance\n", |
|
"How can we define spike triggered average/covariance for a stimulus with parameters on a circle/[klein bottle]" |
|
] |
|
}, |
|
{ |
|
"cell_type": "code", |
|
"execution_count": null, |
|
"metadata": {}, |
|
"outputs": [], |
|
"source": [] |
|
} |
|
], |
|
"metadata": { |
|
"kernelspec": { |
|
"display_name": "Python 3.10.5 64-bit", |
|
"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.10.5" |
|
}, |
|
"orig_nbformat": 4, |
|
"vscode": { |
|
"interpreter": { |
|
"hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" |
|
} |
|
} |
|
}, |
|
"nbformat": 4, |
|
"nbformat_minor": 2 |
|
}
|
|
|