aboutsummaryrefslogtreecommitdiff
path: root/relnotes-0.6.2
blob: daf48f3f917cf25a2a2ef5e24f4fa906e4357228 (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
CrystFEL - Crystallography with a FEL
-------------------------------------

Release notes for version 0.6.2

Copyright © 2012-2016 Deutsches Elektronen-Synchrotron DESY,
                      a research centre of the Helmholtz Association.

Authors:
  Thomas White <taw@physics.org>
  Richard Kirian <rkirian@asu.edu>
  Kenneth Beyerlein <kenneth.beyerlein@desy.de>
  Andrew Aquila <andrew.aquila@cfel.de>
  Andrew Martin <andrew.martin@desy.de>
  Lorenzo Galli <lorenzo.galli@desy.de>
  Chun Hong Yoon <chun.hong.yoon@desy.de>
  Kenneth Beyerlein <kenneth.beyerlein@desy.de>
  Karol Nass <karol.nass@desy.de>
  Nadia Zatsepin <nadia.zatsepin@asu.edu>
  Anton Barty <anton.barty@desy.de>
  Cornelius Gati <cornelius.gati@desy.de>
  Fedor Chervinskii <fedor.chervinskii@gmail.com>
  Alexandra Tolstikova <alexandra.tolstikova@desy.de>
  Wolfgang Brehm <wolfgang.brehm@gmail.com>
  Valerio Mariani <valerio.mariani@desy.de>
  Parker de Waal <Parker.deWaal@vai.org>
  Takanori Nakane <nakane.t@gmail.com>
  Keitaro Yamashita <k.yamashita@spring8.or.jp>
  Oleksandr Yefanov <oleksandr.yefanov@cfel.de>

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
--------

The most important new features in this version of CrystFEL are:

- Stability improvements to the scaling algorithm in partialator.

- Addition of "custom dataset splitting" in partialator.

- "retry" indexing.

- Per-pixel saturation values

These changes have sections below.  In addition, there were many bug fixes and
smaller improvements.


Stability improvements in partialator
-------------------------------------

The scaling algorithm in partialator has been altered such that only the strong
reflections contribute to the scaling factors at all.  This reduces the
"drifting" of scale factors which happened before, and helps avoid the situation
where a very large number of crystals get rejected with large B factors.
Of course, all reflections contribute to the final merged data set as before.

In CrystFEL 0.6.1, we needed to reduce the amount of noise going into the
scaling algorithm to make it work.  This was done by including reflections only
up to the apparent (conservative) resolution limit of each crystal made by
indexamajig, and could be overridden by using the "--push-res" option of
partialator.  The default --push-res value was zero, which meant to ignore any
reflections higher than the limit.  With the stabilised algorithm, this is no
longer necessary, and hence the default --push-res value has been changed to
infinity, i.e. no cutoff at all.  You can restore the old behaviour with
--push-res=0.


Custom dataset splitting in partialator
---------------------------------------

When performing a time-resolved or isomorphous replacement experiment (plus some
other types of experiment), it is preferable to ensure that the data for all
time points has been processed identically.  Rather than processing each time
point independently with separate runs of partialator, it is better to process
them all together and do the splitting into time points just before the final
output.  Consider, for example, the case of simple scaling (without a B
factor): when merging independently, the resulting datasets would probably end
up with different overall scaling factors.  When comparing the results, you
would need to take this difference into account.  In practice, most programs
can do that job easily, but what about if a B factor is included?  And what if
partialities are included - how unique is the solution?

Partialator's new "custom dataset splitting" option allows you to provide a
text file containing a list of filenames, event numbers and dataset
names, one event (detector frame) per line.  All crystals will be refined
together, but they will be merged according to the dataset names you give.  The
parameters (scaling factors, partialities etc) determined during the joint
refinement will be applied.  For each dataset, a separate pair of split
half-datasets will also be written, allowing you to calculate figures of merit
such as Rsplit and CC1/2 for each one.


"retry" indexing
----------------

If an indexing method fails to index a pattern (or if the solution doesn't get
through the prediction refinement stage), this version of CrystFEL will delete
the weakest few peaks and try again.  This can increase the indexing yield a lot
(sometimes a factor of two!), but decreases the speed.  If you'd rather keep
things fast, add "-noretry" to each of your indexing methods.


Per-pixel saturation values
---------------------------

When using dual-gain mode on the CSPAD (or any other detector which offers a
similar feature), our current advice is to correct the pixel values in one of
the regions by multiplying them by the relative gain factor.  This will give
image data which looks good, but the saturation values will be different in the
two regions.  To handle this, CrystFEL 0.6.2 allows you to prepare a map, in
HDF5 format, giving the saturation value for each pixel individually.  The
script "gaincal-to-saturation-map" can be used to create a suitable file from
the gain map (e.g. as generated and used by Cheetah).  Specify the filename and
HDF5 path of the saturation map using saturation_map and saturation_map_file
in the geometry file - these work exactly like the bad pixel map.  Reflections
containing any pixel above this value will be rejected, in addition to any
reflections which get rejected by the usual saturation criteria (so remove any
max_adu directives if you want the saturation map to be the only decider!).


API changes
-----------

The following changes have been made to the libcrystfel API:

New functions:
	- write_cell()
	- find_orig_panel_number()
	- felix_{prepare,index,cleanup}()
	- sort_peaks()
	- remove_flagged_crystals()
	- open_stream_for_write_3()

Removed functions:
	(none)

Changed function prototypes:
	- prepare_indexing()

"data", "flags" and "twotheta" were removed from "struct image", and "sat" was
added.