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)