usage: [ipython -wthread] lu__match_pairs_V4.py file__expt.h5 ../../2011-04-mono/CuBFE__180K.h5 ../../14IDB_10096.mda.0001
Input - file__expt.h5
, an output from lu_spots2expt'' program containing experimental reflections, file__tempK.h5
, an output from ''lu_fcf2mono program containing cell parameters and structure factors from monochromatic experiment, file.mda.001
from LaueCollect
software with current spectral distribution of the X-ray beam
Output - file__index.h5
binary file in HDF5 format (name defined by user) containing indexed intensities
Provided with experimental data and monochromatic structure factors, the program essentially performs search for a rotation matrix that fits most of the reflections/frames, uses global and/or frame by frame adjustment of the rotation matrix parameters and allows hkl assignment to the experimental data. It works through ipython-based user interface. The instruction how to proceed with the indexing follows.
The routine starts with display of 9 graphical windows in addition to the console it runs from. Initially, a few parameters need to get adjusted before running the indexing procedure. The list of windows and their applicability is described in chronological usage order.
* MdaToLC
a chart of current spectral distribution of X-ray beam, after inspection can be minimized
Edit Properties
a chart of experimental intensities plotted against experimental sin theta. In cases of datasets with only one frame per angle (e.q. dark) the clusters of reflections associated with the same direction (ray) in reciprocal space can be highlighted by either double-clicking on a chosen data point or by selection of the cluster from:
* ExptClustersManager
a list of experimental clusters found with default program setting. The normal width
and highlighted width
fields contain the width of a line that connects points in Edit Properties
window belonging to found and highlighted clusters accordingly. min_I
section states minimum intensity of at least one reflection in the cluster for the cluster to be included in the indexing procedure. That parameter is the easiest control for the number of experimental clusters being used. min_I
should be in the range of 30 - 40 in order for the program to work fast but effective. The initial number of experimental clusters is displayed in the console.
After each modification of the cluster definition, the number gets updated. Other means of cluster definition are provided in:
* Cluster Expt
window
Paic cell size
refers to the division of space in which a cluster is located into subspaces for numerical reasons. The number given by default should not be changed. Link cutoff
and Fcluster cutoff
values refer to the maximal distance between two points for which they are still considered as belonging to the same cluster. As the clusters are projected on a unit sphere, the values are a fraction of a unit sphere radius. These values should not normally be changed. The Pdist metric
, Linkage method
Linkage metric
and Fcluster criterion
refer to the details of clustering algorithm and they also should not be modified. Term 'euclidean' refers to the distance definition in orthogonal 3D space, and the clusters are defined based on distances between the spots. The most important from the user's point of view is the N_min
field, as it determines the minimum umber of points present in the cluster for a cluster to be considered significant. Current default of 4 is suitable for most cases. For datasets with phi spacing between frames of 1 degree or smaller it can be safely increased to 10, and it may be decreased to 3 in the cases when phi spacing is 5 degrees or larger. The Manual Update
button allows to modify parameters in windows without the program trying to update them at once (time consuming sometimes).
* Cluster Expt
window
has functions analogous to the previous window, but its input is used at the stage of finding a cluster of similar orientation matrices in the space of rotations around three orthogonal axes of a laboratory coordinate system. Link cutoff
and Fcluster cutoff
values refer again to the maximal distance between two points for which they are still considered as belonging to the same cluster. As the clusters are projected on a unit sphere, the values are a fraction of a unit sphere radius. The default value of 0.001 is a nice estimate at lower temperatures and for datasets without laser exposures. In the cases where laser was involved and significant heating or slight crystal shift could occur, a starting value of 0.01 is recommended. The Manual Update
button allows to modify parameters in windows without the program trying to update them at once (time consuming sometimes).
ExptFilter
is another window pertaining to experimental measurements, which allows to select subsets of experimental data based on reflections intensity, I/sigma value, sin theta, number of frame or position in block (in the case, where several frames are collected at the same angle, this number with refer to the number of frame in a sequence, starting with 0; for example in the standard sequence of ON-OFF frames collected 10 times number 3 will refer to the second OFF frame for each phi angle, or frames from the dataset_off2_0xx.mccd group). By default all data are included.
RayFilter
is a control window analogous to the previous one, but pertaining to monochromatic data. It is the only window, through which a number of monochromatic clusters used for testing can be specified. As it is not so computationally time consuming to include more monochromatic data, the default number in Max n
is 100 and a value of 200 is recomended in most cases.
The search of initial rotation matrix starts when the user pushes Calculate
button in the
Match Pairs
windowThis is a time - limiting step, as it can take 2-3 min to complete. When the windows are active again (i.e. they refresh upon clicking), the Cluster
button should be pushed. After a short break, the candidate rotation matrices will be listed in a console, defined in laboratory coordinate system:
the number of the cluster on the list and number of rotation matrices in the cluster precede the actual rotation matrix parameters.
The preliminary rotation matrix can be further adjusted by global (Optimize
) or frame-by-frame (Optimize per frame
) refinement. The results of the refinement appear in console, with minimum and maximum discrepancy (delta angle) values before and after refinement printed below the cell parameters, actual rotation angles in degrees, full orientation matrix, crystallographic matrix and rotation matrix parameters in format and coordinate system appropriate for Precognition and Laue Gui
:
Depending which refinement method yielded the smallest delta angles, its results can be used for hkl indices assignment, a process done through:
hkl_assign_monolc
windowIn order to assign hkl indices, the rotation matrix type has to be chosen from pull-down menu, and tolerance level chosen in the cutoff
field. The level of 0.001 usually gives no or nearly no multiple hkl indices assignment, but leaves out some portion of reflections, while cutoff of 0.002 yields numbers of reflections comparable with LaueGui
results and significant number of multiple assignments (~200), so this is a first careful recommendation.
Once the assignment is completed, the user can specify the name of the output file.