diff --git a/code/base_chirps.py b/code/base_chirps.py index 94307c0..5ae38ed 100644 --- a/code/base_chirps.py +++ b/code/base_chirps.py @@ -9,7 +9,7 @@ from IPython import embed data_dir = "../data" dataset = "2018-11-09-ad-invivo-1" -data = ("2018-11-09-ad-invivo-1", "2018-11-09-ae-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ac-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-ah-invivo-1", "2018-11-14-ai-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1") +#data = ("2018-11-09-ad-invivo-1", "2018-11-09-ae-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ac-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-ah-invivo-1", "2018-11-14-ai-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1","2018-11-20-aa-invivo-1", "2018-11-20-ab-invivo-1", "2018-11-20-ac-invivo-1", "2018-11-20-ad-invivo-1"," 2018-11-20-ae-invivo-1", "2018-11-20-af-invivo-1", "2018-11-20-ag-invivo-1", "2018-11-20-ah-invivo-1", "2018-11-20-ai-invivo-1") @@ -56,7 +56,7 @@ axs[1,1].set_xlabel('Time [ms]') #for i in df_map.keys(): -freq = list(df_map['-50Hz']) +freq = list(df_map[-50]) ls_mod = [] ls_beat = [] for k in freq: @@ -71,18 +71,35 @@ for k in freq: beat_cut = ampl[(zeit > chirp-55) & (zeit < chirp-10)] chirp_mod = np.std(eods_cut) #Std vom Bereich um den Chirp - ls_mod.append(chirp_mod) #in die richtige Reihenfolge bringen? - #momentan nicht nach Chirp-Platz sortiert, sondern nacheinander + ls_mod.append(chirp_mod) + ls_beat.extend(beat_cut) - #erst beat_cuts auf die gleiche Länge bringen! - ls_beat.append(beat_cut) - -#beat_mod = np.std(ls_beat) #Std vom Bereich vor dem Chirp +beat_mod = np.std(ls_beat) #Std vom Bereich vor dem Chirp plt.figure() plt.scatter(np.arange(0,len(ls_mod),1), ls_mod) -plt.scatter(np.arange(0,len(ls_mod),1), np.ones(len(ls_mod))/2, color = 'violet') +plt.scatter(np.arange(0,len(ls_mod),1), np.ones(len(ls_mod))*beat_mod, color = 'violet') plt.show() #Chirps einer Phase zuordnen - zusammen plotten? + +dct_phase = {} +chirp_spikes = read_chirp_spikes(os.path.join(data_dir, dataset)) +df_map = map_keys(chirp_spikes) +sort_df = sorted(df_map.keys()) + +num_bin = 12 +phase_vec = np.arange(0, 1+1/num_bin, 1/num_bin) + +for i in sort_df: + freq = list(df_map[i]) + dct_phase[i] = [] + for k in freq: + for phase in chirp_spikes[k]: + dct_phase[i].append(phase[1]) + #for idx in np.arange(num_bin): + #if phase[1] > phase_vec[idx] and phase[1] < phase_vec[idx+1]: + +print(dct_phase) + diff --git a/code/base_eod.py b/code/base_eod.py index 888084a..5a8c5ad 100644 --- a/code/base_eod.py +++ b/code/base_eod.py @@ -7,7 +7,7 @@ from IPython import embed #Funktionen importieren data_dir = "../data" dataset = "2018-11-09-aa-invivo-1" -#data = ("2018-11-09-aa-invivo-1", "2018-11-09-ab-invivo-1", "2018-11-09-ac-invivo-1", "2018-11-09-ad-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ab-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-09-af-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ab-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-ae-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-aj-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1") +#data = ("2018-11-09-aa-invivo-1", "2018-11-09-ab-invivo-1", "2018-11-09-ac-invivo-1", "2018-11-09-ad-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ab-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-09-af-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ab-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-ae-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-aj-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1", "2018-11-20-aa-invivo-1", "2018-11-20-ab-invivo-1", "2018-11-20-ac-invivo-1", "2018-11-20-ad-invivo-1"," 2018-11-20-ae-invivo-1", "2018-11-20-af-invivo-1", "2018-11-20-ag-invivo-1", "2018-11-20-ah-invivo-1", "2018-11-20-ai-invivo-1") time,eod = read_baseline_eod(os.path.join(data_dir, dataset)) zeit = np.asarray(time) diff --git a/code/base_spikes.py b/code/base_spikes.py index 3984c0f..90525a6 100644 --- a/code/base_spikes.py +++ b/code/base_spikes.py @@ -8,8 +8,8 @@ from IPython import embed #Funktionen imposrtieren data_dir = "../data" -dataset = "2018-11-09-ad-invivo-1" -#data = ("2018-11-09-aa-invivo-1", "2018-11-09-ab-invivo-1", "2018-11-09-ac-invivo-1", "2018-11-09-ad-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ab-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-09-af-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ab-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-ae-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-aj-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1") +dataset = "2018-11-13-ad-invivo-1" +#data = ("2018-11-09-ad-invivo-1", "2018-11-13-aa-invivo-1", "2018-11-13-ad-invivo-1", "2018-11-09-af-invivo-1", "2018-11-09-ag-invivo-1", "2018-11-13-ah-invivo-1", "2018-11-13-ai-invivo-1", "2018-11-13-aj-invivo-1", "2018-11-13-ak-invivo-1", "2018-11-13-al-invivo-1", "2018-11-14-aa-invivo-1", "2018-11-14-ab-invivo-1", "2018-11-14-ac-invivo-1", "2018-11-14-ad-invivo-1", "2018-11-14-ae-invivo-1", "2018-11-14-af-invivo-1", "2018-11-14-ag-invivo-1", "2018-11-14-ah-invivo-1", "2018-11-14-aj-invivo-1", "2018-11-14-ak-invivo-1", "2018-11-14-al-invivo-1", "2018-11-14-am-invivo-1", "2018-11-14-an-invivo-1", "2018-11-20-aa-invivo-1", "2018-11-20-ab-invivo-1", "2018-11-20-ac-invivo-1", "2018-11-20-ad-invivo-1"," 2018-11-20-ae-invivo-1", "2018-11-20-af-invivo-1", "2018-11-20-ag-invivo-1", "2018-11-20-ah-invivo-1", "2018-11-20-ai-invivo-1") @@ -38,46 +38,46 @@ plt.show() #Nyquist-Theorem Plot: + chirp_spikes = read_chirp_spikes(os.path.join(data_dir, dataset)) df_map = map_keys(chirp_spikes) -ls_rate = {} -for i in df_map.keys(): +sort_df = sorted(df_map.keys()) + +plt.figure() +dct_rate = {} +for i in sort_df: freq = list(df_map[i]) - ls_rate[i] = [] + dct_rate[i] = [] for k in freq: for phase in chirp_spikes[k]: spikes = chirp_spikes[k][phase] rate = len(spikes)/ 1.2 - ls_rate[i].append(rate) + dct_rate[i].append(rate) -plt.figure() -sort_df = sorted(df_map.keys(),reverse = False) -print(sort_df) +for h in sort_df: + plt.plot(np.arange(0,len(dct_rate[h]),1),dct_rate[h], label = h) -for i in sort_df: - plt.plot(np.arange(0,len(ls_rate[i]),1),ls_rate[i], label = i) - -plt.vlines(10, ymin = 200, ymax = 300) -plt.vlines(30, ymin = 200, ymax = 300) -plt.vlines(50, ymin = 200, ymax = 300) -plt.vlines(70, ymin = 200, ymax = 300) -plt.vlines(90, ymin = 200, ymax = 300) -plt.vlines(110, ymin = 200, ymax = 300) -plt.vlines(130, ymin = 200, ymax = 300) -plt.vlines(150, ymin = 200, ymax = 300) +#plt.vlines(10, ymin = 190, ymax = 310) plt.legend() +plt.title('Firing rate of the cell for all trials, sorted by df') +plt.xlabel('# of trials') +plt.ylabel('Instant firing rate of the cell') plt.show() - #mittlere Feuerrate einer Frequenz auf Frequenz plt.figure() ls_mean = [] -for i in sort_df: - mean = np.mean(ls_rate[i]) +for d in sort_df: + mean = np.mean(dct_rate[d]) ls_mean.append(mean) - plt.plot(np.arange(0,len(ls_mean),1),ls_mean) +plt.title('Mean firing rate of a cell for a range of frequency differences') +plt. xticks(np.arange(len(sort_df)), (sort_df)) +plt.xlabel('Range of frequency differences [Hz]') +plt.ylabel('Mean firing rate of the cell') plt.show() + + diff --git a/code/utility.py b/code/utility.py index fcb05f7..6494a74 100644 --- a/code/utility.py +++ b/code/utility.py @@ -36,11 +36,10 @@ def smooth(data, window, dt): def map_keys(input): df_map = {} for k in input.keys(): - df = k[1] - #ch = k[3] + freq = k[1] + df = int(freq.strip('Hz')) if df in df_map.keys(): df_map[df].append(k) else: df_map[df] = [k] return df_map - #print(ch)