Versions Compared

Key

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

...

Average image and mask for four detectors

Image Added

Image Added

Image RemovedImage RemovedImage RemovedImage RemovedImage Removed

...

Image Added

Image AddedImage Added

Dark processing check

https://pswww.slac.stanford.edu/lgbk/lgbk/xpplw3319/#eLog

Jul/16/2021 06:11:15 287 dark - Restored

Jul/16/2021 07:44:51 293

===
Restore 287 dark

/cds/data/psdm/xpp/xpplw3319/xtc/xpplw3319-r028*

Command and logfiles for four detectors

det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.1

Code Block
titlelogfile for det1
collapsetrue
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.1 -o work --nrecs1 50 --nrecs 1000
[I] UtilsCalib.py L0327 record at start: 
2023-01-26T09:13:07 user:dubrovin@psanagpu111 cwd:/cds/home/d/dubrovin/LCLS/con-py3 rel:ana-4.0.48-py3 dirrepo:work logfile:None command:/cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.1 -o work --nrecs1 50 --nrecs 1000
saved in: /reg/g/psdm/detector/logs/atstart/2023/2023_lcls1_det_ndarr_raw_proc.txt
[I] det_ndarr_raw_proc L0135 Command: /cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.1 -o work --nrecs1 50 --nrecs 1000
  Argument list: Namespace(dsname='exp=xpplw3319:run=287', source='XppGon.0:Epix100a.1', ofname='nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt', events=1000, evskip=0, intlow=1, inthig=16000, rmslow=0.001, rmshig=16000, fraclm=0.1, nsigma=6.0, plotim=0, verbos=7, savebw=255, intnlo=6.0, intnhi=6.0, rmsnlo=6.0, rmsnhi=6.0, evcode=None, dirrepo='work', logmode='INFO', dirmode=1533, filemode=436, group='ps-users', nrecs=1000, nrecs1=50)
  Optional parameters:
    <key>      <value>              <default>
    dsname     exp=xpplw3319:run=287 None                
    source     XppGon.0:Epix100a.1  None                
    ofname     nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt
    events     1000                 1000                
    evskip     0                    0                   
    intlow     1                    1                   
    inthig     16000                16000               
    rmslow     0.001                0.001               
    rmshig     16000                16000               
    fraclm     0.1                  0.1                 
    nsigma     6.0                  6.0                 
    plotim     0                    0                   
    verbos     7                    7                   
    savebw     255                  255                 
    intnlo     6.0                  6.0                 
    intnhi     6.0                  6.0                 
    rmsnlo     6.0                  6.0                 
    rmsnhi     6.0                  6.0                 
    evcode     None                 None                
    dirrepo    work                 ./work              
    logmode    INFO                 INFO                
    dirmode    0o2775               0o2775              
    filemode   0o664                0o664               
    group      ps-users             ps-users            
    nrecs      1000                 100                 
    nrecs1     50                   50                  

[I] UtilsDarkProc.py L0129 Raw data processing of dataset: exp=xpplw3319:run=287
[I] UtilsDarkProc.py L0065 create DarkProcDet object for XppGon.0:Epix100a.1
[I] UtilsCalib.py L0793 created empty data block shape:(50, 704, 768) size:27033600 dtype:uint16 [0 0 0 0 0...]
[I] UtilsDarkProc.py L0168   Event:    0,  time=  0.127 sec,  dt=0.127 sec
[I] UtilsDarkProc.py L0168   Event:    1,  time=  0.130 sec,  dt=0.003 sec
[I] UtilsDarkProc.py L0168   Event:    2,  time=  0.135 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:    3,  time=  0.139 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:    4,  time=  0.144 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:   10,  time=  0.171 sec,  dt=0.027 sec
[I] UtilsDarkProc.py L0168   Event:   20,  time=  0.193 sec,  dt=0.023 sec
[I] UtilsDarkProc.py L0168   Event:   30,  time=  0.214 sec,  dt=0.021 sec
[I] UtilsDarkProc.py L0168   Event:   40,  time=  0.233 sec,  dt=0.020 sec
[I] UtilsCalib.py L0536 begin pricessing of the data block shape:(50, 704, 768) size:27033600 dtype:uint16 [3761 3889 3838 3956 3827...]
[I] UtilsCalib.py L0587 proc_block pre-processing time 2.491 sec
    results for median over pixels intensities:
    0.500 fraction of the event spectrum is below 3920.000 ADU - pedestal estimator
    0.050 fraction of the event spectrum is below 3916.000 ADU - gate low limit
    0.950 fraction of the event spectrum is below 3925.000 ADU - gate upper limit
    event spectrum spread    median(abs(raw-med)): 2.000 ADU - spectral peak width estimator
[I] UtilsCalib.py L0641 data block processing total time 2.514 sec
  arr_med[100:105] shape:(704, 768) size:540672 dtype:float64 [3758. 3885. 3839. 3955. 3828....]
  abs_dev[100:105] shape:(704, 768) size:540672 dtype:float64 [1.5 1.  2.  2.  2. ...]
  gate_lo[100:105] shape:(704, 768) size:540672 dtype:uint16 [3754 3882 3836 3951 3823...]
  gate_hi[100:105] shape:(704, 768) size:540672 dtype:uint16 [3762 3889 3845 3960 3833...]
[I] UtilsCalib.py L0653 Stage 2 initialization for raw shape (704, 768) and dtype uint16
[I] UtilsCalib.py L0778 add to gated average statistics the block of initial data shape:(50, 704, 768) size:27033600 dtype:uint16 [4045 4231 4160 4173 3957...]
1st stage event block processing is completed
[I] UtilsDarkProc.py L0168   Event:  100,  time=  4.665 sec,  dt=4.432 sec
[I] UtilsDarkProc.py L0168   Event:  200,  time=  6.616 sec,  dt=1.952 sec
[I] UtilsDarkProc.py L0168   Event:  300,  time=  8.555 sec,  dt=1.939 sec
[I] UtilsDarkProc.py L0168   Event:  400,  time= 10.518 sec,  dt=1.962 sec
[I] UtilsCalib.py L0811 record 999 event loop is terminated, --nrecs=1000
[I] UtilsCalib.py L0679 summary
[I] UtilsCalib.py L0680 ________________________________________________________________________________
raw data found/selected in 1000 events
[I] UtilsCalib.py L0683 begin data summary stage
[I] UtilsCalib.py L0112 evaluate_limits RMS: ave=2.203 std=0.445  limits low=0.001 high=4.872
[I] UtilsCalib.py L0112 evaluate_limits AVE: ave=3900.681 std=209.658  limits low=2642.732 high=5158.629
[I] UtilsCalib.py L0721 bad pixel status:
  status  1:      379 pixel rms       > 4.872
  status  2:        0 pixel rms       < 0.001
  status  4:        0 pixel intensity > 16000 in more than 0.1 fraction (99/999) of non-empty events
  status  8:        0 pixel intensity < 1 in more than 0.1 fraction (99/999) of non-empty events
  status 16:       15 pixel average   > 5158.63
  status 32:        0 pixel average   < 2642.73
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-ave-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-rms-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-sta-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-msk-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-max-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.1-e000999-min-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
[I] UtilsDarkProc.py L0174 ________________________________________________________________________________
Total consumed time = 22.977433 sec.

