Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • angles -> rotation matrix -> quaternion -> rotation matrix -> angles,

where in and out It was tested that input and output angles and rotation matrix coincide.

...

Code Block
titleList of few quaternions
collapsetrue
Angles around x,y,z:     0.0     0.0     0.0   quaternion: w, x, y, z:   1.000000   0.000000   0.000000   0.000000
Angles around x,y,z:    30.0     0.0     0.0   quaternion: w, x, y, z:   0.965926   0.258819   0.000000   0.000000
Angles around x,y,z:    60.0     0.0     0.0   quaternion: w, x, y, z:   0.866025   0.500000   0.000000   0.000000
Angles around x,y,z:    90.0     0.0     0.0   quaternion: w, x, y, z:   0.707107   0.707107   0.000000   0.000000
Angles around x,y,z:   120.0     0.0     0.0   quaternion: w, x, y, z:   0.500000   0.866025   0.000000   0.000000
Angles around x,y,z:   150.0     0.0     0.0   quaternion: w, x, y, z:   0.258819   0.965926   0.000000   0.000000
Angles around x,y,z:     0.0     0.0     0.0   quaternion: w, x, y, z:   1.000000   0.000000   0.000000   0.000000
Angles around x,y,z:     0.0    30.0     0.0   quaternion: w, x, y, z:   0.965926   0.000000   0.258819   0.000000
Angles around x,y,z:     0.0    60.0     0.0   quaternion: w, x, y, z:   0.866025   0.000000   0.500000   0.000000
Angles around x,y,z:     0.0    90.0     0.0   quaternion: w, x, y, z:   0.707107   0.000000   0.707107   0.000000
Angles around x,y,z:     0.0   120.0     0.0   quaternion: w, x, y, z:   0.500000   0.000000   0.866025   0.000000
Angles around x,y,z:     0.0   150.0     0.0   quaternion: w, x, y, z:   0.258819   0.000000   0.965926   0.000000
Angles around x,y,z:     0.0     0.0     0.0   quaternion: w, x, y, z:   1.000000   0.000000   0.000000   0.000000
Angles around x,y,z:     0.0     0.0    30.0   quaternion: w, x, y, z:   0.965926   0.000000   0.000000   0.258819
Angles around x,y,z:     0.0     0.0    60.0   quaternion: w, x, y, z:   0.866025   0.000000   0.000000   0.500000
Angles around x,y,z:     0.0     0.0    90.0   quaternion: w, x, y, z:   0.707107   0.000000   0.000000   0.707107
Angles around x,y,z:     0.0     0.0   120.0   quaternion: w, x, y, z:   0.500000   0.000000   0.000000   0.866025
Angles around x,y,z:     0.0     0.0   150.0   quaternion: w, x, y, z:   0.258819   0.000000   0.000000   0.965926

Unit cell

Code Block
titlesim-cell-fiber.cell
collapsetrue
CrystFEL unit cell file version 1.0
lattice_type = triclinic
centering = I
a = 18.36 A
b = 26.65 A
c = 4.81 A
al = 90.0 deg
be = 90.0 deg
ga = 102.83 deg

Detector

Code Block
titlesim-det1500x1500.geom
collapsetrue
adu_per_eV = 1.0
; Single panel
0/min_fs = 0
0/max_fs = 1500
0/min_ss = 0
0/max_ss = 1500
0/corner_x = -750.00
0/corner_y = -750.00
0/fs = x
0/ss = y
0/clen = 0.1      ; 10cm
0/res = 9090.99098    ; 110109.92 micron pixel size

pattern_sim

command to generate simulated events:

Code Block
source conda_setup
source /reg/g/cfel/crystfel/crystfel-dev/setup-sh
cat quaternion_basis_x90.txt | pattern_sim -g sim-det1500x1500.geom -p sim-cell-fiber.cell -o result_x90.h5 --photon-energy=6003 --o result_x90spectrum=tophat --beam-bandwidth=1e-6 --min-size=30 --max-size=30 -n 3 -s 1 --no-noise

Results



# output file accumulates events... (bug?)
# OR per event with complete control on names etc.

echo "0.587174 0.803196 0.095372 0.031718" | pattern_sim -g sim-det1500x1500.geom -p sim-cell-fiber.cell -o results_x90.h5 --photon-energy=6003 --spectrum=tophat --beam-bandwidth=1e-6 --min-size=30 --max-size=30 -n 1 -s 1 --no-noise --no-fringes

Results

Rotation angles and associated quaternions

