From eae8a1bde4f05229edaae6bcc6694ae775a8948e Mon Sep 17 00:00:00 2001 From: Ivan Usov <ivan.usov@psi.ch> Date: Fri, 29 Sep 2023 17:17:14 +0200 Subject: [PATCH] Handle NaNs in magnetic_field/temp for hdf data Fix #58 --- pyzebra/h5.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pyzebra/h5.py b/pyzebra/h5.py index 743ab97..394f3c5 100644 --- a/pyzebra/h5.py +++ b/pyzebra/h5.py @@ -147,11 +147,17 @@ def read_detector_data(filepath, cami_meta=None): # optional parameters if "/entry1/sample/magnetic_field" in h5f: scan["mf"] = h5f["/entry1/sample/magnetic_field"][:] + # TODO: NaNs are not JSON compliant, so replace them with None + # this is not a great solution, but makes it safe to use the array in bokeh + scan["mf"] = np.where(np.isnan(scan["mf"]), None, scan["mf"]) if "/entry1/sample/temperature" in h5f: scan["temp"] = h5f["/entry1/sample/temperature"][:] elif "/entry1/sample/Ts/value" in h5f: scan["temp"] = h5f["/entry1/sample/Ts/value"][:] + # TODO: NaNs are not JSON compliant, so replace them with None + # this is not a great solution, but makes it safe to use the array in bokeh + scan["temp"] = np.where(np.isnan(scan["temp"]), None, scan["temp"]) # overwrite metadata from .cami if cami_meta is not None: -- GitLab