Code Block
titlelogfile for det2
collapsetrue
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.2 -o work --nrecs1 50 --nrecs 1000
[I] UtilsCalib.py L0327 record at start: 
2023-01-26T09:17:49 user:dubrovin@psanagpu111 cwd:/cds/home/d/dubrovin/LCLS/con-py3 rel:ana-4.0.48-py3 dirrepo:work logfile:None command:/cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.2 -o work --nrecs1 50 --nrecs 1000
saved in: /reg/g/psdm/detector/logs/atstart/2023/2023_lcls1_det_ndarr_raw_proc.txt
[I] det_ndarr_raw_proc L0135 Command: /cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.2 -o work --nrecs1 50 --nrecs 1000
  Argument list: Namespace(dsname='exp=xpplw3319:run=287', source='XppGon.0:Epix100a.2', ofname='nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt', events=1000, evskip=0, intlow=1, inthig=16000, rmslow=0.001, rmshig=16000, fraclm=0.1, nsigma=6.0, plotim=0, verbos=7, savebw=255, intnlo=6.0, intnhi=6.0, rmsnlo=6.0, rmsnhi=6.0, evcode=None, dirrepo='work', logmode='INFO', dirmode=1533, filemode=436, group='ps-users', nrecs=1000, nrecs1=50)
  Optional parameters:
    <key>      <value>              <default>
    dsname     exp=xpplw3319:run=287 None                
    source     XppGon.0:Epix100a.2  None                
    ofname     nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt
    events     1000                 1000                
    evskip     0                    0                   
    intlow     1                    1                   
    inthig     16000                16000               
    rmslow     0.001                0.001               
    rmshig     16000                16000               
    fraclm     0.1                  0.1                 
    nsigma     6.0                  6.0                 
    plotim     0                    0                   
    verbos     7                    7                   
    savebw     255                  255                 
    intnlo     6.0                  6.0                 
    intnhi     6.0                  6.0                 
    rmsnlo     6.0                  6.0                 
    rmsnhi     6.0                  6.0                 
    evcode     None                 None                
    dirrepo    work                 ./work              
    logmode    INFO                 INFO                
    dirmode    0o2775               0o2775              
    filemode   0o664                0o664               
    group      ps-users             ps-users            
    nrecs      1000                 100                 
    nrecs1     50                   50                  

[I] UtilsDarkProc.py L0129 Raw data processing of dataset: exp=xpplw3319:run=287
[I] UtilsDarkProc.py L0065 create DarkProcDet object for XppGon.0:Epix100a.2
[I] UtilsCalib.py L0793 created empty data block shape:(50, 704, 768) size:27033600 dtype:uint16 [0 0 0 0 0...]
[I] UtilsDarkProc.py L0168   Event:    0,  time=  0.085 sec,  dt=0.085 sec
[I] UtilsDarkProc.py L0168   Event:    1,  time=  0.089 sec,  dt=0.003 sec
[I] UtilsDarkProc.py L0168   Event:    2,  time=  0.093 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:    3,  time=  0.098 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:    4,  time=  0.102 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:   10,  time=  0.128 sec,  dt=0.026 sec
[I] UtilsDarkProc.py L0168   Event:   20,  time=  0.151 sec,  dt=0.023 sec
[I] UtilsDarkProc.py L0168   Event:   30,  time=  0.172 sec,  dt=0.021 sec
[I] UtilsDarkProc.py L0168   Event:   40,  time=  0.192 sec,  dt=0.021 sec
[I] UtilsCalib.py L0536 begin pricessing of the data block shape:(50, 704, 768) size:27033600 dtype:uint16 [4154 4215 4185 4397 4179...]
[I] UtilsCalib.py L0587 proc_block pre-processing time 2.500 sec
    results for median over pixels intensities:
    0.500 fraction of the event spectrum is below 4072.000 ADU - pedestal estimator
    0.050 fraction of the event spectrum is below 4068.000 ADU - gate low limit
    0.950 fraction of the event spectrum is below 4076.000 ADU - gate upper limit
    event spectrum spread    median(abs(raw-med)): 2.000 ADU - spectral peak width estimator
[I] UtilsCalib.py L0641 data block processing total time 2.524 sec
  arr_med[100:105] shape:(704, 768) size:540672 dtype:float64 [4156. 4217. 4181. 4397. 4181....]
  abs_dev[100:105] shape:(704, 768) size:540672 dtype:float64 [2. 2. 2. 2. 2....]
  gate_lo[100:105] shape:(704, 768) size:540672 dtype:uint16 [4151 4213 4178 4393 4175...]
  gate_hi[100:105] shape:(704, 768) size:540672 dtype:uint16 [4159 4222 4186 4400 4184...]
