CrystFEL - Data processing for serial crystallography ----------------------------------------------------- Release notes for version 0.10.1 Copyright © 2012-2022 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association. See AUTHORS as well as the individual source code files for full contributor details. CrystFEL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. CrystFEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with CrystFEL. If not, see . Overview -------- This release is primarily a bug-fixing update to CrystFEL, and there have been improvements around the entire suite. The most important changes are detailed below. See the ChangeLog or the Git history for a comprehensive list of all changes. Graphical user interface ------------------------ SLURM jobs started from the GUI will now inherit the entire environment of the GUI, including the values of 'PATH', 'HDF5_PLUGIN_PATH' and other variables. This matches the default behaviour of 'sbatch' and should make it easier to set up the environment correctly. The text entry field entitled 'Search path for executables' for SLURM jobs has been removed. Simply make sure that any extra locations (e.g. to find Mosflm, DirAx or XDS) are added to 'PATH' before starting the GUI, and the SLURM jobs should run correctly. Multiple streams can now be imported at once, to create one "result". This is useful when you want to merge a set of streams inside the GUI, for example if you've previously used "turbo-index" to split the indexing and integration work into multiple batches. When exporting data to MTZ format, the crystal and project fields of the MTZ file will now be filled in. The crystal name will be the name of the indexing run, the project name will be the name of the folder from which the GUI was started. As before, the dataset name will be the name of the merging run. See the section 'MTZ and XDS export' below for information about other changes to reflection data export. A new checkbox "Rescan streams when changing frame" has been added to the "Tools" menu. In certain circumstances, such as when an indexing job is running, un-ticking this box will make it faster to switch between frames in the GUI. However, you will need to occasionally run "Rescan streams" to make sure that the GUI's display is up-to-date. Build system ------------ When building with Meson, several dependencies will now automatically be downloaded and compiled. In this version, this applies to the following dependencies: FastDiffractionImageProcessing (FDIP), LibCCP4, PinkIndexer, XGandalf, ZLib and Eigen (Eigen is a dependency of XGandalf and PinkIndexer). You can disable this feature if you don't want it - see INSTALL.md or the Meson manual for details. It's also possible to use this feature for a restricted selection of dependencies. Bugs in the detection of certain dependencies (OpenCL and SLURM) have been fixed. The dependency on ZLib has been made optional, and CrystFEL no longer depends on 'NCurses' at all. Geometry files -------------- A new field 'mask_edge_pixels' was added to the geometry files. As the name suggests, you can use this to easily mask the edge pixels of panels. See "man crystfel_geometry" for details. CrystFEL has become more stringent about the contents of geometry files. The wavelength (or photon energy etc) must be specified, as well as the experiment- space directions of the fs/ss panel vectors. There is no longer any default for these. The 'detector rail direction' feature, which was broken in version 0.10.0 and not used at all in practice, has been removed completely. Indexing and integration ------------------------ A new option '--data-format' has been added to indexamajig. This is to be used when receiving data from an online source, such as ZeroMQ. The currently available values are 'msgpack' and 'hdf5'. Previously, the only possibility was for online data to be in MessagePack format, but now it can be delivered in HDF5 format as well. Other formats will be added in future. The 'peak pairing' procedure, an important part of the 'prediction refinement' and resolution estimation calculations, has been changed to use a reciprocal- space distance cutoff of one third of the smallest inter-Bragg distance. Previously, a hardcoded distance of ten pixels was used. This change makes the results almost independent of image binning. MTZ and XDS export ------------------ There are now two modes for MTZ export, whether via the GUI or using get_hkl. Plain MTZ mode (get_hkl --output-format=mtz, or 'MTZ' in the GUI export dialog) simply places the reflections into CCP4's definition of the asymmetric unit and writes the intensity and error estimates into columns I and SIGI respectively. This mode is the easiest to use for straightforward structure refinement. Bijvoet MTZ mode (get_hkl --output-format=mtz-bij, or 'MTZ, Bijvoet pairs together' in the GUI export dialog) puts Bijvoet pairs in the same row, under the columns I(+), SIGI(+), I(-) and SIGI(-). This mode is obviously more appropriate for experiments involving the anomalous signal. Finally, a bug has been fixed in the export to XDS format, where the unit cell parameters were previously labelled as '!UNIT_CELL_CONSTANT' instead of '!UNIT_CELL_CONSTANTS'. API changes ----------- There was only one change to the libcrystfel API: write_to_mtz: Addition of 'crystal_name' and 'project_name' parameters