From 8ff0af9de1a22c258774e133999606e68190d724 Mon Sep 17 00:00:00 2001
From: Martin Killenberg <martin.killenberg@desy.de>
Date: Fri, 3 Nov 2023 14:26:19 +0100
Subject: [PATCH] fix: analysis must not fail if there are no stable
 measurements

---
 Python_script/analysis.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Python_script/analysis.py b/Python_script/analysis.py
index 0d20ffe..84e91b2 100644
--- a/Python_script/analysis.py
+++ b/Python_script/analysis.py
@@ -77,9 +77,11 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
     for measurement_set in measurement_sets:
         data = set_data[measurement_set]
         if analysis_config['normalise'][0]:
-            data['signal0_means'] -= data['signal0_means'][0]
+            if data['signal0_means']:
+                data['signal0_means'] -= data['signal0_means'][0]
         if analysis_config['normalise'][1]:
-            data['signal1_means'] -= data['signal1_means'][0]
+            if data['signal1_means']:
+                data['signal1_means'] -= data['signal1_means'][0]
 
     fig = plt.figure(figsize=(10, 15))
     gs = gridspec.GridSpec(nrows=6, ncols=1, hspace=0)#, width_ratios=[3, 1], height_ratios=[3, 1])
@@ -155,6 +157,8 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
     if analysis_config['type'] == 'rf_cable':
         for measurement_set in measurement_sets:
             data = set_data[measurement_set]
+            if not data['RF_FREQUENCY']: #empty, i.e. no stable measurements
+                continue
             deriv_data = derivatives[measurement_set]
             phase_to_time = 1e15 / (analysis_config['cable_length'] * data['RF_FREQUENCY'][0] * 360.)
             deriv_data['signal0_deltas'][:] = [x * phase_to_time for x in deriv_data['signal0_deltas']]
-- 
GitLab