Eiger detectors provide a LUT as part of their metadata for the deadtime correction. The deadtime is normally applied by the detector, but this can be switched off. Switching it off allows for Poisson statistics to be calculated on the raw detected counts rather than (incorrectly) on the corrected counts. After this step, the deadtime correction with the LUT can be applied.
Since the LUT only has to be loaded once into the Python space, it is expected that passing this objet handle to the deadtime correction will not be too much of a performance issue.
Question on preference: Is it better to make this a separate alternative deadtime correction method (deadtime_lut.py or something), or to make the LUT an optional parameter in the current method, overriding the parameter-based deadtime calculation when supplied?
Our Eiger R detector has a LUT that tops out at some point. Once the values top out, the mask should probably be set to its NeXus-defined over-limit mask value for those pixels that are out of LUT.
Eiger detectors provide a LUT as part of their metadata for the deadtime correction. The deadtime is normally applied by the detector, but this can be switched off. Switching it off allows for Poisson statistics to be calculated on the raw detected counts rather than (incorrectly) on the corrected counts. After this step, the deadtime correction with the LUT can be applied.
Since the LUT only has to be loaded once into the Python space, it is expected that passing this objet handle to the deadtime correction will not be too much of a performance issue.
Question on preference: Is it better to make this a separate alternative deadtime correction method (deadtime_lut.py or something), or to make the LUT an optional parameter in the current method, overriding the parameter-based deadtime calculation when supplied?
Our Eiger R detector has a LUT that tops out at some point. Once the values top out, the mask should probably be set to its NeXus-defined over-limit mask value for those pixels that are out of LUT.