Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 3.07 KB

README.md

File metadata and controls

59 lines (46 loc) · 3.07 KB

DX2 project

Discussion

Features of dxtbx we want to preserve in a re-write:

  • Most of the models (beam, detector, crystal, gonio, scan)
  • The registry
  • In-memory representation of data (like what we get from MemImageSet). Supports streaming.

Things that should go away

  • Imageset/imagesweep
  • Lazy will be unnecessary because models are random access and read on demand
  • Datablocks
  • Detectorbase
  • check_format (implicit in random access/read on demand)

New features that are desired

  • Retain more details of the goniometer stack
  • Proper definition of scan
  • ImageSetData, Reader
  • numpy back end as option?
    • would likely enable pybind11
  • Match the crystal B matrix convention to IUCr convention.
  • get_image_size is fast/slow but get raw data is slow/fast
  • Count everything from zero
  • Array dimensions are in C order
  • Remove magic from option parser
  • Assume filenames are "sensible" i.e. .nxs are nexus files, etc.
  • Assume .expt is experiments, .refl is reflections
  • Formats have list of supported filename extensions :thinking_face:
  • Define 'half object' conventions (pixel coordinates, U matrix rotations)
  • Fast deserialization

Conclusion of discussion: consensus was to take this forward to a project proposal to active collaborators, with an explicit rename such that dxtbx continues along it's existing path for non-DIALS users.

Diffraction Experiment Toolbox

Python 3.6 | 3.7 | 3.8 Code style: black Language grade: Python Total alerts Coverage DOI

A cctbx-style toolbox to describe single-crystal diffraction experiments, where a monochromatic beam is used to illuminate a sample which is rotated during the exposure and diffraction recorded on a flat area detector.

This toolbox will include code for:

  • reading image headers
  • transforming contents of image header to standard (i.e. imgCIF) frame
  • python models of experiment
  • reading a sequence into memory using existing cctbx image reading tools in iotbx

Initially implemented to support xia2 development, dxtbx is designed to be extensible, to support other applications and to make it easy to work with other detectors, with a generic approach to reading the data files.

A paper describing how to use dxtbx, as well as documenting its development and some of its applications, was published as J. Appl. Cryst. (2014) 47, 1459-1465.