User Tools

Site Tools


processing:workflow_training

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:workflow_training [2019/02/19 14:05]
smerkel
processing:workflow_training [2019/09/04 16:47] (current)
smerkel ↷ Links adapted because of a move operation
Line 21: Line 21:
 </​WRAP>​ </​WRAP>​
  
-== Producing data by simulation ==+==== Producing data by simulation ​====
  
 This step will [[processing:​synthetic_dataset|simulate the outcome of a the experiment]],​ with a given number of grains, distribution of orientations,​ strains, etc. This step will [[processing:​synthetic_dataset|simulate the outcome of a the experiment]],​ with a given number of grains, distribution of orientations,​ strains, etc.
Line 29: Line 29:
 Typically, at the end of the simulation, we work with Typically, at the end of the simulation, we work with
   * the generated diffraction images, which we will try to process,   * the generated diffraction images, which we will try to process,
-  * the generated list of grains (in [[fileformat:​gff|gff]] ​format), which we will compare to our indexing.+  * the generated list of grains (in //.gff// format), which we will compare to our indexing.
  
-== Evaluating the simulated diffraction images ==+==== Evaluating the simulated diffraction images ​====
  
 You should look at the simulated diffraction images with [[software:​fabian|Fabian]]. The goal of this step is to You should look at the simulated diffraction images with [[software:​fabian|Fabian]]. The goal of this step is to
   * locate diffraction peaks,   * locate diffraction peaks,
   * evaluate their intensity and that of the surrounding background,   * evaluate their intensity and that of the surrounding background,
-  * understand the [[processing:o_matrix|concept of the O-Matrix]].+  * understand the [[dac_experiments:geometry|concept of the O-Matrix]].
  
 [[software:​fabian|Fabian]] allows you to zoom-in on a peak as well as browse through diffraction images as you increase or decrease ω. [[software:​fabian|Fabian]] allows you to zoom-in on a peak as well as browse through diffraction images as you increase or decrease ω.
Line 42: Line 42:
 You will be able to evaluate potential issues with peak overlap. How much rotation in ω can you do before you find an other peak? What is the η-range in which you can safely assign this peak and not its neighbor? You will be able to evaluate potential issues with peak overlap. How much rotation in ω can you do before you find an other peak? What is the η-range in which you can safely assign this peak and not its neighbor?
  
-== Working on background ==+==== Working on background ​====
  
-Typically, with simulate ​data, background will not strongly affect your peak search. This point, however, is a good step to perform [[processing:​median_average|median and average images]] calculations.+To get rid of the background we now add up all the diffraction images and calculate an average and a median image. Then, every image is subtracted by this average/​median image which should remove the background. ​Typically, with simulated ​data, background will not strongly affect your peak search. This point, however, is a good step to perform [[processing:​backgroundgeneral|median and average images]] calculations. ​But in case you have real data, this procedure is essential!
  
 The average image is a representation of the data that includes The average image is a representation of the data that includes
   * the background,   * the background,
   * the diffraction from the //​surrounding matrix// or the //powder portion of the sample// that gives you continuous diffraction rings in the image,   * the diffraction from the //​surrounding matrix// or the //powder portion of the sample// that gives you continuous diffraction rings in the image,
-  * the diffraction from the sample grains, that give rise to well-defined diffraction spots.+  * the diffraction from the //sample grains//, that give rise to well-defined diffraction spots. 
 + 
 +The median image is a representation of the data that includes 
 +  * the background,​ 
 +  * the diffraction from the //​surrounding matrix// or the //powder portion of the sample// that gives you continuous diffraction rings in the image. 
 +The diffraction from the //sample grains//, that give rise to well-defined diffraction spots are removed and **//do not contribute//​** to the median image!
  
 In [[software:​fabian|Fabian]],​ you can subtract the median image from the original data. You will see the spots from the sample grains only. In theory, all background and contribution from the surrounding sample matrix should be removed. In [[software:​fabian|Fabian]],​ you can subtract the median image from the original data. You will see the spots from the sample grains only. In theory, all background and contribution from the surrounding sample matrix should be removed.
  
-== Peak extraction ==+==== Peak extraction ​====
  
 At this point, you are ready with [[processing:​search_for_peaks|peak extraction]]. You should test the effect of different thresholds. At this point, you are ready with [[processing:​search_for_peaks|peak extraction]]. You should test the effect of different thresholds.
Line 61: Line 66:
 Evaluate the outcome of the peak search by loading the peaks which were found into [[software:​fabian|Fabian]] and see if they match the actual peak positions. ​ Evaluate the outcome of the peak search by loading the peaks which were found into [[software:​fabian|Fabian]] and see if they match the actual peak positions. ​
  
-== Evaluate g-vectors ==+==== Evaluate g-vectors ​====
  
-The next step in the process is the [[processing:​compute_gvectors|calculations of g-vectors]]. For a given reflection in the crystal, **G**<​sub>​hkl</​sub>​ is perpendicular to the diffracting plane (hkl) and its norm is 2π/​d<​sub>​hkl</​sub>​. The real space coordinate of **G**<​sub>​hkl</​sub>​ can be calculated from the experimental measurements,​ namely the x-ray wavelength λ, the diffraction angle 2θ, the azimuth angle η, and the rotation angle ω +The next step in the process is the [[processing:​compute_gvectors|calculations of g-vectors]]. For a given reflection in the crystal, **G**<​sub>​hkl</​sub>​ is perpendicular to the diffracting plane (hkl) and its norm is 2π/​d<​sub>​hkl</​sub>​. The real space coordinate of **G**<​sub>​hkl</​sub>​ can be calculated from the experimental measurements,​ namely the x-ray wavelength λ, the diffraction angle 2θ, the azimuth angle η, and the rotation angle ω.
  
 In order to do so, you need to precisely evaluate your experimental geometry (beam center, detector distance, detector tilt, etc). Once this is done, g-vectors can be calculated directly from the location peaks extracted from the diffraction images. In order to do so, you need to precisely evaluate your experimental geometry (beam center, detector distance, detector tilt, etc). Once this is done, g-vectors can be calculated directly from the location peaks extracted from the diffraction images.
  
-Follow the procedure described in the [[processing:​compute_gvectors|compute G-vectors]] section. At the end of the procedure, you will save the list of experimentally detected g-vectors in a text file.+Follow the procedure described in the [[processing:​compute_gvectors|compute G-vectors]] section. At the end of the procedure, you will save the list of experimentally detected g-vectors in a text [[fileformat:​gve|gve]] ​file.
  
 ==== Grain indexing ==== ==== Grain indexing ====
- 
-This step is necessary to get the G-vectors from your grains. 
- 
-In ImageD11, click on //​Indexing//​ --> //Assign peaks to powder rings// (nothing will happen), then click on //​Transformation//​ --> //Compute g-vectors// and finally //​Transformation//​ --> //Save g-vectors//​. Make sure the file gets the ending //.gve//. 
  
 To index the grains you need [[software:​grainspotter|GrainSpotter]] and an //.ini// file. If you previously did a simulation with [[software:​polyxsim|PolyXSim]],​ you already have an //.ini// file which you can modify for your purposes. Make sure to keep the original and do only modify a copy. For details on what this //.ini// file should contain, check out the [[software:​grainspotter|GrainSpotter wiki page]], the [[fileformat:​ini|.ini wiki page]] or the [[GrainSpotter manual]]. Make sure the //.ini// file contains the right //.gve// file (the one you just created). To index the grains you need [[software:​grainspotter|GrainSpotter]] and an //.ini// file. If you previously did a simulation with [[software:​polyxsim|PolyXSim]],​ you already have an //.ini// file which you can modify for your purposes. Make sure to keep the original and do only modify a copy. For details on what this //.ini// file should contain, check out the [[software:​grainspotter|GrainSpotter wiki page]], the [[fileformat:​ini|.ini wiki page]] or the [[GrainSpotter manual]]. Make sure the //.ini// file contains the right //.gve// file (the one you just created).
- 
-To start GrainSpotter,​ type the following to the Konsole: 
-  GrainSpotter.0.90 '​some_file_name'​.ini 
-  or 
-  grainspotter '​some_file_name'​.ini 
-For more information on which syntax you should use, check the [[software:​grainspotter|GrainSpotter wiki page]]. 
  
 The outcome of the GrainSpotter algorithm is three files: a //.gff// file, a //.ubi// file and a //.log// file. These files contain information on the amount of grains it found, their UBi matrices and some more info. If you are already working with real data, you can now interpret what you got. The outcome of the GrainSpotter algorithm is three files: a //.gff// file, a //.ubi// file and a //.log// file. These files contain information on the amount of grains it found, their UBi matrices and some more info. If you are already working with real data, you can now interpret what you got.
- 
  
 ==== Check your workflow ==== ==== Check your workflow ====
Line 100: Line 94:
  
 If all the simulated UBi matrices match the calculated ones, you can be quite sure that your workflow is running properly. In a next step you can work with real data. If all the simulated UBi matrices match the calculated ones, you can be quite sure that your workflow is running properly. In a next step you can work with real data.
- 
- 
-==== Working on background ==== 
-To get rid of the background we now add up all the diffraction images and calculate an average and a median image. Then, every image is subtracted by this average/​median image which should remove the background. Of course, if you switched off the background in the previous simulation this process won't change anything. But in case you have real data, this procedure is essential! 
- 
-For calculating the average and median you use the python script //​median.py//​. An alternative way is [[software:​imagemath|Image Math]]. For //​median.py//​ type to the command line: 
-  median.py -h 
-The help will pop up and tell you how to use it. 
- 
-The calculation will create an additional //.edf// file. 
- 
-Next, the actual images have to be subtracted by one of these three images. Usually the m2 image (median) is used for this, because it is less affected by outliers. Before you do this, make sure you have a separate folder to avoid mixing up the actual data with the processed data! Raw data should never be modified! 
- 
-Look at the images in Fabian, go to //Image// --> //​Correction//​ --> //Subtract background//​ and choose the m2 image. Now every image which is currently loaded (including those which you can access by clicking on //next// and //​previous//​) gets subtracted by this m2 image (median). If it is not simulated data without noise etc. you should see a difference. The peaks should appear clearer. 
  
processing/workflow_training.1550585107.txt.gz · Last modified: 2019/02/19 14:05 by smerkel