[I] UtilsCalib.py L0653 Stage 2 initialization for raw shape (704, 768) and dtype uint16
[I] UtilsCalib.py L0778 add to gated average statistics the block of initial data shape:(50, 704, 768) size:27033600 dtype:uint16 [4300 4651 4343 4538 4177...]
1st stage event block processing is completed
[I] UtilsDarkProc.py L0168   Event:  100,  time=  4.653 sec,  dt=4.461 sec
[I] UtilsDarkProc.py L0168   Event:  200,  time=  6.686 sec,  dt=2.033 sec
[I] UtilsDarkProc.py L0168   Event:  300,  time=  8.654 sec,  dt=1.969 sec
[I] UtilsDarkProc.py L0168   Event:  400,  time= 10.682 sec,  dt=2.028 sec
[I] UtilsCalib.py L0811 record 999 event loop is terminated, --nrecs=1000
[I] UtilsCalib.py L0679 summary
[I] UtilsCalib.py L0680 ________________________________________________________________________________
raw data found/selected in 1000 events
[I] UtilsCalib.py L0683 begin data summary stage
[I] UtilsCalib.py L0112 evaluate_limits RMS: ave=2.330 std=0.995  limits low=0.001 high=8.303
[I] UtilsCalib.py L0112 evaluate_limits AVE: ave=4065.543 std=226.214  limits low=2708.260 high=5422.827
[I] UtilsCalib.py L0721 bad pixel status:
  status  1:      239 pixel rms       > 8.303
  status  2:        0 pixel rms       < 0.001
  status  4:        0 pixel intensity > 16000 in more than 0.1 fraction (99/999) of non-empty events
  status  8:        0 pixel intensity < 1 in more than 0.1 fraction (99/999) of non-empty events
  status 16:       26 pixel average   > 5422.83
  status 32:        1 pixel average   < 2708.26
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-ave-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-rms-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-sta-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-msk-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-max-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.2-e000999-min-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
[I] UtilsDarkProc.py L0174 ________________________________________________________________________________
Total consumed time = 23.291649 sec.
[I] det_ndarr_raw_proc L0141 log file: None
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ 
Code Block
titlelogfile for det3
collapsetrue
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -o work --nrecs1 50 --nrecs 1000
[I] UtilsCalib.py L0327 record at start: 
2023-01-26T09:21:06 user:dubrovin@psanagpu111 cwd:/cds/home/d/dubrovin/LCLS/con-py3 rel:ana-4.0.48-py3 dirrepo:work logfile:None command:/cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -o work --nrecs1 50 --nrecs 1000
saved in: /reg/g/psdm/detector/logs/atstart/2023/2023_lcls1_det_ndarr_raw_proc.txt
[I] det_ndarr_raw_proc L0135 Command: /cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -o work --nrecs1 50 --nrecs 1000
  Argument list: Namespace(dsname='exp=xpplw3319:run=287', source='XppGon.0:Epix100a.3', ofname='nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt', events=1000, evskip=0, intlow=1, inthig=16000, rmslow=0.001, rmshig=16000, fraclm=0.1, nsigma=6.0, plotim=0, verbos=7, savebw=255, intnlo=6.0, intnhi=6.0, rmsnlo=6.0, rmsnhi=6.0, evcode=None, dirrepo='work', logmode='INFO', dirmode=1533, filemode=436, group='ps-users', nrecs=1000, nrecs1=50)
  Optional parameters:
    <key>      <value>              <default>
    dsname     exp=xpplw3319:run=287 None                
    source     XppGon.0:Epix100a.3  None                
    ofname     nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt
    events     1000                 1000                
    evskip     0                    0                   
    intlow     1                    1                   
    inthig     16000                16000               
    rmslow     0.001                0.001               
    rmshig     16000                16000               
    fraclm     0.1                  0.1                 
    nsigma     6.0                  6.0                 
    plotim     0                    0                   
    verbos     7                    7                   
    savebw     255                  255                 
    intnlo     6.0                  6.0                 
    intnhi     6.0                  6.0                 
    rmsnlo     6.0                  6.0                 
    rmsnhi     6.0                  6.0                 
    evcode     None                 None                
    dirrepo    work                 ./work              
    logmode    INFO                 INFO                
    dirmode    0o2775               0o2775              
    filemode   0o664                0o664               
    group      ps-users             ps-users            
    nrecs      1000                 100                 
    nrecs1     50                   50                  

[I] UtilsDarkProc.py L0129 Raw data processing of dataset: exp=xpplw3319:run=287
[I] UtilsDarkProc.py L0065 create DarkProcDet object for XppGon.0:Epix100a.3
[I] UtilsCalib.py L0793 created empty data block shape:(50, 704, 768) size:27033600 dtype:uint16 [0 0 0 0 0...]
[I] UtilsDarkProc.py L0168   Event:    0,  time=  0.074 sec,  dt=0.074 sec
[I] UtilsDarkProc.py L0168   Event:    1,  time=  0.078 sec,  dt=0.003 sec
[I] UtilsDarkProc.py L0168   Event:    2,  time=  0.082 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:    3,  time=  0.087 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:    4,  time=  0.091 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:   10,  time=  0.118 sec,  dt=0.027 sec
[I] UtilsDarkProc.py L0168   Event:   20,  time=  0.141 sec,  dt=0.023 sec
[I] UtilsDarkProc.py L0168   Event:   30,  time=  0.161 sec,  dt=0.021 sec
[I] UtilsDarkProc.py L0168   Event:   40,  time=  0.183 sec,  dt=0.022 sec
[I] UtilsCalib.py L0536 begin pricessing of the data block shape:(50, 704, 768) size:27033600 dtype:uint16 [3841 3962 3836 3825 3845...]
[I] UtilsCalib.py L0587 proc_block pre-processing time 2.515 sec
    results for median over pixels intensities:
    0.500 fraction of the event spectrum is below 3982.000 ADU - pedestal estimator
    0.050 fraction of the event spectrum is below 3977.000 ADU - gate low limit
    0.950 fraction of the event spectrum is below 3987.000 ADU - gate upper limit
    event spectrum spread    median(abs(raw-med)): 2.000 ADU - spectral peak width estimator
[I] UtilsCalib.py L0641 data block processing total time 2.537 sec
  arr_med[100:105] shape:(704, 768) size:540672 dtype:float64 [3844.  3963.  3839.  3831.5 3845. ...]
  abs_dev[100:105] shape:(704, 768) size:540672 dtype:float64 [2.  2.  2.  1.5 2. ...]
  gate_lo[100:105] shape:(704, 768) size:540672 dtype:uint16 [3837 3958 3835 3825 3840...]
  gate_hi[100:105] shape:(704, 768) size:540672 dtype:uint16 [3847 3969 3843 3836 3850...]
