Skip to content

Detector-specific notes

AGIPD

Correction stages and constants

correction stage constants
gain tresholding ThresholdsDark
force MG if below
force HG if below
offset correction Offset
relative gain correction SlopesPC
X-ray gain correction SlopesFF
bad pixel masking BadPixels{Dark,PC,FF}

In adaptive gain mode, thresholding is mandatory as most constants are gain-mapped. Similarly, relative gain correction only makes sense if offset correction is enabled, too.

The "force MG/HG if below" steps are optionally applied between thresholding and offset correction.

Previews

Preview outputs available:

  • raw
  • corrected
  • raw gain
  • gain map (after thresholding / "digitized")

The thresholded gain preview will have values from 0 to 2 and may look like this:

Bad pixel mask configuration

Pixels may be categorized as bad for a number of different reasons. The enumeration used in calng is the same as in the offline calibration system, including fields like "offset is out of threshold" (determined during dark characterization) or "flat field gain deviation" (determined during flat field characterization).

These flags can (for now, for AgipdCorrection and JungfrauCorrection) be enabled or disabled individually. By default, all fields are enabled, meaning that bad pixel masks loaded from constants are applied fully. Configuring which subset to use is done under the node corrections.badPixels.subsetToUse; this should typically be set via the manager and the device / manager overview scenes provide a link to a scene for convenient configuration:

calng does not propagate the full bad pixel mask in the output data - it simply masks bad pixels with a configurable masking value. The default masking value NaN has the benefit that it excludes bad pixels from preview statistics and can be handled directly by the preview assemblers.

Note that new deployments has an additional bad pixel field NON_STANDARD_SIZE. This is used for AGIPD and JUNGFRAU to mask double size pixels. As the positions of these pixels are fixed, double size pixel masking is available even when no bad pixels constants have been loaded.

DSSC

Correction stages and constants

correction stage constants
offset correction Offset

Previews

Preview outputs available:

  • raw
  • corrected

LPD

Correction stages and constants

correction stage constants
offset correction Offset
gain amplification GainAmpMap
relative gain correction RelativeGain
flatfield correction FFMap
bad pixel masking BadPixels{Dark,FF}

Previews

Preview outputs available:

  • raw
  • corrected
  • gain map (digitized by detector, correction device splits it out from the image data stream)

JUNGFRAU

Correction stages and constants

correction stage constants
offset correction Offset10Hz
relative gain correction RelativeGain10Hz
bad pixel masking BadPixels{Dark,FF}10Hz

See bad pixel mask configuration as this applies for JUNGFRAU, too.

Previews

Preview outputs available:

  • raw
  • corrected
  • gain map (provided by detector)

GOTTHARD-II

Correction stages and constants

correction stage constants
LUT Lut
offset correction Offset
gain correciton Gain

For detector reasons, a LUT is used to map the 12-bit input values to 10-bit values with higher quality. As the choice of LUT depends on operating conditions, it is loaded from constants as other corrections. The other constants for GOTTHARD-II assume input has already been mapped to the 10-bit range, so the LUT stage is a strict prerequisite for enabling the other corrections.

Once 25 μm (double-module, two receivers) GOTTHARD-II detectors are taken into use, these will need interleaving. See notes on stacking for details on how to configure an ShmemTrainMatcher to do this.

Previews

As this is the only strip detector currently supported in calng, some custom preview outputs are provided.

  • The regular raw and corrected previews are available, but one-dimensional
  • The streak preview output presents an entire train as a 2d image, with frames along the y-axis
  • The frame sum preview is again 1d, summing the streak preview along the x-axis (hence pixel sum by frame)