Command geometry_convert
with parameters executed in psana environment converts geometry constants between psana and CrystFEL formats forth and back depending on input file name extension. Converter works for a few major composite detectors cspad, pnccd, epix10ka, jungfrau.
Forward conversion by default changes coordinate frame from psana (the same frame as in optical metrology) to CrystFEL (LAB frame: z-along photon beam, y-up, x=[y×z]). The LAB frame is widely used in crystallography data processing. Backward conversion does not change coordinate frame and generates panels' positions and tilts as is. Pixel coordinates reconstructed in psana from this file will also be defined in the LAB frame.
Command for "forward" conversion of the detector geometry constants from psana to CrystFEL needs in a couple of parameters for input psana geometry file name (-f) and optionally output CrystFEL geometry file name (-o), for example
geometry_convert -f geo-cspad-psana.data -o geo-cspad-crystfel.geom
By default converter changes coordinate frame from psana (similar to one in optical metrology) to LAB (usually used in CrystFEL). Parameter --cframe 0
allows to keep the coordinate frame unchanged.
Forward converter recognizes detectors epix10ka, jungfrau, cspad, pnccd
from their segment names EPIX10KA:V1, EPIX10KA:V2, JUNGFRAU:V1, JUNGFRAU:V2, SENS2X1:V1, PNCCD:V1, MTRX:V2:512:512:75:75 loaded from the input geometry file.
Since ana-4.0.47-py3 three optional parameters added to apply z-position correction from PV variables.
--dsname DSNAME FOR Z CORRECTION FROM DATA - dataset (str) like exp=<experiment>:run=<run-number>:smd:..., def=None --zpvname ZPVNAME FOR Z CORRECTION FROM DATA - z-correction variable name ex: CXI:DS1:MMS:06.RBV or alias ex: DscCsPad_z, def=None --f_um F_UM FOR Z CORRECTION FROM DATA - factor for conversion PV value to um, def=1000.000000 |
To apply z position correction at least --dsname parameter should be specified. In this case PV names CXI:DS1:MMS:06.RBV, CXI:DS2:MMS:06.RBV, MFX:DET:MMS:04.RBV, XPP:ROB:POS:Z, AMO:LMP:MMS:10.RBV are tested for availability.
Example of the command with z position correction:
geometry_convert -f geo-jungfrau.data -o geo-jungfrau.geom --dsname exp=cxic00318:run=123:smd --zpvname CXI:DS1:MMS:06.RBV
Command for "backward" conversion of the detector geometry constants from CrystFEL to psana needs in a couple of parameters for detector type (-d) and input CrystFEL geometry file name (-f). Optional output file name (-o) for psana geometry is also useful, for example
geometry_convert -d epix10ka -f geo-epix10ka2m-crystfel.geom -o geo-epix10ka2m-psana.txt
The file name extension *.geom
in option -f launches conversion from CrystFEL to psana.
For now, backward converter works for detector types epix10ka, jungfrau, cspad (with quads like in cxi), cspadv2 (without quads like in xpp), pnccd
. Information about detector type is missing in the CrystFEL *.geom file, so parameted -d needs to be specified.
ASIC naming convention in CrystFEL are slightly different for cspad with and without moving quads. Appropriate detector type (-d) should be specified explicitly as cspad or cspadv2, respectively, for exampe
geometry_convert -d cspad -f geo-cspad-cxi-crystfel.geom -o geo-cspad-cxi-psana.data
geometry_convert -d cspadv2 -f geo-cspad-xpp-crystfel.geom -o geo-cspad-xpp-psana.data
More information about command and parameters can be obtained with help option (-h),
geometry_convert -h
Converts geometry constants from psana to CrystFEL format and backward (see --fname). optional arguments: -h, --help show this help message and exit -f FNAME, --fname FNAME input geometry file name. File name extention *.geom launches converter from CrystFEL to psana, def=/reg/g/psdm/detector/data_test/geometry/geo- epix10ka2m-16-segment.data -o OFNAME, --ofname OFNAME output file name, def=geo-crystfel.txt -l LOGLEV, --loglev LOGLEV logging level name, one of NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL, def=INFO --cframe CFRAME coordinate frame 0/1 for psana/LAB, def=1. Works for PSANA->CRYSTFEL conversion ONLY where it selects frame for pixel coordinates. Backward conversion CRYSTFEL->PSANA does not change frame. For test perpose it is assumed that forth and back conversion PSANA->CRYSTFEL->PSANA should not change constants in the geometry file (up to precision lose at conversion) if they are defined for the same coordinate frame. For this type of test parameter should be set to 0 to keep psana frame unchanged. -d DETTYPE, --dettype DETTYPE USED FOR CRYSTFEL TO PSANA ONLY - detector type, one of epix10ka, jungfrau, cspad, cspadv2, pnccd, def=epix10ka |