From a38407fe140d6336e2fa02f0240b1ec993ca321a Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 15 Feb 2023 15:59:55 +0100 Subject: This is CrystFEL 0.10.2 --- CMakeLists.txt | 4 +- ChangeLog | 4 +- announcement-0.10.1 | 26 --------- meson.build | 4 +- relnotes-0.10.1 | 137 -------------------------------------------- relnotes-0.10.2.md | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 167 insertions(+), 169 deletions(-) delete mode 100644 announcement-0.10.1 delete mode 100644 relnotes-0.10.1 create mode 100644 relnotes-0.10.2.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 6abc1904..27b73f5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.6) -set(CRYSTFEL_SHORT_VERSION 0.10.1) +set(CRYSTFEL_SHORT_VERSION 0.10.2) set(CRYSTFEL_VERSION ${CRYSTFEL_SHORT_VERSION}) -set(CRYSTFEL_API_VERSION 15) +set(CRYSTFEL_API_VERSION 16) project(crystfel VERSION ${CRYSTFEL_VERSION} LANGUAGES C) cmake_policy(SET CMP0074 NEW) diff --git a/ChangeLog b/ChangeLog index e932a6f3..46b0d6f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ -Changes in this development version ------------------------------------ +CrystFEL version 0.10.2, 20 February 2023 +----------------------------------------- - New tutorial added (doc/articles/tutorial.rst) - New documentation on point group choice (doc/articles/pointgroup.rst) diff --git a/announcement-0.10.1 b/announcement-0.10.1 deleted file mode 100644 index a0817dfd..00000000 --- a/announcement-0.10.1 +++ /dev/null @@ -1,26 +0,0 @@ -Dear CrystFEL users and interested crystallographers, - -CrystFEL version 0.10.1 has been released! - -This release is primarily a bug-fixing update to CrystFEL. There have been -improvements around the entire suite, fixing several problems which came up in -version 0.10.0. Some new features have been added as well. Please read the -release notes for a summary of the most important changes: -https://www.desy.de/~twhite/crystfel/relnotes-0.10.1 - -Refer to the change log for a more comprehensive list of improvements: -https://www.desy.de/~twhite/crystfel/changes.html - -Thanks for all of your past and future feedback and contributions, and your -continued use of CrystFEL. As always, there is much more information on the -CrystFEL website: https://www.desy.de/~twhite/crystfel - -You can unsubscribe from this mailing list by simply sending me a short -message. Alternatively, you can now subscribe and unsubscribe via the web -interface: https://lists.desy.de/sympa/info/crystfel-announce - -With very best wishes, - -Tom - - diff --git a/meson.build b/meson.build index 238fca8f..59bbcfb7 100644 --- a/meson.build +++ b/meson.build @@ -1,11 +1,11 @@ # Meson file for CrystFEL project('crystfel', 'c', - version: '0.10.1', + version: '0.10.2', license: 'GPL3+', meson_version: '>=0.55.0', default_options: ['buildtype=debugoptimized']) -libcrystfel_api_version = 15 +libcrystfel_api_version = 16 add_project_arguments('-DHAVE_CONFIG_H', language: 'c') diff --git a/relnotes-0.10.1 b/relnotes-0.10.1 deleted file mode 100644 index d7388eea..00000000 --- a/relnotes-0.10.1 +++ /dev/null @@ -1,137 +0,0 @@ -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 diff --git a/relnotes-0.10.2.md b/relnotes-0.10.2.md new file mode 100644 index 00000000..00bbad03 --- /dev/null +++ b/relnotes-0.10.2.md @@ -0,0 +1,161 @@ +Release notes for CrystFEL version 0.10.2 +========================================= + +Copyright © 2012-2023 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 (GUI) +------------------------------ + +This version adds a colour scale widget to the GUI, which can be used to +manually adjust the colours used to display the image. The colour scale is +found directly to the right of the image. Click and drag to move +the histogram of image values relative to the colour scale, and use the scroll +wheel to compress and expand the range. + +Resolution rings can now be added to the image. Enable them in the "View" menu. +There are also menu items for running `detector-shift` and `peakogram`, found +under the "Tools" menu. + +The figure of merit calculation tool has been improved, and now displays the +results as a graph. The graph values can be exported as a CSV file for further +processing. + +This release also adds specially-designed icons to the GUI, which fixes +problems with "broken" icons on some systems. + + +Performance +----------- + +Speed has been improved in many areas of CrystFEL. The profiling option +(`--profile`) of `indexamajig` has been re-implemented and can help you to find +bottlenecks in processing on your data. In addition, some new options were +added to `indexamajig`: + +New option `--peakfinder8-fast` tells peakfinder8 to calculate some values in +advance, approximately halving the time taken by the peak search. + +Another new option `--asdf-fast` slightly alters some thresholds within asdf, +resulting in a large speedup. Since this changes the behaviour from before, we +decided to make it optional. + +Finally, `--cell-parameters-only` completely circumvents the spot prediction and +integration calculations, which can make a very large speedup as long as you're +not interested in spot positions. Note that this isn't the same as the +existing option ``--integration=none``, where the spot positions are predicted +but the intensity integration is skipped. For very large unit cells, which are +often produced by unconstrained indexing (e.g. for online monitoring), the spot +prediction can take signficant time. + +For advice about making CrystFEL faster, see this page: + + + +Documentation improvements +-------------------------- + +Two long-form documentation articles have been added, on top of the other two +mentioned in other sections of this page. + +A completely new tutorial has been added, describing how to process data using +the graphical user interface: + + +The following new article has been added, to help with the common question of +choosing the correct point group for merging data: + + + +Streaming interfaces +-------------------- + +ZeroMQ and ASAP::O interfaces have been added, to allow data to be streamed +directly to CrystFEL without any intermediate file storage. For some +information on how to get started, read the following document: + + + +Refuses to overwrite stream +--------------------------- + +Starting from this version, `indexamajig` and other CrystFEL tools will refuse to +create a new stream if a file already exists with the same name. This is meant +to avoid the possibility of losing valuable results by (e.g.) re-running a +processing script. This becomes particularly important in a streaming data +situation, where the original data might no longer be available. If you really +want to overwrite the results, you'll need to move or delete the old file +yourself. + + +Installation +------------ + +CrystFEL has become easier to install because of several developments. First, +the Slurm API headers are no longer needed for the GUI to submit Slurm jobs. +In this version, it uses the Slurm commands directly +(`sbatch/scontrol/scancel`). + +For environments based totally on CBFs or other types of files, it's now +possible to compile CrystFEL without any reference to the HDF5 library, +avoiding a lot of possible complications. + +There is a new script (`scripts/install-indexers`) which helps with installing +Mosflm, DirAx and XDS. After downloading CrystFEL, run the script with +`--help` to get started. + +Finally, Docker images are now available. These can be used with various +container tools (not just Docker). For example, using Apptainer (the new name +for Singularity): +``` +$ apptainer pull docker://gitlab.desy.de:5555/thomas.white/crystfel/crystfel:latest +$ apptainer run -B /path/to/data crystfel_latest.sif +``` + +More details can be found on the installation page: + + + +API changes +----------- + +Added routines: +* `data_template_slabby_file_to_panel_coords` +* `data_template_get_2d_detgeom_if_possible` +* `data_template_get_clen_if_possible` +* `image_create_dp_bad_sat` +* `profile_{init,start,end,print_and_reset}` + +Removed routines: +* `image_set_zero_mask` + +Changed routine prototypes: +* `default_method_options` - addition of `asdf_opts` +* `peakfinder8` - addition of `fast_mode` and `private_data` + +Changed enumerations: +* `DataSourceType` - addition of `DATA_SOURCE_TYPE_SEEDEE` -- cgit v1.2.3