[ ESO ]
NACO Quality Control:
DARK frames and detector monitoring

CAL | HC | refs | QC
Trending & QC1
Service Mode
Data Management
QC links:
read-noise | dark level | hot/cold pixels
read-noise and dark level HC setups
hot/cold pixels
QC1 database (advanced users): browse | plot
   Click on CURRENT to see the current trending (Health Check).
   Click on HISTORY to see the historical evolution of the trending.

A number of DARK frames is taken within the NACO daytime calibrations in case NACO science observations have been acquired in the night. Each DARK consists of 3 raw frames obtained with the instrumental setting matching the one used for science observations. The parameters matched are:

  • DET.DIT - detector integration time
  • DET.NDIT - number of sub-integrations
  • INS.OPTI7.NAME - camera
  • DET.NCORRS.NAME - detector read-out mode
  • DET.MODE.NAME - detector mode
In addition, each day, 3 dark frames are taken for the health check purpose, always with the same setup:
  • DET.DIT=1.7927 s, (since 2015: 1.7892s) DET.NDIT=1, INS.OPTI7.NAME=S27, DET.NCORRS.NAME=FowlerNsamp, DET.MODE.NAME=HighSensitivity
  • DET.DIT=0.5 s, DET.NDIT=100, INS.OPTI7.NAME=S27, DET.NCORRS.NAME=Double_RdRstRd, DET.MODE.NAME=HighSensitivity
  • DET.DIT=300 s, DET.NDIT=1, INS.OPTI7.NAME=S27, DET.NCORRS.NAME=FowlerNsamp, DET.MODE.NAME=HighSensitivity
They are utilized to monitor performance of the NACO detector.

DARK frame - 0.5s, Double_RdRstRd, HighSensitivity This is an example of the master calibration DARK frame - NC_DCAL_0_5_S27_F_DRHS.fits. It is a pipeline product of the "naco_img_dark" recipe. The horizontal stripes on the edges of the detector are features characteristic to the Double_RdRstRd read-out mode. DARK frame - 300s, FowlerNsamp, HighSensitivity This is an example of the master calibration DARK frame - NC_DCAL_300_S27_F_FSHS.fits. It is a pipeline product of the "naco_img_dark" recipe. The bright, diagonal stripes are associated with the "light leakage". They become prominent structures when darks are taken with long DITs.

In addition to the QC parameters calculated by the NACO dark pipeline recipe, several QC parameters are calculated by QC procedures. They all are stored in the NACO QC1 parameter database.

The NACO detector can be operated in normal (DET.FRAM.TYPE=INT) and in cube mode (DET.FRAM.TYPE=CUBE2). In cube mode, the detector adds two more rows at the upper rim, that the read-out size is 1024x1026 pixel instead of the 1024x1024 pixel in normal read mode. Furthermore the detector can be operated in any used-defined window read out mode. The QC monitoring covers:

  • normal mode (DET.FRAM.TYPE=INT), full readout (NAXIS1 x NAXIS2 = 10124 x 1024)
  • the first layer of a cube (DET.FRAM.TYPE=CUBE2), full readout (NAXIS1 x NAXIS2 = 1024 x 1026)
  • darks for M-band pre-defined 512 x 512 pixel window readout and 512 x 514 pixel window (cube mode)

Other Window options other than 512 x 512 and 512 x 514 ore not pipeline supported and are not subject of QC checks.

Since 2015 NACO is operated with a different detector. All screen shots shown on this page are from the old detector used until 2013.

The operationally most critical detector characteristics derived from dark calibration frames are monitored by the following four QC parameters:

top read-noise

QC1 parameters

parameter QC1 database: table, name procedure
"dark_ron12": read-out noise naco_dark, dark_ron12 read-out noise calculated from the 2nd-1st raw; it is a median of the standard deviations measured from 100 4x4 windows on the difference frame, multiplied by sqrt(NDIT/2)

The upper three boxes of the following plot show the temporal evolution of the read-out noise for three daily taken detector setups.

top dark level

QC1 parameters

parameter QC1 database: table, name procedure
"dark_median": median dark level (ADU/pixel/s) naco_dark, dark_median median dark level in the central part of the master dark

The upper three boxes of the following plot show the temporal evolution of the dark level for three daily taken detector setups.

top 8-column noise

The 8-column noise is a special feature of the NACO detector, which became dominant in Feb 2012, when the upper right 512x512 pixel detector quadrant showed an extra signal as repetitive pattern in every eightst column.

QC1 parameters

parameter QC1 database: table, name procedure
8-pixel noise naco_dark, noise_UL_lf_fpn The rms over the median-collapsed row of a 512x512 pixel detector quadrant.

This QC parameter deserved temporarily its own HC plot in 2012. The HC was decommissioned in 2013. The QC parameter noise_UL_lf_fpn (low frequency fixed pattern noise in the UpperLeft quadrant) as well as its complements for the other three detector quadrants are continuously acquired and are available in the QC1 DB.

top hot/cold pixels

QC1 parameters

parameter QC1 database: table, name procedure
"num_cold": number of cold pixels naco_dark, num_cold calculated by the pipeline recipe naco_img_dark
"num_hot": number of hot pixels naco_dark, num_hot calculated by the pipeline recipe naco_img_dark

The trending plot shows the number of the hot and cold pixels measured in the dark frames. The data points are separated by the detector read-out mode.


Detector Monitoring (detmon)

saturation level
gain gain
QC1 database (advanced users): browse | plot
   Click on CURRENT to see the current trending (Health Check).
   Click on HISTORY to see the historical evolution of the trending.

