CrystFEL - Data processing for serial crystallography ----------------------------------------------------- Release notes for version 0.8.0 Copyright © 2012-2018 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association. Authors: Thomas White Richard Kirian Kenneth Beyerlein Andrew Aquila Andrew Martin Lorenzo Galli Chun Hong Yoon Karol Nass Nadia Zatsepin Anton Barty Cornelius Gati Fedor Chervinskii Alexandra Tolstikova Wolfgang Brehm Valerio Mariani Parker de Waal Takanori Nakane Keitaro Yamashita Oleksandr Yefanov Steve Aplin Helen Ginn Thomas Grant Mamoru Suzuki Nicolas Riebesel Yaroslav Gevorkov Omri Mor 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 -------- The most important new features in this version of CrystFEL are: - Switch of build system to CMake from autotools - Support for peakfinder9 and XGANDALF - More stable B factors during merging - Rejection of patterns during merging according to deltaCCHalf - Introduction of make_pixelmap as a core CrystFEL program - indexamajig --wait-for-file - Support for gzipped CBF files These changes have sections below. In addition, there were many bug fixes and other improvements. See the "ChangeLog" or the changes page on the CrystFEL website for details. Switch of build system to CMake from autotools ---------------------------------------------- The build system has been changed from GNU autotools (./configure etc) to CMake. The README file contains updated instructions for how to compile and install. Briefly: $ mkdir build $ cd build $ cmake .. $ make $ sudo make install To set the installation path, add the option -DCMAKE_INSTALL_PREFIX to the cmake command. To manually set the paths to external libraries, there are options such as -DOpenCL_INCLUDE_DIR and -DCBF_LIBRARIES. Note that there will be no further development snapshots in .tar.gz format made available on the CrystFEL website. These are now unnecessary, since a version from the Git repository is now structurally identical to a packaged release version. If you want to try out the latest features (and possibly the latest bugs!), simply follow the instructions on the website "download" page to check out a Git version. Support for peakfinder9 and XGANDALF ------------------------------------ The new peak finding algorithm, peakfinder9, is based on local background estimates, similar to peakfinder8 which uses radial background estimates. It's implemented in the Fast Diffraction Image Processing library by Yaroslav Gevorkov. You can download it from here: https://stash.desy.de/users/gevorkov/repos/fastdiffractionimageprocessing The new indexing algorithm, "eXtended GrAdient Descent Algorithm for Lattice Finding", XGANDALF for short, is also implemented as a separate library written by Yaroslav Gevorkov. Download it here: https://stash.desy.de/users/gevorkov/repos/xgandalf/ Once they are installed, the CrystFEL build system should detect these librares and enable you to use respectively "indexamajig --peaks=peakfinder9" and "indexamajig --indexing=xgandalf". See the indexamajig manual page for details of the advanced options. More stable B factors during merging ------------------------------------ Previously, it was very easy for the relative Debye-Waller factors for all crystals to drift downwards during merging, resulting in reduced intensity at high resolution. In this new version, the merging algorithm has been changed so that, while the scaling factors are being determined, logarithms of the intensities are merged rather than the intensities themselves. This makes the calculation more stable and avoids the drifting B-factors. Although the actual information content of the merged dataset is not affected very much, this usually produces a higher apparent resolution in the electron density maps. (Credit: Ken Beyerlein) Rejection of patterns during merging according to deltaCChalf ------------------------------------------------------------- The rogue dataset rejection algorithm from Assmann, Brehm and Diederichs, J. Appl. Cryst. 49 (2016) p1021, has been implemented in partialator. It is enabled by default. To turn it off, use the option "--no-deltacchalf". Introduction of make_pixelmap as a core CrystFEL program -------------------------------------------------------- make_pixelmap is now a core CrystFEL program, so you no longer need to install a separate program if you need to make pixel maps for Cheetah, OnDA and others. The program is largely unchanged from the previous standalone version, except that the functionality of make_badmap is now accessed using "make_pixelmap --badmap". You can use --good-pixel and --bad-pixel to set the values for good and bad pixels respectively. indexamajig --wait-for-file --------------------------- This option behaves similarly to XDS's "SECONDS" parameter. When set to a value other than zero, this causes indexamajig to wait this number of seconds for each image file to appear. This can be useful when using CrystFEL as part of an automated processing pipeline. Support for gzipped CBF files ----------------------------- Finally, CBF files compressed using gzip (.cbf.gz) can now be read directly by CrystFEL, without any need to temporarily uncompress them. API changes ----------- The following changes have been made to the libcrystfel API. New functions: - index_pattern_3() - search_peaks_peakfinder9() - estimate_peak_resolution() - free_contribs() - {set,get}_contributions() - ph_eV_to_k (macro) - strip_extension() - run_xgandalf, xgandalf_{probe,prepare,cleanup} Removed functions: (none) Changed function prototypes: - set_dim_structure_entry() - setup_indexing() - refine_radius() Changed structure/enum definitions: - enum SpectrumType: new value SPECTRUM_FROMFILE - enum imagefile_file: new value IMAGEFILE_CBFGZ - struct image: new members "hit", "n_indexing_tries", "spectrum0" and peak_resolution - enum IndexingMethod: new value INDEXING_XGANDALF