Versions Compared

Key

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

...

In this note we discuss common mode correction algorithms. Common mode is a hardware effect of collective pixel intensity variation due to synchronous variation of potentials on sensor chip or ADC at readout process. This effect can be corrected at low sensor illumination, where the number of pixels with energy deposition from photons is small. The spectrum of pixel intensities without photons should be grouped in the peak with small offset of the average from zero (if the dark rate correction is already applied) due to the common mode effect. This offset can be evaluated and subtracted from all pixel intensities in the group of synchronously fluctuating pixels. The number and structure of commonly behaving pixel groups depend on detector hardware.

Implementation

Below we describe common Common mode correction algorithms used in

  • psana module ImgAlgos::NDArrCalib. This correction along with others can be applied to raw ndarray under control of the psana configuration file for specified detector, for example for  Epix100a:
Code Block
[ImgAlgos.NDArrCalib]
source  = DetInfo(:Epix100a)
key_in  = ndarray-raw
key_out = ndarray-clb
do_peds = yes
do_cmod = yes
do_stat = yes
...

where keywords do_peds and do_cmod should have value yes or true in order to turn on pedestal subtraction and common mode correction algorithms.

  • Detector.PyDetector package which provides uniform access to calibration and data for all detectors.

is applied in the Detector interface method calib:

arr = det.calib(evt, cmpars=None)

and is controlled by the list/tuple of parameters cmpars=(<algorithm>, <mode>, <algorithm-specific parameters>,...).

Common mode correction can be turned off using cmpars=(0,0).

If this list of parameters is not specified cmpars=None, it is searched under the experimental calib directory or substituted by defaultLow level implementation of the common mode correction algorithms is done in class ImgAlgos::CommonModeCorrection which uses methods from ImgAlgos::CommonMode.

Each algorithm may load file with parameters from calibration directory, which by default accounts for experimnet, calibration version, data source, calibration type and run range:, for example

Code Block
/reg/d/psdm/<INS>/<experiment>/calib/<calib-version>/<data-source>/<calibration-type>/<run-range>.data

For example:
/reg/d/psdm/XPP/xppi0614/calib/Epix100a::CalibV1/NoDetector.0:Epix100a.0/pedestals/0-end.data
/reg/d/psdm/XPP/xppi0614/calib/Epix100a::CalibV1/NoDetector.0:Epix100a.0/common_mode/0-end.data

...

We use algorithms earlier developed for CSPAD and other detectors and currently residing in ImgAlgos and  psalg packagesavailable through the Detector package.

Selection of algorithm of particular type is controlled by the parameters in file for common_mode calibration type.

...

Common mode correction for CSPAD2x2 in this example shows minor improvement.


References