User Tools

Site Tools


.ini file format

An .ini file is an ASCII file which is used by the GrainSpotter algorithm as an input file. It is automatically created when you perform a simulation with PolyXSim. You can modify the created .ini file for your specific purposes or simply create a new one yourself by modifying the following example.

The .ini file consists of two columns. The left one defines the input parameters, the right one an explanation to it. Explanatory text is initiated by a ! symbol (exclamation mark) to separate it from the actual input data. The GrainSpotter algorithm skips every passage which starts with an exclamation mark. So the explanatory text is just for your help. The algorithm works the same without it. However, you can also use the ! symbol to switch off certain passages of the input parameters (left column) because you don't need them right now, for example in line 2: !dsrange 0 4.2. Note that the order of the lines doesn't matter.

  spacegroup 136                       ! spacegroup [space group nr]
  !dsrange 0 4.2                       ! dsrange [min max], d-spacing range, multiple ranges can be specified
  tthrange 0 25                        ! tthrange [min max], multiple ranges can be specified
  etarange 0 360                       ! etarange [min max], multiple ranges can be specified
  domega 0.5                           ! domega [stepsize] in omega, degrees 
  omegarange -28 28                    ! omegarange [min max] degrees, multiple ranges can be specified
  filespecs g_vectors.gve grains.log   ! filespecs [gvecsfile output_file] 
  cuts 5 0.6 0.8                       ! cuts [(min_measuments:grain is chosen if there are at least this amount of peaks per grain) (min_completeness: grain is chosen if there are at least this fraction of the expected peaks present) (min_uniqueness: no idea, just put any number)]
  eulerstep 6                          ! eulerstep [stepsize] : angle step size in Euler space
  uncertainties 0.1 0.2 .5    	       ! uncertainties [sigma_tth sigma_eta sigma_omega] in degrees
  nsigmas 2                   	       ! nsigmas [Nsig] : maximal deviation in sigmas
  !minfracg 0.2                        ! stop search when minfracg (0..1) of the gvectors have been assigned to grains 
  !Nhkls_in_indexing 15		       ! Nhkls_in_indexing [Nfamilies] : use first Nfamilies in indexing
  random 10000                         ! use randomly chosen orientation seeds #trials
  !positionfit                         ! fit the position of the grain
  !genhkl                              ! generate list of reflections

Details on parameters

Definition for each parameters is below. This is a copy and paste from the original GrainSpotter manual.

  spacegroup number

The space group id (integer between 1 and 230). This is mainly used to handle ensure that the determined orientation falls into the fundamental zone – a unique part of orientation space. Hence the same solution will always have the same U matrix, not one of the other possible transformations allowed by the space group symmetry. This is mainly a concern in materials science, less so for structure solution and refinement., A list of space groups is given below. If space group is not known, program will run with any input.

  etarange minimum maximum [degrees]

The active interval in the eta angle range (values between 0 and 360 degrees can be used ). OBS you can put in more than one interval.

  tthrange minimum maximum [degrees]

The radial active interval defined as a twotheta range (maximum > minimum ³0 ). Instead of tthrange the radial scattering range can alternative be defined by the dsrange (see dsrange keyword below). OBS you can put in more than one interval.

  dsrange minimum maximum [1/Å]

The radial active interval as a d range, d = 2 sin(theta)/lambda (floating point values and maximum > minimum ³0 ). Analogous to the restricting the radial scattering area by the tthrange documented above. OBS you can put in more than one interval.

  omegarange minimum maximum [degrees]

The active interval in the omega range. I all data are to be used these should match start and end omega positions of the experiment (180 ³ maximum > minimum ³ -180). OBS more than one range can be provided.

  domega omega_stepsize [degrees]

The omega step size (the rocking angle for each acquisition) used in the data collection.

  filespecs g-vector_filename log_file_name

Path and filenames of the input g-vector file (from ImageD11) and the output grains file containing the crystallographic orientations, information about fitting reflections etc.

  cuts min_no_measuments min_completeness min_uniqueness

Minimum requirements for accepting an initial grain solution: - Minimum number of g-vectors assigned to the grain, min_no_measurements (integer value > 3), - Minimum fraction of expected reflections assigned (#assigned reflections/#theoretical reflections) to the grain, min_completeness (floating number between 0 and 1). - min uniqueness is OBSOLETE (enter any number)

  eulerstep orientation_angle_stepsize [degrees]

The number defines the size of the volume around the random orientation in which a possible match can be found. By making eulerstep small the possible solutions for each step are reduced, which makes it faster. However, then you might also need more random steps to find all grains. A sensible value for eulerstep is around 3-6 degrees.

  uncertainties sigma_twotheta sigma_eta sigma_omega [degrees]

Give YOUR estimation on the uncertainties (FWHM) in degrees on eta, omega and twotheta. Typically sigma_twotheta is 0.05-0.1 deg, sigma_eta is 0.1-0.2 deg while sigma_omega is equal to domega. Multiplied by nsigmas (see below) these numbers “decide” whether a theoretical gvector match an observed,. Often it is required to vary these parameters a bit to optimise GrainSpotter performance.

  nsigmas 2 ! maximal deviation in sigmas

Determines the maximal deviation allowed for Grainspotter to (initially) accept a peak as belonging to a certain grain. Generally, the rule of acceptance is |d_quantity| < nsigmas * sig_quantity. Experience shows that a number of 2 is good.

  Nhkls_in_indexing 10 ! use first Nhkls_in_indexing hklfamilies in indexing

Uses the first Nhkls_in_indexing hkl families for the first part of the analysis. Afterward the search for additional gvectors belonging to the grain is done on the remaining rings.

  random 100000

· The number following random trial samplings in orientation space. Typically the number is between 10,000 and 100,000. The run time is proportional to this number. One may optimize the value by initially setting it very large and observing on line when Grainspotter stops generating new grains. : ·


This flag is toggled off by commenting the line out. When the flag is set, the condition for identifying a grain will include a test of whether all refelctions appear to emerge from the same spatial position. The center-of-mass position will be part of the optimisation process for a given grain and it will be written to the output grains file.


If this parameter is set, the list of theoretical hkls is generated internally by GrainSpotter based on the unit cells on top of the g-vectors files and the spacegroup in the GrainSpotter input file. If the parameter is not set, the list of theoretical hkls is read from the g-vectors file.

fileformat/ini.txt · Last modified: 2019/09/04 13:11 by smerkel