User Tools

Site Tools


Advanced indexing: better crystal structure

In the previous section, we described how to perform grain indexing with GrainSpotter or grain indexing with ImageD11. After some time, you might realize that you are not satisfied with the results and need more advanced tuning of the process.

Crystal structure

As this point, you probably computed your list of G-vectors with ImageD11. The first line of the G-vectors file contains the unit cell parameters and lattice centering (one of P,A,B,C,I,F) and, below, you can find list of computed theoretical g-vectors for the expected unit cell.

This list is generated with crude calculations that do not know anything about atom types of positions in your structure. Chances are that many of those theoretical g-vectors do not exist for your structure or have a very low intensity.

Generating a better list of theoretical g-vectors

The tool timelessPeaksFromCIF uses a library from xfab and PolyXSim to generates a list of peaks based on a cif file.

All you need is to provide a CIF file for your crystal structure (update the cell parameters to your experiment), the wavelength, and the minimum and maximum 2θ values.

The code will then list the following information

  • h, k, l
  • intensity for single-crystal diffraction
  • ds = 1/d (in anstroms)
  • 2theta (in degrees)

You also have options to filter peaks based on an intensity threshold (i.e. to ignore peaks with a weak intensity).

Updating your GVE file

Now is the time to update your GVE file. At the time of writing, this has to be done somewhat by hand. This could be improved in the future.


  • Open your GVE file in a text editor,
  • Make sure the top line (cell parameters and lattice centering) is sill ok,
  • Leave all lines with comments as they are,
  • Around line 34, you should see a list of h, k, l, and ds (1/d). Replace this list with the list generated with timelessPeaksFromCIF (you may have to adjust the format)
  • Do not change anything below the line starting with # gx gy gz xc yc ds eta omega spot3d_id xl yl zl. Those are your experimental g-vectors,
  • Save your GVE under a new name.

You are then ready to go.

processing/advanced_better_crystallography.txt · Last modified: 2023/12/09 22:18 by smerkel