Procedure

Detector/app/det_ndarr_data_status -h
Result of the command: det_ndarr_data_status -h
(ana-1.3.29) *tr* [dubrovin@psanaphi109:~/LCLS/con-jungfrau]$ det_ndarr_data_status -h
Usage: 
det_ndarr_data_status -d <dataset> [-s <source>] [-f <file-name-template>]
       [-n <events-collect>] [-m <events-skip>] [-v <verbosity-bitword>] [-p <plot-bitword>] ...
       where -v, -S control bit-words stand for 1/2/4/8/16/32/64/128 - ave/rms/status/mask/max/min/sta_int_lo/sta_int_hi
Ex.1:  det_ndarr_data_status -d exp=xpptut15:run=260 -s epix100,cspad2x2 -f nda-#exp-#run-#src-#evts-#type-#date-#time-#fid-#sec-#nsec.txt -n 100
Ex.2:  det_ndarr_data_status -d exp=xpptut15:run=260 -u 4 -n 500
Ex.3:  det_ndarr_data_status -d exp=amo86615:run=197 -n 500
Ex.4:  bsub -q psnehq -o log-%J.txt /reg/neh/home4/dubrovin/LCLS/con-jungfrau/arch/x86_64-rhel7-gcc48-opt/bin/det_ndarr_data_status -d exp=xpptut15:run=320 -u 4 -n 500
Proceses detector data and evaluate pixel status.
Options:
  -h, --help            show this help message and exit
  -d DSNAME, --dsname=DSNAME
                        dataset name, default = exp=xpptut15:run=260
  -s SOURCE, --source=SOURCE
                        input ndarray source name, default =
                        cspad,opal,epix100,pnccd,princeton,andor
  -f OFNAME, --ofname=OFNAME
                        output file name template, default =
                        work/nda-#exp-#run-#src-#evts-#type.txt
  -n EVENTS, --events=EVENTS
                        number of events to collect, default = 1000000
  -m EVSKIP, --evskip=EVSKIP
                        number of events to skip, default = 0
  -b INTLOW, --intlow=INTLOW
                        intensity low limit, default = 1
  -t INTHIG, --inthig=INTHIG
                        intensity high limit, default = 16000
  -B RMSLOW, --rmslow=RMSLOW
                        rms low limit, default = 0.1
  -T RMSHIG, --rmshig=RMSHIG
                        rms high limit, default = 16000
  -F FRACLM, --fraclm=FRACLM
                        allowed fraction limit, default = 0.2
  -D INTNLO, --intnlo=INTNLO
                        number of sigma from mean to low limit on INTENSITY,
                        if =0 - use intlow, default = 0
  -U INTNHI, --intnhi=INTNHI
                        number of sigma from mean to high limit on INTENSITY,
                        if =0 - use inthig, default = 0
  -L RMSNLO, --rmsnlo=RMSNLO
                        number of sigma from mean to low limit on RMS, if =0 -
                        use rmslow, default = 0
  -H RMSNHI, --rmsnhi=RMSNHI
                        number of sigma from mean to high limit on RMS, if =0
                        - use rmshig, default = 0
  -p PLOTIM, --plotim=PLOTIM
                        control bit-word to plot images, default = 0
  -v VERBOS, --verbos=VERBOS
                        control bit-word for verbosity, default = 255
  -S SAVEBW, --savebw=SAVEBW
                        control bit-word to save arrays, default = 255
  -u UPLOBW, --uplobw=UPLOBW
                        control bit-word to upload files in calib directory,
                        default = 0
  -c CLBDIR, --clbdir=CLBDIR
                        calib directory for deployment of calibration files,
                        default = None
  -C EVCODE, --evcode=EVCODE
                        comma separated event codes for selection as OR
                        combination, any negative code inverts selection,
                        default = None

Data sample

Chuck advised to look at amo86615 run197 pnccdBack; SPI dataset with many artifacts.

Calibration constants

Calibration constants of new type pixel_datast were deployed for both pnccd in amo86615 as

  • /reg/d/psdm/amo/amo86615/calib/PNCCD::CalibV1/Camp.0:pnCCD.0/pixel_datast/197-end.data
  • /reg/d/psdm/amo/amo86615/calib/PNCCD::CalibV1/Camp.0:pnCCD.1/pixel_datast/197-end.data

Status bit summary from log file

bad bit status from log file
Summary for dataset: exp=amo86615:run=197 source: Camp.0:pnCCD.1
  190415 events found/processed   evaluate_limits: RMS ave, std = 20.196, 54.633  low, high limits = 0.100, 16000.000
  evaluate_limits: AVE ave, std = 1326.097, 116.623  low, high limits = 1.000, 16000.000
  Bad pixel status bits:
  bit   1:        0 pixel rms       > 16000.000
  bit   8:        0 pixel rms       < 0.100
  bit   2:        0 pixel intensity > 16000 in more than 0.2 fraction of events
  bit   4:        0 pixel intensity < 1 in more than 0.2 fraction of events
  bit  16:        0 pixel average   > 16000
  bit  32:        0 pixel average   < 1
  bit  64:        0 pixel max       > 16000
  bit 128:        0 pixel min       < 1
  total  :        0 pixel marked by any bit
________________________________________________________________________________
Summary for dataset: exp=amo86615:run=197 source: Camp.0:pnCCD.0
  190415 events found/processed   evaluate_limits: RMS ave, std = 98.964, 30.719  low, high limits = 0.100, 16000.000
  evaluate_limits: AVE ave, std = 1776.459, 841.020  low, high limits = 1.000, 16000.000
  Bad pixel status bits:
  bit   1:        0 pixel rms       > 16000.000
  bit   8:      463 pixel rms       < 0.100
  bit   2:     7477 pixel intensity > 16000 in more than 0.2 fraction of events
  bit   4:        0 pixel intensity < 1 in more than 0.2 fraction of events
  bit  16:        0 pixel average   > 16000
  bit  32:      460 pixel average   < 1
  bit  64:    13139 pixel max       > 16000
  bit 128:     9500 pixel min       < 1
  total  :    13151 pixel marked by any bit


Comparison

Camp.0:pnCCD.0 - pnccdFront

amo86615 pixel_status for nearest run 189 and pixel_datast for run197

New procedure finds different subset of bad pixels, partly overlapping with pixel_status.


Both procedures do not catch bad pixels for Camp.0:pnCCD.1 - pnccdBack

 

 

  • No labels