From dec57f9b9bf75efb95987e3acab19a725b8b5be7 Mon Sep 17 00:00:00 2001 From: weygoldt <88969563+weygoldt@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:36:44 +0100 Subject: [PATCH] dynamic frequency works --- code/chirpdetection.py | 18 ++++++++++++++---- code/chirpdetector_conf.yml | 4 +++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/code/chirpdetection.py b/code/chirpdetection.py index 970910d..cde1d9a 100644 --- a/code/chirpdetection.py +++ b/code/chirpdetection.py @@ -287,7 +287,7 @@ def main(datapath: str) -> None: # if the last value is -1, the array ends with true, so a gap if nonzeros[-1] == 1: stops = np.append( - search_window_indices[search_window_gaps == -1], len(search_window)) + search_window_indices[search_window_gaps == -1], len(search_window) - 1) # else it starts with false, so no gap if nonzeros[0] == 1: @@ -299,10 +299,20 @@ def main(datapath: str) -> None: stops = np.append( search_window_indices[search_window_gaps == -1], len(search_window)) - embed() + # get the frequency ranges of the gaps + search_windows = [search_window[x:y] + for x, y in zip(starts, stops)] + search_windows_lens = [len(x) for x in search_windows] + longest_search_window = search_windows[np.argmax( + search_windows_lens)] + + search_freq = ( + longest_search_window[1] - longest_search_window[0]) / 2 + + else: + search_freq = config.default_search_freq - search_freq = 50 - # <------------------------------------------ Iterate through electrodes + print(f"Search frequency: {search_freq}") for i, electrode in enumerate(best_electrodes): diff --git a/code/chirpdetector_conf.yml b/code/chirpdetector_conf.yml index cdbf64e..dd3d285 100644 --- a/code/chirpdetector_conf.yml +++ b/code/chirpdetector_conf.yml @@ -33,8 +33,10 @@ instantaneous_prominence_percentile: 90 # search freq parameter search_df_lower: 25 -search_df_upper: 300 +search_df_upper: 100 search_res: 1 search_freq_percentiles: - 5 - 95 +default_search_freq: 50 +