You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Peak Finding

import psana
ds = psana.DataSource('exp=xpptut15:run=54:smd')
det = psana.Detector('cspad', ds.env())
from ImgAlgos.PyAlgos import PyAlgos
alg = PyAlgos()
alg.set_peak_selection_pars(npix_min=2, npix_max=50, amax_thr=10, atot_thr=20, son_min=5)
hdr = '\nSeg  Row  Col  Npix    Amptot'
fmt = '%3d %4d %4d  %4d  %8.1f'
for nevent,evt in enumerate(ds.events()):
    if nevent>=2 : break
    nda = det.calib(evt)
    if nda is None: continue
    peaks = alg.peak_finder_v1(nda, thr_low=5, thr_high=30, radius=5, dr=0.05)
    print hdr
    for peak in peaks :
        seg,row,col,npix,amax,atot = peak[0:6]
        print fmt % (seg, row, col, npix, atot)

Hit Finding

import psana
ds = psana.DataSource('exp=xpptut15:run=54:smd')
det = psana.Detector('cspad', ds.env())
from ImgAlgos.PyAlgos import PyAlgos
alg = PyAlgos()
for nevent,evt in enumerate(ds.events()):
    if nevent>=2 : break
    nda = det.calib(evt)
    if nda is None: continue
    thr = 20
    numpix = alg.number_of_pix_above_thr(nda, thr)
    totint = alg.intensity_of_pix_above_thr(nda, thr)
    print '%d pixels have total intensity %5.1f above threshold %5.1f' % (numpix, totint, thr)
  • No labels