Skip to content

Latest commit

 

History

History
403 lines (277 loc) · 18.8 KB

CHANGELOG.rst

File metadata and controls

403 lines (277 loc) · 18.8 KB

DIALS 3.4.1 (2021-03-31)

Bugfixes

  • Nexus: Diamond Light Source beamlines are now properly identified (#339)

DIALS 3.4.0 (2021-03-15)

Features

  • FormatHDF5SaclaMPCCD is now a "Lazy load" format (#227)
  • Show image counts when displaying Scan objects (e.g. dials.show) (#271)
  • The Scan.append default tolerance is increased to 3% of the image width, to accommodate electron diffraction datasets with poor rotation stages. (#277)
  • Preliminary support for images derived from Timepix 2M detector in NeXus / NXmx format (#298)
  • Add function dxtbx.util.get_url_scheme, to identify URL-style image paths in a cross-platform way (#301)
  • Add support for raw data from the SwissFEL Jungfrau 16M detector, including some estimates of pixel errors (#303)
  • CBF decompression: Validate expected image size, and the cbf_decompress function now accepts the output array size, and returns the number of items read. (#313)
  • Include test for equality of PxMmStrategy in Panel equality operator. (#319)
  • Format suport for Eiger 16M XE at Diamond - recognise legacy and updated beamline names. (#323)
  • The function ExperimentList.from_templates has been added for construction convenience (#333)

Bugfixes

  • Fix Gatan DM4 format reader. (#297)
  • Fix dxtbx. commands crashing on Windows when unicode output is directed to a file (#306)
  • dxtbx.dlsnxs2cbf: Properly display help message when passed -h (#309)
  • Check for existence of certain numpy types before using them. (#318)
  • Correctly link to HDF5 shared libraries on Windows (#329)

Deprecations and Removals

  • The main development branch of dxtbx was renamed from 'master' to 'main'. (#281)
  • DataBlock is now deprecated. Please use ExperimentList instead. (#288)
  • Remove obsolete format FormatNexusExternalDataFile (#328)
  • The previously deprecated ScanFactory.single has been removed. Use ScanFactory.single_file instead. (#332)
  • ExperimentListTemplateImporter is now deprecated. Please use ExperimentList.from_templates. (#333)

Misc

DIALS 3.3.4 (2021-03-05)

Bugfixes

  • Fix error corrupting data when writing CBF files with large pixel values. This affected dxtbx.dlsnxs2cbf and dials.merge_cbf (#314)

DIALS 3.3.3 (2021-02-15)

Bugfixes

  • Fix for missing SENSOR_THICKNESS= in XDS.INP generated for EIGER datasets introduced in 3.3.1 (#296)

DIALS 3.3.2 (2021-02-01)

Bugfixes

  • Don't interpret windows paths as URIs, causing failure to import images (#284)
  • Fix bug in nexus.DataFactory that allowed access to twice as many images as available on disk for VDS nexus files. (#285)
  • Bug fix for live per-image analysis of HDF5/SWMR files, ensuring that a process can see data for images written after a process first sees a given data file. (#289)
  • Bug fix for generating XDS.INP for eiger datasets - ensure that DETECTOR=EIGER (not PILATUS) (#292)

DIALS 3.3.1 (2021-01-18)

Features

  • NeXus files are now opened in SWMR mode. (#270)

DIALS 3.3.0 (2021-01-04)

Features

  • FormatMultiImage: When constructing an imageset with the indices of some (not all) single images in the container, we skip reading models for the images that were not requested. In some cases this speeds up imageset construction by 8x. (#210)
  • Read detector distance from the XTC streams for LCLS Jungfrau data (#246)
  • Set the per-shot gain for the ePix and Jungfrau detectors at LCLS. (#250)
  • Allow format classes to be marked as @abstract. This means that they will be considered and returned by the Registry search if they are the best match, but are intended to represent an incomplete "category" of format class that other classes build on, so cannot be instantiated. (#255)

Bugfixes

  • When creating "Lazy" ImageSets the static mask from the image file was not being properly applied (#227)
  • Be more robust when handling nexus scan axes (#252)
  • Improve error message when attempting to import data-only h5 files (#261)
  • Fix finding HDF5 plugins when using dials-installer (#265)
  • Prevent errors reading eiger data, if h5py is imported before dxtbx (#266)
  • Fix errors introduced by moving to h5py 3.1+ (#267)
  • Improve error message when attempting to import unsupported files (#1220)

Deprecations and Removals

  • Deprecate ScanFactory.single. Please use ScanFactory.single_file without the format= argument, which has been removed. ScanFactory.single will be removed in a future version. (#233)
  • Remove deprecated dxtbx.serialize.dump.experiment_list, dxtbx.serialize.filename.load_path, and as_str argument to dxtbx.serialize.xds.to_xds().XDS_INP() (#248)
  • The ignore() functionality on Format classes has been removed. Such classes should be marked as @abstract instead. (#255)
  • Deprecate the HDF5 plugin discovery patch that is applied when dxtbx is imported before h5py. Please update your HDF5 plugins package. (#258)
  • Remove FormatHDF5RawData format class. This was only ever used experimentally, and caused confusion when incorrectly importing nexus side files. (#261)
  • The deprecated dxtbx.datablock.DataBlockDumper and serialize.dump have been removed. (#269)

Misc

DIALS 3.2.0 (2020-10-27)

Features

  • Add clear_cache() method to clear internal imageset cache (#218)
  • Add dxtbx.model.detector_helpers.project_2d function, which calculates a 2D projection of the detector panels into a frame aligned to the image. This is intended for use in display tasks for mostly co-planar detectors. (#224)
  • image template: add support for nameNNNN e.g. image1234 as a valid name (#234)
  • BeamFactory.simple will now return an unpolarised beam for >~247 KeV beams (e.g. Electron diffraction) (#243)

Bugfixes

  • Fix reading of legacy pickle-image files created from Python 3 (#205)
  • Allow importing filenames with special format characters like % (#214)
  • dxtbx.dlsnxs2cbf: strip timezone when making CBF file timestamps (#235)
  • Fix error reading nexus files when using hardlinks to detector models (#240)
  • SMV Formats: Use header gain values if present, rather than guessing (#242)

Misc

  • We have moved the pytest launchers from cctbx_project to dxtbx. If you run into libtbx.configure errors make sure both repositories are up to date (#231)
  • #209, #211, #212, #217, #225, #226, #230

DIALS 3.1.4 (2020-10-12)

Bugfixes

  • Handle more errors using Eiger-Nexus files

DIALS 3.1.3 (2020-09-28)

Bugfixes

  • dxtbx.image_average: Better use of MPI to avoid errors and increase performance (#207)
  • Update DLS I23 bad pixel mask after detector has been cleaned, fixing previously bad modules. (#220)
  • Change default bit depth for DLS eigers where header information is missing

DIALS 3.1.1 (2020-09-01)

Bugfixes

  • Don't crash handling FormatSMVADSC images with floating-point pedestal values (#216)
  • Allow importing filenames with special format characters like % (#214)

DIALS 3.1 (2020-08-17)

Features

  • Add generic multi-panel support for FormatCBFMiniPilatus and subclasses. Data matching format classes inheriting from FormatCBFMiniPilatus can now be imported with the option multi_panel=True to treat the detector as multiple panels, instead of a single panel comprising the whole detector. (#177)
  • New tool dxtbx.show_mask_info to show the number of masked pixels for each module (#198)
  • Experimental - Alpha API: Add Spectrum as a read-only class obtainable from an imageset, and implement reading spectra from NeXus files. (#201)

Bugfixes

  • Better handle string conversion when NeXus files (#190)
  • HDF5 / NeXus: Correctly use the mask if available. (#198)

DIALS 3.0.4 (2020-07-20)

  • HDF5 / NeXus: Read image dimensions directly from dataset shape instead of reported image_size, as latter can sometimes be backwards (#189)
  • Support image_range when importing images into an ImageSet so only a subset of the images are used
  • Diamond-specific Eiger/Nexus: Fix handling of masked pixels in the image so that module join regions are no longer marked as overloaded (i.e. yellow) in the image viewer (#180)

DIALS 3.0.2 (2020-06-23)

Bugfixes

  • Fix sensor-material handling for Jungfrau 4M and 16M detectors

DIALS 3.0.1 (2020-06-11)

Bugfixes

  • Account for beam centre record changing with ADSC 442 move from 8.3.1 to 5.0.1 (#171)
  • Fix handling for hierarchical NeXus detectors (#175)
  • Prevent mangling of URL-based filenames via abspath (#176)
  • Fix incorrect axis detection on MAX IV Eiger and Spring8 (#178)

DIALS 3.0 (2020-05-18)

Features

  • A new recalculated unit cell attribute is added to the Crystal model, for use by post-integration cell refinement methods, such as that of dials.two_theta_refine. (#142)
  • Add ExperimentList.change_basis() convenience method. (#166)
  • Allow creation of Format classes that accept URLs instead of files (#173)

Bugfixes

  • Fix a bug whereby reading a single-image data set from an Eiger detector would lead to an error. (#156)
  • Fix formatting of unit cell parameters with negligible standard uncertainties (#165)
  • New Eiger FileWriter (20.1.16.56035) produces NeXus compliant files, which exposed a bug in finding axis sample depends on, now fixed. (#168)

Misc

DIALS 2.2 (2020-03-15)

Bugfixes

  • Fix spot-finding on images with file names ending in '0000.cbf' (#133)
  • Fixed imageset slicing for image sets starting from image 0 (#141)

DIALS 2.1 (2019-12-16)

Features

  • With changes in dials.import sequences of stills are imported as individual experiments all dereferencing one image set - this is the change set to support this on load. (#118)

Bugfixes

  • Reinstate support for historic VMXi EIGER 1 images (#119)
  • Fix crash when opening dataset containing many .h5 files (#126)

Deprecations and Removals

  • dxtbx extensions can no longer be imported from dxtbx and must now be imported from dxtbx.ext (#29)

Misc

DIALS 2.0 (2019-10-23)

Features

  • Change dxtbx format registry to using entry points

    dxtbx now discovers format classes during configuration time instead of at runtime. Format classes can either be added into the dxtbx/format directory as usual, registered by other python packages using the 'dxtbx.format' entry point, or installed by the user via the 'dxtbx.install_format' command.

    To register format classes stored in ~/.dxtbx you need to run 'dxtbx.install_format -u' whenever you add or remove format classes.

    Changes for library users: * A number of registry lookup methods were deprecated or removed. * Exceptions from format .understand() methods are no longer discarded.

    Similarly, when no matching format was found the datablock find_format() methods now return 'None' and no longer raise exceptions. In both cases the caller will need to deal with the situation appropriately.

    • Format classes must be named 'Format*', and must inherit either from other format classes or from the top-level format class, 'Format'. Base classes must be given as their original name and must therefore not contain '.'s. (#34)
  • Reading compressed FullCBF files - .gz or .bz2 - is now supported (#72)

  • Add an optional Format.get_static_mask() method

    This allows format classes to define a static mask to be used across all images in an imageset. (#73)

  • Add new command dxtbx.dlsnxs2cbf which converts Nexus files created at Diamond Light Source to .cbf files. (#81)

  • Added ExperimentList.from_file for easily loading data. This means that experiment lists and reflection tables can now load the same way. (#100)

Bugfixes

  • Replace h5py visititems with local_visit implementation to work around using soft links in Eiger / hdf5 files. (#75)

  • Fix FormatNexusEigerDLS16M.understand() for 2019/run4 datasets (#85)

  • Reduce number of redundant file operations in dxtbx

    This includes a change in the DataBlock() construction semantics: sequences from identical detectors are merged into a single DataBlock() object regardless of their position in the call order. Since DataBlock() is deprecated and any reliance on order would have to be handled explicitly downstream anyway this should not have any impact on users or developers. (#89)

  • Fix setting a per-panel pedestal

    Per-panel pedestals are now respected when the corrected data is used. (#108)

Misc