Implementation of algorithms
pyimgalgos/src/FiberIndexing.py self-documentation
Triclinic crystal cell parameters
*----------* / \ / \ / \ / \ / \ gamma \ / *----------* / / / / /alpha / / / *-------/--* c \ / \beta / a / \ / \ / \ / *-----b----*
a = 18.36 A b = 26.65 A c = 4.81 A alpha = 90.00 deg beta = 90.00 deg gamma = 102.83 deg
See: Crystal structure, Bravais lattice, Crystal system, Primitive cell, Lattice constant
3-d space primitive vectors
a1 = (18.36, 0.0, 0.0) a2 = (5.917873795354449, 25.984635262829016, 0.0) a3 = (0.0, 0.0, 4.81)
Reciprocal space primitive vectors
See: Reciprocal lattice, Surface diffraction, Miller index
b1 = [ 0.05446623 0.01240442 0. ] b2 = [ 0. 0.03848428 0. ] b3 = [ 0. 0. 0.20790021]
Table of lattice nodes sorted by radius
2-d case 3-d case ( h, k) R(h,k)[1/A] ( h, k, l) R(h,k,l)[1/A] ___________________ ________________________ ( 0, 0) 0.0000 ( 0, 0, 0) 0.0000 ( 0, 1) 0.0385 ( 0, 1, 0) 0.0385 ( 1, 0) 0.0559 ( 1, 0, 0) 0.0559 (-1, 1) 0.0604 (-1, 1, 0) 0.0604 ( 1, 1) 0.0745 ( 1, 1, 0) 0.0745 ( 0, 2) 0.0770 ( 0, 2, 0) 0.0770 (-1, 2) 0.0845 (-1, 2, 0) 0.0845 ( 1, 2) 0.1047 ( 1, 2, 0) 0.1047 (-2, 1) 0.1098 (-2, 1, 0) 0.1098 ( 2, 0) 0.1117 ( 2, 0, 0) 0.1117 ( 0, 3) 0.1155 ( 0, 3, 0) 0.1155 (-1, 3) 0.1166 (-1, 3, 0) 0.1166 (-2, 2) 0.1208 (-2, 2, 0) 0.1208 ( 2, 1) 0.1260 ( 2, 1, 0) 0.1260 ( 1, 3) 0.1390 ( 1, 3, 0) 0.1390 (-2, 3) 0.1417 (-2, 3, 0) 0.1417 ( 2, 2) 0.1491 ( 2, 2, 0) 0.1491 (-1, 4) 0.1517 (-1, 4, 0) 0.1517 ( 0, 4) 0.1539 ( 0, 4, 0) 0.1539 (-3, 1) 0.1634 (-3, 1, 0) 0.1634 ( 3, 0) 0.1676 ( 3, 0, 0) 0.1676 (-3, 2) 0.1682 (-3, 2, 0) 0.1682 (-2, 4) 0.1689 (-2, 4, 0) 0.1689 ( 1, 4) 0.1750 ( 1, 4, 0) 0.1750 ( 2, 3) 0.1776 ( 2, 3, 0) 0.1776 ( 3, 1) 0.1801 ( 3, 1, 0) 0.1801 (-3, 3) 0.1812 (-3, 3, 0) 0.1812 (-1, 5) 0.1881 (-1, 5, 0) 0.1881 ( 0, 5) 0.1924 ( 0, 5, 0) 0.1924 ( 3, 2) 0.1993 ( 3, 2, 0) 0.1993 (-2, 5) 0.1999 (-2, 5, 0) 0.1999 (-3, 4) 0.2008 (-3, 4, 0) 0.2008 ( 2, 4) 0.2093 ( 0, 0, 1) 0.2079 1st contributing index with l=1 ( 1, 5) 0.2119 ( 2, 4, 0) 0.2093 (-4, 1) 0.2181 ( 0, 1, 1) 0.2114 (-4, 2) 0.2196 ( 1, 5, 0) 0.2119 ( 4, 0) 0.2234 ( 1, 0, 1) 0.2153 ( 3, 3) 0.2236 (-1, 1, 1) 0.2165 (-3, 5) 0.2254 (-4, 1, 0) 0.2181 (-4, 3) 0.2276 (-4, 2, 0) 0.2196 ( 4, 1) 0.2350 ( 1, 1, 1) 0.2209 (-4, 4) 0.2416 ( 0, 2, 1) 0.2217 ( 2, 5) 0.2430 ( 4, 0, 0) 0.2234 ( 3, 4) 0.2515 ( 3, 3, 0) 0.2236 ( 4, 2) 0.2520 (-1, 2, 1) 0.2244 (-4, 5) 0.2605 (-3, 5, 0) 0.2254 (-5, 2) 0.2727 (-4, 3, 0) 0.2276 ( 4, 3) 0.2733 ( 1, 2, 1) 0.2328 (-5, 1) 0.2733 ( 4, 1, 0) 0.2350 (-5, 3) 0.2775 (-2, 1, 1) 0.2351 ( 5, 0) 0.2793 ( 2, 0, 1) 0.2360 ( 3, 5) 0.2818 ( 0, 3, 1) 0.2378 (-5, 4) 0.2874 (-1, 3, 1) 0.2383 ( 5, 1) 0.2903 (-2, 2, 1) 0.2404 ( 4, 4) 0.2982 (-4, 4, 0) 0.2416 (-5, 5) 0.3019 ( 2, 5, 0) 0.2430 ( 5, 2) 0.3057 ( 2, 1, 1) 0.2431 ( 5, 3) 0.3251 ( 1, 3, 1) 0.2501 ( 4, 5) 0.3257 ( 3, 4, 0) 0.2515 ( 5, 4) 0.3476 (-2, 3, 1) 0.2516 ( 5, 5) 0.3727 ( 4, 2, 0) 0.2520
Run 169 photon energy
See: PDG-2014
photon energy = 6003.1936 eV wavelength = 2.0653 A wave number/Evald radius k = 1/lambda = 0.484187 1/A
Lookup table generator
def make_lookup_table(b1 = (1.,0.,0.), b2 = (0.,1.,0.), b3 = (0.,0.,1.),\ hmax=3, kmax=2, lmax=1, cdtype=np.float32,\ evald_rad=3, sigma_q=0.001, fout=None, bpq=None, bpomega=None, bpbeta=None) : """Makes lookup table - peak information as a function of angle beta and omega, where beta [deg] - fiber axis tilt, omega [deg] - fiber rotation around axis, For each crysal orientation (beta, gamma) lookup table contains info about lattice nodes closest to the Evald's sphere: # beta 20.00 omega 178.50 degree # index beta omega h k l dr [1/A] R(h,k,l) qv [1/A] qh [1/A] P(omega) 1078 20.00 178.50 1 -5 0 0.000262 0.211944 -0.016779 0.211221 0.964192 1078 20.00 178.50 0 -1 0 0.002470 0.038484 0.000343 0.038306 0.038686 1078 20.00 178.50 0 1 0 0.000582 0.038484 -0.000344 -0.038455 0.834544 where: index - orientation index (just an unique integer number) beta, omega [deg] - crystal orientation angles, h, k, l - Miller indeces dr [1/A] - distance between lattice node and Evald's sphere R(h,k,l) [1/A] - distance between nodes (h,k,l) and (0,0,0) qv, qh [1/A] - vertical and horizontal components of scattering vector q P(omega) - un-normalized probability (<1) evaluated for dr(omega) using sigma_q. File name is generated automatically with current time stamp like lut-cxif5315-r0169-2015-10-23T14:58:36.txt Input parameters: b1, b2, b3 - reciprocal lattice primitive vectors, hmax, kmax, lmax - lattice node indeces cdtype - data type for lattice node coordinates, evald_rad - Evald's sphere radius, sigma_q - expected q resolution, fout - open output file object, bpq, bpomega, bpbeta - binning parameters for q, omega, and beta NOTE: Units of b1, b2, b3, evald_rad, and sigma_q should be the same, for example [1/A]. Returns 2-d numpy array for image; summed for all beta probobility(omega vs. q_horizontal). """
Lookup table content
Metadata
# file name: lut-cxif5315-r0169-2015-10-23T16:03:06.txt # Triclinic crystal cell parameters: # a = 18.36 A # b = 26.65 A # c = 4.81 A # alpha = 90.00 deg # beta = 90.00 deg # gamma = 102.83 deg # 3-d space primitive vectors: # a1 = (18.36, 0.0, 0.0) # a2 = (5.917873795354449, 25.984635262829016, 0.0) # a3 = (0.0, 0.0, 4.81) # reciprocal space primitive vectors: # b1 = [ 0.05446623 -0.01240442 0. ] # b2 = [ 0. 0.03848428 0. ] # b3 = [ 0. 0. 0.20790021] # photon energy = 6003.1936 eV # wavelength = 2.0653 A # wave number/Evald radius k = 1/lambda = 0.484187 1/A # sigma_q = 0.000484 1/A (approximately pixel size/sample-to-detector distance = 100um/100mm) # 3*sigma_q = 0.001453 1/A
Data
# beta 20.00 omega 170.50 degree # index beta omega h k l dr [1/A] R(h,k,l) qv [1/A] qh [1/A] P(omega) 1062 20.00 170.50 0 4 0 0.000595 0.153937 -0.008679 -0.153596 0.469484 # beta 20.00 omega 171.00 degree EMPTY # beta 20.00 omega 171.50 degree EMPTY # beta 20.00 omega 172.00 degree # index beta omega h k l dr [1/A] R(h,k,l) qv [1/A] qh [1/A] P(omega) 1065 20.00 172.00 0 3 0 -0.001336 0.115453 -0.005511 -0.115473 0.022208 # beta 20.00 omega 172.50 degree # index beta omega h k l dr [1/A] R(h,k,l) qv [1/A] qh [1/A] P(omega) 1066 20.00 172.50 1 -4 0 0.001294 0.175032 -0.011014 0.174446 0.028162 1066 20.00 172.50 0 3 0 -0.000396 0.115453 -0.005158 -0.115384 0.715354
Plots
Constant fiber tilt angle β = 15°
Superposition of tilt angles β = 5, 25°
Comparison of these images show that tiny difference (doubled peaks for β = 5, 25°) is observed for large values of |qh|.
Referencesq
- Crystal structure, Bravais lattice, Crystal system, Primitive cell, Lattice constant - 3-d lattice
- Reciprocal lattice, Ewald's sphere, Surface diffraction, Miller index - reciprocal space
- PDG-2014
- X-ray crystallography, Bragg's law, Fiber diffraction
- my not on units for q and reciprocal space
Overview
Content Tools