Page History
...
Application which works with ROI mask is located in implemented in CalibManager/app/roicon
. All work with mask is split for 3 stages:
- Produce file with 2-d image or image-mask for sensors.
Use mask editor to draw ROI on the top of the image.
Convert ROI mask to ndarray with mask shaped as data.
Note |
---|
|
Launching this app with -h option gives enough information about its functionality. In this note we demonstrate graphical content of the files generate in examples for this procedure.
...
Code Block |
---|
Usage: roicon [options] Examples: 1) Construct 2-d image (or mask-of-segments) from ndarray with image shaped as data using appropriate geometry file roicon -p1 -g <geometry-file> [-a <ndarray-with-image-(input)file>] [-i <image-(output)file>] [-c <control-bitword>] ex1: roicon -p1 -g /reg/d/psdm/CXI/cxitut13/calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/geometry/0-end.data ex2: roicon -p1 -g /reg/d/psdm/CXI/cxitut13/calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/geometry/0-end.data -a /reg/neh/home1/dubrovin/LCLS/CSPadAlignment-v01/calib-cxi-ds1-2014-03-19/cspad-ndarr-ave-cxii0114-r0227.dat 2) Create ROI mask using mask editor "med" (DO NOT FORGET to save mask in file!) roicon -p2 [-i <image-(input)file>] [-m <roi-mask-(output)file>] ex: roicon -p2 3) Convert ROI mask to ndarray with mask shaped as data roicon -p3 -g <geometry-file> [-m <roi-mask-(input)file>] [-n ndarray-with-mask-(output)-file] [-c <control-bitword>] ex: roicon -p3 -g /reg/d/psdm/CXI/cxitut13/calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/geometry/0-end.data Optional input parameters. Options: -h, --help show this help message and exit -g GFNAME, --gfname=GFNAME geometry file name, default = /reg/d/psdm/CXI/cxitut13 /calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/geometry/0-end. data -a AFNAME, --afname=AFNAME input ndarray file name, default = None -i IFNAME, --ifname=IFNAME image file name, default = mask-img.txt -m MFNAME, --mfname=MFNAME ROI mask file name, default = mask-roi.txt -n NFNAME, --nfname=NFNAME ndarray mask file name, default = mask-nda.txt -c CBITS, --cbits=CBITS mask control bits, =0-none, +1-edges, +2-middle, etc..., default = 65535 -p PROC, --proc=PROC process number: 1-construct image, 2-run mask editor on image, 3-convert image mask to ndarray; default = 1 -v, --verb verbosity, default = False |
Produce file with 2-d image
...
Fig.4: Mask on the top of enumerated (color-coded) pixels (left) and result of the mask conversion to the ndarray (right).
...
Usage of ndarray with ROI mask
ROI mask for ndarray can be used in any stand-alone applications. Our particular goal was to make this mask for module ImgAlgos::NDArrCalib, which can be included in the psana configuration file:
...
Code Block |
---|
[ImgAlgos.NDArrCalib] source = DetInfo(:Cspad.0) ... do_mask = yes fname_mask = mask-nda.txt |
ROI mask for ndarray (or numpy array) can also be used in any stand-alone application, for example in python code. To apply the mask in python code the data numpy array should be multiplied by the mask numpy array.
References