The NACO detmon template acquires a series of flat field pairs and corresponding dark frames in order to retrieve the detector gain and detector non-linearity. Up to 2016 the following four read modes are monitored:


Data acquired in 2015 are based on a new detector, for which the template is not optimized. 2015 detmon data are less useful. In 2016-01 Double_RdRstRd_HighSensitivity is replaced by Uncorr_HighDynamic, and the monitoring is restarted again. Since the detector suffers since 2015-01 from a dead column effect in the lower left quadrant, only the upper right detector quadrant is used for the detmon analysis. Furthermore it turned out (for the period 2015 up to 2016-01) that flats with DIT=3sec and Uncorr mode show additional fixed pattern noise which biases the photon transfer curve when retrieving the gain. These DIT=3sec flats are ignored when processing detmon frames in Uncorr read mode.

Status 2016-05-01

The following read modes are monitored, values are for the upper right detector quadrant:

read mode Double_RdRstRd_HighDynamic FowlerNsamp_HighSensitivity Uncorr_HighWellDepth Uncorr_HighDynamic
DIT range 0.5 - 15 sec 1.8 - 14 sec 0.25 - 26 sec 0.25 - 15 sec
saturation level 11600 ADU 3230 ADU 16400 ADU 9500 ADU
off-lamp level 100 ADU 30 ADU -3000 ADU -3000 ADU
full well 11500 ADU 3200 ADU 19400 ADU 12500 ADU


LR quadrant contaminated LR quadrant contaminated read window = 512x512 odd-even-row effect
DetMon recipe        
DM linearity range 11500 ADU 2900 ADU 8500 ADU 8500 ADU
DM linearity reference level 8000 ADU 2000 ADU 8000 ADU 8000 ADU
DM gain range 10000 ADU 2000 ADU 8000 ADU 8000 ADU


QC1 parameters

top detmon saturation level

In optical CCDs there is a fixed saturation level of 65335 ADU and the small non-linear component of the response can be described by a polynomial in the count range of up the discontinuity at 65335 ADU. In IR detectors the non-linearity is stronger, starts at lower counts and the saturation level is reached more smoothly when compared to CCDs. The detmon pipeline recipe is configured to use for each of the four monitored read modes an optimised set of recipe parameters. These command line parameter sets are tuned to retrieve the gain and the non-linearity but not the saturation level. Since in 2015-10 the saturation level changed in one of the read modes, the following procedure was implemented to monitor the saturation level (see the magenta points here):

The median values of the raw flat frames is fit by the following function:

f(x) = [1/2 - atan((x-x0)/s)] * (a+b*x) + [1/2 + atan((x-x0)/s)] * c

with a linear part (a+b*x) dominating for x << x0 and a constant part c dominating for x>>x0, where x0 is the transition zone between both functions and s is a smoothing width for the transition zone.
The left and the right [ ] - bracket are numerical weighting factors that change at x=x0 from 0 to 1 or vice verse. This composed function f(x) fits the linear part at low DIT and the constant (saturation part) at high DIT.
a,b,c, and x0=transition point and s=transition width are best fit parameters. See the following QC report as an example.



The median values versus DIT have been fit two times, once (green f(x) ) with a free width and a second time (blue g(x) ) where x0 is fixed from f(x) and the width s is fixed to a 5 times smaller value of f(x), which results in a more stable values of c.



top detmon non-linearity

The non-linearity of the detector response is calculated by the detmon recipe. A higher order polynomial is fit to the dark subtracted flat frame median as a function of DIT. See:


This figure shows an extraction of the larger QC report. The third order polynomial fit (green) and a corresponding linear component is shown. The QC parameter returned from the recipe is the deviation from linearity at a reference level of 8000 ADU (for Double_RdRstRd_HighDynamic). Dividing the green line by the blue line and expressing DIT by ADU, the deviation from linearity is shown:


which means that the non-linearity is a function of count level. The figure shows that in 2016-05, the relative deviation from non-linearity at R=8000 ADU is about 0.04, which is monitored as QC parameter in this HC plot.


top detmon gain

The detector gain value is calculated by the detmon recipe, where a lower threshold for excluding bright flats is applied in order confine the analysis (the photon transfer curve method is used) to the linear part of the detector response. The following figure shows an extraction of the QC report.


The left box shows the variance of the flat frames (minus the variance of the off-lamp frames) as a function of twice the dark subtracted flat counts.
The inverse of the best fit linear function slope is the gain, which corresponds in this case to 13.4 e-/ADU.
Note: The variances show a slight non-linear behaviour. A non-linear fit would result in lower gains (stepper slope) for low counts and higher gain values for more counts.
The offset of 169 ADU is a known unreliable extrapolation of the photon transfer curve and is meaningless.

The right figure shows the gain values for each DIT, where two flats and two darks have been used (red circles).
For comparison, the gain retrieved from the left figure is plot (blue line).


  • 2015-01: the detector is exchanged. The newly installed detector is the Alladdin detector formarly used by ISAAC LW-arm.
    It is mounted in NACO by 90deg rotated with respect to ISAAC and it is operated with the NACO read modes.
  • 2015-07: The upper right quadrant is subject to a pattern where every 8th columnm is dead.
  • 2015-10: The saturation level of the Fowler sampling read mode changed from 4300 ADU to ~3400 ADU.
  • 2015-12: The upper right quadrant is ok, but the lower left quadrant is subject of a pattern where every 8th columnm is dead.
  • 2016-06: The statistical noise of the two Uncorr read modes increased for larger DIT, resulting in a reduced gain value ( 25% lesss ).