Page History
...
...
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:
...
- tile ideal geometry,
- tile center positions,
- tile N·90 rotation and tilt angles.
Then all , each geometry object pixel coordinate xj
are transformed to the parent frame pixel coordinate Xi
applying rotations and translations are defined asas
Xi=Rij·xj + Pi
,
or in Python code:
Code Block |
---|
#file: pyimgalgos/src/GeometryObject.py def rotation(X, Y, C, S) : Xrot = X*C - Y*S Yrot = Y*C + X*S return Xrot, Yrot class GeometryObject : ... def transform_geo_coord_arrays(self, X, Y, Z) : ... # define Cx, Cy, Cz, Sx, Sy, Sz - cosines and sines of rotation + tilt angles ... X1, Y1 = rotation(X, Y, Cz, Sz) Z2, X2 = rotation(Z, X1, Cy, Sy) Y3, Z3 = rotation(Y1, Z2, Cx, Sx) Zt = Z3 + self.z0 Yt = Y3 + self.y0 Xt = X2 + self.x0 return Xt, Yt, Zt |
...
Code Block |
---|
from pyimgalgos.GeometryAccess import GeometryAccess ... fname_geometry='<path>/geometry/0-end.data' geometry = GeometryAccess(fname_geometry) X,Y,Z = geometry.get_pixel_coords() |
will return X,Y,Z arrays of the shape [4,8,185,388], or similar for CSPAD quad, one has to show the top object for coordinate arrays, say it is 'QUAD:V1' with index 1:
Code Block |
---|
geometry = GeometryAccess(fname_geometry)
X,Y,Z = geometry.get_pixel_coords('QUAD:V1', 1) |
return X,Y,Z arrays of the shape [8,185,388].
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.
...