aboutsummaryrefslogtreecommitdiff
path: root/relnotes-0.10.1
blob: d7388eea02c9dcd1e04a43c9873300800bb9f9a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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