exp=mfxc00118:run=191:smd
epix10k2M
/reg/d/psdm/mfx/mfxc00118/calib
gain mode is FL, as seen in datinfo.
datinfo -e mfxc00118 -d epix10k2M -r191 [I] L0210: command: /cds/home/d/dubrovin/LCLS/con-py2/arch/x86_64-rhel7-gcc48-opt/bin/datinfo -e mfxc00118 -d epix10k2M -r191 [I] L0211: **kwargs runs: 191 dssuffix: :smd detname: epix10k2M evtkeys: 2 stskip: 0 expname: mfxc00118 steps: 1000 evskip: 0 stepnum: None logmode: INFO events: 1000000 [I] L0040: dsname: exp=mfxc00118:run=191:smd [I] L0041: detname: epix10k2M [I] L0114: runnum: 191 [I] L0115: info_det: info_det det.src: Source("DetInfo(MfxEndstation.0:Epix10ka2M.0)") dettype: 32 calibration constants for par(run or evt): 191 pedestals shape:(7, 16, 352, 384) size:15138816 dtype:float32 [3497.452 3462.729 3479.892 3555.06 3379.326...] rms shape:(7, 16, 352, 384) size:15138816 dtype:float32 [6.935 7.433 7.335 7.416 7.097...] status shape:(7, 16, 352, 384) size:15138816 dtype:uint16 [0 0 0 0 0...] common_mode shape:(16,) size:16 dtype:float64 [ 7. 2. 10. 10. 0....] pixel X shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-42873.23141788 -42773.25839541 -42673.28537293 -42573.31235046 -42473.33932799...] pixel Y shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-41529.65240873 -41528.50952055 -41527.36663237 -41526.22374418 -41525.080856 ...] pixel Z shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-175852.28919395 -175854.31121874 -175856.33324353 -175858.35526833 -175860.37729312...] [I] L0116: calibDir: /reg/d/psdm/mfx/mfxc00118/calib [I] L0117: dettype: 32 [I] L0118: dettype of EPIX10KA2M: 32 ==== run 0191 ==== ==== istep 0 ControlData.pvLabels: evt.keys: EventKey(type=psana.EvrData.DataV4, src='DetInfo(NoDetector.0:Evr.0)', alias='evr0') EventKey(type=psana.Epix.ArrayV1, src='DetInfo(MfxEndstation.0:Epix10ka2M.0)', alias='epix10k2M') EventKey(type=psana.Bld.BldDataEBeamV7, src='BldInfo(EBeam)') EventKey(type=psana.Bld.BldDataFEEGasDetEnergyV1, src='BldInfo(FEEGasDetEnergy)') EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG1-BMMON)') EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG2-BMMON)') EventKey(type=psana.EventOffset) EventKey(type=psana.EventId) EventKey(type=None) EventKey(type=psana.DgramList) ievt: 0000 pixel gain mode fractions for ranges FH FM FL AHL-H AML-M AHL-L AML-L 1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000 ievt: 0000 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3632 3496 3644 3543 3374...] evt.keys: EventKey(type=psana.EvrData.DataV4, src='DetInfo(NoDetector.0:Evr.0)', alias='evr0') EventKey(type=psana.Epix.ArrayV1, src='DetInfo(MfxEndstation.0:Epix10ka2M.0)', alias='epix10k2M') EventKey(type=psana.Bld.BldDataEBeamV7, src='BldInfo(EBeam)') EventKey(type=psana.Bld.BldDataFEEGasDetEnergyV1, src='BldInfo(FEEGasDetEnergy)') EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG1-BMMON)') EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG2-BMMON)') EventKey(type=psana.EventOffset) EventKey(type=psana.EventId) EventKey(type=None) EventKey(type=psana.DgramList) ievt: 0001 pixel gain mode fractions for ranges FH FM FL AHL-H AML-M AHL-L AML-L 1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000 ievt: 0100 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3507 3458 3474 3722 3377...] ievt: 0200 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3498 3493 3494 3543 3386...] ievt: 0300 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3483 3454 3461 3722 3382...] ievt: 0400 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3513 3662 3487 3829 3376...] ievt: 0500 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3667 3445 3479 3551 3378...] ... ievt: 6700 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3500 3655 3477 3555 3374...] ievt: 6800 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3575 3653 3492 3543 3378...] ievt: 6900 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3502 3468 3472 3551 3375...] ievt: 6999 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3490 3465 3484 3547 3376...] ==== Summary run:0191 step:(events total, good): 0: (7000, 7000) [I] L0215: DONE, consumed time 184.117 sec End of datinfo |
from Detector.PyDataAccess import get_epix_config_object, get_epix_data_object
odata = get_epix_data_object(evt, det.source)
crows = odata.calibrationRows()
calibrows shape:(16, 4, 384) size:24576 dtype:uint16 [3169 2982 3159 2822 3093...]
raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3651 3470 3463 3534 3398...]
combine these arrays together for panel images with x20 rows for each calibration row.
parser.parse_args: Namespace(amax=None, amin=None, cframe=0, detname='epix10k2M', events=3, evskip=0, expname='mfxc00118', grindex=None, loglev='INFO', run=191, saveimg=True, segindex=None, stepnum=None, tname='102')
Detector/examples/ex_epix10ka_calibrows.py -e mfxc00118 -d epix10k2M -r191 -N1000 -K0
== panel:0 med shape:(4, 384) size:1536 dtype:float64 [3168.367 2983.392 3160.525 2821.145 3094.843...] med[0,:] shape:(384,) size:384 dtype:float64 [3168.367 2983.392 3160.525 2821.145 3094.843...] med[1,:] shape:(384,) size:384 dtype:float64 [3207.724 2862.678 3111.163 2934.188 3149.702...] rms[0,:] shape:(384,) size:384 dtype:float64 [1.84345084 1.72983699 1.78251928 1.67749069 1.78054795...] rms[1,:] shape:(384,) size:384 dtype:float64 [1.63518317 1.61873902 1.65663243 1.68245535 1.61962835...] minimum of med[0,:]: 2634.083 minimum of med[1,:]: 2634.186 maximum of med[0,:]: 3391.569 maximum of med[1,:]: 3466.012 medium of rms[0,:]: 1.887 medium of rms[1,:]: 1.849 maximum of rms[0,:]: 3.073 maximum of rms[1,:]: 3.039 == panel:1 med shape:(4, 384) size:1536 dtype:float64 [3374.236 3126.95 3364.15 3193.475 3378.609...] med[0,:] shape:(384,) size:384 dtype:float64 [3374.236 3126.95 3364.15 3193.475 3378.609...] med[1,:] shape:(384,) size:384 dtype:float64 [2901.247 2836.717 2924.391 2860.471 2863.963...] rms[0,:] shape:(384,) size:384 dtype:float64 [1.64143352 1.75997159 1.68923059 1.57396792 1.6894138 ...] rms[1,:] shape:(384,) size:384 dtype:float64 [1.72394635 1.73462128 1.72630212 1.65019968 1.69104435...] minimum of med[0,:]: 2812.748 minimum of med[1,:]: 2529.810 maximum of med[0,:]: 3605.198 maximum of med[1,:]: 3465.724 medium of rms[0,:]: 1.893 medium of rms[1,:]: 1.885 maximum of rms[0,:]: 3.428 maximum of rms[1,:]: 3.099 == panel:2 med shape:(4, 384) size:1536 dtype:float64 [3075.72 3311.056 3158.876 3237.059 3049.259...] med[0,:] shape:(384,) size:384 dtype:float64 [3075.72 3311.056 3158.876 3237.059 3049.259...] med[1,:] shape:(384,) size:384 dtype:float64 [3178.537 3370.59 3195.272 3342.484 3157.823...] rms[0,:] shape:(384,) size:384 dtype:float64 [1.81427672 1.88649516 1.82828444 1.85135599 1.69879928...] rms[1,:] shape:(384,) size:384 dtype:float64 [1.81511184 1.78714857 1.72453356 1.79380712 1.77021778...] minimum of med[0,:]: 2439.597 minimum of med[1,:]: 2577.148 maximum of med[0,:]: 3377.571 maximum of med[1,:]: 3429.967 medium of rms[0,:]: 1.972 medium of rms[1,:]: 1.874 maximum of rms[0,:]: 2.916 maximum of rms[1,:]: 2.687 == panel:3 med shape:(4, 384) size:1536 dtype:float64 [3118.39 3215.456 3045.94 3241.929 3118.27 ...] med[0,:] shape:(384,) size:384 dtype:float64 [3118.39 3215.456 3045.94 3241.929 3118.27 ...] med[1,:] shape:(384,) size:384 dtype:float64 [3069.808 3133.232 2972.622 3142.785 2881.554...] rms[0,:] shape:(384,) size:384 dtype:float64 [1.74467762 1.76693633 1.74367428 1.74927385 1.7207847 ...] rms[1,:] shape:(384,) size:384 dtype:float64 [1.83660992 1.74016551 1.73237294 1.76373893 1.75587129...] minimum of med[0,:]: 2815.598 minimum of med[1,:]: 2534.478 maximum of med[0,:]: 3558.153 maximum of med[1,:]: 3253.122 medium of rms[0,:]: 1.908 medium of rms[1,:]: 1.980 maximum of rms[0,:]: 2.879 maximum of rms[1,:]: 2.975 |
iv calibrows-mfxc00118-r0191-epix10k2M-ave.npy
iv calibrows-mfxc00118-r0191-epix10k2M-rms.npy
epix10ka_calib_components -t7 -S
# raw - pedestalsepix10ka_calib_components -t9 --amin -2 --amax 2 -S
# det.calib(evt, cmpars=(7,7,10,10))Plots above show that common mode effect is seen and can be eliminated with standard algorithm for common mode correction. This algorithm does not work well in the central part of the detector where more than 50% of pixels have signal.
Raw data with subtracted pedestals for segments 0-3. Calibration rows show the difference between event calibrow and its average over 1000 events of the same run.
epix10ka_calib_components -t103 -i0 -S
epix10ka_calib_components -t103 -i1 -S
epix10ka_calib_components -t103 -i2 -S
epix10ka_calib_components -t103 -i3 -S
Scatter plots show correlation between calibrow and segment row pixel intensities.
epix10ka_calib_components -t103 -i1 --icrow 0 -S
# left plot is a superposition of segment rows 0:176 vs calibrow 0epix10ka_calib_components -t103 -i1 --icrow 1 -S
# right plot is a superposition of segment rows 176:352 vs calibrow 1