Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
PageMenuBegin
PageMenuBegin
Table of Contents

...

2x1 Sensor Geometry

The 2x1 sensor geometry was tested with microscope. Two slides from Chris Kenney's presentation shows the pixel sizes:
Image RemovedImage Removed
The same presentation in PDF format: Pixels size

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. This order does not coincide with numeration of 2x1 in DAQ, as shown on plots below. It is expected that numeration order should be the same for different measurements. This procedure depends on CSPAD construction;

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:
    Image Removed
    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:

Then, text table with "standard" numeration of points for quads is feed to another python script which provides the quality check of optical measurement and evaluates the alignment parameters for quads.
At first step this script changes the numeration of points adopted in optical measurement to numeration of 2x1 used 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

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
PageMenuEnd
PageMenuEnd

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:
Image Added
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:
Image Added Image Added
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.

                         Image Added

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:
    Image Added Image Added Image Added
    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):
Image Added

  • 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:
    Image Added
    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:

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   48297       1     -22      -2      2.981
pair: 1   20910   20894     293     277     43540   43535    -127    -132    0.00655    0.37506   48302   48289      13      16       5    -23.986
pair: 2   20890   20906      99      83     43536   43536      42      42    0.00209    0.11976   48290   48293      -3      16       0     -3.034
pair: 3   20897   20895     131     133     43545   43543      65      63    0.00303    0.17369   48299   48297       2      -2       2      6.003
pair: 4   20911   20896     -30     -45     43549   43547      17      15   -0.00086   -0.04934   48303   48306      -3      15       2     -5.994
pair: 5   20901   20898      10       7     43540   43544      -8      -4    0.00020    0.01119   48296   48299      -3       3      -4      9.993
pair: 6   20904   20903     104     105     43536   43540      55      59    0.00240    0.13752   48302   48290      12
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      -2       2
pair: 4   20911   20896     -30     -45     43549   43547      17      15   -0.00086   -0.04934   48303   48306      -3      15       2
pair: 5   20901   20898      10       7     43540   43544      -8      -4    0.00020    0.01119   48296   48299      -3       3      -4
pair: 6   20904   20903     104     105     43536   43540      55      59    0.00240    0.13752   48302   48290      12      -1      -4
pair: 7   20901   20901      -7      -7     43545   43543      -3      -5   -0.00016   -0.00921   48299   48301      -2       0       2

Quad  1
pair: 0   20913   20914    -343    -342     43540   43550     165     175   -0.00787   -0.45066   48313   48303      10      -1     -10 -4     52.002
pair: 17   2089820901   20901      -1457      -1427     43545 43548  43543 43551     -3 62      65-5   -0.00016   -0.0033000921   48299   48301   -0.18880   48300-2   48309    0  -9     2 -3    14.001

Quad  -31
pair: 20   2089520913   2090320914    -151343    -159342     4353543540   4353243550     -74165     -77175   -0.0035600787   -0.2040045066   4828948313   4829148303      10 -2     -1  8   -10    3-24.002
pair: 31   20872 20898  20909 20901    -35145    -142 -72    43548  43541 43551  43554    62 -37     -2465   -0.0012300330   -0.0703918880   4829448300   4830348309      -9       37 -3      -3    -1323.005
pair: 42   2094020895   2090420903    -455151    -491159     43535   4352743532   43554  -74   214  -77   241-0.00356   -0.0108620400   48289   -0.6224248291   48309   48309-2       08      36 3    -2717.995
pair: 53   2091020872   2090320909    -302235    -309272     4354643341   4354643354     145-37     145-24   -0.0070200585   -0.4019633507   4830448201   4830748036     165 -3     37  7   -13    0-13.010
pair: 64   2090120940   2091920904    -421455    -491  -439   43527  43529 43554  43539   214 -213    -203241   -0.0098801086   -0.5659362242   48309 48296  48309 48298      -20      1836     -1027      1.101
pair: 75   2090720910   2090720903    -452302    -452309     43546  43548 43546  43539   145 -201    -210145   -0.0103800702   -0.5947540196   48304   48307 48315   48294  -3    21   7    0   0    9

Quad  26.016
pair: 06   2091420901   2091420919     -25421     -25439     4353643529   4354043539    -213  10  -203    14   -0.0005700988   -0.0329056593   48296  48300 48298  48300    -2   0   18    0 -10     -48.026
pair: 17   2090120907   20897    20907   7 -452    -452  3   43548  43546 43539  43536  -201    -1210   -0.01038   -110.59475   48315 0.00011  48294  0.00658   48293 21  48300     0 -7      9 4    -8.982

