Versions Compared

Key

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

...

This note describes raw intensity correction algorithms in the method Detector.calib and their variation on detector type.

LCLS (1) Detector Interface

det.calib algorithms

Generic form of this method is

...

Detector typepedestal subtractioncommon mode correctiongainmaskformulacomments
LCLS (1)
CSPAD+

default cmpars = (1, 25, 25, 100)

cmpars = 0 or cmpars[0] = 0 - OFF

*gainmask

det.set_gain_mask_factor(gfactor=6.85)

+

gain map extracted from detector configuration data and applied with gfactor

gainmask is applied before regular gain factor

CSPAD2x2+

shape=(185, 388, 2) → common_mode shape=(2, 185, 388) → back to (185, 388, 2)

default cmpars = (1,25,25,100)

++
shape is converted before common mode correction in order to apply regular CSPAD algorithm then it is converted back to daq shape.
epix100a+

default cmpars =(4,6,30,30)

++

pnCCD+

default cmpars =(3,350,350,128)

or alg #8 (8,5,500)

++

Andor3d+

default cmpars =(2,10,10,cols)

++

Princeton+

default cmpars =(1,50,50,100,1,size,1)

++

Camera+other Cameras default cmpars = (0,0,0,0), cmpars = 0 or cmpars[0] = 0 - OFF++

epix10ka+

applied for pixels in high gain mode only in combination with mask

cmpars=None: default (7,2,10,10)

(*,0,...) - OFF

pixel_gain constants are used and per event depending on gain range+

(common_mode(raw - peds)/gain * mask

UtilsEpix10ka.calib_epix10ka_any(det, evt, cmpars=None, **kwa)

offsets are already accounted at deployment of pedestals in calib/.../pedestals

Jungfrau+

applied for pixels in high gain mode only in combination with mask

cmpars=None: default cmpars = (7,1,100,0)

(*,0,...) - OFF

pixel_gain and pixel_offset are used and per event depend on gain range


+(common_mode(raw - peds - offset))/gain * maskUtilsJungfrau.calib_jungfrau(det, evt, cmpars=(7,3,200,10), **kwa)

LCLS-II Detector Interface

Code Block
titleData access code example
    from psana import DataSource
    ds = DataSource(exp=<experiment>,run=<run-number>)
    orun = next(ds.runs())
    det = orun.Detector(<detector-name>)
    for nevt,evt in enumerate(orun.events()):
        print('det.raw.raw(evt).shape  :', det.raw.raw(evt).shape)
        print('det.raw.calib(evt).shape:', det.raw.calib(evt).shape)
        print('det.raw.image(evt).shape:', det.raw.image(evt).shape)

Generic form of this method is

   arr = det.raw.calib(evt, **kwa)

Regular formula

common_mode(raw-peds)/gain

Mask

Mask is derived and applied separately as explained in Area detector mask examples or Detector interfase in LCLS-II.

Detector typepedestal subtractioncommon mode correctiongainmaskformulacomments
LCLS-II
epix10ka+cmpars=(7,2,100,10)+-

calib_epix10ka_any(det.raw, evt, cmpars=None, **kwa)

see UtilsEpix10ka

epix100a+cmpars = (7,7,100,10) +-

calib_epix100(det.raw, evt, cmpars=None, **kwa)

UtilsEpix100

opal+-+-(raw-peds)/gainopal_base
piranha4+-+-(raw-peds)/gainpiranha4_base

References