Page History
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 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 = 9090.9 9098 ; 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 --spectrum=tophat --beam-bandwidth=1e-6 -o result_x90--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 | ||||
---|---|---|---|---|
| ||||
Angles around x,y,z: 90.0 0 | ||||
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 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.612372707107 0.612372707107 0.353553000000 0.353553000000 Angles around x,y,z: 90.0 0.0 90 1.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 | ||
---|---|---|
| ||
Angles around x,y,z: 108018510 Angles around x,y,z: 90.0 30.50 04.0 quaternion: w, x, y, z: 0.587511706676 0.808640706676 0.017950024678 -0.024706024678 Angles around x,y,z: 108 90.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
images for 30um sample size:
Code Block | ||||
---|---|---|---|---|
| ||||
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: 10890.0 -3.5 1200.0 quaternion: w, x, y, z: 0.315152706777 0.388775706777 -0.709278021594 0.496446021594 Angles around x,y,z: 108 90.0 -3.5 1501.0 quaternion: w, x, y, z: 0.175923 706562 0.706939 -0.191953015425 0.785732 0.561098 |
Summary
- Thomas White did not advice to use
pattern_sim
due to potential bugs. - In stead he suggested to use
diffraction
.
...
.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