Procedure
Detector/app/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
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