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
titlebeta=90, phi=0, omega=(0,180,30)sim-cell-fiber.cell
collapsetrue
AnglesCrystFEL 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 = 9098   ; 109.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 --spectrum=tophat --beam-bandwidth=1e-6 --min-size=30 --max-size=30 -n 3 -s 1 --no-noise

# 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
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.0   quaternion: w, x, y, z:   0.183013707107   0.183013707107   0.683013000000   0.683013

Rotation around beta, phi and omega

Code Block
titlebeta=90-18=72, phi=-3.5, omega=(0,180,30)
collapsetrue
Angles000000
Angles around x,y,z:    7290.0    -3 0.50     01.0   quaternion: w,x,y,z:   0.808640707080   0.587511707080   -0.024706006171   0.017950006171
Angles around x,y,z:    7290.0     -30.50     12.0   quaternion: w,x,y,z:   0.808452706999   0.587704706999   -0.019578012341   0.025006012341
Angles around x,y,z:    7290.0    -3 0.50     23.0   quaternion: w,x,y,z:   0.808203706864   0.587853706864   -0.014449018510   0.032060018510
Angles around x,y,z:    7290.0     -30.50     34.0   quaternion: w,x,y,z:   0.807893706676   0.587957706676   -0.009318024678   0.039112024678
Angles around x,y,z:    7290.0    -3 0.50     45.0   quaternion: w,x,y,z:   0.807521706434   0.588015706434   -0.004187030844   0.046160030844
Angles around x,y,z:    7290.0    -3 0.50     56.0   quaternion: w,x,y,z:   0.807087706138   0.588030706138   0.000944037007   0.053205

Unit cell

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)
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 = 9098   ; 109.92 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 -o result_x90 --photon-energy=6003 --spectrum=tophat --beam-bandwidth=1e-6 --min-size=30 --max-size=3 -n 3 -s 1 --no-noise

# 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 det1500x1500.geom -p cell-fiber.cell -o results_x90 --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 around omega

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

Image Removedimage generated with defailt sample size

Image RemovedImage Removed

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

Image RemovedImage Removed

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

Angles around x,y,z:    90.0    -3.5     0.0   quaternion: w,x,y,z:   0.706777   0.706777  -0.021594   0.021594
Angles around x,y,z:    90.0    -3.5     1.0   quaternion: w,x,y,z:   0.706562   0.706939  -0.015425   0.027761
Angles around x,y,z:    90.0    -3.5     2.0   quaternion: w,x,y,z:   0.706292   0.707046  -0.009256   0.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:    90.0    -3.5     4.0   quaternion: w,x,y,z:   0.705593   0.707100   0.003085   0.046247
Angles around x,y,z:    90.0    -3.5     5.0   quaternion: w,x,y,z:   0.705162   0.707046   0.009256   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
Angles around x,y,z:    72.0    -3.5     0.0   quaternion: w,x,y,z:   0.808640   0.587511  -0.024706   0.017950
Angles around x,y,z:    72.0    -3.5     1.0   quaternion: w,x,y,z:   0.808452   0.587704  -0.019578   0.025006
Angles around x,y,z:    72.0    -3.5     2.0   quaternion: w,x,y,z:   0.808203   0.587853  -0.014449   0.032060
Angles around x,y,z:    72.0    -3.5     3.0   quaternion: w,x,y,z:   0.807893   0.587957  -0.009318   0.039112
Angles around x,y,z:    72.0    -3.5     4.0   quaternion: w,x,y,z:   0.807521   0.588015  -0.004187   0.046160
Angles around x,y,z:    72.0    -3.5     5.0   quaternion: w,x,y,z:   0.807087   0.588030   0.000944   0.053205
...

Movies:

Image AddedImage Added

Single images:

Image AddedImage AddedImage AddedImage AddedImage RemovedImage Removed

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             30  - changes a size of sample and peak size and intensity
    • -n NNN - this option generates accumulated image
    •  ...

...