Data access example
from psana import DataSource ds = DataSource(exp='tmoc00318',run=10, dir='/cds/data/psdm/prj/public01/xtc') orun = next(ds.runs()) det = orun.Detector('epix100') for evt orun.events(): o = det.raw
Hidden for AMI mask methods
For implementation of AMI most of the area detector interface methods are hidden - name starts with underscore "_".
In scripts these methods can be used directly:
mask = o._mask_default(dtype=DTYPE_MASK) mask = o._mask_calib() mask = o._mask_calib_or_default(dtype=DTYPE_MASK) mask = o._mask_from_status(status_bits=0xffff, gain_range_inds=(0,1,2,3,4), dtype=DTYPE_MASK, **kwa) # gain_range_inds for appropriate detectors mask = o._mask_neighbors(mask, rad=9, ptrn='r') mask = o._mask_edges(width=0, edge_rows=1, edge_cols=1, dtype=DTYPE_MASK, **kwa) mask = o._mask_center(wcenter=0, center_rows=1, center_cols=1, dtype=DTYPE_MASK, **kwa) mask = o._mask_comb(status=True, neighbors=False, edges=False, center=False, calib=False, umask=None, dtype=DTYPE_MASK, **kwa) mask = o._mask(status=True, neighbors=False, edges=False, center=False, calib=False, umask=None, dtype=DTYPE_MASK, **kwa) mask = o._mask(status=True, status_bits=0xffff, gain_range_inds=(0,1,2,3,4),\ neighbors=False, rad=3, ptrn='r',\ edges=True, width=0, edge_rows=10, edge_cols=5,\ center=True, wcenter=0, center_rows=5, center_cols=3,\ calib=False,\ umask=None)
Use mask in methods calib and image
kwa = {'status':True, 'status_bits':0xffff, 'gain_range_inds':(0,1,2,3,4),\ 'neighbors=False, 'rad':3, 'ptrn':'r',\ 'edges':True, 'width':0, 'edge_rows':10, 'edge_cols':5,\ 'center':True, 'wcenter':0, 'center_rows':5, 'center_cols':3,\ 'calib':False,\ 'umask':None,\ 'force_update':False} a = o.calib(evt, cmpars=(7,2,100,10), **kwa) a = o.image(evt, nda=None, **kwa)
Cumulative mask example
epix10ka_raw_calib_image mask -e ueddaq02 -d epixquad -r211 -o fig-ueddaq02-r211-epixquad-mask.png -P
umask = np.ones((4, 352, 384), dtype=np.uint8) umask[3,100:120,160:200] = 0 mask = det.raw._mask(status=True, status_bits=0xffff, gain_range_inds=(0,1,2,3,4),\ neighbors=True, rad=5, ptrn='r',\ edges=True, edge_rows=10, edge_cols=5,\ center=True, center_rows=5, center_cols=3,\ calib=False,\ umask=umask,\ force_update=False) mask += 1 # for visibility of the mask 0 and 1 relative to image background
References
Overview
Content Tools