Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Content

Table of Contents

 

...

In this note In this note we show how peak finder versions v2,3,4 work on exp=cxif5315:run=169 data.

Test data

exp=cxif5315:run=169

Use of peak finders

See for detail

 

Work We work with peak finder versions v2,3,4. Data processing and peak finding is done in

 cxif5315/proc-cxif5315-r0169-data-pfvn-2016-03-28.py

 

 

alg_arc = PyAlgos(windows=winds_arc, mask=mask_arc, pbits=2)
alg_equ.set_peak_selection_pars(npix_min=4, npix_max=500, amax_thr=0, atot_thr=600, son_min=5)   # for pfv2,4
#alg_equ.set_peak_selection_pars(npix_min=4, npix_max=500, amax_thr=0, atot_thr=600, son_min=10) # for pfv3
 
 alg_equ = # all parameters are the same as for alg_arc
 
        peaks_arc = alg_arc.peak_finder_v2(nda, thr=10, r0=6, dr=0.5)                               # Flood-filling
        #peaks_arc = alg_arc.peak_finder_v3(nda, rank=6, r0=6, dr=0.5)                              # Ranker
        #peaks_arc = alg_arc.peak_finder_v4(nda, thr_low=10, thr_high=150, rank=5, r0=6, dr=0.5)    # Droplet-finder

This script saves a list of peak parameters

Code Block
titlelist of peak parameters
collapsetrue
# Exp     Run  Date       Time      time(sec)   time(nsec) fiduc    Evnum  Reg  Seg  Row  Col  Npix      Amax      Atot   rcent   ccent rsigma  csigma rmin rmax cmin cmax    bkgd     rms     son  imrow   imcol     x[um]     y[um]     r[um]  phi[deg]
cxif5315  169  2015-02-22 02:20:47  1424600447  478050876  104418       0  EQU    1  162   30    38     257.1    2901.5   160.8    29.7   2.21    1.25  157  168   25   36    9.42   26.64    9.30    574     640      7582       550      7601      4.15
cxif5315  169  2015-02-22 02:20:47  1424600447  486382070  104421       1  ARC    7  126  386    22     153.6     818.7   126.5   383.6   2.76    1.77  121  132  381  388    1.80   19.08    7.95    143     618      5157     47858     48135     83.85
cxif5315  169  2015-02-22 02:20:47  1424600447  486382070  104421       1  EQU    1  159   28    50     172.0    2808.5   159.3    28.0   2.93    1.68  154  165   23   34    3.37   27.07    6.23    576     643      7912       331      7919      2.40
cxif5315  169  2015-02-22 02:20:47  1424600447  494719789  104424       2  EQU    1  150   33    44     154.4    1624.7   150.5    32.8   3.07    1.72  145  156   28   39    4.33   21.19    7.08    571     652      8900       883      8943      5.67

Peak list processing

For further peak list processing we use script:

 cxif5315/proc-cxif5315-r0169-peaks-from-file-v4.py

...

which uses peak selectors.

Peak Selectors

In this section we list distribution of peak parameters right after peak finders and discuss parameter range for further selection stage in

Code Block
titlepeakIsSelectedArc(pk)
collapsetrue
def peakIsSelectedArc(pk) :
    """Apply peak selection criteria to each peak from file
    """
    if pk.rms>60    : return False
    if pk.sonc<5    : return False
    if pk.atot<1200 : return False
    if pk.r<435     : return False
    if pk.r>443     : return False
    if pk.npix>200  : return False
    if math.fabs(pk.bkgd)>20 : return False
    return True

 

and

 

Code Block
titlepeakIsSelectedEqu(pk)
collapsetrue
def peakIsSelectedEqu(pk) :
    """Apply peak selection criteria to each peak from file
    """
    if pk.rms>60    : return False
    if pk.sonc<5    : return False
    if pk.atot<1800 : return False
    if pk.r<100     : return False
    if pk.r>454     : return False
    if pk.npix>200  : return False
    if math.fabs(pk.bkgd)>20 : return False
    return True

 

 

...

We process Data of cxif5315-r0169 for peaks in ARC and Equatorial region separately.  Each triplet of histograms represents peak finder v2, v3, v4, respectively.

...

  • Amax is only used in pfv4 as 
    thr_high=150

Image Removed Image Added

  • Atot is used in all peak-finders as
    atot_thr=600
     if pk.atot<1800 : return False

 Image AddedImage ModifiedImage Removed

  • rms is used in all peak-finders at processing in peak selector
    if pk.rms>60 : return False

...

  • bkgd is used in all peak-finders at processing in peak selector
    if math.fabs(pk.bkgd)>20 : return False

Image RemovedImage Added

  • npix is used in all peak finders in peak selector 
    npix_min=4, npix_max=500
    if pk.npix>200 : return False

Image AddedImage ModifiedImage Removed

  • S/N is  used as
    son_min=5 # for pfv2,4
    son_min=10 # for pfv3 - Ranker - to eliminate large number of purely statistical seed peaks

 Image AddedImage ModifiedImage Removed

  • S/N evaluated for all pixels

...

  • if

...

  • pk.sonc<5

...

  • :

...

  • return

...

  • False

...

 Image Modified  Image AddedImage Modified

...

  • Radial parameter for equatorial region:
    if pk.r<100 : return False
    if pk.r>454 : return False

...

Use pyimgalgos.TDFileContainer for both peakfinder and cheetah 

Code Block
    fc_ch = TDFileContainer(fncheet, indhdr='frameNumber', objtype=TDCheetahPeakRecord) # , pbits=256)
    fc_pf = TDFileContainer(fnpeaks, indhdr='Evnum', objtype=TDPeakRecord) #, pbits=256)

...

  • Loop over all groups (frames/events) in cheetah
    • Find associated peak-finder group: gr_pf = fc_pf.group(evnum-1)  # accounts for -1 offset in event numeration in Cheetah and pf.
    • count cases when peak-finder group does not exist (peaks not found)
    • discard frames if fidelity do not match
    • discard frames with more than 5 peaks
    • loop over cheetah peaks
      • discard cheetah peaks outside ROI mask
      • loop over pf-peaks and check that cheetah peak can be matched with one of them by location (s, r, c)
      • if not-matched - print peak main features
         

Statistics for number of peaks:  

  • total in Cheetah: 14002 
  • matched: 10593
  • not-matched: 3409
  • fraction of matched: 0.757

 

Plots for number of peaks in peak-finder, Cheetah, and number of non-matched:matched Cheetah peaks.

 

 

Peak-finder number of peaks accounts for arc region.

References

...