[I] UtilsCalib.py L0653 Stage 2 initialization for raw shape (704, 768) and dtype uint16
[I] UtilsCalib.py L0778 add to gated average statistics the block of initial data shape:(50, 704, 768) size:27033600 dtype:uint16 [3632 3974 3821 3918 3696...]
1st stage event block processing is completed
[I] UtilsDarkProc.py L0168   Event:  100,  time=  4.701 sec,  dt=4.518 sec
[I] UtilsDarkProc.py L0168   Event:  200,  time=  6.827 sec,  dt=2.126 sec
[I] UtilsDarkProc.py L0168   Event:  300,  time=  8.874 sec,  dt=2.047 sec
[I] UtilsDarkProc.py L0168   Event:  400,  time= 10.912 sec,  dt=2.038 sec
[I] UtilsCalib.py L0811 record 999 event loop is terminated, --nrecs=1000
[I] UtilsCalib.py L0679 summary
[I] UtilsCalib.py L0680 ________________________________________________________________________________
raw data found/selected in 1000 events
[I] UtilsCalib.py L0683 begin data summary stage
[I] UtilsCalib.py L0112 evaluate_limits RMS: ave=2.317 std=0.370  limits low=0.097 high=4.536
[I] UtilsCalib.py L0112 evaluate_limits AVE: ave=3983.565 std=188.830  limits low=2850.584 high=5116.546
[I] UtilsCalib.py L0721 bad pixel status:
  status  1:      643 pixel rms       > 4.536
  status  2:        0 pixel rms       < 0.097
  status  4:        0 pixel intensity > 16000 in more than 0.1 fraction (99/999) of non-empty events
  status  8:        0 pixel intensity < 1 in more than 0.1 fraction (99/999) of non-empty events
  status 16:       31 pixel average   > 5116.55
  status 32:        0 pixel average   < 2850.58
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-ave-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-rms-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-sta-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-msk-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-max-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.3-e000999-min-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
[I] UtilsDarkProc.py L0174 ________________________________________________________________________________
Total consumed time = 23.812071 sec.
[I] det_ndarr_raw_proc L0141 log file: None
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ 
Code Block
titlelogfile for det4
collapsetrue
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.4 -o work --nrecs1 50 --nrecs 1000
[I] UtilsCalib.py L0327 record at start: 
2023-01-26T09:22:44 user:dubrovin@psanagpu111 cwd:/cds/home/d/dubrovin/LCLS/con-py3 rel:ana-4.0.48-py3 dirrepo:work logfile:None command:/cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.4 -o work --nrecs1 50 --nrecs 1000
saved in: /reg/g/psdm/detector/logs/atstart/2023/2023_lcls1_det_ndarr_raw_proc.txt
[I] det_ndarr_raw_proc L0135 Command: /cds/home/d/dubrovin/LCLS/con-py3/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.4 -o work --nrecs1 50 --nrecs 1000
  Argument list: Namespace(dsname='exp=xpplw3319:run=287', source='XppGon.0:Epix100a.4', ofname='nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt', events=1000, evskip=0, intlow=1, inthig=16000, rmslow=0.001, rmshig=16000, fraclm=0.1, nsigma=6.0, plotim=0, verbos=7, savebw=255, intnlo=6.0, intnhi=6.0, rmsnlo=6.0, rmsnhi=6.0, evcode=None, dirrepo='work', logmode='INFO', dirmode=1533, filemode=436, group='ps-users', nrecs=1000, nrecs1=50)
  Optional parameters:
    <key>      <value>              <default>
    dsname     exp=xpplw3319:run=287 None                
    source     XppGon.0:Epix100a.4  None                
    ofname     nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt
    events     1000                 1000                
    evskip     0                    0                   
    intlow     1                    1                   
    inthig     16000                16000               
    rmslow     0.001                0.001               
    rmshig     16000                16000               
    fraclm     0.1                  0.1                 
    nsigma     6.0                  6.0                 
    plotim     0                    0                   
    verbos     7                    7                   
    savebw     255                  255                 
    intnlo     6.0                  6.0                 
    intnhi     6.0                  6.0                 
    rmsnlo     6.0                  6.0                 
    rmsnhi     6.0                  6.0                 
    evcode     None                 None                
    dirrepo    work                 ./work              
    logmode    INFO                 INFO                
    dirmode    0o2775               0o2775              
    filemode   0o664                0o664               
    group      ps-users             ps-users            
    nrecs      1000                 100                 
    nrecs1     50                   50                  

[I] UtilsDarkProc.py L0129 Raw data processing of dataset: exp=xpplw3319:run=287
[I] UtilsDarkProc.py L0065 create DarkProcDet object for XppGon.0:Epix100a.4
[I] UtilsCalib.py L0793 created empty data block shape:(50, 704, 768) size:27033600 dtype:uint16 [0 0 0 0 0...]
[I] UtilsDarkProc.py L0168   Event:    0,  time=  0.074 sec,  dt=0.074 sec
[I] UtilsDarkProc.py L0168   Event:    1,  time=  0.078 sec,  dt=0.003 sec
[I] UtilsDarkProc.py L0168   Event:    2,  time=  0.082 sec,  dt=0.004 sec
[I] UtilsDarkProc.py L0168   Event:    3,  time=  0.086 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:    4,  time=  0.091 sec,  dt=0.005 sec
[I] UtilsDarkProc.py L0168   Event:   10,  time=  0.118 sec,  dt=0.027 sec
[I] UtilsDarkProc.py L0168   Event:   20,  time=  0.141 sec,  dt=0.023 sec
[I] UtilsDarkProc.py L0168   Event:   30,  time=  0.161 sec,  dt=0.021 sec
[I] UtilsDarkProc.py L0168   Event:   40,  time=  0.181 sec,  dt=0.020 sec
[I] UtilsCalib.py L0536 begin pricessing of the data block shape:(50, 704, 768) size:27033600 dtype:uint16 [4523 4558 4216 4521 4508...]
[I] UtilsCalib.py L0587 proc_block pre-processing time 2.555 sec
    results for median over pixels intensities:
    0.500 fraction of the event spectrum is below 4577.000 ADU - pedestal estimator
    0.050 fraction of the event spectrum is below 4571.000 ADU - gate low limit
    0.950 fraction of the event spectrum is below 4583.000 ADU - gate upper limit
    event spectrum spread    median(abs(raw-med)): 2.500 ADU - spectral peak width estimator
[I] UtilsCalib.py L0641 data block processing total time 2.577 sec
  arr_med[100:105] shape:(704, 768) size:540672 dtype:float64 [4521.  4554.  4220.  4524.5 4508.5...]
  abs_dev[100:105] shape:(704, 768) size:540672 dtype:float64 [1.5 2.  2.  2.5 2.5...]
  gate_lo[100:105] shape:(704, 768) size:540672 dtype:uint16 [4516 4550 4215 4519 4505...]
  gate_hi[100:105] shape:(704, 768) size:540672 dtype:uint16 [4525 4563 4224 4529 4513...]
