From c713cbc1ffd4e9c890af2e505c0fdebbf533a8b4 Mon Sep 17 00:00:00 2001 From: Ramona Date: Wed, 21 Nov 2018 11:01:45 +0100 Subject: [PATCH 1/2] finally :D --- code/spikes_analysis.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/code/spikes_analysis.py b/code/spikes_analysis.py index a665a80..41451a4 100644 --- a/code/spikes_analysis.py +++ b/code/spikes_analysis.py @@ -42,33 +42,31 @@ for deltaf in df_map.keys(): binary_spikes = np.isin(cut_range, spikes_idx)*1 if phase_vec[idx] in df_phase_time[deltaf].keys(): - df_phase_time[deltaf][phase_vec[idx]].append(spikes[rep][phase]) + df_phase_time[deltaf][phase_vec[idx]].append(spikes_cut) df_phase_binary[deltaf][phase_vec[idx]] = np.vstack((df_phase_binary[deltaf][phase_vec[idx]], binary_spikes)) else: - df_phase_time[deltaf][phase_vec[idx]] = [spikes[rep][phase]] + df_phase_time[deltaf][phase_vec[idx]] = [spikes_cut] df_phase_binary[deltaf][phase_vec[idx]] = binary_spikes -plot_trials = df_phase_binary['-50Hz'][0.0] -#hist_data = plt.hist(plot_trials) -#ax.plot(hist_data[1][:-1], hist_data[0]) + +plot_trials = df_phase_time['-50Hz'][0.0] +plot_trials_binary = np.mean(df_phase_binary['-50Hz'][0.0], axis=0) + +mu = 1 +sigma = 100 +time_gauss = np.arange(-4*sigma, 4*sigma, 1) +gauss = gaussian(time_gauss, mu, sigma) +smoothed_spikes = np.convolve(plot_trials_binary, gauss, 'same') +time_axis = np.arange(-50, 50, 1/sampling_rate) fig, ax = plt.subplots() for i, trial in enumerate(plot_trials): - embed() - exit() - trial[trial == 0] = np.nan - ax.scatter(np.ones(len(trial)), trial, marker='|', color='k', size=12) + ax.scatter(trial, np.ones(len(trial))+i, marker='|', color='k') +ax.plot(time_axis, smoothed_spikes) plt.show() -#mu = 1 -#sigma = 1 -#time_gauss = np.arange(-4, 4, 1) -#gauss = gaussian(time_gauss, mu, sigma) -# spikes during time vec (00010000001)? - -#smoothed_spikes = np.convolve(plot_spikes, gauss, 'same') #window = np.mean(np.diff(plot_spikes)) #time_vec = np.arange(plot_spikes[0], plot_spikes[-1]+window, window) From 15e7fbc51fdae0e15e0f97475eac56eec5dd30b0 Mon Sep 17 00:00:00 2001 From: Ramona Date: Wed, 21 Nov 2018 11:06:00 +0100 Subject: [PATCH 2/2] smoothing function --- code/spikes_analysis.py | 7 ++----- code/utility.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/spikes_analysis.py b/code/spikes_analysis.py index 41451a4..e369e8e 100644 --- a/code/spikes_analysis.py +++ b/code/spikes_analysis.py @@ -53,11 +53,8 @@ for deltaf in df_map.keys(): plot_trials = df_phase_time['-50Hz'][0.0] plot_trials_binary = np.mean(df_phase_binary['-50Hz'][0.0], axis=0) -mu = 1 -sigma = 100 -time_gauss = np.arange(-4*sigma, 4*sigma, 1) -gauss = gaussian(time_gauss, mu, sigma) -smoothed_spikes = np.convolve(plot_trials_binary, gauss, 'same') +window = 100 +smoothed_spikes = smooth(plot_trials_binary, window) time_axis = np.arange(-50, 50, 1/sampling_rate) fig, ax = plt.subplots() diff --git a/code/utility.py b/code/utility.py index 0f3ce19..3bfdb30 100644 --- a/code/utility.py +++ b/code/utility.py @@ -23,6 +23,16 @@ def gaussian(x, mu, sig): y = np.exp(-np.power(x - mu, 2.) / (2 * np.power(sig, 2.))) return y + +def smooth(data, window): + mu = 1 + sigma = window + time_gauss = np.arange(-4 * sigma, 4 * sigma, 1) + gauss = gaussian(time_gauss, mu, sigma) + smoothed_data = np.convolve(data, gauss, 'same') + return smoothed_data + + def map_keys(input): df_map = {} for k in input.keys():