trial summary now includes information about agonistic counts and competition duratin ala ana silva. started to adapt trial_summary_eval.py accordingly to evaluate this

This commit is contained in:
Till Raab 2023-06-09 13:23:43 +02:00
parent 47a1ac1058
commit 3122cb10dc
3 changed files with 152 additions and 72 deletions

View File

@ -1,6 +1,7 @@
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import itertools
from event_time_correlations import load_and_converete_boris_events
from tqdm import tqdm
import numpy as np
import pandas as pd
@ -182,6 +183,7 @@ def main(data_folder=None):
trial_summary = pd.DataFrame(columns=['recording', 'group', 'win_fish', 'lose_fish', 'win_ID', 'lose_ID',
'sex_win', 'sex_lose', 'size_win', 'size_lose', 'EODf_win', 'EODf_lose',
'exp_win', 'exp_lose', 'chirps_win', 'chirps_lose', 'rises_win', 'rises_lose',
'chase_count', 'contact_count', 'med_chase_dur', 'comp_dur0', 'comp_dur1',
'draw'])
trial_summary_row = {f'{s}':None for s in trial_summary.keys()}
@ -277,15 +279,35 @@ def main(data_folder=None):
#############################################################################################################
### physical behavior
med_chase_dur = contact_n = chase_n = comp_dur0 = comp_dur1 = -1
if video_eval:
contact_t_GRID, ag_on_off_t_GRID, led_idx, led_frames = \
load_and_converete_boris_events(trial_path, recording, sr, video_stated_FPS=video_stated_FPS)
contact_t_GRID, ag_on_off_t_GRID, led_idx, led_frames = load_and_converete_boris_events(trial_path, recording, sr)
only_contact_mask = np.ones_like(contact_t_GRID, dtype=bool)
for enu, ct in enumerate(contact_t_GRID):
for Cag_on_off_t in ag_on_off_t_GRID:
if Cag_on_off_t[0] <= ct <= Cag_on_off_t[1]:
only_contact_mask[enu] = 0
break
elif ct < Cag_on_off_t[0]:
break
contact_t_solely = contact_t_GRID[only_contact_mask]
ag_offs = np.concatenate((contact_t_GRID, ag_on_off_t_GRID[:, 1]))
ag_offs = ag_offs[np.argsort(ag_offs)]
med_chase_dur = np.median(ag_on_off_t_GRID[:,1] - ag_on_off_t_GRID[:,0])
contact_n = len(contact_t_GRID)
chase_n = len(ag_on_off_t_GRID)
comp_dur0 = ag_offs[2]
comp_dur1 = ag_offs[2] - ag_offs[0]
win_fish_no = trials_meta['fish1'][trial_idx] if trials_meta['fish1'][trial_idx] == trials_meta['winner'][trial_idx] else trials_meta['fish2'][trial_idx]
lose_fish_no = trials_meta['fish2'][trial_idx] if trials_meta['fish1'][trial_idx] == trials_meta['winner'][trial_idx] else trials_meta['fish1'][trial_idx]
trial_summary.loc[len(trial_summary)] = trial_summary_row
trial_summary.iloc[-1] = {'recording' : recording,
trial_summary.iloc[-1] = {'recording': recording,
'group': trials_meta['group'][trial_idx],
'win_fish': win_fish_no,
'lose_fish': lose_fish_no,
@ -303,7 +325,12 @@ def main(data_folder=None):
'chirps_lose': len(chirp_times[1]),
'rises_win': len(rise_idx_int[0]),
'rises_lose': len(rise_idx_int[1]),
'draw': 1 if trials_meta['winner'][trial_idx] == -1 else 0
'draw': 1 if trials_meta['winner'][trial_idx] == -1 else 0,
'chase_count': chase_n,
'contact_count': contact_n,
'med_chase_dur': med_chase_dur,
'comp_dur0': comp_dur0,
'comp_dur1': comp_dur1
}
# embed()

View File

@ -1,44 +1,44 @@
,recording,group,win_fish,lose_fish,win_ID,lose_ID,sex_win,sex_lose,size_win,size_lose,EODf_win,EODf_lose,exp_win,exp_lose,chirps_win,chirps_lose,rises_win,rises_lose,draw
0,2019-11-25-09_59,3,1,2,10.0,6.0,f,m,13.2,12.0,713.0544113886845,762.0273047058653,1,1,36,2657,22,165,0
1,2019-11-26-10_00,3,4,3,3.0,4.0,m,m,15.5,17.5,883.141322780704,918.0584506431281,1,1,472,1322,17,481,0
2,2019-11-27-10_00,3,5,6,1.0,6.0,f,f,14.4,12.65,728.1663791991439,650.6079943890219,1,1,16,2041,14,311,0
3,2019-11-28-09_58,3,1,3,3.0,1.0,f,m,13.2,17.5,720.9491781126661,888.9029901347602,2,2,370,30,26,37,0
4,2019-11-29-09_59,3,4,2,11.0,0.0,m,m,15.5,12.0,927.3677808126133,757.8912786740188,2,2,119,1232,56,161,0
5,2019-12-02-10_00,3,3,5,3.0,0.0,m,f,17.5,14.4,866.5433040990971,719.3596160671729,3,2,2,759,28,165,0
6,2019-12-03-10_01,3,1,6,3.0,4.0,f,f,13.2,12.65,709.888382193265,645.345316200243,3,2,61,3191,23,230,0
7,2019-12-04-10_00,3,3,2,11.0,8.0,m,m,17.5,12.0,867.515070390076,732.5567785654214,4,3,2,1005,31,73,0
8,2019-12-06-10_00,3,4,6,1.0,2.0,m,f,15.5,12.65,912.2881743174412,652.9837532796978,3,3,34,306,58,188,0
9,2019-12-09-10_00,3,5,2,5.0,9.0,f,m,14.4,12.0,715.5845509704202,726.7506510306094,4,4,446,2345,10,180,0
10,2019-12-10-10_00,3,3,6,3.0,2.0,m,f,17.5,12.65,853.973867720756,640.9374451096469,5,4,1,205,31,165,0
11,2019-12-11-10_00,3,4,1,13.0,1.0,m,f,15.5,13.2,909.5564241038855,704.759181051688,4,5,44,260,48,165,0
12,2019-12-12-10_00,3,2,6,3.0,5.0,m,f,12.0,12.65,708.2029632781753,649.3215729301896,5,5,55,1489,26,152,0
13,2019-12-16-10_00,3,4,5,7.0,1.0,m,f,15.5,14.4,911.4475182245616,734.3463774893517,5,5,52,963,39,123,0
14,2020-03-13-10_00,4,5,4,0.0,1.0,f,f,12.5,12.266666666666666,726.3470010966499,705.1654694195288,2,2,54,941,70,177,0
15,2020-03-16-10_00,4,3,1,3.0,2.0,m,f,11.933333333333332,11.299999999999999,852.2318545355058,642.0347177867645,3,3,1304,724,57,154,0
16,2020-03-18-10_34,4,5,3,0.0,4.0,f,m,12.5,11.933333333333332,725.8257351336636,863.6524533012707,3,4,16557,2089,339,43,1
17,2020-03-19-10_00,4,1,4,0.0,1.0,f,f,11.299999999999999,12.266666666666666,659.5490944255365,697.5034008357667,4,4,52,1583,36,197,0
18,2020-03-20-10_00,4,5,2,0.0,1.0,f,f,12.5,12.266666666666666,,,4,4,45,665,75,76,0
19,2020-03-23-09_58,4,2,1,0.0,2.0,f,f,12.266666666666666,11.299999999999999,699.4914052830558,654.7533296886725,5,5,84,1158,17,67,1
20,2020-03-24-10_00,4,4,3,2.0,1.0,f,m,12.266666666666666,11.933333333333332,684.578069899078,854.0458114588357,5,5,883,2,184,86,1
21,2020-03-25-10_00,4,5,1,1.0,0.0,f,f,12.5,11.299999999999999,733.5001619575638,647.9874053272127,5,6,819,1831,48,70,1
22,2020-03-31-09_59,4,3,2,0.0,3.0,m,f,11.933333333333332,12.266666666666666,860.5459022492297,692.2978867242133,6,6,10,225,26,50,1
23,2020-05-11-10_00,5,1,2,3.0,4.0,m,f,12.333333333333334,13.166666666666666,834.369973908149,667.9762847453638,1,1,4,631,25,230,0
24,2020-05-12-10_00,5,5,3,7.0,6.0,f,m,19.0,10.666666666666666,697.6088902440882,818.2108387976053,1,1,1,117,8,429,0
25,2020-05-13-10_00,5,4,2,4.0,7.0,m,f,17.5,13.166666666666666,885.2957289220773,681.372424868242,1,2,34,614,22,98,0
26,2020-05-14-10_00,5,5,1,4.0,5.0,f,m,19.0,12.333333333333334,703.5828000211009,840.457519990521,2,2,83,316,10,232,0
27,2020-05-15-10_00,5,4,3,18.0,19.0,m,m,17.5,10.666666666666666,875.2647282681933,824.4852744512042,2,2,98,745,27,255,0
28,2020-05-18-10_00,5,2,3,3.0,6.0,f,m,13.166666666666666,10.666666666666666,677.7516154017525,837.794665426305,3,3,338,530,28,270,0
29,2020-05-19-10_00,5,5,4,6.0,7.0,f,m,19.0,17.5,699.3246023368515,881.0368775083901,3,3,628,1457,2,256,0
30,2020-05-21-10_00,5,5,2,1434.0,1420.0,f,f,19.0,13.166666666666666,702.20947265625,684.967041015625,4,4,86,671,43,257,0
31,2020-05-25-10_00,5,4,1,30.0,19.0,m,m,17.5,12.333333333333334,880.891870115058,842.1688052017244,4,4,125,165,37,122,0
32,2020-05-27-10_00,6,3,1,10.0,17.0,f,m,13.5,9.0,686.4001347696975,815.713300982056,1,1,17,92,8,330,0
33,2020-05-28-10_00,6,2,4,7.0,12.0,m,f,11.0,11.0,774.6150067187118,728.8412253286924,1,1,69,684,84,342,0
34,2020-05-29-10_00,6,5,3,10.0,12.0,m,f,17.5,13.5,805.4542233630881,681.7640419584177,1,2,373,478,18,58,0
35,2020-06-02-10_00,6,1,4,7.0,8.0,m,f,9.0,11.0,820.4496652837709,723.7667250846596,2,2,485,1253,69,309,0
36,2020-06-03-10_10,6,5,2,14.0,5.0,m,m,17.5,11.0,810.7042669363011,783.6640529162586,2,2,54,182,16,74,0
37,2020-06-04-10_00,6,3,4,6.0,7.0,f,f,13.5,11.0,695.5929553333448,714.6541711375795,3,3,44,994,34,291,0
38,2020-06-05-10_00,6,2,1,10.0,14.0,m,m,11.0,9.0,804.8998142492978,827.5225072258723,3,3,117,425,41,143,0
39,2020-06-08-10_00,6,5,3,4.0,0.0,m,f,17.5,13.5,816.1812754102803,691.6736840654672,3,4,1087,170,8,14,1
40,2020-06-09-10_00,6,3,2,10.0,12.0,f,m,13.5,11.0,691.8529359583595,798.4298849024372,5,4,18,632,21,391,0
41,2020-06-10-10_00,6,5,1,5.0,8.0,m,m,17.5,9.0,815.498890219021,828.5259822280207,4,4,66,269,1,14,0
42,2020-06-11-10_00,6,5,4,10.0,13.0,m,f,17.5,11.0,817.6355361855158,730.7609124893474,5,4,144,1100,2,54,0
,recording,group,win_fish,lose_fish,win_ID,lose_ID,sex_win,sex_lose,size_win,size_lose,EODf_win,EODf_lose,exp_win,exp_lose,chirps_win,chirps_lose,rises_win,rises_lose,chase_count,contact_count,med_chase_dur,comp_dur0,comp_dur1,draw
0,2019-11-25-09_59,3,1,2,10.0,6.0,f,m,13.2,12.0,713.0544113886845,762.0273047058653,1,1,36,2657,22,165,-1,-1,-1,-1,-1,0
1,2019-11-26-10_00,3,4,3,3.0,4.0,m,m,15.5,17.5,883.141322780704,918.0584506431281,1,1,472,1322,17,481,-1,-1,-1,-1,-1,0
2,2019-11-27-10_00,3,5,6,1.0,6.0,f,f,14.4,12.65,728.1663791991439,650.6079943890219,1,1,16,2041,14,311,-1,-1,-1,-1,-1,0
3,2019-11-28-09_58,3,1,3,3.0,1.0,f,m,13.2,17.5,720.9491781126661,888.9029901347602,2,2,370,30,26,37,-1,-1,-1,-1,-1,0
4,2019-11-29-09_59,3,4,2,11.0,0.0,m,m,15.5,12.0,927.3677808126133,757.8912786740188,2,2,119,1232,56,161,-1,-1,-1,-1,-1,0
5,2019-12-02-10_00,3,3,5,3.0,0.0,m,f,17.5,14.4,866.5433040990971,719.3596160671729,3,2,2,759,28,165,-1,-1,-1,-1,-1,0
6,2019-12-03-10_01,3,1,6,3.0,4.0,f,f,13.2,12.65,709.888382193265,645.345316200243,3,2,61,3191,23,230,-1,-1,-1,-1,-1,0
7,2019-12-04-10_00,3,3,2,11.0,8.0,m,m,17.5,12.0,867.515070390076,732.5567785654214,4,3,2,1005,31,73,-1,-1,-1,-1,-1,0
8,2019-12-06-10_00,3,4,6,1.0,2.0,m,f,15.5,12.65,912.2881743174412,652.9837532796978,3,3,34,306,58,188,-1,-1,-1,-1,-1,0
9,2019-12-09-10_00,3,5,2,5.0,9.0,f,m,14.4,12.0,715.5845509704202,726.7506510306094,4,4,446,2345,10,180,-1,-1,-1,-1,-1,0
10,2019-12-10-10_00,3,3,6,3.0,2.0,m,f,17.5,12.65,853.973867720756,640.9374451096469,5,4,1,205,31,165,-1,-1,-1,-1,-1,0
11,2019-12-11-10_00,3,4,1,13.0,1.0,m,f,15.5,13.2,909.5564241038855,704.759181051688,4,5,44,260,48,165,-1,-1,-1,-1,-1,0
12,2019-12-12-10_00,3,2,6,3.0,5.0,m,f,12.0,12.65,708.2029632781753,649.3215729301896,5,5,55,1489,26,152,-1,-1,-1,-1,-1,0
13,2019-12-16-10_00,3,4,5,7.0,1.0,m,f,15.5,14.4,911.4475182245616,734.3463774893517,5,5,52,963,39,123,-1,-1,-1,-1,-1,0
14,2020-03-13-10_00,4,5,4,0.0,1.0,f,f,12.5,12.266666666666666,726.3470010966499,705.1654694195288,2,2,54,941,70,177,-1,-1,-1,-1,-1,0
15,2020-03-16-10_00,4,3,1,3.0,2.0,m,f,11.933333333333332,11.299999999999999,852.2318545355058,642.0347177867645,3,3,1304,724,57,154,-1,-1,-1,-1,-1,0
16,2020-03-18-10_34,4,5,3,0.0,4.0,f,m,12.5,11.933333333333332,725.8257351336636,863.6524533012707,3,4,16557,2089,339,43,-1,-1,-1,-1,-1,1
17,2020-03-19-10_00,4,1,4,0.0,1.0,f,f,11.299999999999999,12.266666666666666,659.5490944255365,697.5034008357667,4,4,52,1583,36,197,-1,-1,-1,-1,-1,0
18,2020-03-20-10_00,4,5,2,0.0,1.0,f,f,12.5,12.266666666666666,,,4,4,45,665,75,76,-1,-1,-1,-1,-1,0
19,2020-03-23-09_58,4,2,1,0.0,2.0,f,f,12.266666666666666,11.299999999999999,699.4914052830558,654.7533296886725,5,5,84,1158,17,67,-1,-1,-1,-1,-1,1
20,2020-03-24-10_00,4,4,3,2.0,1.0,f,m,12.266666666666666,11.933333333333332,684.578069899078,854.0458114588357,5,5,883,2,184,86,-1,-1,-1,-1,-1,1
21,2020-03-25-10_00,4,5,1,1.0,0.0,f,f,12.5,11.299999999999999,733.5001619575638,647.9874053272127,5,6,819,1831,48,70,-1,-1,-1,-1,-1,1
22,2020-03-31-09_59,4,3,2,0.0,3.0,m,f,11.933333333333332,12.266666666666666,860.5459022492297,692.2978867242133,6,6,10,225,26,50,-1,-1,-1,-1,-1,1
23,2020-05-11-10_00,5,1,2,3.0,4.0,m,f,12.333333333333334,13.166666666666666,834.369973908149,667.9762847453638,1,1,4,631,25,230,257,64,8.970694512533555,100.99643135612173,30.044093259648236,0
24,2020-05-12-10_00,5,5,3,7.0,6.0,f,m,19.0,10.666666666666666,697.6088902440882,818.2108387976053,1,1,1,117,8,429,177,41,9.00936129922411,159.3446124742803,92.10428590023439,0
25,2020-05-13-10_00,5,4,2,4.0,7.0,m,f,17.5,13.166666666666666,885.2957289220773,681.372424868242,1,2,34,614,22,98,141,29,5.453177983807791,631.0193675453793,296.98548750114094,0
26,2020-05-14-10_00,5,5,1,4.0,5.0,f,m,19.0,12.333333333333334,703.5828000211009,840.457519990521,2,2,83,316,10,232,110,84,7.984691451887784,120.87115971578609,48.72015123186202,0
27,2020-05-15-10_00,5,4,3,18.0,19.0,m,m,17.5,10.666666666666666,875.2647282681933,824.4852744512042,2,2,98,745,27,255,103,51,3.4800170287107903,611.4764343926292,172.26084292120913,0
28,2020-05-18-10_00,5,2,3,3.0,6.0,f,m,13.166666666666666,10.666666666666666,677.7516154017525,837.794665426305,3,3,338,530,28,270,155,43,4.524014042955969,129.84185422831942,71.18555429988729,0
29,2020-05-19-10_00,5,5,4,6.0,7.0,f,m,19.0,17.5,699.3246023368515,881.0368775083901,3,3,628,1457,2,256,127,39,4.9493575519445585,116.77268033338163,33.87216574612323,0
30,2020-05-21-10_00,5,5,2,1434.0,1420.0,f,f,19.0,13.166666666666666,702.20947265625,684.967041015625,4,4,86,671,43,257,108,28,4.466013862921045,146.42990571916766,114.80168968841137,0
31,2020-05-25-10_00,5,4,1,30.0,19.0,m,m,17.5,12.333333333333334,880.891870115058,842.1688052017244,4,4,125,165,37,122,239,81,4.021345815963286,89.89906357553095,49.22281945885742,0
32,2020-05-27-10_00,6,3,1,10.0,17.0,f,m,13.5,9.0,686.4001347696975,815.713300982056,1,1,17,92,8,330,75,24,8.429370582688534,992.586747488321,453.67800480131825,0
33,2020-05-28-10_00,6,2,4,7.0,12.0,m,f,11.0,11.0,774.6150067187118,728.8412253286924,1,1,69,684,84,342,45,7,5.026682269954108,318.76777400520655,208.22064633617217,0
34,2020-05-29-10_00,6,5,3,10.0,12.0,m,f,17.5,13.5,805.4542233630881,681.7640419584177,1,2,373,478,18,58,142,31,3.5186775889678756,86.96038778694245,56.10550749002523,0
35,2020-06-02-10_00,6,1,4,7.0,8.0,m,f,9.0,11.0,820.4496652837709,723.7667250846596,2,2,485,1253,69,309,74,46,6.225352657404528,81.35370371660912,6.418686590864368,0
36,2020-06-03-10_10,6,5,2,14.0,5.0,m,m,17.5,11.0,810.7042669363011,783.6640529162586,2,2,54,182,16,74,69,29,2.5133455145551125,661.6273158182598,627.4083741412721,0
37,2020-06-04-10_00,6,3,4,6.0,7.0,f,f,13.5,11.0,695.5929553333448,714.6541711375795,3,3,44,994,34,291,68,14,5.954685150562,1004.7552367071621,540.6776783135924,0
38,2020-06-05-10_00,6,2,1,10.0,14.0,m,m,11.0,9.0,804.8998142492978,827.5225072258723,3,3,117,425,41,143,204,46,4.949348696570041,76.28835465996315,39.16945491894939,0
39,2020-06-08-10_00,6,5,3,4.0,0.0,m,f,17.5,13.5,816.1812754102803,691.6736840654672,3,4,1087,170,8,14,56,77,2.474674348284452,279.59831908625716,209.26464957685494,1
40,2020-06-09-10_00,6,3,2,10.0,12.0,f,m,13.5,11.0,691.8529359583595,798.4298849024372,5,4,18,632,21,391,271,11,5.996116978907594,226.1957395831394,78.99400561888262,0
41,2020-06-10-10_00,6,5,1,5.0,8.0,m,m,17.5,9.0,815.498890219021,828.5259822280207,4,4,66,269,1,14,33,44,1.9720051859872,733.7109663747294,577.2948515056091,0
42,2020-06-11-10_00,6,5,4,10.0,13.0,m,f,17.5,11.0,817.6355361855158,730.7609124893474,5,4,144,1100,2,54,27,15,5.4906935341878125,1021.6157746541925,913.4271363249653,0

1 recording group win_fish lose_fish win_ID lose_ID sex_win sex_lose size_win size_lose EODf_win EODf_lose exp_win exp_lose chirps_win chirps_lose rises_win rises_lose chase_count contact_count med_chase_dur comp_dur0 comp_dur1 draw
2 0 2019-11-25-09_59 3 1 2 10.0 6.0 f m 13.2 12.0 713.0544113886845 762.0273047058653 1 1 36 2657 22 165 -1 -1 -1 -1 -1 0
3 1 2019-11-26-10_00 3 4 3 3.0 4.0 m m 15.5 17.5 883.141322780704 918.0584506431281 1 1 472 1322 17 481 -1 -1 -1 -1 -1 0
4 2 2019-11-27-10_00 3 5 6 1.0 6.0 f f 14.4 12.65 728.1663791991439 650.6079943890219 1 1 16 2041 14 311 -1 -1 -1 -1 -1 0
5 3 2019-11-28-09_58 3 1 3 3.0 1.0 f m 13.2 17.5 720.9491781126661 888.9029901347602 2 2 370 30 26 37 -1 -1 -1 -1 -1 0
6 4 2019-11-29-09_59 3 4 2 11.0 0.0 m m 15.5 12.0 927.3677808126133 757.8912786740188 2 2 119 1232 56 161 -1 -1 -1 -1 -1 0
7 5 2019-12-02-10_00 3 3 5 3.0 0.0 m f 17.5 14.4 866.5433040990971 719.3596160671729 3 2 2 759 28 165 -1 -1 -1 -1 -1 0
8 6 2019-12-03-10_01 3 1 6 3.0 4.0 f f 13.2 12.65 709.888382193265 645.345316200243 3 2 61 3191 23 230 -1 -1 -1 -1 -1 0
9 7 2019-12-04-10_00 3 3 2 11.0 8.0 m m 17.5 12.0 867.515070390076 732.5567785654214 4 3 2 1005 31 73 -1 -1 -1 -1 -1 0
10 8 2019-12-06-10_00 3 4 6 1.0 2.0 m f 15.5 12.65 912.2881743174412 652.9837532796978 3 3 34 306 58 188 -1 -1 -1 -1 -1 0
11 9 2019-12-09-10_00 3 5 2 5.0 9.0 f m 14.4 12.0 715.5845509704202 726.7506510306094 4 4 446 2345 10 180 -1 -1 -1 -1 -1 0
12 10 2019-12-10-10_00 3 3 6 3.0 2.0 m f 17.5 12.65 853.973867720756 640.9374451096469 5 4 1 205 31 165 -1 -1 -1 -1 -1 0
13 11 2019-12-11-10_00 3 4 1 13.0 1.0 m f 15.5 13.2 909.5564241038855 704.759181051688 4 5 44 260 48 165 -1 -1 -1 -1 -1 0
14 12 2019-12-12-10_00 3 2 6 3.0 5.0 m f 12.0 12.65 708.2029632781753 649.3215729301896 5 5 55 1489 26 152 -1 -1 -1 -1 -1 0
15 13 2019-12-16-10_00 3 4 5 7.0 1.0 m f 15.5 14.4 911.4475182245616 734.3463774893517 5 5 52 963 39 123 -1 -1 -1 -1 -1 0
16 14 2020-03-13-10_00 4 5 4 0.0 1.0 f f 12.5 12.266666666666666 726.3470010966499 705.1654694195288 2 2 54 941 70 177 -1 -1 -1 -1 -1 0
17 15 2020-03-16-10_00 4 3 1 3.0 2.0 m f 11.933333333333332 11.299999999999999 852.2318545355058 642.0347177867645 3 3 1304 724 57 154 -1 -1 -1 -1 -1 0
18 16 2020-03-18-10_34 4 5 3 0.0 4.0 f m 12.5 11.933333333333332 725.8257351336636 863.6524533012707 3 4 16557 2089 339 43 -1 -1 -1 -1 -1 1
19 17 2020-03-19-10_00 4 1 4 0.0 1.0 f f 11.299999999999999 12.266666666666666 659.5490944255365 697.5034008357667 4 4 52 1583 36 197 -1 -1 -1 -1 -1 0
20 18 2020-03-20-10_00 4 5 2 0.0 1.0 f f 12.5 12.266666666666666 4 4 45 665 75 76 -1 -1 -1 -1 -1 0
21 19 2020-03-23-09_58 4 2 1 0.0 2.0 f f 12.266666666666666 11.299999999999999 699.4914052830558 654.7533296886725 5 5 84 1158 17 67 -1 -1 -1 -1 -1 1
22 20 2020-03-24-10_00 4 4 3 2.0 1.0 f m 12.266666666666666 11.933333333333332 684.578069899078 854.0458114588357 5 5 883 2 184 86 -1 -1 -1 -1 -1 1
23 21 2020-03-25-10_00 4 5 1 1.0 0.0 f f 12.5 11.299999999999999 733.5001619575638 647.9874053272127 5 6 819 1831 48 70 -1 -1 -1 -1 -1 1
24 22 2020-03-31-09_59 4 3 2 0.0 3.0 m f 11.933333333333332 12.266666666666666 860.5459022492297 692.2978867242133 6 6 10 225 26 50 -1 -1 -1 -1 -1 1
25 23 2020-05-11-10_00 5 1 2 3.0 4.0 m f 12.333333333333334 13.166666666666666 834.369973908149 667.9762847453638 1 1 4 631 25 230 257 64 8.970694512533555 100.99643135612173 30.044093259648236 0
26 24 2020-05-12-10_00 5 5 3 7.0 6.0 f m 19.0 10.666666666666666 697.6088902440882 818.2108387976053 1 1 1 117 8 429 177 41 9.00936129922411 159.3446124742803 92.10428590023439 0
27 25 2020-05-13-10_00 5 4 2 4.0 7.0 m f 17.5 13.166666666666666 885.2957289220773 681.372424868242 1 2 34 614 22 98 141 29 5.453177983807791 631.0193675453793 296.98548750114094 0
28 26 2020-05-14-10_00 5 5 1 4.0 5.0 f m 19.0 12.333333333333334 703.5828000211009 840.457519990521 2 2 83 316 10 232 110 84 7.984691451887784 120.87115971578609 48.72015123186202 0
29 27 2020-05-15-10_00 5 4 3 18.0 19.0 m m 17.5 10.666666666666666 875.2647282681933 824.4852744512042 2 2 98 745 27 255 103 51 3.4800170287107903 611.4764343926292 172.26084292120913 0
30 28 2020-05-18-10_00 5 2 3 3.0 6.0 f m 13.166666666666666 10.666666666666666 677.7516154017525 837.794665426305 3 3 338 530 28 270 155 43 4.524014042955969 129.84185422831942 71.18555429988729 0
31 29 2020-05-19-10_00 5 5 4 6.0 7.0 f m 19.0 17.5 699.3246023368515 881.0368775083901 3 3 628 1457 2 256 127 39 4.9493575519445585 116.77268033338163 33.87216574612323 0
32 30 2020-05-21-10_00 5 5 2 1434.0 1420.0 f f 19.0 13.166666666666666 702.20947265625 684.967041015625 4 4 86 671 43 257 108 28 4.466013862921045 146.42990571916766 114.80168968841137 0
33 31 2020-05-25-10_00 5 4 1 30.0 19.0 m m 17.5 12.333333333333334 880.891870115058 842.1688052017244 4 4 125 165 37 122 239 81 4.021345815963286 89.89906357553095 49.22281945885742 0
34 32 2020-05-27-10_00 6 3 1 10.0 17.0 f m 13.5 9.0 686.4001347696975 815.713300982056 1 1 17 92 8 330 75 24 8.429370582688534 992.586747488321 453.67800480131825 0
35 33 2020-05-28-10_00 6 2 4 7.0 12.0 m f 11.0 11.0 774.6150067187118 728.8412253286924 1 1 69 684 84 342 45 7 5.026682269954108 318.76777400520655 208.22064633617217 0
36 34 2020-05-29-10_00 6 5 3 10.0 12.0 m f 17.5 13.5 805.4542233630881 681.7640419584177 1 2 373 478 18 58 142 31 3.5186775889678756 86.96038778694245 56.10550749002523 0
37 35 2020-06-02-10_00 6 1 4 7.0 8.0 m f 9.0 11.0 820.4496652837709 723.7667250846596 2 2 485 1253 69 309 74 46 6.225352657404528 81.35370371660912 6.418686590864368 0
38 36 2020-06-03-10_10 6 5 2 14.0 5.0 m m 17.5 11.0 810.7042669363011 783.6640529162586 2 2 54 182 16 74 69 29 2.5133455145551125 661.6273158182598 627.4083741412721 0
39 37 2020-06-04-10_00 6 3 4 6.0 7.0 f f 13.5 11.0 695.5929553333448 714.6541711375795 3 3 44 994 34 291 68 14 5.954685150562 1004.7552367071621 540.6776783135924 0
40 38 2020-06-05-10_00 6 2 1 10.0 14.0 m m 11.0 9.0 804.8998142492978 827.5225072258723 3 3 117 425 41 143 204 46 4.949348696570041 76.28835465996315 39.16945491894939 0
41 39 2020-06-08-10_00 6 5 3 4.0 0.0 m f 17.5 13.5 816.1812754102803 691.6736840654672 3 4 1087 170 8 14 56 77 2.474674348284452 279.59831908625716 209.26464957685494 1
42 40 2020-06-09-10_00 6 3 2 10.0 12.0 f m 13.5 11.0 691.8529359583595 798.4298849024372 5 4 18 632 21 391 271 11 5.996116978907594 226.1957395831394 78.99400561888262 0
43 41 2020-06-10-10_00 6 5 1 5.0 8.0 m m 17.5 9.0 815.498890219021 828.5259822280207 4 4 66 269 1 14 33 44 1.9720051859872 733.7109663747294 577.2948515056091 0
44 42 2020-06-11-10_00 6 5 4 10.0 13.0 m f 17.5 11.0 817.6355361855158 730.7609124893474 5 4 144 1100 2 54 27 15 5.4906935341878125 1021.6157746541925 913.4271363249653 0

View File

@ -80,10 +80,58 @@ def plot_beh_count_per_pairing(trial_summary,
plt.close()
def plot_beh_count_vs_meta(trial_summary,
beh_key_win=None, beh_key_lose=None,
meta_key_win=None, meta_key_lose=None,
xlabel='x', save_str='random_plot_title'):
def plot_meta_correlation(trial_summary, key1, key2, key1_name, key2_name, save_str='random_plot_title'):
mek = ['k', 'None', 'None', 'k']
markersize = 12
win_colors = [male_color, male_color, female_color, female_color]
lose_colors = [male_color, female_color, male_color, female_color]
if 'lose' in key2_name:
colors = lose_colors
marker = 'o'
elif 'win' in key2_name:
colors = win_colors
marker = 'd'
else:
colors = win_colors
marker = 's'
key1_collect = []
key2_collect = []
for win_sex, lose_sex in itertools.product(['m', 'f'], repeat=2):
k1 = trial_summary[key1][(trial_summary["sex_win"] == win_sex) &
(trial_summary["sex_lose"] == lose_sex) &
(trial_summary["draw"] == 0)].to_numpy()
k2 = trial_summary[key2][(trial_summary["sex_win"] == win_sex) &
(trial_summary["sex_lose"] == lose_sex) &
(trial_summary["draw"] == 0)].to_numpy()
mask = np.ones_like(k1, dtype=bool)
mask[(k1 == -1) | (k2 == -1)] = 0
k1 = k1[mask]
k2 = k2[mask]
key1_collect.append(k1)
key2_collect.append(k2)
fig = plt.figure(figsize=(20/2.54, 12/2.54))
gs = gridspec.GridSpec(1, 1, left=0.1, bottom=0.1, right=0.95, top=0.95)
ax = fig.add_subplot(gs[0, 0])
for i in range(len(key1_collect)):
ax.plot(key1_collect[i], key2_collect[i], marker = marker, color=colors[i], markeredgecolor=mek[i],
markersize=markersize, markeredgewidth=2, linestyle='None')
ax.set_xlabel(f'{key1_name}', fontsize=12)
ax.set_ylabel(f'{key2_name}', fontsize=12)
plt.tick_params(labelsize=10)
plt.show()
embed()
quit()
def plot_beh_count_vs_dmeta(trial_summary,
beh_key_win=None, beh_key_lose=None,
meta_key_win=None, meta_key_lose=None,
xlabel='x', save_str='random_plot_title'):
mek = ['k', 'None', 'None', 'k']
markersize = 12
win_colors = [male_color, male_color, female_color, female_color]
@ -201,9 +249,10 @@ def plot_beh_conut_vs_experience(trial_summary, beh_key_win='chirps_win', beh_ke
def main(base_path):
# ToDo: for chirp and rise analysis different datasets!!!
trial_summary = pd.read_csv(os.path.join(base_path, 'trial_summary.csv'), index_col=0)
# trial_summary = pd.read_csv(os.path.join(base_path, 'trial_summary.csv'), index_col=0)
trial_summary = pd.read_csv('trial_summary.csv', index_col=0)
chirp_notes = pd.read_csv(os.path.join(base_path, 'chirp_notes.csv'), index_col=0)
trial_summary = trial_summary[chirp_notes['good'] == 1]
# trial_summary = trial_summary[chirp_notes['good'] == 1]
if True:
print('')
@ -255,22 +304,26 @@ def main(base_path):
beh_key_win='rises_win', beh_key_lose='rises_lose',
ylabel='rises [n]', save_str='rises_per_pairing')
plot_beh_count_vs_meta(trial_summary,
beh_key_win='chirps_win', beh_key_lose='chirps_lose',
meta_key_win="size_win", meta_key_lose='size_lose',
xlabel=u'$\Delta$size [cm]', save_str='chirps_vs_dSize')
plot_beh_count_vs_meta(trial_summary,
beh_key_win='rises_win', beh_key_lose='rises_lose',
meta_key_win="size_win", meta_key_lose='size_lose',
xlabel=u'$\Delta$size [cm]', save_str='rises_vs_dSize')
plot_beh_count_vs_meta(trial_summary,
beh_key_win='chirps_win', beh_key_lose='chirps_lose',
meta_key_win="EODf_win", meta_key_lose='EODf_lose',
xlabel=u'$\Delta$EODf [Hz]', save_str='chirps_vs_dEODf')
plot_beh_count_vs_meta(trial_summary,
beh_key_win='rises_win', beh_key_lose='rises_lose',
meta_key_win="EODf_win", meta_key_lose='EODf_lose',
xlabel=u'$\Delta$EODf [Hz]', save_str='rises_vs_dEODf')
plot_beh_count_vs_dmeta(trial_summary,
beh_key_win='chirps_win', beh_key_lose='chirps_lose',
meta_key_win="size_win", meta_key_lose='size_lose',
xlabel=u'$\Delta$size [cm]', save_str='chirps_vs_dSize')
plot_beh_count_vs_dmeta(trial_summary,
beh_key_win='rises_win', beh_key_lose='rises_lose',
meta_key_win="size_win", meta_key_lose='size_lose',
xlabel=u'$\Delta$size [cm]', save_str='rises_vs_dSize')
plot_beh_count_vs_dmeta(trial_summary,
beh_key_win='chirps_win', beh_key_lose='chirps_lose',
meta_key_win="EODf_win", meta_key_lose='EODf_lose',
xlabel=u'$\Delta$EODf [Hz]', save_str='chirps_vs_dEODf')
plot_beh_count_vs_dmeta(trial_summary,
beh_key_win='rises_win', beh_key_lose='rises_lose',
meta_key_win="EODf_win", meta_key_lose='EODf_lose',
xlabel=u'$\Delta$EODf [Hz]', save_str='rises_vs_dEODf')
plot_meta_correlation(trial_summary, key1='med_chase_dur', key2='chirps_lose',
key1_name=r'chase duration$_{median}$ [s]', key2_name=r'chirps$_{lose}$')
if True:
### chirp count vs. dSize ###
for key in ['chirps_lose', 'chirps_win', 'rises_win', 'rises_lose']:
@ -279,7 +332,7 @@ def main(base_path):
lose_size_male_win = trial_summary['size_lose'][(trial_summary['sex_win'] == 'm') & (trial_summary["draw"] == 0)]
win_size_male_win = trial_summary['size_win'][(trial_summary['sex_win'] == 'm') & (trial_summary["draw"] == 0)]
r, p = scp.pearsonr(lose_chirps_male_win, lose_size_male_win - win_size_male_win)
r, p = scp.pearsonr((lose_size_male_win - win_size_male_win)*-1, lose_chirps_male_win)
print(f'(Male win) {key} - dSize: Pearson-r={r:.2f} p={p:.3f}')
lose_chirps_female_win = trial_summary[key][(trial_summary['sex_win'] == 'f') & (trial_summary["draw"] == 0)]
@ -313,7 +366,7 @@ def main(base_path):
plot_beh_conut_vs_experience(trial_summary, beh_key_win='chirps_win', beh_key_lose='chirps_lose',
ylabel='chirps [n]', save_str='chirps_by_experince')
plot_beh_conut_vs_experience(trial_summary, beh_key_win='rises_win', beh_key_lose='rises_lose', ylabel='rises [n]',
save_str='chirps_by_experince')
save_str='rises_by_experince')
if True:
for key in ['chirps_lose', 'chirps_win', 'rises_lose', 'rises_win']: