Page History
This note is about python application (script) which allows to check quality of the optical metrology input during measurement.
...
Optical metrology measurements contains enough information for self check. Historically this quality check is done offline when entire detector or its quad is measured and entire file is available. Sometimes this file contains typo, which can be fixed using over-defined rectangular geometry of the detector segments. However, it could be much better to fix this problem during optical measurements with microscope. Simple application which can check partial partial optical metrology input is now available and discussed described in this note.
Get application up and running
...
https://github.com/lcls-psana/CalibManager/blob/master/app/optical_metrology_check
and used as is by the command
Code Block |
---|
python optical_metrology_check <opt-met-file.txt> |
Use from psana release
However, for development purpose it could be better to use it through psana-conda release system. Code is available since ana-1.2.8. Example:
...
Code Block | ||||
---|---|---|---|---|
| ||||
# setup conda environment source conda_setup # go to any directiory mkdir my-test-dir cd my-test-dir |
Code Block | ||
---|---|---|
| ||
# run the script on optical metrology file
optical_metrology_check -h
optical_metrology_check <opt-met-file.txt> |
...
optical_metrology_check -h
optical_metrology_check <opt-met-file.txt> |
Example
A few complete optical metrology files can be found under directory /reg/g/psdm/detector/alignment/cspad/, e.g. calib-xpp-2016-08-22-camera3/2016-08-22-CSPAD-XPP-Camera3-Metrology.txt
However, script can run on partial metrology file, e.d.: metrology_test.txt, which can be downloaded and used for test:
Code Block |
---|
optical_metrology_check metrology_test.txt |
Output
Running script prints a few section of results, e.g.:
Code Block | ||||
---|---|---|---|---|
| ||||
(ana-1.2.8) [dubrovin@psanagpu104:~/my-test-dir]$ optical_metrology_check metrology_test.txt
Command:
/reg/g/psdm/sw/conda/inst/miniconda2-prod-rhel7/envs/ana-1.2.8/bin/optical_metrology_check metrology_test.txt
Argument list: ['metrology_test.txt']
Optional parameters:
<key> <value> <default>
psz 109.92 109.92
vrb 15 15
ifn ./optical_metrology.txt ./optical_metrology.txt
plt True True
ofp ./om ./om
------------------------------------------------------------ |
Code Block | ||||
---|---|---|---|---|
| ||||
In read_optical_metrology_file: metrology_test.txt
EMPTY LINE IS IGNORED
IS RECOGNIZED QUAD: 1
EMPTY LINE IS IGNORED
COMMENT IS IGNORED : "# this is comment"
EMPTY LINE IS IGNORED
TITLE LINE: Point X Y Z
EMPTY LINE IS IGNORED
ACCEPT RECORD: 1 0 0 697
ACCEPT RECORD: 2 -15 20903 604
ACCEPT RECORD: 3 43529 20930 172
ACCEPT RECORD: 4 43542 23 297
EMPTY LINE IS IGNORED
ACCEPT RECORD: 9 159 46961 508
ACCEPT RECORD: 10 78 90506 321
ACCEPT RECORD: 11 20986 90547 156
ACCEPT RECORD: 12 21070 47003 343
EMPTY LINE IS IGNORED
ACCEPT RECORD: 13 23423 46973 341
ACCEPT RECORD: 14 23540 90519 116
ACCEPT RECORD: 15 44447 90457 -67
ACCEPT RECORD: 16 44342 46917 93
EMPTY LINE IS IGNORED
ACCEPT RECORD: 21 47105 69413 27
ACCEPT RECORD: 22 47103 90323 -40
ACCEPT RECORD: 23 90653 90322 -435
ACCEPT RECORD: 24 90651 69415 -365
EMPTY LINE IS IGNORED
ACCEPT RECORD: 25 44480 259 284
ACCEPT RECORD: 26 44381 43805 129
ACCEPT RECORD: 27 65305 43846 -50
ACCEPT RECORD: 28 65389 303 109
EMPTY LINE IS IGNORED
ACCEPT RECORD: 29 67741 149 98
ACCEPT RECORD: 30 67705 43731 -48
EMPTY LINE IS IGNORED
------------------------------------------------------------ |
Code Block | ||||
---|---|---|---|---|
| ||||
check_points_numeration
WARNING - numeration of points in table is NOT sequential or started from non-x4 number
Measured segment 0 point numbers: ( 1 2 3 4) OK - points in segment are sequential
Measured segment 1 point numbers: ( 9 10 11 12) OK - points in segment are sequential
Measured segment 2 point numbers: ( 13 14 15 16) OK - points in segment are sequential
Measured segment 3 point numbers: ( 21 22 23 24) OK - points in segment are sequential
Measured segment 4 point numbers: ( 25 26 27 28) OK - points in segment are sequential
|
Code Block | ||
---|---|---|
| ||
X-Y quality check for optical metrology measurements
----------------------------------------------------------------------------------------------------------------------------
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL)
----------------------------------------------------------------------------------------------------------------------------
segm: 0 20903 20907 23 27 43542 43544 -15 -13 0.03290 48302 48304 -1 -4 -2
segm: 1 20911 20908 -81 -84 43545 43544 42 41 0.10855 48307 48302 4 3 1
segm: 2 20919 20907 117 105 43546 43540 -56 -62 -0.14606 48301 48310 -8 12 6
segm: 3 20910 20907 2 -1 43546 43550 -2 2 0.00066 48309 48308 1 3 -4
segm: 4 20909 20924 -99 -84 43546 43543 44 41 0.12040 48307 48309 -1 -15 3
---------------------------------------------------------------------------------------------------------------------------- |
Code Block | ||
---|---|---|
| ||
Z quality check for optical metrology measurements
-----------------------------------------------------------------------------------------------------------------------------------------
segm: SA LA XSize YSize dZS1 dZS2 dZL1 dZL2 dZSA dZLA ddZS ddZL dZX dZY angXZ(deg) angYZ(deg) dz3(um)
-----------------------------------------------------------------------------------------------------------------------------------------
segm: 0 20905 43543 43543 20905 -93 -125 -400 -432 -109 -416 32 32 -416 -109 -0.54737 -0.29874 -31.962
segm: 1 20909 43544 20909 43544 -165 -165 -187 -187 -165 -187 0 0 -165 -187 -0.45212 -0.24605 0.028
segm: 2 20913 43543 20913 43543 -248 -183 -225 -160 -215 -192 -65 -65 -215 -192 -0.59039 -0.25330 -64.821
segm: 3 20908 43548 43548 20908 -67 -70 -392 -395 -68 -393 3 3 -393 -68 -0.51771 -0.18771 -2.973
segm: 4 20916 43544 20916 43544 -175 -179 -155 -159 -177 -157 4 4 -177 -157 -0.48484 -0.20658 3.885
----------------------------------------------------------------------------------------------------------------------------------------- |
Parameters to check
See for detail CSPAD Geometry and Alignment
dD (um) - difference between diagonals
d(dS) (um) - difference between two short sides
d(dL) (um) - difference between two long sides
dz3 (um) - deviation one of the measured points from the plane of three other points
Note |
---|
All these parameters should be about zero within fraction of the pixel size. If not... re-measurement is desirable. |
Plots
Application generates and saved in work directory a few useful plots with map of measured sensors
and frequency distribution of a few important parameters, as shown for 2016-08-22-CSPAD-XPP-Camera3-Metrology.txt
References