diff --git a/newsfragments/785.bugfix b/newsfragments/785.bugfix new file mode 100644 index 000000000..adf4005c9 --- /dev/null +++ b/newsfragments/785.bugfix @@ -0,0 +1 @@ +``NXmx``: require existence of /entry/data/data virtual data set to support NXmx data, fall back to FormatNexus if missing (for e.g. DECTRIS file writer data) diff --git a/src/dxtbx/format/FormatNXmx.py b/src/dxtbx/format/FormatNXmx.py index 6963d5f5f..e06230009 100644 --- a/src/dxtbx/format/FormatNXmx.py +++ b/src/dxtbx/format/FormatNXmx.py @@ -74,13 +74,16 @@ class FormatNXmx(FormatNexus): @staticmethod def understand(image_file): with h5py.File(image_file) as handle: - return bool( - [ - entry - for entry in nxmx.find_class(handle, "NXentry") - if "definition" in entry - and nxmx.h5str(entry["definition"][()]) == "NXmx" - ] + return ( + bool( + [ + entry + for entry in nxmx.find_class(handle, "NXentry") + if "definition" in entry + and nxmx.h5str(entry["definition"][()]) == "NXmx" + ] + ) + and "/entry/data/data" in handle ) def __init__(self, image_file, **kwargs):