config_mp¶
Data/geometry parameters¶
scan
Mandatory, string type encapsulating scans or ranges of scans containing data for each peak. The scans/scan ranges should be arranged in ascending order.
scan = "898-913,919-934,940-955,961-976"
orientations
Mandatory, a list of lists, each inner list defining the orientation of a peak.
orientations = [[-1, -1, 1], [0, 0, 2], [1, 1, 1], [2, 0, 0]]
hkl_in
Mandatory, list with Miller indices representing the in-plane lattice vector.
hkl_in = [3.031127677370978, 12.31353345906843, 8.75104158816168]
hkl_out
Mandatory, list with Miller indices representing the out-of-plane lattice vector.
hkl_out = [9.77805918769193, -8.402719849515048, 8.436553021703112]
twin_plane
Mandatory, list with Miller indices of the twin plane. If there is not a twin plane, this should be the same as sample_axis.
twin_plane = [1, -1, 1]
sample_axis
Mandatory, axis of the sample. The data will be rotated so that the twin plane vector in the lattice frame (hkl) corresponds to this vector in the array frame (xyz).
sample_axis = [0, 1, 0]
final_size
Mandatory, a size in each dimension of the array holding reconstructed object.
final_size = 180
lattice_size
Mandatory, lattice parameter of the reconstructing crystal. This is used to define the reciprocal lattice vectors, which are required for projecting to each peak.
lattice_size = 0.4078
rs_voxel_size
ds_voxel_size
Autofilled, These are calculated from the experimental geometry and added to the config file automatically. Do not edit these unless you REALLY know what you're doing.
General reconstruction parameters¶
switch_peak_trigger
Mandatory, a trigger defining at which iteration to switch the peak.
switch_peak_trigger = [5, 5]
weight_init
Mandatory, the initial global weight to use when updating the shared object. A weight of 0 will not update the shared object at all, while a weight of 1 will replace the shared object (except the orthogonal displacement) after phasing each peak. In general, a high weight leads to rapid development, but only forces the object to agree with whichever peak it phased most recently. A low weight converges slowly, but favors information common to all of the peaks.
weight_init = 1.0
weight_iters
weight_vals
Optional, list of iterations and corresponding list of values. After each iteration in weight_iters, the global weights will be updated to the corresponding value in weight_vals. A good rule of thumb is to start high and end low.
weight_iters = [200, 400, 600, 800]
weight_vals = [0.75, 0.5, 0.25, 0.1]
calc_strain
Optional, boolean, toggles whether to calculate the strain after reconstruction. Still experimental.
calc_strain = False
Adaptive coupling parameters¶
adapt_trigger
Optional, determines when to update the weights assigned to individual peaks. Before each peak-switch, a confidence value is calculated for the current peak, based on how much it changed while phasing (i.e. how much this dataset disagrees with the current state of the reconstruction). These are then periodically compiled into a peak-specific weight, which determines how much each dataset is allowed to impact the reconstruction.
adapt_trigger = [100, 100]
adapt_power
Optional, non-negative number that determines how harshly to punish bad datasets.
adapt_power = 1 #
adapt_threshold_init
adapt_threshold_iters
adapt_threshold_vals
Optional, determines the relative confidence threshold required for shrinkwrap to prevent bad datasets from constantly derailing the reconstruction.
adapt_threshold_init = 0.5
adapt_threshold_iters = [200, 400, 600, 800]
adapt_threshold_vals = [0.6, 0.7, 0.8, 0.9]
adapt_alien_start
Optional, determines when to begin adaptive alien removal. Alien removal occurs immediately after switching to a new peak, while the exit wave still agrees perfectly with the shared object. The diffraction amplitude calculated by forward propagating this object is compared with the actual measurement of the same reflection, and voxels where they strongly contradict each other are masked. A hybrid diffraction pattern, where the masked voxels have been replaced by the forward propagation, is then used for phasing.
adapt_alien_start = 100
adapt_alien_threshold
Optional, determines the minimum amount of contradiction needed to mask a voxel. Under the hood, the actual value is this multiplied by the median of the normalized difference map.
adapt_alien_threshold = 3