This file describes data sources used in preparation of the article
Giewekemeyer, K. et al., "Experimental 3D Coherent Diffractive Imaging from photon-sparse random projections",
IUCrJ 6 (2019), https://doi.org/10.1107/S2052252519002781.
Klaus Giewekemeyer, March 2019.
------------------------------------------------------------------------------------------------------------
All source data files which are required to run the Expand-Maximize-Compress (EMC) algorithm
in the way described in [1] are provided.
For clarity, the files are presented here in human-readable ASCII format, rather than in binary form.
In detail, the files are described in the following.
1) detector.dat
This file contains information related to the detector geometry.
The first line is a header containing four numbers.
The first number corresponds to q_max as defined in Eq. (5) of the supporting information in [1].
Note that reciprocal-space coordinates are given in units of k*Delta_X/D, as described in the supporting
information of [1]. 2*q_max+1 is the sidelength of a cube in reciprocal space that contains all points
which are reached by any orientation of the Ewald sphere during the experiment.
The second number corresponds to the number of active detector pixels, M_pix,
which make up the coordinates of a single Ewald sphere slice through reciprocal space.
The third number corresponds to the number of voxels, N_v, in the cube mentioned above which are not reached
by any Ewald sphere slice during the experiment.
The fourth entry is a binary value that indicates, if detector pixels should be flagged in order not to be
considered for orientation determination during the Maximization step (see supporting information of [1] and
also [2]).
Lines 2 until M_pix+1 contain the 3D reciprocal space coordinates of all active detector pixels. The first three
entries correspond to (qx,qy,qz) whereas the last entry specifies, if the give pixel is to be considered
in the Maximization step (value 1) or not (value 0).
The remaining lines contain the 3D reciprocal space coordinates of voxels which are not reached by any
Ewald sphere slice, within a cube of sidelength 2*q_max+1, centered around the origin.
2) sparse_photons.dat
The file starts with a header line containing two numbers. The first indicates the number of 2D detector
frames contained in the file. The second corresponds to the average number of photons per frame,
considering all detector pixels listed in "detector.dat".
Each data frame is then encoded in four lines. The first line contains the number of single-photon events.
The second line contains the location of the single-photon events, as given by the order of the coordinate list
in "detector.dat". Note that we follow C-style numbering here, i.e. the first coordinate has location "0", not "1".
The third line contains the number of multi-photon events. The fourth line contains two numbers per multi-photon
event, the location of the pixel and the number of photons. The data for each frame is followed by a blank line.
Note that the order of the detector frames is completely randomized here, as compared to the actual experiment.
3) quaternions.dat
The first line is a header line containing a single entry, the number of quaternions listed in the file. This
corresponds to the number M_rot of unique orientations during the experiment.
Each following line contains the four coordinates of each unit quaternion corresponding to a unique
orientation of the Ewald sphere, followed by a weighting factor. In the present case, this just
corresponds to 1/M_rot, i.e. an equal weight for each quaternion. For details on the determination of
these quaternions and their definition, see the supporting information of [1].
4) frame_orientations.dat
This file can be used for benchmarking reconstruction results, i.e. to assemble a reference 3D diffraction volume
using full knowledge of orientations. Each line in this file contains a single number between 1 and M_rot,
corresponding to a single data frame in "sparse_photons.dat", in the same order as given by that file.
The number refers to the order of quaternions listed in "quaternions.dat"
and specifies the Ewald sphere orientation of the corresponding frame in "sparse_photons.dat".
[1] Giewekemeyer, K. et al., "Experimental 3D Coherent Diffractive Imaging from photon-sparse random projections",
IUCrJ 6 (2019), https://doi.org/10.1107/S2052252519002781.
[2] Ayyer, K., Lan, T. Y., Elser, V., & Loh, N. D. (2016). "Dragonfly:
an implementation of the expand-maximize-compress algorithm for
single-particle imaging", Journal of Applied Crystallography, 49(4),
1320-1335.