[I] UtilsCalib.py L0653 Stage 2 initialization for raw shape (704, 768) and dtype uint16
[I] UtilsCalib.py L0778 add to gated average statistics the block of initial data shape:(50, 704, 768) size:27033600 dtype:uint16 [4626 4797 4659 4839 4565...]
1st stage event block processing is completed
[I] UtilsDarkProc.py L0168   Event:  100,  time=  4.722 sec,  dt=4.541 sec
[I] UtilsDarkProc.py L0168   Event:  200,  time=  6.681 sec,  dt=1.959 sec
[I] UtilsDarkProc.py L0168   Event:  300,  time=  8.618 sec,  dt=1.937 sec
[I] UtilsDarkProc.py L0168   Event:  400,  time= 10.753 sec,  dt=2.135 sec
[I] UtilsCalib.py L0811 record 999 event loop is terminated, --nrecs=1000
[I] UtilsCalib.py L0679 summary
[I] UtilsCalib.py L0680 ________________________________________________________________________________
raw data found/selected in 1000 events
[I] UtilsCalib.py L0683 begin data summary stage
[I] UtilsCalib.py L0112 evaluate_limits RMS: ave=2.965 std=0.396  limits low=0.587 high=5.344
[I] UtilsCalib.py L0112 evaluate_limits AVE: ave=4581.344 std=278.259  limits low=2911.793 high=6250.895
[I] UtilsCalib.py L0721 bad pixel status:
  status  1:      286 pixel rms       > 5.344
  status  2:        1 pixel rms       < 0.587
  status  4:        1 pixel intensity > 16000 in more than 0.1 fraction (99/999) of non-empty events
  status  8:        0 pixel intensity < 1 in more than 0.1 fraction (99/999) of non-empty events
  status 16:      373 pixel average   > 6250.9
  status 32:        1 pixel average   < 2911.79
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-ave-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-rms-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-sta-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-msk-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-max-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
File nda-xpplw3319-r0287-XppGon.0:Epix100a.4-e000999-min-2021-07-16-06:11:15-47256-1626441075-950830948.txt is saved
[I] UtilsDarkProc.py L0174 ________________________________________________________________________________
Total consumed time = 23.475768 sec.
[I] det_ndarr_raw_proc L0141 log file: None
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$

Dark average (pedestals) and pixel_rms images with spectra

epix_alc1

Image AddedImage Added

epix_alc2

Image AddedImage Added

epix_alc3

Image AddedImage Added

epix_alc4

Image AddedImage Added

Interim Summary

  • In alc1 two data banks look different from other banks, but they are not so bad to discard them by changing thresholds.
  • The "scratch" in alc3 is not seen in dark.
  • The number of bad/discarded pixels can be changed by variation of thresholds.

Summary of the mtg with Chuck

Discuss article Automatic bad-pixel mask maker for X-ray pixel detectors with application to serial crystallography

  - Q: definition of robust parameters
    A: robust mean is median xi
        robust sigma is median |xi-mu|
  - Q: difference in algorithms
    A:
    - for dark intensity and rms algorithms are about the same
    - Philip evaluated gains for a few detectors

       - but in general we do not have/use bad pixel status for gain factors (generated from flat field)

       WE NEED IN LIGHT FLAT FIELD DATA IN ALL GAIN RANGES ALONG WITH DARK

       - for gain and bad pixel status

  - Q: What can we do to improve bad pixel mask?
    A:
      - their code is terrible
      - re-implement and try their algorithms
  - Q: need help in analysis with the bad pixel mask to estimate its performance
       - hit rate
       - indexing efficiency
     A: - Chuck's team can do that
  - Chuck: start with "flat field" sample for epix_alc3 and try to find bad  pixels "next to central row and "scratch"

2023-03-09 Implementation of Feature 1 and 6 for data

Data sample and detector for test

  • dsname exp=xpplw3319:run=293
  • XppGon.0:Epix100a.3

Script and accumulation of data block

Code Block
titleLogfile in the beginning of the script
collapsetrue
(ana-4.0.48-py3) [dubrovin@psanagpu111:~/LCLS/con-py3]$ Detector/app/det_raw_pixel_status -o work -n 1000 --nrecs 1000 --snrmax 8 --shwind 15,20
[I] det_raw_pixel_status L0146 log file: work/logs/2023/2023-03-09T121109_log_det_raw_pixel_status_dubrovin.txt
[I] UtilsCalib.py L0327 record at start: 
2023-03-09T12:11:09 user:dubrovin@psanagpu111 cwd:/cds/home/d/dubrovin/LCLS/con-py3 rel:ana-4.0.48-py3 dirrepo:work logfile:work/logs/2023/2023-03-09T121109_log_det_raw_pixel_status_dubrovin.txt command:Detector/app/det_raw_pixel_status -o work -n 1000 --nrecs 1000 --snrmax 8 --shwind 15,20
saved in: work/2023/2023_lcls1_det_raw_pixel_status.txt
[I] det_raw_pixel_status L0150 Command: Detector/app/det_raw_pixel_status -o work -n 1000 --nrecs 1000 --snrmax 8 --shwind 15,20
  Argument list: Namespace(dsname='exp=xpplw3319:run=293', source='epix_alc3', events=1000, evskip=0, steps=None, stskip=None, plotim=0, evcode=None, segind=None, dirrepo='work', nrecs=1000, logmode='INFO', dirmode=1533, filemode=436, group='ps-users', upload=False, slice='0:,0:', shwind='15,20', snrmax=8.0, databits=16383, gainbits=16383)
  Optional parameters:
    <key>      <value>              <default>
    dsname     exp=xpplw3319:run=293 exp=xpplw3319:run=293
    source     epix_alc3            epix_alc3           
    events     1000                 100                 
    evskip     0                    0                   
    steps      None                 None                
    stskip     None                 None                
    plotim     0                    0                   
    evcode     None                 None                
    segind     None                 None                
    dirrepo    work                 work                
    nrecs      1000                 1000                
    logmode    INFO                 INFO                
    dirmode    0o2775               0o2775              
    filemode   0o664                0o664               
    group      ps-users             ps-users            
    upload     False                False               
    slice      0:,0:                0:,0:               
    shwind     15,20                15,15               
    snrmax     8.0                  8.0                 
    databits   16383                16383               
    gainbits   0                    0              

