aboutsummaryrefslogtreecommitdiff
path: root/relnotes-0.6.1
blob: 4c189cd69c3e8f9dd2ebf77e2947d0bb9a36a58f (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
155
156
157
158
159
160
161
162
163
164
165
CrystFEL - Crystallography with a FEL
-------------------------------------

Release notes for version 0.6.1

Copyright © 2012-2015 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:

- Introduction of "prediction refinement".

- Scaling and post-refinement with "partialator".

- New indexing methods: mosflm-cell and asdf.

- process_hkl --even-only and --odd-only instead of "alternate-stream".

These new features have individual sections below.  In addition, there are many
other new developments.  See the ChangeLog or the changes page on the website
for more details.  There were, of course, the usual large number of smaller
refinements and bug fixes.


Introduction of "prediction refinement"
---------------------------------------

A new refinement step has been introduced between the indexing and prediction/
integration stages of indexamajig.  The refinement aims to maximise the
agreement between the predicted spot positions and the peak positions found by
the peak search step, at the same time as putting the peaks as close to the
Bragg condition as possible.  This increases the accuracy of spot prediction,
which has positive effects on the downstream processing stages.

The prediction refinement stage allows the central beam position to move
relative to the entire detector.  The required offset for each crystal is
recorded in the stream and can be visualised using scripts/detector-shift.

If, somehow, the prediction refinement causes problems for you, you can disable
it using the indexamajig option "--no-refine".


Scaling and post-refinement with "partialator"
----------------------------------------------

The scaling and post-refinement program partialator is no longer considered
experimental in this version.  Many users are already finding significant
improvements in their data simply by applying scaling without partiality:

$ partialator -i my.stream -o my.hkl -y mypg --model=unity --iterations=3

A further improvement is sometimes obtained by applying partialities and doing
full post-refinement:

$ partialator -i my.stream -o my.hkl -y mypg --model=scsphere --iterations=3

Note that partialator applies a per-crystal resolution cutoff to stabilise the
scaling calculation.  Therefore, you should experiment with different values
for "--push-res".

Further improvements to partiality modelling, scaling and merging will be
included in the near future.


New indexing methods
--------------------

This version of CrystFEL can make use of the known unit cell algorithm included
with very recent (7.2.0 or later) versions of mosflm.  The known unit cell
algorithm is used by default if you provide lattice parameters to indexamajig.
If this isn't what you want, or if it doesn't work well for you, use
"mosflm-nocell" as your indexing method to restore the old behaviour.

A new indexing method, asdf, has been added.  This algorithm is built into
CrystFEL directly, so no temporary files or external programs are needed.

The old indexing methods "grainspotter" and "reax" have been removed.


process_hkl --even-only and --odd-only
--------------------------------------

When using process_hkl for merging, you no longer need to use "alternate-stream"
to split the stream into two parts in order to calculate figures of merit such
as Rsplit.  Instead, simply use the "--even-only" and "--odd-only" options to
merge only even-numbered and odd-numbered crystals from the stream:

$ process_hkl -i my.stream -o my.hkl1 -y mypg --even-only
$ process_hkl -i my.stream -o my.hkl2 -y mypg --odd-only
$ compare_hkl my.hkl1 my.hkl2 -y mypg --fom=rsplit [..etc..]

Note that the numbering of crystals for this purpose is simply according to the
order they appear in the stream.  For most purposes, this is effectively random.

Note further that partialator writes the ".hkl1" and ".hkl2" split-merged
datasets for you automatically.


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

The following changes have been made to the libcrystfel API:

New functions:
	- asdf_prepare(), run_asdf(), asdf_cleanup()
	- cell_get_volume()
	- crystal_{get,set}_Bfac()
	- crystal_{get,set,add}_notes()
	- detector_has_clen_references()
	- {x,y,r}_gradient()
	- refine_prediction()
	- refine_radius()
	- {get,set}_panel()
	- {get,set}_flag()
	- solve_svd()

Removed functions:
	- select_intersections()
	- update_partialities_2()
	- get_excitation_error()
	- extract_f_from_stuff()
	- grainspotter_{prepare,index,cleanup}()
	- reax_{prepare,index,cleanup}()

Changed function prototypes:
	- integrate_all_4()
	- set_detector_pos()