CrystFEL: data processing for FEL crystallography


CrystFEL is a suite of programs for processing Bragg diffraction data acquired with a free electron laser in a "serial" manner. Some of the particular characteristics of such data which call for a specialised software suite are:

CrystFEL includes programs for simulating and processing patterns subject to the above characteristics. Fifteen programs form the core of CrystFEL. They are:

Batch indexing, integration and data reduction program, which produces a "stream" containing the indexing and integration results for each diffraction pattern.
A diffraction pattern simulation tool.
A tool merging intensities from many patterns into a single reflection list, via the Monte Carlo method.
Full scaling and post-refinement process for accurate merging of data and outlier rejection.
A tool for resolving indexing ambiguities.
A tool for manipulating reflection lists, such as performing symmetry expansion.
A tool for examining the distributions of unit cell parameters.
compare_hkl and check_hkl
Tools for calculating figures of merit, such as completeness and R-factors.
A tool for calculating partial reflection intensities, perhaps for testing the convergence of Monte Carlo merging.
A simple viewer for images stored in HDF5 format.
A tool for rendering slices of reciprocal space in two dimensions.
A program to refine and optimize detector geometry.
A tool for creating lists of events from multi-event data files.
A tool for locating runs of crystals with similar orientations, e.g. from 'mini rotation series' arising from the use of a slow extrusion sample injector.

There is also a folder full of scripts for achieving many related tasks.

CrystFEL mostly works with images stored in HDF5 format, unit cell data in PDB format, and reflection lists in plain text format (i.e. not MTZ). There are scripts for converting both ways between plain text reflection lists and MTZ files.

Please see the individual manual pages for the CrystFEL programs for detailed information.

Citing CrystFEL

If CrystFEL was important for your research, please consider citing the following article:

T. A. White, R. A. Kirian, A. V. Martin, A. Aquila, K. Nass, A. Barty and H. N. Chapman. "CrystFEL: a software suite for snapshot serial crystallography". J. Appl. Cryst. 45 (2012), p335–341.
doi:10.1107/S0021889812002312Download PDFArticle on IUCr website.

Please let us know (see below) about your publication, so we can include it in the list of examples.

Symmetry in CrystFEL

Without only a very few exceptions, CrystFEL is not interested in space groups. Instead, it deals with point groups which embody the information about how data should be merged from different crystals. Every space group belongs to exactly one point group, and you can look up the right one in the International Tables or using the symmetry tables accompanying the CrystFEL source (or download here).

You can append _uaX to any of the point group symbols listed below, where X is a, b or c. This will specify the 'unique' axis for lattices which have one. The default unique axis, where this makes sense, is c.

Here is a list of all the possible crystallographic point groups, written as they will be accepted by CrystFEL. Refer to this list if you experience difficulty with "-y" at any time.

1, -1
2/m, 2, m
mmm, 222, mm2
4/m, 4, -4, 4/mmm, 422, -42m, -4m2, 4mm
Trigonal (rhombohedral axes)
3_R, -3_R, 32_R, 3m_R, -3m_R
Trigonal (hexagonal axes)
3_H, -3_H, 321_H, 312_H, 3m1_H, 31m_H, -3m1_H, -31m_H
6/m, 6, -6, 6/mmm, 622, -62m, -6m2, 6mm
23, m-3, 432, -43m, m-3m

Funding acknowledgements

Development of CrystFEL is primarily funded by the Helmholtz Association via programme-oriented funds.

Additional funding for CrystFEL is provided by "X-Probe", a project of the European Union's 2020 Research and Innovation Program Under the Marie Skłodowska-Curie grant agreement 637295 (2015-2018).

Additional funding for CrystFEL is provided by the BMBF German-Russian Cooperation "SyncFELMed", grant 05K14CHA (2014-2017).

Past funding for CrystFEL has been received from BioStruct-X, a project funded by the Seventh Framework Programme (FP7) of the European Commission.


This page was written by Thomas White and Valerio Mariani.

Reporting bugs

Report bugs to

Copyright and Disclaimer

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

Please read the AUTHORS file in the CrystFEL source code distribution for a full list of contributions and contributors.

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

See also

ambigator cell_explorer check_hkl
compare_hkl get_hkl hdfsee
indexamajig partialator partial_sim
pattern_sim process_hkl render_hkl
geoptimiser whirligig list_events

If CrystFEL is installed on your computer, you can read this manual page offline using the command man crystfel.