User Tools

Site Tools


processing:indexing_with_grainspotter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
processing:indexing_with_grainspotter [2023/03/14 11:02]
smerkel
processing:indexing_with_grainspotter [2023/03/16 12:10] (current)
smerkel
Line 13: Line 13:
 ImageD11 is not a good tool for evaluating δη and δω as all peaks extracted for all ω are stacked on the same plot. It is appropriate,​ however, to evaluate δ2θ. ImageD11 is not a good tool for evaluating δη and δω as all peaks extracted for all ω are stacked on the same plot. It is appropriate,​ however, to evaluate δ2θ.
  
-[{{:​fabian.png?​nolink&​300 | Result of a peak search displayed in Fabian. Red circles are peaks. Using Fabian you can estimate the maximum δη interval (azimuthal coordinate on the detector plane) that can be used without confusing peaks. By moving from one image to the next, you can also estimate the maximum value of δω interval that can be used while avoiding confusion between peaks.}}]+[{{:​fabian.png?​nolink&​250 | Result of a peak search displayed in Fabian. Red circles are peaks. Using Fabian you can estimate the maximum δη interval (azimuthal coordinate on the detector plane) that can be used without confusing peaks. By moving from one image to the next, you can also estimate the maximum value of δω interval that can be used while avoiding confusion between peaks.}}]
 [{{ :​imaged11_plotttheta_500.png?​nolink&​250| 2θ/η plot in ImageD11. This can be used to assign a maximum δ2θ interval that will avoid confusion between the diffraction lines. Pay attention to this step. If your 2θ uncertainty is too large, the indexing will be completely wrong.}}] ​ [{{ :​imaged11_plotttheta_500.png?​nolink&​250| 2θ/η plot in ImageD11. This can be used to assign a maximum δ2θ interval that will avoid confusion between the diffraction lines. Pay attention to this step. If your 2θ uncertainty is too large, the indexing will be completely wrong.}}] ​
  
Line 31: Line 31:
 Changing the 2θ range allow you to exclude some domains where the peaks are not well defined. Changing the 2θ range allow you to exclude some domains where the peaks are not well defined.
  
-You should play on the //cut// and //​uncertainties//​ to optimize the parameters that will lead to the best results. ​+You should play on the //cut// and //​uncertainties//​ to optimize the parameters that will lead to the best results.
  
-  * Increasing the minimum of measurements allow to decrease the number of erroneous indexed grains but it limits the number of indexed grains found. The uniqueness and the completeness do not have a great importance on the indexation. For defining the uncertainties,​ use the plot from fabian and ImageD11. +When your input file is ready, type either ​
- +
-Increasing random number increase the number of grains indexed but slow a bit the calculation. +
- +
-When your input file is ready, type +
    ​GrainSpotter.0.90 index.ini    ​GrainSpotter.0.90 index.ini
 or or
Line 44: Line 40:
    ​grainspotter index.ini    ​grainspotter index.ini
  
-The command you need depends on which version you use. There shouldn'​t be any differences but still, we don't know for sure. 
  
 ======Sample GrainSpotter input file====== ======Sample GrainSpotter input file======
  
-Below is a sample GrainSpotter input file that we actually used+Below is a sample GrainSpotter input file that we actually used
 +  * lines started with ''​!''​ are commented out and will not be used, 
 +  * we define several 2theta ranges in which we actually look for peaks (other changes were polluted by an additional phase, 
 +  * images were acquired with ω in the [-28°;+28] range in steps of 0.5°, 
 +  * the GVE file to start from is ''​peaks-I-Want-To-Index.gve'',​ 
 +  * results will be saved in ''​grains-I-found.log''​ 
 +  * cuts are as follow 
 +       * 15 peaks, minimum per grain, 
 +       * 30% completeness minimum, which is quite low but diamond anvil cells have shadows, peaks may be hidden by the pressure medium, etc. If the completeness restriction is too high, you will not find enough grains, 
 +       * 50% uniqueness: has no effect in the experiments we performed,​ 
 +   * uncertainties:​ 0.02° in 2θ, 1° in η and 2° in ω, which are all multiplied by a nσ of 2 (line below) 
 +   * tries for 10000 random orientations and stops,
  
 <​code>​ <​code>​
Line 60: Line 66:
 domega 0.5                        ! domega [stepsize] in omega, degrees domega 0.5                        ! domega [stepsize] in omega, degrees
 omegarange -28 28 ! omegarange [min max] degrees, multiple ranges can be specified omegarange -28 28 ! omegarange [min max] degrees, multiple ranges can be specified
-filespecs peaks-Bm.gve grains-Bm-0.log ! filespecs [gvecsfile grainsfile] +filespecs peaks-I-Want-To-Index.gve grains-I-found.log ! filespecs [gvecsfile grainsfile] 
-cuts 10 0.3 0.5                ! cuts [min_measuments min_completeness min_uniqueness]+cuts 15 0.3 0.5                ! cuts [min_measuments min_completeness min_uniqueness]
 eulerstep 5                ! eulerstep [stepsize] : angle step size in Euler space eulerstep 5                ! eulerstep [stepsize] : angle step size in Euler space
 uncertainties 0.02 1 2    ! uncertainties [sigma_tth sigma_eta sigma_omega] in degrees uncertainties 0.02 1 2    ! uncertainties [sigma_tth sigma_eta sigma_omega] in degrees
Line 72: Line 78:
 </​code>​ </​code>​
  
 +======Loops with GrainSpotter======
 +
 +It can be efficients to run multiple loops of grainspotter indexings. The underlying concept is as follow
 +  * Step 1:
 +    * run grainspotter with a given set of specifications,​ remove all indexed peaks from the GVE file,
 +    * repeat the above operation X times,
 +    * this will provide a first set of grains, which should be the most reliable
 +  * Step 2:
 +    * Lower the tolerance, and repeat X loops of indexings, remove indexed peaks at each step
 +    * this will provide a second set of grains, which may have to be checked
 +  * Repeat steps above, lowering tolerances progressively in order to optimize the number of indexed grains, while making sure that all indexed grains make sense
 +  * Combined the results of all indexings into one main log file, with all indexed files from the loop.
 +
 +There are several TIMEleSS tools to help you with this process
 +  * [[processing:​remove-used-gve-updated|timelessClearGVEGrains]]
 +  * [[processing:​grainspotter-merge|Merge GrainSpotter output files]]
 +  * [[processing:​extracteulerangles|ExtractEulerAngles.py]]
  
 +An example of a GrainSpotter loop is provided in a [[processing:​advanced_indexing_with_grainspotter|dedicated page]].
processing/indexing_with_grainspotter.1678791746.txt.gz · Last modified: 2023/03/14 11:02 by smerkel