Page History
Include Page | ||||
---|---|---|---|---|
|
Table of Contents |
---|
...
Optical measurement
Optical measurement is maintained by Chris Kenney. Detector or its quad is installed on microscope table and 3-d coordinates of all 2x1 sensor corners are measured with precision about 8um (RMS) in x-y plane. All corners in the measurement are numerated in arbitrary order. It is expected that numeration order should be the same for different measurements. This procedure depends on CSPAD construction;
- For CSPAD with moving quads (i.e. for CXI) optical measurement is done separately for each quad. The numeration of corners is shown in the plot:
For each quad measurement is started from the point #1 which in assembled detector is closest to the beam. The 1-st point (x,y,z) coordinates are re-set to (0,0,0) in the beginning of measurements. At the end, it is checked that the 1-st point coordinates are reproduced within precision of measurement. - For CSPAD with fixed quad geometry (i.e. for XPP) optical measurement is done for entire detector. The numeration of corners in this case is shown in the plot:
The 1-st corner of the 3-rd quad (x,y,z) coordinates are re-set to (0,0,0) in the beginning of measurements. At the end, it is checked that the 1-st point coordinates are reproduced within precision of measurement.
Corner coordinates are measured in micrometers (um) and are saved in the xlsx format table, also containing numeration of quads and points. Then, xlsx format table is converted to the text format in order to feed the python script for quality check and getting calibration parameters for 2x1 center coordinates and tilt angles.
Example of tables for CXI:
Example of tables for XPP:
QC procedure
For quality chech we calculate
S1 - 1st short side length of 2x1
S2 - 2nd short side length of 2x1
L1 - 1st long side length of 2x1
L2 - 2nd long side length of 2x1
D1 - 1st diagonal of 2x1 between corners 1 and 3
D2 - 2nd diagonal of 2x1 between corners 2 and 4
dS and dL are the deviations of the 1st and 2nd corner along the short and long sides, respectively. The sign of all dS are chosen in order to provide correct sign for the tilt angle (the same direction for all 2x1 sensors).
<dS/L> - the tilt angle of 2x1 averaged over two sides in radians.
angle(deg) - the same angle in degrees.
dD = D1 - D2
d(dS) = dS1 - dS2
d(dL) = dL1 - dL2
Quality check parameters for the perfect measurement:
S1=S2, L1=L2 - the 2x1 sides should have equal length and width,
D1=D2 - the 2x1 diagonals should be equal,
dS1 = dS2 = 2*dL1 =2*dL2 - tilt angle should provide consistent deviation for all corners,
dD=0, d(dS)=0, and d(dL)=0 - within precision of measurement.
Everything, excluding <dS/L> and angle(deg), are in micrometers.
Example of the table:
Include Page | ||||
---|---|---|---|---|
|
Introduction
Cornell SLAC Pixel Array Detector (CSPAD) is an imaging X-ray detector made of silicon sensors (2x1) covering about 20x20cm² surface, as shown in the plot:
Pixel coordinates in 2x1 sensor chip are known with sub-micrometer precision. Construction of the detector allows significant freedom in relative positions of 2x1 sensors. To get precise pixel positions in the detector the 2x1 sensor coordinates needs to be calibrated. In this note we describe geometry of the CSPAD detector, optical and quad alignment procedure, parameters, and software providing access to precise geometry information.
2x1 Sensor Geometry
The 2x1 sensor geometry was tested with microscopic measurement. Two slides from Chris Kenney's presentation shows the pixel sizes:
The same slides in PDF format.
Important 2x1 features:
- Number of rows x columns = 185 x 388. (In DAQ notation of rows and columns is interchanged...)
- Most of pixels have size 109.92 x 109.92 um².
- Gap between two ASICS is covered by the two rows of elongated pixels with size 109.92 x 274.8 um².
- Two versions of sensors have different dimensions between corners, so it is reasonable to define pixel coordinates w.r.t. the sensor center.
Shield to sensor distance
Chart of CXI Camera1 provided by Serge Guillet on 2017-06-12.
Optical measurement
Optical measurement is conducted by Gabriel Blaj. Detector or its quad is installed on microscope table and 3-d coordinates of all 2x1 sensor corners are measured with precision about 8um (RMS) in x-y plane. All corners in the measurement are numerated in arbitrary order. It is expected that numeration order should be the same for different measurements. This procedure depends on CSPAD construction;
- For CSPAD with movable quads (i.e. for CXI) optical measurement is done separately for each quad. The numeration of corners is shown in the plot:
The same plots in PDF format: CSPAD quad metrology and CSPAD pixel layout in quads.
For each quad measurement is started from the point #1 which in assembled detector is closest to the beam. The 1-st point (x,y,z) coordinates are re-set to (0,0,0) in the beginning of measurements. At the end, it is checked that the 1-st point coordinates are reproduced within precision of measurement.
Note |
---|
The order of points in optical measurement does not coincide with numeration of 2x1 in DAQ, as shown in the plot (and in PDF file): |
- For CSPAD with fixed quad geometry (i.e. for XPP) optical measurement is done for entire detector. The numeration of corners in this case is shown in the file XPPMetrologyAnnotated.pdf and in the plot:
The 1-st corner of the 3-rd quad (x,y,z) coordinates are re-set to (0,0,0) in the beginning of measurements. At the end, it is checked that the 1-st point coordinates are reproduced within precision of measurement.
Corner coordinates are measured in micrometers (um) and are saved in the xlsx format table, also containing numeration of quads and points. Then, xlsx format table is converted to the text file format in order to use it in python script.
Example of tables for CXI:
Example of tables for XPP:
- Metrology in XLSX
- Metrology in TXT Python script converts this table to the table with standard numeration of points in quads:
- Metrology in standard TXT
Then, text table with "standard" numeration of points in quads is feed to the python script which provides quality check of optical measurement and evaluates the alignment parameters for quads. In the beginning, this script changes the numeration of points adopted in optical measurement to numeration of 2x1 used in DAQ. Further, all calibration parameters are associated with numeration of 2x1 sensors and quads in DAQ.
Quality Check Procedure
For quality check of optical measurement we calculate
S1 - 1st short side length of 2x1
S2 - 2nd short side length of 2x1
L1 - 1st long side length of 2x1
L2 - 2nd long side length of 2x1
D1 - 1st diagonal of 2x1 between corners 1 and 3
D2 - 2nd diagonal of 2x1 between corners 2 and 4
dS and dL are the deviations of the 1st and 2nd corner along the short and long sides, respectively. The sign of all dS are chosen in order to provide correct sign for the tilt angle (the same direction for all 2x1 sensors).
<dS/L> - the tilt angle of 2x1 averaged over two sides in radians.
angle(deg) - the same angle in degrees.
dD = D1 - D2
d(dS) = dS1 - dS2
d(dL) = dL1 - dL2
dz3(um) - signed distance from 2x1 sensor plane and corner 3, where the 2x1 sensor plane contains the corner points p1, p2, and p4. This plane is defined by the vectors v21=p2-p1, v41=p4-p1, and their orthogonal vector
Code Block |
---|
vort = [v21 x v41].
|
Scalar product with normalization defines the distance from point 3 to the 2x1 plane containing 3 other points:
Code Block |
---|
dz3 = (v31 * vort) / |vort|.
|
Quality check parameters expected for perfect geometry:
S1=S2, L1=L2 - the 2x1 sides should have equal length and width,
D1=D2 - the 2x1 diagonals should be equal,
dS1 = dS2 ? (388/185)*dL1 = (388/185)*dL2 - tilt angle should provide consistent deviation for all corners,
dD=0, d(dS)=0, and d(dL)=0 - within precision of measurement.
dz3(um) = 0
Everything, excluding <dS/L> and angle(deg), are in micrometers.
Example of the table with quality check results:
Code Block |
---|
pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) dz3(um)
Quad 0
pair: 0 20891 20913 200 222 43539 43541 -102 -100 0.00485 0.27766 48298 |
Code Block |
pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) Quad 0 pair: 0 20891 20913 200 222 43539 43541 -102 -100 0.00485 0.27766 48298 48297 1 -22 -2 pair: 1 20910 20894 293 277 43540 43535 -127 -132 0.00655 0.37506 48302 48289 13 16 5 pair: 2 20890 20906 99 83 43536 43536 42 42 0.00209 0.11976 48290 48293 -3 16 0 pair: 3 20897 20895 131 133 43545 43543 65 63 0.00303 0.17369 48299 48297 2 1 -222 -2 2.981 pair: 41 2091120910 2089620894 -30293 -45277 4354943540 4354743535 -127 17 -132 0.00655 15 -0.0008637506 -0.0493448302 48289 48303 48306 13 -3 16 15 5 2-23.986 pair: 52 2090120890 2089820906 1099 83 7 43536 43540 43536 43544 42 -8 -442 0.0002000209 0.0111911976 4829648290 4829948293 -3 16 3 0 -43.034 pair: 63 2090420897 2090320895 104131 105133 4353643545 4354043543 5565 5963 0.0024000303 0.1375217369 48299 48302 48297 48290 122 -12 -4 pair: 72 20901 209016.003 pair: 4 20911 20896 -730 -745 4354543549 4354343547 -317 -515 -0.0001600086 -0.0092104934 4829948303 4830148306 -23 15 0 2 2 Quad 1-5.994 pair: 05 2091320901 2091420898 -343 10 -342 435407 43550 43540 16543544 -8 175 -4 0.0078700020 -0.4506601119 48296 48299 48313 -3 48303 103 -14 -109.993 pair: 16 2089820904 2090120903 -145 104 -142 105 43548 43536 43551 43540 62 55 65 59 -0.00330 -0.1888000240 0.13752 4830048302 4830948290 -912 -31 -34 52.002 pair: 27 20901 20895 20901 20903 -1517 -1597 4353543545 4353243543 -743 -775 -0.0035600016 -0.2040000921 4828948299 4829148301 -2 80 3 pair:2 3 20872 20909 14.001 Quad 1 pair: 0 20913 20914 -35343 -72342 4354143540 4355443550 -37165 -24175 -0.0012300787 -0.0703945066 4829448313 48303 -910 -1 37 -10 -1324.002 pair: 41 2094020898 2090420901 -455145 -491142 4352743548 4355443551 21462 24165 -0.0108600330 -0.6224218880 48300 48309 48309 -9 0 -3 36 -3 -2723.005 pair: 52 2091020895 20903 -302151 -309159 4354643535 4354643532 145-74 145-77 -0.0070200356 -0.4019620400 4830448289 4830748291 -32 78 0 pair:3 6 20901-17.995 pair: 3 20872 2091920909 -421235 -439272 43341 43529 43354 43539 -21337 -20324 -0.0098800585 -0.5659333507 48201 4829648036 48298 165 -2 37 18 -13 -1013.010 pair: 74 2090720940 2090720904 -452455 -452491 4354843527 4353943554 -201214 -210 241 -0.0103801086 -0.5947562242 48309 48315 48309 48294 0 21 36 0 -27 9 Quad 21.101 pair: 05 2091420910 20914 20903 -25302 -25309 4353643546 4354043546 145 10 145 14 -0.0005700702 -0.0329040196 4830048304 4830048307 -3 0 7 0 -4 pair:0 1 20901 208976.016 pair: 6 20901 20919 7 -421 3-439 4354643529 4353643539 -1213 -11203 -0.0001100988 -0.0065856593 4829348296 4830048298 -72 18 4 -10 10-8.026 pair: 27 2089920907 2090320907 -256452 -260452 4353343548 43539 -127201 -121210 -0.0059301038 -0.3395459475 4829348315 48294 21 -1 0 4 9 -68.982 Quad 2 pair: 30 20914 20912 20914 20904 -21025 -20225 43536 43540 43547 10 -106 -9914 -0.0047300057 -0.2710603290 48300 4830648300 0 -6 -80 -7 pair: 4 20910 -11.013 pair: 1 20903 20901 -54320897 -550 7 43535 43536 3 261 43546 26243536 -0.01255 -0.719231 48298 -11 48299 0.00011 -1 0.00658 48293 748300 -1 pair:7 5 20904 209054 -241 10 -240 435384.036 pair: 2 4354420899 20903 111 -256 117 -260 -0.00552 -0.3164743533 4829843539 48301 -127 -3121 -0.00593 -10.33954 48293 -6 pair:48294 6 20903 -1 20902 214 22-6 43539 -1.023 pair: 3 43543 20912 20904 8 -210 -202 12 0.0004943540 43547 0.02829 48298-106 48298 -99 -0.00473 -0.27106 48300 -148306 -4 pair:6 7 20902 -8 20903 -7 82 24.004 pair: 4 81 20910 4354620903 43547 -543 -550 35 43535 36 43536 0.00187 261 0.10723 48300262 48306-0.01255 -0.71923 48298 48299 -61 17 -1 Quad 30.004 pair: 05 2090220904 20898 20905 -82241 -86240 4353643538 4354343544 111 30 117 37 -0.0019300552 -0.1105431647 48298 48289 48301 48302 -133 4 -1 -6 -76.024 pair: 16 20903 2090020902 20904 21 79 22 83 43539 4354843543 43541 8 -35 -4212 0.0018600049 0.1065802829 4830148298 4830148298 0 -1 -4 78.999 pair: 27 2091220902 2089420903 181 82 199 81 43536 43546 43535 43547 97 35 9636 0.0043600187 0.2500510723 48300 48306 48298 48289-6 1 9 -181 9.995 Quad 13 pair: 30 2091220902 2090520898 119-82 126-86 4353943536 4353843543 5730 5637 -0.0028100193 -0.1612111054 4829648289 4830148302 -5-13 4 -7 1.994 pair: 41 20900 20894 20904 20912 -454 79 -436 83 43534 4354543548 43541 212 -35 223 -0.0102242 -0.5856000186 48303 0.10658 48296 48301 48301 7 0 -18 -11 pair:4 5 20906 209197 -336 -323 17.993 pair: 2 20912 20894 43527 43535 181 155 199 163 43536 -0.00757 43535 -0.43369 48295 97 48294 96 1 0.00436 -130.25005 48298 -8 pair: 648289 20902 9 20905 -20318 -206 1 43537 43525 10.011 pair: 3 20912 -89 20905 -101 -0.00470119 -0.26916 126 48293 4828743539 43538 6 57 3 56 12 pair: 70.00281 0.16121 20900 48296 20897 48301 -140 -1375 43539 -7 43544 -68 1 -63 16.000 pair: 4 -0.00318 20894 -0.18225 20912 48298 -454 48296 -436 43534 43545 2 212 -3 223 -5 |
This quality check works well to catch significant typos in input table. In case of obvious typos input table can be corrected. When the quality check is passed successfully the alignment parameters are saved in deployed under the calib
directory as explained below.
Alignment parameters
The official place for CSPad alignment parameters is
/reg/d/psdm/<INSTRUMENT>/<experiment>/calib/CsPad::Calib<VERSION>/<CSPad-name>/<type>/<run-range>.data
The file name consists of the run range followed by the .data
, for example, 0-end.data
, 11-end.data
, 47-52.data
, etc.
List of types
All CSPAD geometry alignment parameters are split for 9 types:
center
- x, y, z center position of each 2x1 for all quadrants. Comes from optical measurement.center_corr
- additional manual correction to the center parameter. Can be applied if the optical measurement has (non-)obvious problems.marg_gap_shift
- margins, gaps, and shifts between quads, as explained below. Comes from image-based tuning.offset
- x, y, z coordinates for 4 quads. Fairly-reasonable assigned before tuning of theoffset_corr
andmarg_gap_shift
parameters.offset_corr
- additional correction to the offset. Comes from image-based tuning.quad_rotation
- 4 quad rotation in n*90 degree. Comes from basic geometry.quad_tilt
- 4 quad tilt in fractional degree. Has never been used. In latest optical measurement is accounted through the global 2x1 coordinate measurement in the detector.rotation
- 8 2x1-rotation angle for 4 quads in n*90 degree. Comes from basic geometry.tilt
- 8 2x1-tilt angle for 4 quads in fractional degree. Comes from optical measurement.
All coordinates are defined in size of pixel, which is 109.92 x 109.92um (and 274.80 x 109.92um for two rows between two of 2x1 ASICs.) The quadrant size is pre-defined as 850x850. The margins, shifts and gaps are defined for these quads. The offset
and offset_corr
are defined for low-left angle of the rotated by n*90 degree quad. Size of entire CSPad image does not matter for this alignment.
offset_corr
For individual quad position alignment use file: offset_corr/<run-range>.data
Code Block |
---|
dXq0 dXq1 dXq2 dXq3
dYq0 dYq1 dYq2 dYq3
dZq0 dZq1 dZq2 dZq3
|
marg_gap_shift
For common gap and shift between quads correction use file marg_gap_shift/<run-range>.data
...
0.01022 -0.58560 48303 48296 7 -18 -11 2.023
pair: 5 20906 20919 -336 -323 43527 43535 155 163 -0.00757 -0.43369 48295 48294 1 -13 -8 5.993
pair: 6 20902 20905 -203 -206 43537 43525 -89 -101 -0.00470 -0.26916 48293 48287 6 3 12 2.981
pair: 7 20900 20897 -140 -137 43539 43544 -68 -63 -0.00318 -0.18225 48298 48296 2 -3 -5 29.997
|
This quality check works well to catch significant typos in input table. In case of obvious typos input table can be corrected. When the quality check is passed successfully the alignment parameters are saved and deployed under the calib
.
Detector geometry model
Since 2014 we support universal detector geometry software which is documented in the Detector Geometry page and in CSPAD-geometry-parameters.pdf.
Alignment parameters from optical measurement
From optical measurement we extract coordinates of the center of each 2x1 sensor and its tilt angle.
The center coordinates are evaluated as an averaged over 4 corners measurements for each axis.
The tilt
parameters are used along with rotation
to completely define orientation of 2x1 in quad (for CXI) or in detector (for XPP).
Alignment of quads in the detector
For CSPad with fixed quad geometry (like in XPP) optical measurement of entire detector (should) produces complete information for geometry alignment.
For CSPad with moveable quads (like in CXI) quads relative position needs to be adjusted through the alignment parameters for quads. It is usually done using typical images with diffraction rings, wires or other shading objects:
Although few algorithms of automatic quad alignment were tried, we did not find good generic way for automated quad tuning. Currently, the quad tuning parameters in marg_gap_shift
and offset_corr
are adjusted manually for runs with specific images.
Calibration store
The official space for CSPAD alignment parameters is
/reg/d/psdm/<INSTRUMENT>/<experiment>/calib/CsPad::Calib<VERSION>/<CSPad-name>/<type>/<run-range>.data
For example:
Code Block |
---|
/reg/d/psdm/CXI/cxi80410/calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/geometry/1142-end.data
|
The file name consists of the run range followed by the .data
extension, for example, 0-end.data
, 11-end.data
, 47-52.data
, etc.
Calibration type
Detector geometry calibration information is located in a single file of type
geometry
- contains hierarchical description of all detector components; for example for CSPAD, sensors' location and rotation in the quads, quads - in the detector, detector - in the setup, etc.
Archive and History
Optical measurement and other alignment files can be found in
- /reg/g/psdm/detector/alignment/cspad/
- Geometry History
Detector data access software
References
- CSPAD Geometry and Alignment - Depricated - old version of this page
- Detector Geometry - confluence page
- CSPAD in DAQ - schematic description of CSPAD geometry available in DAQ.
- CSPAD quad metrology - slides for CXI type CSPAD quads
- CSPad pixel layout in quads - pdf file with numeration of ASICs in the CSPAD quads
- XPPMetrologyAnnotated.pdf - order of measurements of XPP camera.
- Geometry History - page with references to calibration files.
- Detector data access software - auto-generated documentation of the Detector package.