processing:complex-multi-phase
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| processing:complex-multi-phase [2019/06/07 10:02] – matthias | processing:complex-multi-phase [2023/12/10 12:11] (current) – smerkel | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | |||
| ====== | ====== | ||
| - | If your dataset | + | When you have sample with multiple phases, |
| + | |||
| + | Here is how we proceed: | ||
| + | * First work on our list of g-vectors to identify our phases and peaks, | ||
| + | * Generate custom GVE files for each phase we will work on, | ||
| + | * Run series of indexings, one phase after another, and multiple times. | ||
| + | |||
| + | ===== Identify phases and peaks ===== | ||
| + | |||
| + | |||
| + | {{ : | ||
| + | |||
| + | One of the most critical tasks of this work is to know what you are looking for. In our case, we typically have | ||
| + | * 2 or more sample phases, often with complex | ||
| + | * a pressure medium, often a simple cubic phase, with one peak. | ||
| + | |||
| + | To do so, it is much better to work on an [[processing: | ||
| + | |||
| + | The figure on the right shows an example from Gay //et al//, published in //Earth and Planetary Science Letters// in 2023 [doi: [[https:// | ||
| + | |||
| + | The histogram is less affected by very large grains (the pressure medium in our case). In addition, experimental peak broadening, due to the instrument or the sample properties such as grain size or microstrains, | ||
| + | |||
| + | You can then use your favorite powder diffraction software, such as [[https:// | ||
| + | |||
| + | ===== Custom GVE files for each phase ===== | ||
| + | |||
| + | We will need a custom GVE file for each phase we want to index. In those files (see [[fileformat: | ||
| + | * the first line needs to be altered with the unit cell parameters and lattice centering (one of P, | ||
| + | * the section on computed theoretical g-vectors for the unit cell needs to be updated, | ||
| + | * The actual scattering vectors (g-vectors) extracted from the experimental data below is identical for all phases, since we do not know how they are assigned. | ||
| + | |||
| + | Use a tool like [[processing: | ||
| + | |||
| + | In our case, we do not index peaks from the pressure medium, but simply ignore the corresponding 2θ in the indexing. This can be easily done by specifying custom 2θ ranges in the GrainSpotter input file. | ||
| - | ===== Trick 1: Plot intensity vs. 2theta from peak histogram in ImageD11 | + | ===== Indexing loop ===== |
| - | from ImageD11 import columnfile | + | Let's say your sample consist of 3 phases, phaseA, phaseB, phaseC, with the 3 corresponding experimental GVE files, phaseA.gve, phaseB.gve, phaseC.gve. The indexing process will go as follows |
| - | c = columnfile.columnfile(' | + | * index grains for phaseA, with a strict set of tolerances, |
| - | c.titles % to see what variables you have in your columnfile | + | * remove the assigned experimental g-vectors |
| - | c.parameters.loadparameters(" | + | * index grains for phaseB, with a strict set of tolerances, |
| - | c.titles | + | * remove the assigned experimental g-vectors from all 3 phaseA.gve, phaseB.gve, and phaseC.gve, |
| - | c.updateGeometry() | + | * index grains for phaseC, with a strict set of tolerances, |
| - | import pylab | + | * remove the assigned experimental g-vectors from all 3 phaseA.gve, phaseB.gve, and phaseC.gve, |
| - | pylab.figure() | + | * and repeat |
| - | pylab.show() | + | |
| - | import matplotlib | + | |
| - | matplotlib.use(" | + | |
| - | from pylab import | + | |
| - | | + | |
| - | from ImageD11.columnfile import * | + | |
| - | c = columnfile(" | + | |
| - | c.parameters.loadparameters(" | + | |
| - | | + | |
| - | tth=arange(0,15,.01) | + | |
| - | plot(np.histogram(c.tth,bins=tth)[0]," | + | |
| - | | + | |
| - | plot(tth[1: | + | |
| - | show() | + | |
| - | | + | |
| - | Open a python console | + | You can either run this by hand, your use a fancy loop with a bash script. We actually spent some time working on such a loop, and you can find an [[examples: |
| - | | + | |
| - | | + | ===== Preparing figures ===== |
| - | | + | |
| - | from pylab import * | + | |
| - | from ImageD11.columnfile import * | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | ===== Trick 2: Work with large grain first ===== | + | This will be written later. We are still waiting for some publications to be accepted. |
processing/complex-multi-phase.1559894560.txt.gz · Last modified: by matthias