Code Block
titlebeta=90, phi=0, omega=(0,180,1)
collapsetrue
Code Block
titlebeta=90, phi=0, omega=(0,180,30)
collapsetrue
Angles around x,y,z:    90.0     0.0     0.0   quaternion: w, x, y, z:   0.707107   0.707107   0.000000   0.000000
Angles around x,y,z:    90.0     0.0    30.0   quaternion: w, x, y, z:   0.683013   0.683013   0.183013   0.183013
Angles around x,y,z:    90.0     0.0     600.0   quaternion: w, x, y, z:   0.612372707107   0.612372707107   0.353553000000   0.353553000000
Angles around x,y,z:    90.0     0.0     901.0   quaternion: w, x, y, z:   0.500000707080   0.500000707080   0.500000006171   0.500000006171
Angles around x,y,z:    90.0     0.0   120  2.0   quaternion: w, x, y, z:   0.353553706999   0.353553706999   0.612372012341   0.612372012341
Angles around x,y,z:    90.0     0.0   150  3.0   quaternion: w, x, y, z:   0.183013706864   0.183013706864   0.683013018510   0.683013

 

 

 

Code Block
titlebeta=90+18=108, phi=3.5, omega=(0,180,30)
collapsetrue
018510
Angles around x,y,z:    10890.0     30.50     04.0   quaternion: w, x, y, z:   0.587511706676   0.808640706676   0.017950024678   -0.024706024678
Angles around x,y,z:    10890.0     30.50     305.0   quaternion: w, x, y, z:   0.573887706434   0.776440706434   0.226630030844   0.128195030844
Angles around x,y,z:    10890.0     30.50     606.0   quaternion: w, x, y, z:   0.521153706138   0.691327706138   0.419865037007   0.037007
...

Movies generated with default sample size

Image Added

images for 30um sample size:

Image AddedImage Added

 

Code Block
titlebeta=90, phi=-3.5, omega=(0,180,1)
collapsetrue
Angles around x,y,z:   272359
Angles around x,y,z:   108.0     3.5    90.0   quaternion: w, x, y,  -3.5     0.0   quaternion: w,x,y,z:   0.432903706777   0.559102706777   -0.584487021594   0.397963021594
Angles around x,y,z:    10890.0     -3.5   120  1.0   quaternion: w, x, y, z:   0.315152706562   0.388775706939   -0.709278015425   0.496446027761
Angles around x,y,z:   108 90.0     -3.5     1502.0   quaternion: w, x, y, z:   0.175923706292   0.191953707046   -0.785732009256   0.561098

 

Rotation around omega

Quaternions

Table of quaternions was generated using methods in pyimgalgos/src/Quaternion.py

Self-test for Quaternion

self-test uses a chain of conversions:

  • angles -> rotation matrix -> quaternion -> rotation matrix -> angles,

where in and out angles and rotation matrix coincide.

Script cxif5315/make-quaternions.py generates file with a list of quaternions from file with table of angles

Code Block
titleList of few quaternions
collapsetrue
033926
Angles around x,y,z:    90.0    -3.5     3.0   quaternion: w,x,y,z:   0.705970   0.707100  -0.003085   0.040088
Angles around x,y,z:     090.0     0-3.05     04.0   quaternion: w, x, y, z:   10.000000705593   0.000000707100   0.000000003085   0.000000046247
Angles around x,y,z:    3090.0     0-3.05     05.0   quaternion: w, x, y, z:   0.965926705162   0.258819707046   0.000000009256   0.052403
...

Movies:

Image AddedImage Added

Single images:

Image AddedImage AddedImage AddedImage Added

Code Block
titlebeta=90-18=72, phi=-3.5, omega=(0,180,1)
collapsetrue
000000
Angles around x,y,z:    6072.0     0-3.05     0.0   quaternion: w, x, y, z:   0.866025808640   0.500000587511   -0.000000024706   0.000000017950
Angles around x,y,z:    9072.0     0-3.05     01.0   quaternion: w, x, y, z:   0.707107808452   0.707107587704   -0.000000019578   0.000000025006
Angles around x,y,z:   120 72.0     0-3.05     02.0   quaternion: w, x, y, z:   0.500000808203   0.866025587853   -0.000000014449   0.000000032060
Angles around x,y,z:   150 72.0     0-3.05     03.0   quaternion: w, x, y, z:   0.258819807893   0.965926587957   -0.000000009318   0.000000039112
Angles around x,y,z:     072.0     0-3.05     04.0   quaternion: w, x, y, z:   10.000000807521   0.000000588015   -0.000000004187   0.000000046160
Angles around x,y,z:     072.0    30-3.05     05.0   quaternion: w, x, y, z:   0.965926807087   0.000000588030   0.258819000944   0.000000
Angles around x,y,z:     0.0    60.0     0.0   quaternion: w, x, y, z:   0.866025   0.000000   0.500000   0.000000
Angles around x,y,z:     0.0    90.0     0.0   quaternion: w, x, y, z:   0.707107   0.000000   0.707107   0.000000
Angles around x,y,z:     0.0   120.0     0.0   quaternion: w, x, y, z:   0.500000   0.000000   0.866025   0.000000
Angles around x,y,z:     0.0   150.0     0.0   quaternion: w, x, y, z:   0.258819   0.000000   0.965926   0.000000
Angles around x,y,z:     0.0     0.0     0.0   quaternion: w, x, y, z:   1.000000   0.000000   0.000000   0.000000
Angles around x,y,z:     0.0     0.0    30.0   quaternion: w, x, y, z:   0.965926   0.000000   0.000000   0.258819
Angles around x,y,z:     0.0     0.0    60.0   quaternion: w, x, y, z:   0.866025   0.000000   0.000000   0.500000
Angles around x,y,z:     0.0     0.0    90.0   quaternion: w, x, y, z:   0.707107   0.000000   0.000000   0.707107
Angles around x,y,z:     0.0     0.0   120.0   quaternion: w, x, y, z:   0.500000   0.000000   0.000000   0.866025
Angles around x,y,z:     0.0     0.0   150.0   quaternion: w, x, y, z:   0.258819   0.000000   0.000000   0.965926

