Indexing & integration¶
Index diffraction patterns and integrate reflection intensities using CrystFEL’s indexamajig. COSEDA wraps this into a GUI that manages geometry and cell definitions, run folders, and live metrics — so you can monitor hit rates and indexing rates as the job progresses.
This page covers the standard Simple Indexamajig workflow. For the experimental iterative center-shift refinement loop, see ICI Orchestrator.
This stage requires center finding and refinement to have run first (
center_x,center_y,det_shift_x_mm,det_shift_y_mmmust exist in the HDF5).
Inputs¶
COSEDA working file (
<dataset>.h5) with:entry/data/imagesentry/data/center_x,center_y(from center finding / refinement)entry/data/det_shift_x_mm,det_shift_y_mm(used for geometry file generation)optional
entry/data/index(if frames were stripped)
Dataset
.iniwith acquisition details and processing parametersA cell file (
.cell) describing the expected unit cell. CrystFEL acceptsrhombohedralorhexagonallattice types for trigonal cells; do not usetrigonalas thelattice_type.A geometry file (
.geom) describing the detector layout
Parameters¶
Threading¶
Parameter |
Default |
Description |
|---|---|---|
Worker threads |
12 |
Number of parallel indexamajig workers ( |
Max indexer threads |
1 |
Fixed internally for Simple Indexamajig. Use worker threads to control parallelism. |
Resolution & integration¶
Parameter |
Default |
Description |
|---|---|---|
Push resolution |
0.5 |
Integrate beyond the apparent resolution of each pattern (1/nm). |
Integration radii |
4,5,8 |
Radii for the three integration rings: inner, middle, outer (px). |
Peak selection¶
Parameter |
Default |
Description |
|---|---|---|
Min peaks |
25 |
Minimum peaks for a frame to be attempted. |
Tolerances¶
Parameter |
Default |
Description |
|---|---|---|
Tolerance |
5,5,5,1.5 |
Lattice parameter tolerances (a, b, c in %, angles in °). |
XGandalf tolerance |
0.02 |
Relative tolerance of lattice vectors (2%). |
XGandalf¶
Parameter |
Default |
Description |
|---|---|---|
Sampling pitch |
5 |
Sampling density of reciprocal space (0–7, higher = finer). |
Gradient descent iterations |
2 |
Refinement iterations (0–5). |
Min lattice vector length |
3 Å |
Shortest allowed lattice vector. |
Max lattice vector length |
30 Å |
Longest allowed lattice vector. |
Optional flags¶
Flag |
Default |
Effect |
|---|---|---|
Use fixed profile radius |
off |
Lock integration to a fixed profile radius (requires a value). |
No non-hits in stream |
on |
Exclude non-indexed patterns from the output stream. |
No revalidate |
on |
Skip filtering peaks too close to detector edge, double peaks, or saturated pixels. |
No check peaks |
on |
Disable peak sanity checks when reading peaks. |
No half-pixel shift |
on |
Disable half-pixel offset when reading images. |
No retry |
on |
Do not retry failed frames with weakest reflections removed. |
No check cell |
on |
Skip unit cell comparison against reference cell. |
No refine |
on |
Disable post-indexing unit cell refinement. |
Overpredict |
on |
Predict reflections beyond the observed peaks. |
Using the GUI¶
Open the Indexing & Integration window from the toolbar or menu.
The window has a workspace tree on the left (showing datasets and their run history) and a method selector with tabbed panel on the right. Select Simple Indexamajig from the method drop-down to use the standard workflow.
Tab |
Contents |
|---|---|
Settings |
Indexing parameters, method selector, flags |
Cell File |
Unit cell editor — load, edit, and save |
Geom File |
Geometry editor — load, edit, and save |
Run |
Start/stop controls, live metrics, progress bar |
Select a dataset from the workspace tree. The tabs populate with any previously saved settings.
Prepare cell & geometry files. Use the Cell File and Geom File tabs to load or edit existing files, or create new ones.
Configure parameters in the Settings tab. Click Save Settings to persist them to the
.iniand make them available for batch runs.Start a run from the Run tab:
Start Current — creates a timestamped run folder and starts indexamajig for the selected dataset.
Start All in Batch — runs all workspace datasets sequentially, each in its own timestamped folder.
Monitor progress. The Run tab shows live metrics:
Hit rate (%)
Indexing rate (%)
Throughput (frames/s)
Indexed frame count
Progress bar
Stop at any time. Partial results are preserved in the run folder.
Outputs¶
Stream file:
indexingintegration_<timestamp>/<run_name>.stream— CrystFEL stream with indexed reflections.Settings snapshot:
index_settings.jsonin the run folder — full parameter dump for reproducibility.NXprocess metadata: Written into the source HDF5 files documenting the indexing step.
Run history: Each run appears in the workspace tree for quick re-inspection or restart.
Tips¶
Cell file first. The indexer needs a cell file to know what lattice to look for. If you do not have one, use the cell file editor to define the expected unit cell.
Start conservative. Begin with a single dataset and review hit/indexing rates before running the full batch.
Sampling pitch. Higher values (6–7) give finer sampling but are slower. Start at 5 and increase if indexing rates are low.
Tolerances. If indexing rates are very low, try relaxing the general tolerance or increasing the XGandalf tolerance.
Run folders. Each run is timestamped and self-contained. You can compare different parameter sets by inspecting their run folders side by side.