Content
Mask
Geometry center
ix_cent, iy_cent = det.point_indexes(runnum)
879, 871 (then x and y are swapped to Cartesian system).
Equatorial mask
Mask parameters
Wedge 871 879 454 387 148 196 1 k False False Wedge 871 879 454 387 -27 21 1 k False False
Wedge parameters
t = pars[0] # figure type, ex. 'Wedge' x = float(pars[1]) # x coordinate of the wedge center y = float(pars[2]) # y coordinate of the wedge center r = float(pars[3]) # 1-st radius of the wedge w = float(pars[4]) # radial width of the wedge t1 = float(pars[5]) # 1-st angle t2 = float(pars[6]) # 2-nd angle lw = int(pars[7]) # line width col = str(pars[8]) # color s = self.dicBool[pars[9].lower()] # isSelected boolean parameter rem = self.dicBool[pars[10].lower()] # isRemoved - helper parameter
Involved sensors in adopted cxif5315 geometry: 0, 1, 9,15, 16,17, 25,31
Quads numeration in cxif5315 geometry
--------- | 1 | 0 | ----+---- | 2 | 3 | ---------
Arc mask
Wedge 871 879 454 26 -174 186 1 k False False
Involved sensors in the top part of the image in adopted cxif5315 geometry: 0, (1), 7, 8, (9), 15
Equatorial and arc combined mask
Radial background subtraction
For some reason polarization correction does not work well in this experiment for entire image.
Comparison of the 2-d interpolated radial background subtraction
- nbins (rad:500, phi:1)
- nbins (rad:500, phi:32)
SIngle angular bin still works fine in our ROI defined by both masks.
Comparison of the pfv2 with Cheetah list of peaks
Code for comparison: cxif5315/peak-list-comp-cheetah.py
Peak lists for comparison:
- peakfinder:
pfv2-cxif5315-r0169-2016-03-28T15:02:47.txt
- cheetah: r0169-cheetah-peaks.txt - with unknown origin...
Comparison algorithm and conditions
Use pyimgalgos.TDFileContainer for both peakfinder and cheetah
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.
Peak finding
Try to work with versions > v1 of peak-finders:
Parameters:
alg_arc = PyAlgos(windows=winds_arc, mask=mask_arc, pbits=2) alg_arc.set_peak_selection_pars(npix_min=4, npix_max=500, amax_thr=0, atot_thr=600, son_min=5) 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) #peaks_equ = alg_equ.peak_finder_v3(nda, rank=5, r0=6, dr=0.5) ??????????? finds too many peaks peaks_arc = alg_arc.peak_finder_v4(nda, thr_low=10, thr_high=150, rank=5, r0=6, dr=0.5)