From 03c125582d90b7baed565ab7060ced0f2e5f5e34 Mon Sep 17 00:00:00 2001 From: Valentin Boettcher Date: Wed, 12 Jun 2024 16:12:58 -0400 Subject: [PATCH] also discard uncertain peaks --- .../experiments/.#007_generate_fake_analysis_data.py | 0 src/rabifun/analysis.py | 11 ++++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) mode change 120000 => 100644 scripts/experiments/.#007_generate_fake_analysis_data.py diff --git a/scripts/experiments/.#007_generate_fake_analysis_data.py b/scripts/experiments/.#007_generate_fake_analysis_data.py deleted file mode 120000 index badf674..0000000 --- a/scripts/experiments/.#007_generate_fake_analysis_data.py +++ /dev/null @@ -1 +0,0 @@ -hiro@Phillips.106575:1718131872 \ No newline at end of file diff --git a/scripts/experiments/.#007_generate_fake_analysis_data.py b/scripts/experiments/.#007_generate_fake_analysis_data.py new file mode 100644 index 0000000..badf674 --- /dev/null +++ b/scripts/experiments/.#007_generate_fake_analysis_data.py @@ -0,0 +1 @@ +hiro@Phillips.106575:1718131872 \ No newline at end of file diff --git a/src/rabifun/analysis.py b/src/rabifun/analysis.py index a17a5b7..5ea00e8 100644 --- a/src/rabifun/analysis.py +++ b/src/rabifun/analysis.py @@ -183,12 +183,17 @@ def find_peaks( ) -def refine_peaks(peaks: RingdownPeakData, params: RingdownParams): +def refine_peaks( + peaks: RingdownPeakData, params: RingdownParams, uncertainty_threshold: float = 0.1 +): """ Refine the peak positions and frequencies by fitting Lorentzians. :param peaks: The peak data. :param params: The ringdown parameters. + :param uncertainty_threshold: The maximum allowed uncertainty in + the mode frequencies in units of + :any:`ringdown_params.fΩ_guess`. """ peaks = dataclasses.replace(peaks) @@ -224,6 +229,10 @@ def refine_peaks(peaks: RingdownPeakData, params: RingdownParams): ) perr = np.sqrt(np.diag(pcov)) + if perr[1] > uncertainty_threshold * params.fΩ_guess: + deleted_peaks.append(i) + continue + new_freqs.append(popt[1]) Δfreqs.append(perr[1])