[I] UtilsRawPixelStatus.py L0351 detector type: epix100a id: 3925999620-0996513537-2080374794-1794135040-0940361739-2398406657-0419430424
[I] UtilsRawPixelStatus.py L0361 ==== run 293
[I] UtilsRawPixelStatus.py L0367   == calibcycle 01 ==
[I] UtilsRawPixelStatus.py L0393 Ev:0001 rec:-001 raw shape:(704, 768) size:540672 dtype:uint16 [3623 3970 3815 3913 3691...]
[I] UtilsRawPixelStatus.py L0181 created empty data block shape:(1000, 704, 768) size:540672000 dtype:uint16 [0 0 0 0 0...]
[I] UtilsRawPixelStatus.py L0393 Ev:0002 rec:0000 raw shape:(704, 768) size:540672 dtype:uint16 [3622 3968 3818 3917 3690...]
[I] UtilsRawPixelStatus.py L0393 Ev:0003 rec:0001 raw shape:(704, 768) size:540672 dtype:uint16 [3629 3972 3815 3914 3689...]
[I] UtilsRawPixelStatus.py L0393 Ev:0004 rec:0002 raw shape:(704, 768) size:540672 dtype:uint16 [3624 3970 3819 3918 3688...]
[I] UtilsRawPixelStatus.py L0393 Ev:0005 rec:0003 raw shape:(704, 768) size:540672 dtype:uint16 [3624 3967 3821 3916 3692...]
[I] UtilsRawPixelStatus.py L0393 Ev:0011 rec:0009 raw shape:(704, 768) size:540672 dtype:uint16 [3625 3970 3819 3916 3692...]
[I] UtilsRawPixelStatus.py L0393 Ev:0021 rec:0019 raw shape:(704, 768) size:540672 dtype:uint16 [3627 3971 3819 3916 3694...]
[I] UtilsRawPixelStatus.py L0393 Ev:0031 rec:0029 raw shape:(704, 768) size:540672 dtype:uint16 [3621 3969 3820 3919 3690...]
[I] UtilsRawPixelStatus.py L0393 Ev:0041 rec:0039 raw shape:(704, 768) size:540672 dtype:uint16 [3627 3971 3817 3920 3692...]
[I] UtilsRawPixelStatus.py L0393 Ev:0101 rec:0099 raw shape:(704, 768) size:540672 dtype:uint16 [3626 3969 3818 3914 3694...]
[I] UtilsRawPixelStatus.py L0393 Ev:0201 rec:0199 raw shape:(704, 768) size:540672 dtype:uint16 [3630 3970 3814 3918 3691...]
[I] UtilsRawPixelStatus.py L0393 Ev:0301 rec:0299 raw shape:(704, 768) size:540672 dtype:uint16 [3624 3973 3813 3910 3693...]
[I] UtilsRawPixelStatus.py L0393 Ev:0401 rec:0399 raw shape:(704, 768) size:540672 dtype:uint16 [3624 3977 3821 3918 3695...]
[I] UtilsRawPixelStatus.py L0393 Ev:1001 rec:0999 raw shape:(704, 768) size:540672 dtype:uint16 [3626 3974 3822 3922 3694...]
[I] UtilsRawPixelStatus.py L0305 nevt:1001 accumulated requested number of records --nrecs: 1000 - break
[I] UtilsRawPixelStatus.py L0404 BREAK EVENTS
[I] UtilsRawPixelStatus.py L0414 BREAK STEPS
[I] UtilsRawPixelStatus.py L0418 BREAK RUNS
[I] UtilsRawPixelStatus.py L0246 
...

Issue for Feature 1

Image Added

Image Added

Image Added

Code Block
titleLogfile for Feat.1
collapsetrue
Summary for data block: shape:(1000, 704, 768) size:540672000 dtype:uint16 [3623 3970 3815 3913 3691...]
[I] UtilsRawPixelStatus.py L0195 
  block record intensity MEDIAN IN FRAME: shape:(1000,) size:1000 dtype:float64
[3982. 3983. 3981. 3982. 3982. 3981. 3981. 3982. 3983. 3983. 3982. 3981.
 3982. 3983. 3982. 3982. 3982. 3981. 3983. 3981....]
[W] UtilsRawPixelStatus.py L0099 MEDIAN OF SPREAD FOR INT VALUES IS 0 replaced with STD/4 =  0.132
[I] UtilsRawPixelStatus.py L0114 ====================
    intensity_est shape:(1000,) size:1000 dtype:float64 [...]
         0 / 1000 ( 0.000%) pixels intensity_est <= 0.000
         0 / 1000 ( 0.000%) pixels intensity_est >= 16383.000
             intensity_est selected 1000 of 1000 pixels in range (0, 16383) med: 3982.000 spr: 0.132
             re-defined range for med ± 8.0*spr: (3980.946, 3983.054)
         0 / 1000 ( 0.000%) pixels intensity_est <= 3980.946
         2 / 1000 ( 0.200%) pixels intensity_est >= 3983.054
