Page History
Content
Table of Contents |
---|
Data
exp=cxif5315:run=147, 198 - dark
exp=cxif5315:run=162 - water sample
exp=cxif5315:run=169 - data sample
Detector: CxiDs2.0:Cspad.0
Calibration files
Use my local calibration store
Code Block |
---|
[psana]
calib-dir = /reg/neh/home1/dubrovin/LCLS/rel-mengning/calib |
Dark files were obtained and deployed using Calibration Management Tool
exp=cxif5315:run=147 dark average, rms, and average difference between runs 147-198:
Difference of average dark images between runs 147-198 is small, 0.3 ADU, difference rms=0.6 ADU, this proves that CxiDs2.0:Cspad.0 is stable during 50 runs.
Image array averaging
1) Download configuration file psana-cxif5315-cspad-ds2-NDArrAverage.cfg
2) To get average/rms/max over 10000 events data of run 169 use command:
Code Block |
---|
psana -c psana-cxif5315-cspad-ds2-NDArrAverage.cfg -n 1000 exp=cxif5315:run=169 |
This command produces files with arrays of size (32x185x388)
- cspad-ndarr-ave-cxif5315-r0169.dat
- cspad-ndarr-rms-cxif5315-r0169.dat
- cspad-ndarr-max-cxif5315-r0169.dat
2) To get average/rms/max over 1000 events (skipping 5000) data for water sample of run 162 use command:
Code Block |
---|
psana -c psana-cxif5315-cspad-ds2-NDArrAverage.cfg -s 5000 -n 1000 exp=cxif5315:run=162 |
This command produces files with arrays of size (32x185x388)
- cspad-ndarr-ave-cxif5315-r0162.dat
- cspad-ndarr-rms-cxif5315-r0162.dat
- cspad-ndarr-max-cxif5315-r0162.dat
Geometry alignment
In accordance with CSPAD Alignment, use geometry file:
/reg/g/psdm/detector/alignment/cspad/calib-cxi-ds2-2015-01-20/calib/CsPad::CalibV1/CxiDs2.0:Cspad.0/geometry/1-end.data
and array with image from file: cspad-ndarr-ave-cxif5315-r0169.dat
Note |
---|
Apparently, this geometry file had wrong indexes associated with quads (cable swap) that gives misaligned 2x1s in quads. This problem should be fixed in the file
|
Tuning of geometry can be done with Detector alignment tool running command:
Code Block |
---|
geo -i cspad-ndarr-ave-cxif5315-r0169.dat -g geo-cxif5315-r0169-swap-tuned.data |
Thus obtained geo-cxif5315-r0169-swap-tuned.data gives image, radial, and spectral histograms for averaged array:
or see image array with maximal intensities by the command
Code Block |
---|
geo -i cspad-ndarr-max-cxif5315-r0169.dat -g geo-cxif5315-r0169-swap-tuned.data |
looks like: ,
and similar for water background from run 162:
ROI Masks
Using image array in cspad-ndarr-max-cxif5315-r0169.dat and geometry file geo-cxif5315-r0169-swap-tuned.data, one can generate masks using the Mask Editor embedded in Calibration Manager.
Run command calibman
, select tab ROI
and performing all steps of the mask creation procedure, one can draw ROI on image, create the mask for this image, convert this mask to ndarray, and use this ndarray for data processing. This ndarray can be used later for image reconstruction with the same geometry file.
For data processing of exp=cxif5315:run=169 two masks were produced for arc and equatorial regions:
Peak finder
Who is doing what
Peak finding algorithm is based on psana module ImgAlgos::NDArrDropletFinder with preceded CSPAD ndarray producer CSPadPixCoords::CSPadNDArrProducer and its calibration ImgAlgos::NDArrCalib. Detector geometry information is provided by the module ImgAlgos::PixCoordsProducer. Configuration file psana-cxif5315-r0169-cspad-ds2-NDArrDropletFinder.cfg (download) defines parameters for these modules. Two instances of modules are used in order to process two region of interests for Arc and Equator.
For each event psana modules are executed first and save the list of found peaks in the event store. Then, python script psana-cxif5315-r0169-cspad-ds2-NDArrDropletFinder.py (download) works with lists of peaks, performs additional selection, plots image with peaks, and saves selected peaks in the file.
Latest version of packages
A few minor code changes have been made during work on this project (not-necessary relevant to this project). Until the next release is available, latest version of packages is recommended to be used on the top of release ana-0.14.1 in the local release directory
Code Block |
---|
addpkg CalibManager HEAD
addpkg CorAna HEAD
addpkg ImgAlgos HEAD
addpkg PSCalib HEAD
addpkg pyimgalgos HEAD |
External files
Configuration script expects a few files in the local directory work/
; two files with masks and file with a shape of background.
In the local or standard calib/
directory the files for calibration should be available for geometry, pedestals, pixel_status, common_mode
etc., whatever is going to be used in the modules.
How to run
Use command:
Code Block |
---|
python psana-cxif5315-r0169-cspad-ds2-NDArrDropletFinder.py |
Example
Image with peaks for separate and both regions can be plotted:
File with table of parameters for found peaks has an unique name like work/peaks-2015-04-14-15:57:44-cxif5315-r0169.txt
and contains records with peak parameters:
Code Block |
---|
# Exp Run Event Date Time time(sec) time(nsec) fiduc Reg Seg Row Col Amax Atot Npix X(um) Y(um)
cxif5315 169 3 2015-02-22 02:20:47 1424600447 503058551 104427 equ 1 145 27 165.8 2970.8 70 -224 9450
cxif5315 169 3 2015-02-22 02:20:47 1424600447 503058551 104427 equ 17 155 47 164.0 3130.3 58 506 -9674
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 arc 8 10 20 500.9 10085.8 74 -48264 1186
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 equ 1 161 13 483.6 3238.8 56 1318 7695
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 equ 16 152 8 191.7 3393.9 74 -3801 -32359
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 equ 17 30 69 295.3 2644.8 50 2903 -23418
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 equ 17 167 48 153.0 2723.5 59 618 -8355
cxif5315 169 7 2015-02-22 02:20:47 1424600447 536405573 104439 equ 17 171 32 283.2 3447.1 59 -1139 -7913
cxif5315 169 8 2015-02-22 02:20:47 1424600447 544737897 104442 equ 17 168 47 201.7 2797.8 54 508 -8245
cxif5315 169 12 2015-02-22 02:20:47 1424600447 578091436 104454 equ 1 152 27 159.8 2374.2 58 -222 8681
cxif5315 169 14 2015-02-22 02:20:47 1424600447 594757102 104460 equ 1 153 29 160.8 3308.4 62 -442 8571
... |
The 1st line in this file is a (commented) header with colon-titles.
Remarks
- Peak finder parameters - all parameters in the peak finder are set without optimization. They need to be tuned in two places;
- in the configuration file for two modules
ImgAlgos.NDArrDropletFinder(:Arc/:Equ)
, and - in the python script in calls of
peaks_filter(...)
method.
- in the configuration file for two modules
- ROI for peakfinder is defined by combination of two mechanisms;
- mask - ndarray with values 1/0. Pixels masked by "0", are ignored.
- a set of rectangular windows on sensors, defined by the parameter windows in module ImgAlgos::NDArrDropletFinder.
- Peak finder parameters need to be optimized!
References
2015-04-08 Quick start, calibration, detector alignment, peak finder, scripts
2015-05-04 Angles phi and beta, fraser transformation
2015-08-19 Analysis with new peakfinder
2015-10-20 Indexing
2015-11-06 Geometry re-alignment
2015-12-01 Indexing after fraser transformation with β=0
2016-02-02 Cross-checks: Lattice and look up table
2016-03-25 Masks, Background subtraction
2016-04-05 Test of Peak Finders
2016-04-25 Test of Peak Finders - V2
2016-05-03 Test of Peak Finders - V3
2016-04-29 Fit functions and quality
2016-04-29 Phi-beta fit results in ARC and EQU
2016-05-13 Indexing results
2017-02-28 Revision of Analysis
References
- Calibration Management Tool
- Detector alignment tool
- CSPAD Alignment
- Meng's spreadsheet to the runs taken
- Meng's link for the CFEL confluence that has the data analysis summary
- Meng's amyloid_math1.pdf
- Direct mapping of fiber diffraction patterns into reciprocal space, Norbert Stribeck* and Ulrich Nochel (download)
- Preprocessing averaged XFEL data from adenovirus peptide amyloid and derivation of specimen characteristics, David Wojtas and Rick Millane
- Polanyi(1921).Z.Phys.7.pdf
- fiber-diffraction-formalism.pdf - my note
- J.Biol.Chem-2005-v280-N4-2481-Papanikolopoulou.pdf
- Nature-1999-v401-935-Raaij.pdf
- class ImgAlgos.PyAlgos - collection of n-d array processing algorithms
- class Detector.PyDetector - direct access to detector data and calibration n-d arrays
- 2015-10-13-meng-indexing1.pdf , 2015-10-13-meng-lineout_from_169_a.txt- Meng's calculations for indexing
- pyimgalgos (source)
- FiberIndexing.py (source)
- FiberAngles.py (source)
- TDFileContainer.py (source), TDFileContainer (auto-doc)
- Scattering and diffraction
...