Page History
Quaternions
Table of quaternions was generated using methods in pyimgalgos/src/Quaternion.py
Self-test for Quaternion
Quaternion.py
is tested by self-test using uses a chain of conversions:
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 simplesim-det1500x1500.geom -p sim-cell-fiber.cell -o result_x90.h5 --photon-energy=6000 -o result04 -n 4=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 ---background=1 |
Results
rotation around X by 0, 30, 60, 90, 120, 150 degree
rotation around Y by 0, 30, 60, 90, 120, 150 degree
rotation around Z by 0, 30, 60, 90, 120, 150 degree
Summary
...
no-noise --no-fringes |
Results
Rotation angles and associated quaternions
Code Block | ||||
---|---|---|---|---|
| ||||
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 1.0 quaternion: w,x,y,z: 0.707080 0.707080 0.006171 0.006171
Angles around x,y,z: 90.0 0.0 2.0 quaternion: w,x,y,z: 0.706999 0.706999 0.012341 0.012341
Angles around x,y,z: 90.0 0.0 3.0 quaternion: w,x,y,z: 0.706864 0.706864 0.018510 0.018510
Angles around x,y,z: 90.0 0.0 4.0 quaternion: w,x,y,z: 0.706676 0.706676 0.024678 0.024678
Angles around x,y,z: 90.0 0.0 5.0 quaternion: w,x,y,z: 0.706434 0.706434 0.030844 0.030844
Angles around x,y,z: 90.0 0.0 6.0 quaternion: w,x,y,z: 0.706138 0.706138 0.037007 0.037007
... |
Movies generated with default sample size
images for 30um sample size:
Code Block | ||||
---|---|---|---|---|
| ||||
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:
Single images:
Code Block | ||||
---|---|---|---|---|
| ||||
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:
Single images:
Summary
...
- Thomas White did not advice to use
pattern_sim
due to potential bugs. In stead he suggested to usediffraction
.
...
pattern_sim
has a few problems in different versionssource /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
- ...
Overview
Content Tools