aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2023-02-15 15:59:55 +0100
committerThomas White <taw@physics.org>2023-02-20 16:26:49 +0100
commita38407fe140d6336e2fa02f0240b1ec993ca321a (patch)
treef83054b107c8d8d453d3fd8cfbfdde4af7f8d265
parente780598a036ed7996171436fa59b2f9f155b7af7 (diff)
This is CrystFEL 0.10.20.10.2
-rw-r--r--CMakeLists.txt4
-rw-r--r--ChangeLog4
-rw-r--r--announcement-0.10.126
-rw-r--r--meson.build4
-rw-r--r--relnotes-0.10.1137
-rw-r--r--relnotes-0.10.2.md161
6 files changed, 167 insertions, 169 deletions
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 <http://www.gnu.org/licenses/>.
-
-
-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 <http://www.gnu.org/licenses/>.
+
+
+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:
+<https://gitlab.desy.de/thomas.white/crystfel/-/blob/master/doc/articles/speed.rst>
+
+
+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:
+<https://gitlab.desy.de/thomas.white/crystfel/-/blob/master/doc/articles/tutorial.rst>
+
+The following new article has been added, to help with the common question of
+choosing the correct point group for merging data:
+<https://gitlab.desy.de/thomas.white/crystfel/-/blob/master/doc/articles/pointgroup.rst>
+
+
+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:
+<https://gitlab.desy.de/thomas.white/crystfel/-/blob/master/doc/articles/online.rst>
+
+
+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:
+<https://www.desy.de/~twhite/crystfel/install.html>
+
+
+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`