Skip to content

Cannot read dials.data set thaumatin_eiger_screen - unsupported int64 #863

@ndevenish

Description

@ndevenish
% dials.python -c "import dxtbx, sys; dxtbx.load(sys.argv[1]).get_raw_data(0)" $(dials.data get -q thaumatin_eiger_screen)/Therm_6_1.nxs
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import dxtbx, sys; dxtbx.load(sys.argv[1]).get_raw_data(0)
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/dls_sw/apps/dials/dials-v3-26-0/modules/dxtbx/src/dxtbx/format/FormatNXmx.py", line 164, in get_raw_data
    raw_data = dxtbx.nexus.get_raw_data(
        nxdata, nxdetector, index, bit_depth=self._bit_depth_readout
    )
  File "/dls_sw/apps/dials/dials-v3-26-0/modules/dxtbx/src/dxtbx/nexus/__init__.py", line 587, in get_raw_data
    data_as_flex = _dataset_as_flex(
        sliced_outer, tuple(module_slices), bit_depth=bit_depth
    )
  File "/dls_sw/apps/dials/dials-v3-26-0/modules/dxtbx/src/dxtbx/nexus/__init__.py", line 548, in _dataset_as_flex
    raise TypeError(f"Unsupported integer dtype {data_np.dtype}")
TypeError: Unsupported integer dtype int64

I know we saw this before dials/dials#2669 and #624, a potential previous fix in #737 - but I'm not sure we've known that actual regression data in dials.data is failing - I am surprised that the tests pass (maybe they don't try to read data).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions