diff --git a/pyzebra/h5.py b/pyzebra/h5.py index 394f3c5c3f966ee3dd2b3a12d34782881a678890..a8f074821f6f7a80d7bc340eae4f2fdc81d96f17 100644 --- a/pyzebra/h5.py +++ b/pyzebra/h5.py @@ -147,17 +147,21 @@ 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 "mf" in scan: + # 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"]) + + if "temp" in scan: + # 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: