diff --git a/code/base_chirps.py b/code/base_chirps.py index 80c14bb..1112d78 100644 --- a/code/base_chirps.py +++ b/code/base_chirps.py @@ -1,5 +1,6 @@ from read_chirp_data import * -import nix_helpers as nh +from utility import * +#import nix_helpers as nh import matplotlib.pyplot as plt import numpy as np from IPython import embed @@ -15,24 +16,12 @@ data = ("2018-11-09-ad-invivo-1", "2018-11-09-ae-invivo-1", "2018-11-09-ag-inviv #for dataset in data: eod = read_chirp_eod(os.path.join(data_dir, dataset)) times = read_chirp_times(os.path.join(data_dir, dataset)) - - - -df_map = {} #Keys werden nach df sortiert ausgegeben -for k in eod.keys(): - df = k[1] - ch = k[3] - if df in df_map.keys(): - df_map[df].append(k) - else: - df_map[df] = [k] - -#print(ch) #die Chirphöhe wird ausgegeben, um zu bestimmen, ob Chirps oder Chirps large benutzt wurde +df_map = map_keys(eod) #die äußere Schleife geht für alle Keys durch und somit durch alle dfs -#die innnere Schleife bildet die 16 Wiederholungen einer Frequenz in 4 Subplots ab +#die innnere Schleife bildet die 16 Wiederholungen einer Frequenz ab for i in df_map.keys(): freq = list(df_map[i]) fig,axs = plt.subplots(2, 2, sharex = True, sharey = True) @@ -62,40 +51,33 @@ axs[0,0].set_ylabel('Amplitude [mV]') axs[0,1].set_xlabel('Amplitude [mV]') axs[1,0].set_xlabel('Time [ms]') axs[1,1].set_xlabel('Time [ms]') -#axs kann nur einzelne Label erzeugen, nicht generell möglich wie beim Titel - -for i in df_map.keys(): - freq = list(df_map[i]) - ct = times[freq[1]] - ct1 = ct[1] +#for i in df_map.keys(): +freq = list(df_map['-50Hz']) +ls_mod = [] +beat_mods = [] +for k in freq: e1 = eod[k] zeit = np.asarray(e1[0]) ampl = np.asarray(e1[1]) - time_cut = zeit[(zeit > ct1-25) & (zeit < ct1+25)] - eod_cut = ampl[(zeit > ct1-25) & (zeit < ct1+25)] - - change = ampl[int(ct1)] - - plt.figure(12) - plt.plot(time_cut, eod_cut) - plt.scatter(ct1, 3, color = 'green', s= 30) - plt.title('Chirp reaction Ampl.') - plt.xlabel('Time [ms]') - plt.ylabel('Amplitude[mV]') - #plt.show() - - -#4. Chirps einer Phase zuordnen - zusammen plotten? - + ct = times[k] + for chirp in ct: + time_cut = zeit[(zeit > chirp-10) & (zeit < chirp+10)] + eods_cut = ampl[(zeit > chirp-10) & (zeit < chirp+10)] + beat_cut = ampl[(zeit > chirp-55) & (zeit < chirp-10)] + chirp_mod = np.std(eods_cut) #Std vom Bereich um den Chirp + beat_mod = np.std(beat_cut) #Std vom Bereich vor dem Chirp + ls_mod.append(chirp_mod) + beat_mods.append(beat_mod) -#next Step: EOD-Amplitudenmodulation für beat aber OHNE Chirps plotten -#allerdings: in der Aufnahme sind nur kurze Zeitfenster ohne Chirps zu finden! +#Länge des Mods ist 160, 16 Wiederholungen mal 10 Chirps pro Trial +#Verwendung der Std für die Amplitudenmodulation? +#Chirps einer Phase zuordnen - zusammen plotten? diff --git a/code/base_spikes.py b/code/base_spikes.py index 8e6793b..2fd0e9f 100644 --- a/code/base_spikes.py +++ b/code/base_spikes.py @@ -1,6 +1,7 @@ from read_baseline_data import * from read_chirp_data import * -import nix_helpers as nh +from utility import * +#import nix_helpers as nh import matplotlib.pyplot as plt import numpy as np from IPython import embed #Funktionen importieren @@ -38,26 +39,18 @@ plt.show() #Nyquist-Theorem Plot: chirp_spikes = read_chirp_spikes(os.path.join(data_dir, dataset)) - - -df_map = {} -#Keys werden nach df sortiert ausgegeben -for k in chirp_spikes.keys(): - df = k[1] - ch = k[3] - if df in df_map.keys(): - df_map[df].append(k) - else: - df_map[df] = [k] +df_map = map_keys(chirp_spikes) for i in df_map.keys(): freq = list(df_map[i]) for k in freq: - spikes = chirp_spikes[k] - trial = spikes[1] - print(trial) + phase_map = map_keys(spikes) + for p in phase_map: + spike_rate = 1./ np.diff(p) + +print(spike_rate) # # plt.plot(spikes, rate) # plt.show() diff --git a/code/utility.py b/code/utility.py index 0f3ce19..2a3f083 100644 --- a/code/utility.py +++ b/code/utility.py @@ -27,10 +27,10 @@ def map_keys(input): df_map = {} for k in input.keys(): df = k[1] - ch = k[3] + #ch = k[3] if df in df_map.keys(): df_map[df].append(k) else: df_map[df] = [k] return df_map - print(ch) + #print(ch)