Quad  102
pair: 20   20914 20899  20914 20903    -25625     -26025     43536   43540 43533   43539  10  -127    -12114   -0.0059300057   -0.33954 03290   48300   48300  48293   48294  0    -1   0    4  -4    -611.013
pair: 3 1   20901   20897     20912  7 20904    -210  3  -202   43546  43540 43536  43547    -1061     -9911    -0.0047300011    -0.2710600658   48293   48300    48300  -7 48306      -64      -810      -74.036
pair: 42   2091020899   20903    -543256    -550260     4353543533   4353643539    -127 261     262-121   -0.0125500593   -0.7192333954   4829848293   4829948294      -1       4  7    -6     -1.023
pair: 53   2090420912   2090520904    -241210    -240202     4353843540   4354443547     111-106     117-99   -0.0055200473   -0.3164727106   4829848300   4830148306      -36      -18      -6
pair:7 6   20903 24.004
pair: 4 20902  20910   20903 21   -543   22 -550    43539 43535  43543 43536     261 8    262  12    -0.0004901255    -0.0282971923   48298   4829848299      -1 0      -17      -4
pair: 71   20902   20903 0.004
pair: 5   20904  82 20905    -241 81   -240  43546   4354743538   43544   35  111    36 117   -0.0018700552    -0.1072331647   4830048298   4830648301      -63       -1      -1

Quad6     3-6.024
pair: 06   20903   20902    20898  21      22 -82    43539 -86  43543   43536   43543 8     30 12    0.00049 37   -0.00193 02829   48298   48298  -0.11054   48289  0 48302     -131       -4      -78.999
pair: 17   20902 20900  20903 20904     82 79     81 83    43546 43548  43547 43541     -35     -42 36    0.0018600187    0.1065810723   48300   48306   48301   48301-6       01      -41      9.995

Quad  73
pair: 20   2091220902   2089420898     181-82     199-86     43536   4353543543      30  97    37  96 -0.00193   -0.0043611054   48289   0.2500548302   48298  -13 48289      4 9     -187       1.994
pair: 31   2091220900   2090520904     119 79    126  83   43539  43548 43538  43541    57 -35     56-42    0.0028100186    0.1612110658   4829648301   48301       -50      -74       7    1-17.993
pair: 2 4  20912   20894   20912  181  -454   199  -436   43536  43534 43535  43545    97 212     22396    -0.0102200436    -0.585600.25005   48298   48289    48303   482969     -18  7     -181     -1110.011
pair: 5  3   20912   20905  20906   20919119    -336 126   -323  43539   4352743538   43535   57  155    56 163   -0.0075700281    -0.4336916121   4829548296   4829448301      -5 1     -137       1    -816.000
pair: 64   2090220894   2090520912    -203454    -206436     43534 43537  43545 43525    212 -89    -101223   -0.0047001022   -0.2691658560   48303   4829348296   48287    7   6  -18     3-11      122.023
pair: 75   2090020906   2089720919    -140336    -137323     4353943527   4354443535     -68155     -63163   -0.0031800757   -0.1822543369   4829848295   4829648294       2 1     -313      -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.

Description 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 the offset_corr and marg_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.

center

The tail of the path: center/<run-range>.data

...

center_corr

The tail of the path: center_corr/<run-range>.data

...

offset

The tail of the path: offset/<run-range>.data

...

offset_corr

The tail of the path: offset_corr/<run-range>.data

...

offset_corr

The tail of the path: offset_corr/<run-range>.data

Code Block

dXq0 dXq1 dXq2 dXq3
dYq0 dYq1 dYq2 dYq3
dZq0 dZq1 dZq2 dZq3

marg_gap_shift

The tail of the path: marg_gap_shift/<run-range>.data

Code Block

        offset of 2x1s in quad (for tilt)
       /  offset of quads in image (for tilt)
      /  /  gaps
     /  /  /  shifts
    /  /  /  /
X: 15 40 0 32
Y: 15 40 0 32
Z: 0 0 0 0

quad_rotation

The tail of the path: quad_rotation/<run-range>.data

...

quad_tilt

The tail of the path: quad_tilt/<run-range>.data

...

rotation

The tail of the path: rotation/<run-range>.data

...

tilt

The tail of the path: tilt/<run-range>.data

...

References

...

  -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:
Image Added Image Added Image Added

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

Detector data access software

 

References