[I] UtilsRawPixelStatus.py L0199 Total number of good events: 998
[I] UtilsRawPixelStatus.py L0253 arr1_good_frames: shape:(1000,) size:1000 dtype:uint64 [1 1 1 1 1...]
[I] UtilsRawPixelStatus.py L0255 inds_good_frames: shape:(998,) size:998 dtype:int64 [...]
[  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35
  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53
  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71
  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89
  90  91  92  93  94  95  96  98  99 100 101 102 103 104 105 106 107 108
...
  • median of frame intensity is int. Variation between frames is very small ~ +/- 1 ADU
  • median spread is also int 0
  • can't set med +/- 8 spr limits... does not work if implemented as described in Article
          -> if spread is 0 it is evaluated as std

Feature 2 and 3 for dark run

Implemented on 2023-04-06 exactly as described. Median is used for robust statistics parameters evaluation.

Image Added

Image Added

Feature 4 and 5 for gain modes

TBD

Image Added

Feature 6

Image Added

Test of the fit to plane

Image Added


Code Block
titleLogfile for Feat.6 processing
collapsetrue
...
[I] UtilsRawPixelStatus.py L0240 frame: 0991 res_med: 1.282 res_spr: 110.094 frame residuals shape:(704, 768) size:540672 dtype:float64 [-236.87714286  103.30887218  -49.50511278...]
[I] UtilsRawPixelStatus.py L0240 frame: 0992 res_med: 1.294 res_spr: 110.065 frame residuals shape:(704, 768) size:540672 dtype:float64 [-235.11755952  106.95056078  -54.98131892...]
[I] UtilsRawPixelStatus.py L0240 frame: 0993 res_med: 1.253 res_spr: 110.069 frame residuals shape:(704, 768) size:540672 dtype:float64 [-237.62863095  108.57688283  -45.21760338...]
[I] UtilsRawPixelStatus.py L0240 frame: 0994 res_med: 1.267 res_spr: 110.062 frame residuals shape:(704, 768) size:540672 dtype:float64 [-238.30857143  107.88390977  -47.92360902...]
[I] UtilsRawPixelStatus.py L0240 frame: 0995 res_med: 1.218 res_spr: 110.053 frame residuals shape:(704, 768) size:540672 dtype:float64 [-239.62184524  108.59725251  -37.18364975...]
[I] UtilsRawPixelStatus.py L0240 frame: 0996 res_med: 1.251 res_spr: 110.064 frame residuals shape:(704, 768) size:540672 dtype:float64 [-237.58547619  109.59983709  -43.21484962...]
[I] UtilsRawPixelStatus.py L0240 frame: 0997 res_med: 1.307 res_spr: 110.067 frame residuals shape:(704, 768) size:540672 dtype:float64 [-240.9114881   104.21362469  -50.66126253...]
[I] UtilsRawPixelStatus.py L0240 frame: 0998 res_med: 1.253 res_spr: 110.062 frame residuals shape:(704, 768) size:540672 dtype:float64 [-233.00535714  106.10161028  -47.79142231...]
[I] UtilsRawPixelStatus.py L0240 frame: 0999 res_med: 1.289 res_spr: 110.099 frame residuals shape:(704, 768) size:540672 dtype:float64 [-241.53529762  109.61091792  -48.24286654...]
[I] UtilsRawPixelStatus.py L0265 block of residuals: shape:(998, 704, 768) size:539590656 dtype:float64
[-239.3222619   106.86876566  -48.94020677   48.2508208  -174.55815163
  111.63287594 -128.17609649  -21.98506892  -17.79404135   80.39698622
  -86.41198622   61.77904135 -116.02993108  118.16109649 -199.64787594
   46.54315163 -238.2658208    95.92520677 -148.88376566   16.3072619 ...]
[I] UtilsRawPixelStatus.py L0266 median over frames per-pixel residuals: shape:(704, 768) size:540672 dtype:float64
[-237.54059524  107.78383145  -46.79742951   51.89206767 -174.04665414
  109.26853227 -124.40214912  -22.8108537   -14.74468515   80.47136278
  -87.92196429   64.17849154 -117.18580984  119.22582237 -198.74469768
   49.81222744 -235.53807174   93.36754543 -146.50276942   16.18511905...]
[I] UtilsRawPixelStatus.py L0267 median over frames per-pixel spread of res: shape:(704, 768) size:540672 dtype:float64
[1.91488095 1.90238878 1.80436404 1.79662124 1.58172462 1.79079887
 1.86366228 1.83122337 1.75326128 1.94361685 1.74409305 1.90914474
 1.7539317  1.96598684 1.92817356 2.05658521 1.84223058 2.07546366
 1.7810354  1.90964286...]

[I] UtilsRawPixelStatus.py L0114 ====================
    Feat.6 res_med shape:(704, 768) size:540672 dtype:float64 [...]
         0 / 540672 ( 0.000%) pixels Feat.6 res_med <= -16383.000
         0 / 540672 ( 0.000%) pixels Feat.6 res_med >= 16383.000
             Feat.6 res_med selected 540672 of 540672 pixels in range (-16383, 16383) med: 1.225 spr: 110.081
             re-defined range for med ± 8.0*spr: (-879.424, 881.874)
         0 / 540672 ( 0.000%) pixels Feat.6 res_med <= -879.424
        33 / 540672 ( 0.006%) pixels Feat.6 res_med >= 881.874
[I] UtilsRawPixelStatus.py L0114 ====================
    Feat.6 res_spr shape:(704, 768) size:540672 dtype:float64 [...]
         0 / 540672 ( 0.000%) pixels Feat.6 res_spr <= -16383.000
         0 / 540672 ( 0.000%) pixels Feat.6 res_spr >= 16383.000
             Feat.6 res_spr selected 540672 of 540672 pixels in range (-16383, 16383) med: 1.788 spr: 0.105
             re-defined range for med ± 8.0*spr: (0.950, 2.626)
         0 / 540672 ( 0.000%) pixels Feat.6 res_spr <= 0.950
      4877 / 540672 ( 0.902%) pixels Feat.6 res_spr >= 2.626
[I] UtilsRawPixelStatus.py L0284 

Summary of the bad pixel status evaluation, pixel_status_extra array
                   0o1:        0 / 540672 ( 0.000%) pixels Feat.6 res_med <= -879.424
                   0o2:       33 / 540672 ( 0.006%) pixels Feat.6 res_med >= 881.874
                   0o4:        0 / 540672 ( 0.000%) pixels Feat.6 res_spr <= 0.950
                  0o10:     4877 / 540672 ( 0.902%) pixels Feat.6 res_spr >= 2.626
    Any bad status bit:     4882 / 540672 ( 0.903%) pixels
[I] UtilsCalib.py L0150 saved:  pixel_status_extra.dat
[I] UtilsRawPixelStatus.py L0428 Consumed time 1831.462 sec

Pixel status after Feature 6 and our regular mask after dark processing and averaged data

Image AddedImage AddedImage Added

  • Feat. 6 adds more bad pixels, especially stripe in the lower right ASIC
  • "scratch" seen in data is not reproduced

Chuck wants to find "scratch" automatically

Image Added

2023-04-06 Feature 2 and 3 for dark data vs our standard dark processing

  • dark data set: exp=xpplw3319:run=287
  • detector: XppGon.0:Epix100a.3, alias: epix_alc3
  • This data set contains ~1200 events, of which initial 1000 is used in processing.
  • By default features 1,2,3 are used. Feature 4 and 5 for gain factors are not implemented and are irrelevant to epix100a.
  • Feature 1 - good frame selection discards 1/0/0 frames for SNR=3/5/8, respectively


Code Block
titleResults for SNR max = 3,5,8
collapsetrue
det_raw_pixel_status -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -n 1000 -R3 --gmode SNR3

Summary of the bad pixel status evaluation for SNR = 3.00, status_data array
                   0o1:     6445 / 540672 ( 1.192%) pixels Feat.2 mean <= 3588.608
                   0o2:    13484 / 540672 ( 2.494%) pixels Feat.2 mean >= 4374.797
                   0o4:     5600 / 540672 ( 1.036%) pixels Feat.3 std <= 2.314
                  0o10:    34098 / 540672 ( 6.307%) pixels Feat.3 std >= 3.263
    Any bad status bit:    57409 / 540672 (10.618%) pixels


det_raw_pixel_status -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -n 1000 -R5 --gmode SNR5

Summary of the bad pixel status evaluation for SNR=5.00, status_data array
                   0o1:        5 / 540672 ( 0.001%) pixels Feat.2 mean <= 3326.536
                   0o2:       87 / 540672 ( 0.016%) pixels Feat.2 mean >= 4636.866
                   0o4:      878 / 540672 ( 0.162%) pixels Feat.3 std <= 1.999
                  0o10:    12739 / 540672 ( 2.356%) pixels Feat.3 std >= 3.579
    Any bad status bit:    13675 / 540672 ( 2.529%) pixels


det_raw_pixel_status -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -n 1000 -R8 --gmode SNR8

Summary of the bad pixel status evaluation for SNR=8.00, status_data array
                   0o1:        0 / 540672 ( 0.000%) pixels Feat.2 mean <= 2933.437
                   0o2:       33 / 540672 ( 0.006%) pixels Feat.2 mean >= 5029.965
                   0o4:        0 / 540672 ( 0.000%) pixels Feat.3 std <= 1.525
                  0o10:     5314 / 540672 ( 0.983%) pixels Feat.3 std >= 4.053
    Any bad status bit:     5319 / 540672 ( 0.984%) pixels

Image AddedImage AddedImage Added

Code Block
titlepixel_status from regular dark processing
collapsetrue
det_ndarr_raw_proc -d exp=xpplw3319:run=287 -s XppGon.0:Epix100a.3 -n 1000 -o work

raw data found/selected in 1000 events
[I] UtilsCalib.py L0683 begin data summary stage
[I] UtilsCalib.py L0112 evaluate_limits RMS: ave=2.317 std=0.370  limits low=0.097 high=4.536
[I] UtilsCalib.py L0112 evaluate_limits AVE: ave=3983.565 std=188.830  limits low=2850.584 high=5116.546
[I] UtilsCalib.py L0721 bad pixel status:
  status  1:      643 pixel rms       > 4.536
  status  2:        0 pixel rms       < 0.097
  status  4:        0 pixel intensity > 16000 in more than 0.1 fraction (99/999) of non-empty events
  status  8:        0 pixel intensity < 1 in more than 0.1 fraction (99/999) of non-empty events
  status 16:       31 pixel average   > 5116.55
  status 32:        0 pixel average   < 2850.58

Image Added

2023-04-06 Feature 6 for regular data for SNR=3 and 5

  • dark data set: exp=xpplw3319:run=287
  • detector: XppGon.0:Epix100a.3, alias: epix_alc3
Code Block
titleFeature 6 for SNR=3 and 5
collapsetrue
det_raw_pixel_status -d exp=xpplw3319:run=293 -s XppGon.0:Epix100a.3 -n 1000 -R3 --gmode SNR3-F6 -F 1,6
Summary of the bad pixel status evaluation for SNR=3.00, status_data array
                   0o1:      449 / 540672 ( 0.083%) pixels Feat.6 res_med <= -330.137
                   0o2:      379 / 540672 ( 0.070%) pixels Feat.6 res_med >= 331.245
                   0o4:     8305 / 540672 ( 1.536%) pixels Feat.6 res_spr <= 1.472
                  0o10:    34625 / 540672 ( 6.404%) pixels Feat.6 res_spr >= 2.095
    Any bad status bit:    43648 / 540672 ( 8.073%) pixels

det_raw_pixel_status -d exp=xpplw3319:run=293 -s XppGon.0:Epix100a.3 -n 1000 -R5 --gmode SNR5-F6 -F 1,6
Summary of the bad pixel status evaluation for SNR=5.00, status_data array
                   0o1:        0 / 540672 ( 0.000%) pixels Feat.6 res_med <= -550.599
                   0o2:       45 / 540672 ( 0.008%) pixels Feat.6 res_med >= 551.708
                   0o4:     1005 / 540672 ( 0.186%) pixels Feat.6 res_spr <= 1.265
                  0o10:    12484 / 540672 ( 2.309%) pixels Feat.6 res_spr >= 2.302
    Any bad status bit:    13501 / 540672 ( 2.497%) pixels

Image AddedImage Added

Interim summary

  • Number of bad pixels depends on SNR parameter
  • Stripe of bad pixels in the middle of the detector can be caught by Feature 3 and 6 at SNR=5.
  • "Scratch" observed by Chuck is not seen detected ...

2023-04-07 mtg summary

  • Chuck: try to search for scratch in ASIC ONLY!
  • Chris: try to change gate limits in dark processing to reproduce bad pixel in the middle stripe.

2023-05-12 low gain pixels

det_calib_ave_and_max -d exp=xpplw3319:run=293 -s XppGon.0:Epix100a.3 -n 100000

generates max-peds for 35998 events of xpplw3319-r0293

img-XppGon-0-Epix100a-3-xpplw3319-r0293-e035998-mode-p-max.npy

Image Added

use test algorithm test-2023-04-26-chuck.py

from img-XppGon-0-Epix100a-3-xpplw3319-r0293-e035998-mode-p-max.npy

find median and +/- 6 * (median of difference)

max-peds: shape:(704, 768) size:540672 dtype:float32 [135.05005 135.3999  177.94995 180.53003 176.6001 ...]


Summary of the bad pixel status evaluation
                   0o1:    10021 / 540672 ( 1.853%) pixels max-peds <= 127.788
                   0o2:     3689 / 540672 ( 0.682%) pixels max-peds >= 203.811
saved arr_status_med-peds.npy

           arr_status_med-peds.txt

cp arr_status_med-peds.txt /cds/data/psdm/xpp/xpplw3319/calib/Epix100a::CalibV1/XppGon.0:Epix100a.3/status_extra/0-end.data

see Bad Pixel Status

Image Added

REFERENCES