Code examples
Most truthful description is on git: detector/areadetector.py
Create DataSource, Run, and Detector objects
from psana import DataSource ds = DataSource(exp='tmoc00318',run=10) orun = next(ds.runs()) det = orun.Detector('epix100')
Loop over events and access detector data
Methods guaranteed for all area detectors - raw, calib, and image:
for evt orun.events(): o = det.raw raw = o.raw(evt) clb = o.calib(evt) img = o.image(evt)
Optional parameters
a = o.calib(evt, cmpars=(7,2,100,10), mbits=0o7, mask=None, edge_rows=10, edge_cols=10, center_rows=5, center_cols=5) a = o.image(self, evt, nda=None, **kwa)
Other useful area detector methods
# access calibration constants and derived arrays peds = o._pedestals() gain = o._gain() # ADU/keV gfac = o._gain_factor() # keV/ADU rms = o._rms() status = o._status() mask = o._mask_calib() mask = o._mask_from_status() mask = o._mask_edges() mask = o._mask(calib=False, status=False, edges=False, **kwa) mask = o._mask_comb(mbits=0o377, **kwa) arrx, arry, arrz = o._pixel_coords(do_tilt=True, cframe=0) indx, indy, indz = o._pixel_coord_indexes(pix_scale_size_um=None, xy0_off_pix=None, do_tilt=True, cframe=0) # array of the common mode increment incr = o._common_mode_increment(evt, cmpars=(0,7,100,10))
References
Overview
Content Tools