This commit is contained in:
xaver
2020-10-05 15:25:49 +02:00
parent 90d9b19d9a
commit d231c75806
7 changed files with 112 additions and 188 deletions

View File

@@ -14,7 +14,8 @@ from scipy.signal import savgol_filter
base_path = 'D:\\jar_project\\JAR\\eigenmannia\\deltaf'
identifier = ['2013eigen13','2015eigen16', '2015eigen17', '2015eigen19', '2020eigen22','2020eigen32']
#2015eigen8 no nix files
identifier = ['2015eigen16', '2013eigen13','2015eigen17', '2015eigen19', '2020eigen22','2020eigen32']
response = []
deltaf = []
@@ -47,8 +48,8 @@ for ID in identifier:
eodf = fish_f[index]
eodf4 = eodf * 4
lim0 = eodf4 - 50
lim1 = eodf4 + 50
lim0 = eodf4 - 40
lim1 = eodf4 + 40
df = freqs[1] - freqs[0]
ix0 = int(np.floor(lim0/df)) # back to index
@@ -58,10 +59,17 @@ for ID in identifier:
jar4 = freq4[np.argmax(spec4, axis=0)] # all freqs at max specs over axis 0
cut_time_jar = times[:len(jar4)]
#plt.imshow(spec4, cmap='jet', origin='lower', extent=(times[0], times[-1], lim0, lim1), aspect='auto', vmin=-80, vmax=-10)
#plt.plot(cut_time_jar, jar4)
ID_delta_f = [ID, str(delta_f[0]).split('.')[0]]
plt.imshow(spec4, cmap='jet', origin='lower', extent=(times[0] - 10, times[-1] - 10, lim0, lim1), aspect='auto', vmin=-80, vmax=-10)
plt.plot((cut_time_jar - 10), jar4, 'k', label = 'jar trace', lw = 2)
plt.hlines(y=lim0 + 5, xmin=0, xmax=60, lw=2.5, color='gold', label='stimulus duration')
plt.title('spectogram %s, deltaf: %sHz' %tuple(ID_delta_f))
plt.xlim(right=times[-1] - 10)
plt.legend()
#plt.show()
delta_f_ID = [str(delta_f[0]).split('.')[0], ID]
plt.savefig('%sHz_specgram_jar_%s' %tuple(delta_f_ID))
plt.close()
b = []
for idx, i in enumerate(times):
@@ -79,8 +87,4 @@ for ID in identifier:
res_df = sorted(zip(deltaf,response))
np.save('res_df_%s_new' %ID, res_df)
# problem: rohdaten(data, pre_data) lassen sich auf grund ihrer 1D-array struktur nicht savgol filtern
# diese bekomm ich nur über specgram in form von freq / time auftragen, was nicht mehr savgol gefiltert werden kann
# jedoch könnte ich trotzdem einfach aus jar4 response herauslesen wobei dies dann weniger gefiltert wäre
#np.save('res_df_%s_new' %ID, res_df)