You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

 

Proposal for precise geometry parametrization of planar imaging detectors.

Content

 

Coordinate system for setup

Axes definition

Cartesian coordinate system of setup is defined by three mutually orthogonal right-hand-indexed axes with origin in the interaction point (IP) of the photon beam with target:

  • X – pointing from IP to the north,
  • Y – pointing from IP to the top, and
  • Z – pointing from IP along the photon beam propagation direction,

as shown in the plot:

                             

 

Each photon with sample collision happens in different place... IP is an abstract position of the crossing point of the "beam line" and "target", which both are not well defined... Is it really good definition?

 

Detector position

Detector coordinate system may have a translation and rotation with respect to the setup, which can be defined by the 3 vectors in the setup frame:

  • P – translation vector pointing from IP to the detector origin,
  • ex – unit vector along the detector frame x axis,
  • ey – unit vector along the detector frame y axis,

as shown in the plot:

                                         

Third unit vector ez – is assumed to be right-hand triplet component,

               ez=[ex × ey].

Components of these three unit vectors form the rotation matrix

             / ex1   ey1    ez1 \

Rij =  |   ex2   ey2    ez2   |

             \  ex3   ey3    ez3 /

where indexes "i" and "j" corresponds to the vector components in the setup and detector local coordinate frames, respectively. Within this definition 3-d pixel coordinate "c" in the detector frame can be transformed to the setup coordinate "C" using equation

                              Ci=Rij·cj + Pi.

 

Parameters for detector position and orientation

The list of parameters, which defines detector position and orientation in the setup (lab) frame consists of vector components:

P1P2P3ex1ex2ex3ey1ey2ey3

assuming ez=[ex × ey], and |ex|=|ey| =|ez|=1. 

 Alternatively, directions of the three unit vectors ex, ey, and ez of the detector frame can be defined in terms of three Euler angle rotations with respect to the setup (lab) frame:

P1P2P3alphabetagamma

with classic relations between (ex,ey,ez) and (alpha, beta, gamma) presentations.

Access to these parameters should should be provided at  least two methods of the calibration store object:

(P1, P2, P3, ex1, ex2, ex3, ey1, ey2, ey3) = calib.get( type, detector_name )

calib.put(type, detector_name, (P1, P2, P3, ex1, ex2, ex3, ey1, ey2, ey3))

or similar methods for Euler angles.

 

Coordinate system of the detector

In this note we assume that:

  • the detector image is produced by a set of tiles (a.k.a., segment, section, 2x1, sensor, Si-pixel matrix, etc),
  • the tiles form almost flat (x-y) surface around z=0 within precision of production technology and installation,
  • the tile rotation angles in (x-y) are N*90 degrees, where N=0,1,2,or 3,
  • detector local coordinate system is defined in this plane, as explained below.

These assumptions are not necessary for most of algorithms. But, in many cases it may be convenient to use small angle approximation or ignore angular misalignment for image mapping between tiles and 2-d image array.

 

Tile ideal geometry

  • Each tile has well defined by design geometry of pixels, which does not need in separate calibration.
  • Pixel center (x,y) coordinates at z=0 for each tile can be defined as a look-up table in its "natural" matrix-style coordinate system.
  • For example, CSPAD 2x1 tile pixel geometry is defined as

           

  • Regular pixel size is 109.92 x 109.92 µm2,
  • Pixel size in two middle columns 193 and 194 is 274.80 x 109.92 µm2.

For any type of tile there should be a class or method returning pixel coordinates in this ideal geometry

            (x, y, z) = get_pixel_xyz(row,column),

or look-up tables for consecutive pixel indexes

              (xarr, yarr, zarr) = get_pixel_xyz_arrays().

 

 

Memory model

It is assumed that each tile is presented in DAQ or offline data by a consecutive block of memory.  Uniform matrix-type geometry of pixel array is preferable, but  other geometry can be handled.  For example, for CSPAD 2x1 sensor pixel index in the tile memory block of size (185,388) can be evaluated as

                         i = column + row*388.

 

Detector data record consists of consecutive tile-blocks, in accordance with numeration adopted in DAQ. For effective memory management, some of the tile-blocks may be missing due to current detector configuration. Available configuration of the detector tile-blocks should be marked in a  bit-mask word in position order (bit position from lower to higher is associated with the tile number in DAQ).

 

Optical measurements

  • Optical measurements provide 3-d coordinates of 4 corners for all tiles in the detector in some arbitrary microscope plane which coincides with detector imaging array (tiles) plane within precision of installation.
  • Tile corner coordinates do not necessarily coincide with corner pixel centers or edges.
  • Numeration of tiles should not necessarily coincide with their numeration in DAQ, but it should be done in fixed order or with indication of tile numbers:
  • Optical measurements provide a list of coordinates for all sensor points:

    Tile #
    Point #X[µm]Y[µm]Y[µm]

Quality check

Quality check of optical measurement may include for each tile:

  • equity of opposite sides
  • equity of diagonals
  • equity of tilt angles for all sides
  • tile flatness in 3-d

 

Position of tiles in the detector

Detector pixels' geometry in 3-d can be unambiguously derived from

  • the list of coordinates obtained in optical measurements,
  • tile ideal geometry, and
  • designed orientation of sensors in the detector.

The tile location and orientation can be defined by the table of records (see example of file: geometry)

Parent nameParent indexObject nameObject indexX0[µm]Y0[µm]Y0[µm]Rotation Z [°]Rotation Y [°]Rotation X[°]Tilt Z[°]Tilt Y[°]Tilt X[°]

where

  • Parent name - name and version of the parent object; all translation and rotation pars are defined w.r.t. parent Cartesian frame
  • Parent index - index of the parent object
  • Object name - name and version of the object inserted in parent frame
  • Object index - index of the object
  • X0, Y0, and Z0 [µm] –  object frame origin coordinates in the parent frame
  • Rotation X, Y, and Z [degree] – object ideal (design) rotation angle around axes Z, Y,  and X of the parent frame
  • Tilt X, Y, and Z [degree] – tilt angles for correction of the object rotation angles around axes Z, Y,  and X of the parent frame, respectively

Tile center coordinates are defined as an average over 4 corners.

Tilt angles are projected angles of the tile sides on relevant planes. Each angle is evaluated as an averaged angle for 2 sides.

Origin of the detector local frame is arbitrary. There are few preferable options for choosing coordinate frame origin:

  • use the same coordinate system as in optical measurements,
  • apply minimal offset (translation) to optical frame in order to make all coordinates positive (see left plot below),
  • use averaged coordinate of all tiles (see right plot below),
  • use user-defined translation, for example set origin in the evaluated point of beam crossing with the detector plane. 

 

                                            

 

Pixel coordinate reconstruction in the detector frame uses

  • tile ideal geometry,
  • tile center positions,
  • tile N·90 rotation and tilt angles:

             (x,y,z)in detector = (Xc,Yc,Zc) + R(N·90+tilt) × (x,y,z)in tile,

where rotation matrix R is a product of three rotations around appropriate axes,

 

Pixel coordinates in the detector should be accessed by method like

            (x, y, z) = get_pixel_xyz_in_detector(tile_number,row,column),

or look-up tables for consecutive pixel indexes

              (xarr, yarr, zarr) = get_pixel_xyz_arrays_in_detector().

 

Summary

Suggested method for imaging detector geometry description provides simple and unambiguous way of pixel coordinate parametrization. This method utilizes all available information from optical measurement and design of the detector and tiles. All geometry parameters are extracted without fitting technique and presented by natural intuitive way.

 

References

Euler angles, Tait–Bryan angles, nautical angles, Cardan angles etc.

  • No labels