adding stuff
This commit is contained in:
parent
7b74a7c024
commit
c28c227291
@ -4,42 +4,29 @@ import matplotlib.pyplot as plt
|
||||
from thunderfish import fakefish
|
||||
|
||||
from modules.filters import bandpass_filter
|
||||
from chirpdetection import instantaneos_frequency
|
||||
from modules.datahandling import instantaneous_frequency
|
||||
from modules.simulations import create_chirp
|
||||
|
||||
# create chirp
|
||||
"""
|
||||
time, signal, ampl, freq = create_chirp(
|
||||
chirptimes=[0.05, 0.2501, 0.38734, 0.48332, 0.73434, 0.823424], )
|
||||
# filter signal with bandpass_filter
|
||||
signal = bandpass_filter(signal, 1/0.00001, 495, 505)
|
||||
fig, axs = plt.subplots(2, 1, figsize=(10, 10))
|
||||
axs[0].plot(np.arange(len(ampl)), ampl)
|
||||
|
||||
# plot instatneous frequency
|
||||
|
||||
baseline_freq_time, baseline_freq = instantaneos_frequency(signal, 1/0.00001)
|
||||
axs[1].plot(baseline_freq_time[1:], baseline_freq[1:])
|
||||
plt.close()
|
||||
|
||||
"""
|
||||
# trying thunderfish fakefish chirp simulation ---------------------------------
|
||||
samplerate = 44100
|
||||
freq, ampl = fakefish.chirps(eodf=500, chirp_contrast=0.2)
|
||||
data = fakefish.wavefish_eods(fish='Alepto', frequency=freq, phase0=3)
|
||||
data = fakefish.wavefish_eods(fish='Alepto', frequency=freq, phase0=3, samplerate=samplerate)
|
||||
|
||||
# filter signal with bandpass_filter
|
||||
data_filterd = bandpass_filter(data*ampl+1, samplerate, 0.01, 1.99)
|
||||
data_freq_time, data_freq, true_zero = instantaneos_frequency(data*ampl, samplerate)
|
||||
embed()
|
||||
data_freq_time, data_freq = instantaneous_frequency(data, samplerate, 5)
|
||||
|
||||
|
||||
fig, ax = plt.subplots(4, 1, figsize=(20 / 2.54, 12 / 2.54), sharex=True)
|
||||
|
||||
ax[0].plot(np.arange(len(data))/samplerate, data*ampl)
|
||||
ax[0].scatter(true_zero, np.zeros_like(true_zero), color='red')
|
||||
#ax[0].scatter(true_zero, np.zeros_like(true_zero), color='red')
|
||||
ax[1].plot(np.arange(len(data_filterd))/samplerate, data_filterd)
|
||||
ax[2].plot(np.arange(len(freq))/samplerate, freq)
|
||||
ax[3].plot(data_freq_time[1:], data_freq[1:])
|
||||
ax[3].plot(data_freq_time, data_freq)
|
||||
|
||||
|
||||
plt.show()
|
||||
|
@ -133,41 +133,45 @@ def get_chirp_freq(folder_name, Behavior, order_meta_df):
|
||||
Behavior.freq[Behavior.ident == fish2_freq])
|
||||
|
||||
if winner == fish1:
|
||||
if chirp_freq_fish1 > chirp_freq_fish2:
|
||||
freq_diff_higher = chirp_freq_fish1 - chirp_freq_fish2
|
||||
freq_diff_lower = chirp_freq_fish2 - chirp_freq_fish1
|
||||
|
||||
elif chirp_freq_fish1 < chirp_freq_fish2:
|
||||
freq_diff_higher = chirp_freq_fish1 - chirp_freq_fish2
|
||||
freq_diff_lower = chirp_freq_fish2 - chirp_freq_fish1
|
||||
else:
|
||||
freq_diff_higher = np.nan
|
||||
freq_diff_lower = np.nan
|
||||
winner_fish_id = np.nan
|
||||
loser_fish_id = np.nan
|
||||
# if chirp_freq_fish1 > chirp_freq_fish2:
|
||||
# freq_diff_higher = chirp_freq_fish1 - chirp_freq_fish2
|
||||
# freq_diff_lower = chirp_freq_fish2 - chirp_freq_fish1
|
||||
|
||||
# elif chirp_freq_fish1 < chirp_freq_fish2:
|
||||
# freq_diff_higher = chirp_freq_fish1 - chirp_freq_fish2
|
||||
# freq_diff_lower = chirp_freq_fish2 - chirp_freq_fish1
|
||||
# else:
|
||||
# freq_diff_higher = np.nan
|
||||
# freq_diff_lower = np.nan
|
||||
# winner_fish_id = np.nan
|
||||
# loser_fish_id = np.nan
|
||||
|
||||
winner_fish_id = folder_row['rec_id1'].values[0]
|
||||
winner_fish_freq = chirp_freq_fish1
|
||||
loser_fish_id = folder_row['rec_id2'].values[0]
|
||||
loser_fish_freq = chirp_freq_fish2
|
||||
|
||||
elif winner == fish2:
|
||||
if chirp_freq_fish2 > chirp_freq_fish1:
|
||||
freq_diff_higher = chirp_freq_fish2 - chirp_freq_fish1
|
||||
freq_diff_lower = chirp_freq_fish1 - chirp_freq_fish2
|
||||
|
||||
elif chirp_freq_fish2 < chirp_freq_fish1:
|
||||
freq_diff_higher = chirp_freq_fish2 - chirp_freq_fish1
|
||||
freq_diff_lower = chirp_freq_fish1 - chirp_freq_fish2
|
||||
else:
|
||||
freq_diff_higher = np.nan
|
||||
freq_diff_lower = np.nan
|
||||
winner_fish_id = np.nan
|
||||
loser_fish_id = np.nan
|
||||
# if chirp_freq_fish2 > chirp_freq_fish1:
|
||||
# freq_diff_higher = chirp_freq_fish2 - chirp_freq_fish1
|
||||
# freq_diff_lower = chirp_freq_fish1 - chirp_freq_fish2
|
||||
|
||||
# elif chirp_freq_fish2 < chirp_freq_fish1:
|
||||
# freq_diff_higher = chirp_freq_fish2 - chirp_freq_fish1
|
||||
# freq_diff_lower = chirp_freq_fish1 - chirp_freq_fish2
|
||||
# else:
|
||||
# freq_diff_higher = np.nan
|
||||
# freq_diff_lower = np.nan
|
||||
# winner_fish_id = np.nan
|
||||
# loser_fish_id = np.nan
|
||||
|
||||
winner_fish_id = folder_row['rec_id2'].values[0]
|
||||
winner_fish_freq = chirp_freq_fish2
|
||||
loser_fish_id = folder_row['rec_id1'].values[0]
|
||||
loser_fish_freq = chirp_freq_fish1
|
||||
else:
|
||||
freq_diff_higher = np.nan
|
||||
freq_diff_lower = np.nan
|
||||
winner_fish_freq = np.nan
|
||||
loser_fish_freq = np.nan
|
||||
winner_fish_id = np.nan
|
||||
loser_fish_id = np.nan
|
||||
|
||||
@ -176,7 +180,7 @@ def get_chirp_freq(folder_name, Behavior, order_meta_df):
|
||||
chirp_loser = len(
|
||||
Behavior.chirps[Behavior.chirps_ids == loser_fish_id])
|
||||
|
||||
return freq_diff_higher, chirp_winner, freq_diff_lower, chirp_loser
|
||||
return winner_fish_freq, chirp_winner, loser_fish_freq, chirp_loser
|
||||
|
||||
|
||||
def main(datapath: str):
|
||||
@ -229,11 +233,11 @@ def main(datapath: str):
|
||||
size_diff_bigger, chirp_winner, size_diff_smaller, chirp_loser = get_chirp_size(
|
||||
foldername, bh, order_meta_df, id_meta_df)
|
||||
|
||||
freq_diff_higher, chirp_freq_winner, freq_diff_lower, chirp_freq_loser = get_chirp_freq(
|
||||
freq_winner, chirp_freq_winner, freq_loser, chirp_freq_loser = get_chirp_freq(
|
||||
foldername, bh, order_meta_df)
|
||||
|
||||
freq_diffs_higher.append(freq_diff_higher)
|
||||
freq_diffs_lower.append(freq_diff_lower)
|
||||
freq_diffs_higher.append(freq_winner)
|
||||
freq_diffs_lower.append(freq_loser)
|
||||
freq_chirps_winner.append(chirp_freq_winner)
|
||||
freq_chirps_loser.append(chirp_freq_loser)
|
||||
|
||||
@ -247,15 +251,15 @@ def main(datapath: str):
|
||||
size_winner_pearsonr = pearsonr(size_diffs_winner, size_chirps_winner)
|
||||
size_loser_pearsonr = pearsonr(size_diffs_loser, size_chirps_loser)
|
||||
|
||||
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(
|
||||
13*ps.cm, 10*ps.cm), sharey=True)
|
||||
plt.subplots_adjust(left=0.098, right=0.945, top=0.94, wspace=0.343)
|
||||
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(
|
||||
21*ps.cm, 10*ps.cm), width_ratios=[1, 0.8, 0.8], sharey=True)
|
||||
plt.subplots_adjust(left=0.11, right=0.948, top=0.905, wspace=0.343, bottom=0.145)
|
||||
scatterwinner = 1.15
|
||||
scatterloser = 1.85
|
||||
chirps_winner = np.asarray(chirps_winner)[~np.isnan(chirps_winner)]
|
||||
chirps_loser = np.asarray(chirps_loser)[~np.isnan(chirps_loser)]
|
||||
|
||||
stat = wilcoxon(chirps_winner, chirps_loser)
|
||||
stat = wilcoxon(chirps_winner, chirps_loser)
|
||||
print(stat)
|
||||
|
||||
bplot1 = ax1.boxplot(chirps_winner, positions=[
|
||||
@ -268,14 +272,15 @@ def main(datapath: str):
|
||||
ax1.scatter(np.ones(len(chirps_loser)) *
|
||||
scatterloser, chirps_loser, color=ps.orange)
|
||||
ax1.set_xticklabels(['winner', 'loser'])
|
||||
ax1.text(0.1, 0.9, f'n = {len(chirps_winner)}',
|
||||
transform=ax1.transAxes, color=ps.white)
|
||||
|
||||
ax1.text(1, 2000, f'{len(chirps_winner)}', color='gray')
|
||||
ax1.text(1.8, 2000, f'{len(chirps_loser)}', color='gray')
|
||||
|
||||
for w, l in zip(chirps_winner, chirps_loser):
|
||||
ax1.plot([scatterwinner, scatterloser], [w, l],
|
||||
color=ps.white, alpha=1, linewidth=0.5)
|
||||
ax1.set_ylabel('chirps [n]', color=ps.white)
|
||||
ax1.set_xlabel('outcome', color=ps.white)
|
||||
ax1.set_ylabel('chirpcount', color=ps.white)
|
||||
ax1.set_xlabel('outcome', color=ps.white)
|
||||
|
||||
colors1 = ps.red
|
||||
ps.set_boxplot_color(bplot1, colors1)
|
||||
@ -283,17 +288,24 @@ def main(datapath: str):
|
||||
ps.set_boxplot_color(bplot2, colors1)
|
||||
|
||||
ax2.scatter(size_diffs_winner, size_chirps_winner,
|
||||
color=ps.red, label='winner')
|
||||
color=ps.red, label=f'winner')
|
||||
ax2.scatter(size_diffs_loser, size_chirps_loser,
|
||||
color=ps.orange, label='loser')
|
||||
ax2.text(-1, 2000, f'{len(size_chirps_winner)}', color= 'gray')
|
||||
ax2.text(1, 2000, f'{len(size_chirps_loser)}', color= 'gray')
|
||||
|
||||
ax2.set_xlabel('size difference [cm]')
|
||||
# ax2.set_xticks(np.arange(-10, 10.1, 2))
|
||||
|
||||
ax3.scatter(freq_diffs_higher, freq_chirps_winner, color=ps.red)
|
||||
ax3.scatter(freq_diffs_lower, freq_chirps_loser, color=ps.orange)
|
||||
|
||||
ax3.text(600, 2000, f'n = {len(freq_chirps_winner)}', color='gray')
|
||||
ax3.text(650, 2000, f'{len(freq_chirps_loser)}', color='gray')
|
||||
|
||||
ax3.set_xlabel('absolut frequency [Hz]')
|
||||
handles, labels = ax2.get_legend_handles_labels()
|
||||
fig.legend(handles, labels, loc='upper center', ncol=2)
|
||||
plt.subplots_adjust(left=0.162, right=0.97, top=0.85, bottom=0.176)
|
||||
|
||||
# pearson r
|
||||
plt.savefig('../poster/figs/chirps_winner_loser.pdf')
|
||||
plt.show()
|
||||
|
@ -57,7 +57,7 @@ def main(datapath: str):
|
||||
time_chasing_percent = (time_chasing/(3*60*60))*100
|
||||
chirps_chasing = np.asarray(flatten(chirps_in_chasings))
|
||||
chirps_chasing_new = chirps_chasing[chirps_chasing<3*60*60]
|
||||
chirps_percent = (len(chirps_chasing_new)/len(bh.chirps))*100
|
||||
chirps_percent = (len(chirps_chasing_new)/len(bh.chirps[bh.chirps<3*60*60]))*100
|
||||
|
||||
time_precents.append(time_chasing_percent)
|
||||
chirps_percents.append(chirps_percent)
|
||||
@ -69,6 +69,9 @@ def main(datapath: str):
|
||||
ax.set_ylabel('Percent')
|
||||
ax.scatter(np.ones(len(time_precents))*1.25, time_precents, color=ps.white)
|
||||
ax.scatter(np.ones(len(chirps_percents))*1.75, chirps_percents, color=ps.white)
|
||||
for i in range(len(time_precents)):
|
||||
ax.plot([1.25, 1.75], [time_precents[i], chirps_percents[i]], color=ps.white)
|
||||
ax.text(0.99, 0.99, f'{len(time_precents)} fish', transform=ax.transAxes)
|
||||
plt.savefig('../poster/figs/chirps_in_chasing.pdf')
|
||||
plt.show()
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
poster/main.pdf
BIN
poster/main.pdf
Binary file not shown.
@ -54,19 +54,19 @@ blockverticalspace=2mm, colspace=20mm, subcolspace=0mm]{tikzposter} %Default val
|
||||
\end{itemize}
|
||||
|
||||
\noindent
|
||||
\begin{minipage}[c]{0.7\linewidth}
|
||||
\begin{tikzfigure}[]
|
||||
\label{fig:example_b}
|
||||
\includegraphics[width=\linewidth]{figs/chirps_winner_loser.pdf}
|
||||
\end{tikzfigure}
|
||||
\end{minipage} % no space if you would like to put them side by side
|
||||
\begin{minipage}[c]{0.2\linewidth}
|
||||
\begin{itemize}
|
||||
\setlength\itemsep{0.5em}
|
||||
\item Fish who won the competition chirped more often than the fish who lost.
|
||||
\item
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
|
||||
\begin{tikzfigure}[]
|
||||
\label{fig:example_b}
|
||||
\includegraphics[width=\linewidth]{figs/chirps_winner_loser.pdf}
|
||||
\end{tikzfigure}
|
||||
|
||||
|
||||
\begin{itemize}
|
||||
\setlength\itemsep{0.5em}
|
||||
\item Fish who won the competition chirped more often than the fish who lost.
|
||||
\item
|
||||
\end{itemize}
|
||||
|
||||
}
|
||||
|
||||
\myblock[TranspBlock]{Interactions at modulations}{
|
||||
|
Loading…
Reference in New Issue
Block a user