High-Level Data Reduction Library: Mitigate IR Persistence

High-Level Data Reduction Library 1.6.0 High-Level data reduction routines for ESO pipelines

Loading...
Searching...
No Matches
Functions
Mitigate IR Persistence

This algorithm generates a map of the persistence present in an infra- red detector due to charge trapped in the depletion regions of each pixel left over from previous exposures. Excess flux from this source may then be corrected for by subtracting off the persistence map. More...

## Functions
cpl_error_code | hdrl_persistence_compute (const double gain, const double turnover, const double mean_trim, const cpl_boolean cleanQ, const cpl_array *dateobs, const cpl_array *exptimes, hdrl_imagelist *ilist_persistence, const cpl_imagelist *ilist_obj, const cpl_image *maximum, const cpl_image *density, const cpl_image *fullwell, const cpl_table *frac, hdrl_image **persistence, cpl_propertylist **persistence_qc)
| generate the persistence map

## Detailed Description

This algorithm generates a map of the persistence present in an infra- red detector due to charge trapped in the depletion regions of each pixel left over from previous exposures. Excess flux from this source may then be corrected for by subtracting off the persistence map.

Characterisation work performed by the ESO Detector Systems Group has resulted in a predictive model using a 5th order IIR filter, where each pole/order of the filter represents a different detrapping time constant bin. The sum of the 5 exponential functions produces the de- trapped charge profile, or the flux due to persistence. The algorithm in this file implements this model.

For more details on the algorithm/model, or the characterisation of the time constants, please refer to: SPIE Journal Paper | September 3, 2019 Predictive model of persistence in H2RG detectors Simon Tulloch; Elizabeth George; ESO Detector Systems Group JATIS Vol. 5 Issue 03

Generate a persistence map from previous illumination frames, a trap
  density map and RHO values for each detrap time constant (TAU), and source maps derived from the illumination frames. The trap density map (TDM) and RHO values are specific to the IR detector in question.

## Function Documentation

## ◆ hdrl_persistence_compute()

cpl_error_code hdrl_persistence_compute | ( | const double | gain,
|  | const double | turnover,
|  | const double | mean_trim,
|  | const cpl_boolean | cleanQ,
|  | const cpl_array * | dateobs,
|  | const cpl_array * | exptimes,
|  | hdrl_imagelist * | ilist_persistence,
|  | const cpl_imagelist * | ilist_obj,
|  | const cpl_image * | maximum,
|  | const cpl_image * | density,
|  | const cpl_image * | fullwell,
|  | const cpl_table * | frac,
|  | hdrl_image ** | persistence,
|  | cpl_propertylist ** | persistence_qc
| ) |  |

generate the persistence map

Parameters

  gain | The gain for ADU to electron conversion [e-/ADU]
  turnover | The detector turnover value [ADU]
  mean_trim | The percentage of the pixels to discard in the minmax based QC parameter
  cleanQ | Whether or not to filter individual Qi planes
  dateobs | The times when the data is taken, e.g. MJD-OBS (including the MJD-OBS of the target frame)
  exptimes | The exposure sequence times of the data, e.g. EXPTIME (excluding the EXPTIME of the target frame)[s]
  ilist_persistence | Imagelist containing the images causing the persistence [ADU]
  ilist_obj | Masks with the objects of the single images (or NULL)
  maximum | A two-dimensional map describing the maximum number of persistence traps in each pixel [number]
  density | A two-dimensional map describing the fraction of incident photons that get converted to traps [unitless]
  fullwell | A two-dimensional map describing the full-well capacity of each pixel [ADU]
  frac | A table containing a six-term vector describing the relative fraction of each time constant populated by each trap [unitless]
  persistence | Returned: the calculated persistence [e-]
  persistence_qc | Returned: QC parameters derived from the calculated persistence

Returns
  The cpl error code in case of error or CPL_ERROR_NONE