Configuring the simulation - duaneloh/Dragonfly GitHub Wiki
The modules and utilities in this package almost always refer to a configuration file. When the name of the configuration is unspecified, it is assumed to be in the reconstruction directory as config.ini.
The configuration file is listed sequentially to mimic the data stream simulator workflow -- the [sections] in the configuration file correspond to the input and output of each module. Here is a brief outline of the sections in typical config.ini file and a guide on how to choose their values. The schematic below might help.

| Option | Description |
|---|---|
detd |
detector distance in millimeter |
lambda |
photon wavelength in Angstrom |
detsize |
linear size of detector in pixels (integer) |
pixsize |
pixel size in millimeter |
stoprad |
beamstop radius in pixels (float) (see image above) |
polarization |
correction due to incident beam polarization, which can be set as 'x', 'y', or 'none' |
| Option | Description |
|---|---|
pdb_code |
The PDB code of the structure to simulate. The file is fetched from the PDB if it is not present. For a custom file, one can use the option in_pdb_file. |
scatt_dir |
This directory contains the energy dependent atomic scattering factors from Henke Table. |
out_density_file |
The output file of make_densities.py, which reads the atom coordinates from the pdb file and interpolates the values of atomic scattering factors consistent with the photon wavelength, lambda, to generate the electron density. |
| Option | Description |
|---|---|
in_density_file |
The input density file to make_intensities.py, usually set as in_density_file = make_densities:::out_density_file to read in the output electron density file from make_densities.py. Alternatively, you can set this to the relative path of an arbitrary density file. However, the densities should be normalized and written out in the same manner as that from make_densities.py. |
out_intensity_file |
The output file of make_intensities.py, which is a low-pass filtered intensity profile generated from in_density_file. The purpose of the low-pass filter is to eliminate the artifacts caused by discretization of the electron density on a cubic grid. |
| Option | Description |
|---|---|
out_detector_file |
The output detector geometry file to be generated that corresponds to the values in [parameters]. For more on this output format, go to this page. |
| Option | Description |
|---|---|
num_data |
The number of data frames in the dataset, which can be estimated with the signal-to-noise ratio parameter defined in Equation 37 of the original EMC paper. |
fluence |
The incident photon fluence per micron squared, which depends on experimental conditions such as focus size, pulse energy, photon energy, and transmission efficiencies. Typically, a fluence of 1e10 to 1e13 is used to image proteins of 1MDa to a few 100kDa. |
in_detector_file |
The detector geometry file, which should be set as in_detector_file = make_detector:::out_detector_file to use the output detector geometry file from make_detector.py. Alternatively, you can set this to the relative path of an arbitrary detector file that conforms to the detector format listed on this page. |
in_intensity_file |
Input 3D intensity volume, usually set as in_intensity_file = make_intensities:::out_intensity_fileto use the output from make_intensities.py. In order to pass a custom intensity distribution, you will need to match the format and size of the output from make_intensites.py. |
out_photons_file |
The file containing simulated data frames |
| Option | Description |
|---|---|
in_photons_file |
The data frames used for the EMC reconstruction. For a simulation workflow, it should be set as in_photons_file = make_data:::out_photons_file to use the simulated data frames from make_data. For an experiment workflow, the user needs to generate his/her own data file with the same convention as make_data:::out_photons_file. |
in_detector_file |
The detector geometry file used for the EMC reconstruction. It should be set as in_detector_file = make_detector:::out_detector_fileto use the detector geometry file from make_detector.py. For an experiment workflow, the user need to generate his/her own detector geometry file with the same convention as make_detector:::out_detector_file. |
num_div |
This integer determines the refinement of the quasi-uniform rotation sampling. The number of rotations is given by 10*(5*num_div^3 + num_div). More information can be found in the original EMC paper. |
output_folder |
The destination of output files of the EMC reconstruction. |
log_file |
The log file monitoring the progress of the EMC reconstruction. |
need_scaling |
The option to update the scaling of each data frame caused by fluence fluctuation, etc, 0 for off and 1 for on. |