Unit cell

Code Block
titlecell-fiber.cell
collapsetrue
CrystFEL unit cell file version 1.0
lattice_type = triclinic
centering = I
a = 18.36 A
b = 26.65 A
c = 4.81 A
al = 90.0 deg
be = 90.0 deg
ga = 102.83 deg

Detector

Code Block
titledet1500x1500.geom
collapsetrue
adu_per_eV = 1.0
; Single panel
0/min_fs = 0
0/max_fs = 1500
0/min_ss = 0
0/max_ss = 1500
0/corner_x = -750.00
0/corner_y = -750.00
0/fs = x
0/ss = y
0/clen = 0.1      ; 10cm
0/res = 9090.9    ; 110 micron pixel size

pattern_sim

command to generate simulated events:

Code Block
cat quaternion_basis_x90.txt | pattern_sim -g det1500x1500.geom -p cell-fiber.cell --photon-energy=6003 -o result_x90 -n 3 -s 1 --no-noise

Results

Code Block
titlebeta=90, phi=0, omega=(0,180,30)
collapsetrue
Angles around x,y,z:    90.0     0.0     0.0   quaternion: w, x, y, z:   0.707107   0.707107   0.000000   0.000000
Angles around x,y,z:    90.0     0.0    30.0   quaternion: w, x, y, z:   0.683013   0.683013   0.183013   0.183013
Angles around x,y,z:    90.0     0.0    60.0   quaternion: w, x, y, z:   0.612372   0.612372   0.353553   0.353553
Angles around x,y,z:    90.0     0.0    90.0   quaternion: w, x, y, z:   0.500000   0.500000   0.500000   0.500000
Angles around x,y,z:    90.0     0.0   120.0   quaternion: w, x, y, z:   0.353553   0.353553   0.612372   0.612372
Angles around x,y,z:    90.0     0.0   150.0   quaternion: w, x, y, z:   0.183013   0.183013   0.683013   0.683013

 

 

 

Code Block
titlebeta=90+18=108, phi=3.5, omega=(0,180,30)
collapsetrue
Angles around x,y,z:   108.0     3.5     0.0   quaternion: w, x, y, z:   0.587511   0.808640   0.017950  -0.024706
Angles around x,y,z:   108.0     3.5    30.0   quaternion: w, x, y, z:   0.573887   0.776440   0.226630   0.128195
Angles around x,y,z:   108.0     3.5    60.0   quaternion: w, x, y, z:   0.521153   0.691327   0.419865   0.272359
Angles around x,y,z:   108.0     3.5    90.0   quaternion: w, x, y, z:   0.432903   0.559102   0.584487   0.397963
Angles around x,y,z:   108.0     3.5   120.0   quaternion: w, x, y, z:   0.315152   0.388775   0.709278   0.496446
Angles around x,y,z:   108.0     3.5   150.0   quaternion: w, x, y, z:   0.175923   0.191953   0.785732   0.561098

 

Rotation around omega

Angles around x,y,z: 90.0 0 (0,180,1):

Image RemovedImage Removed

Angles around x,y,z: 90.0 -3.5 (0,180,1):

Image Removed

Angles around x,y,z: 90.0-18 -3.5 (0,180,1):

Image RemovedImage Removed

Summary

  • Thomas White did not advice to use pattern_sim due to potential bugs.
  • In stead he suggested to use diffraction.

 

 

 

 

Summary

  • Thomas White did not advice to use pattern_sim due to potential bugs.
  • In stead he suggested to use diffraction.

 

 

...

053205
...

Movies:

Image AddedImage Added

Single images:

Image AddedImage AddedImage AddedImage Added

Summary

  • Thomas White did not advice to use pattern_sim due to potential bugs. In stead he suggested to use diffraction.
  • pattern_sim has a few problems in different versions
    • source /reg/g/cfel/crystfel/crystfel-0.6.2/setup-sh  # has problems with peak intensity ~25*e6 ADU, not sensitive to adu_per_eV, etc

    • --spectrum=tophat --beam-bandwidth=1e-6 - removes photon energy spread
    • --min-size=30 --max-size=30  - changes a size of sample and peak size and intensity
    • -n NNN - this option generates accumulated image
    •  ...