diff --git a/code/chirpdetection.py b/code/chirpdetection.py index c6483c8..d7b015d 100644 --- a/code/chirpdetection.py +++ b/code/chirpdetection.py @@ -199,14 +199,20 @@ def main(datapath: str) -> None: # start_index = t0 * data.raw_rate # stop_index = (t0 + dt) * data.raw_rate - # iterate through all fish - for i, track_id in enumerate(np.unique(data.ident[~np.isnan(data.ident)])[:2]): - - # get indices for time array in time window + # calucate frequencies in wndow + median_freq = [] + track_ids = [] + for i, track_id in enumerate(np.unique(data.ident[~np.isnan(data.ident)])): window_index = np.arange(len(data.idx))[ (data.ident == track_id) & (data.time[data.idx] >= t0) & ( data.time[data.idx] <= (t0 + dt)) ] + median_freq.append(np.median(data.freq[window_index])) + track_ids.append(track_id) + median_freq= np.asarray(median_freq) + track_ids= np.asarray(track_ids) + # iterate through all fish + for i, track_id in enumerate(np.unique(data.ident[~np.isnan(data.ident)])[:2]): # get tracked frequencies and their times freq_temp = data.freq[window_index] @@ -230,13 +236,24 @@ def main(datapath: str) -> None: # get best electrode best_electrodes = np.argsort(np.nanmean( powers_temp, axis=0))[-config.electrodes:] + + # frequency where second filter filters + search_window = np.arange(np.median(freq_temp)+config.search_df_lower, np.median(freq_temp)+config.search_df_upper, config.search_res) + check_track_ids = track_ids[(median_freq>search_window[0]) & (median_freq None: # track_id = ids - # frequency where second filter filters - search_freq = 50 - # filter baseline and above - baseline, search = double_bandpass( + baseline, search=double_bandpass( data_oi[:, electrode], data.raw_rate, freq_temp, search_freq ) diff --git a/code/chirpdetector_conf.yml b/code/chirpdetector_conf.yml index 409dc9c..e3936ca 100644 --- a/code/chirpdetector_conf.yml +++ b/code/chirpdetector_conf.yml @@ -31,3 +31,10 @@ search_prominence_percentile: 75 # Instantaneous frequency peak detection parameters instantaneous_prominence_percentile: 90 +# search freq parameter +search_df_lower: 25 +search_df_upper: 100 +search_res: 0.1 +search_freq_percentiles: + - 5 + - 95 \ No newline at end of file