This commit is contained in:
efish 2018-11-21 13:53:52 +01:00
parent a151ebd886
commit 470240df1d
3 changed files with 31 additions and 56 deletions

View File

@ -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?

View File

@ -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()

View File

@ -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)