The muse_lingain recipe

muse_lingain

Synopsis

Compute the gain and a model of the residual non-linearity for each detector quadrant

Description

The recipe uses the bias and flat field images of a detector monitoring exposure sequence to determine the detector gain in counts/ADU and to model the residual non-linearity for each of the four detector quadrants of all IFUs. All measurements done by the recipe are done on the illuminated parts of the detector, i.e. on the slices. The location of the slices is taken from the given trace table, which is a mandatory input. Using the traces of the slices on the detector a set of measurement windows is placed along these traces. The data used for the determination of the gain and the residual non-linearity is the taken from these windows. Bad pixels indicated by an, optionally, provided bad pixel table, or flagged during the preprocessing (bias subtraction) of the input data are excluded from the measurements. Local measurements of the read-out-noise, the signal and the gain are calculated for each of the measurement windows. Using these measurements the gain for each detector quadrant is computed as the zero-order coefficient of a 1st order polynomial fitted to the binned gain measurements as a function of the signal level. The residual non-linearity is modelled by a (high) order polynomial which is fitted to the fractional percentage deviation of the count rate from an expected constant count rate (the linear case) as function of the signal level. (Not yet implemented!)

Constructor

cpl.Recipe("muse_lingain")

Create an object for the recipe muse_lingain.

import cpl
muse_lingain = cpl.Recipe("muse_lingain")

Parameters

muse_lingain.param.nifu

IFU to handle. If set to 0, all IFUs are processed serially. If set to -1, all IFUs are processed in parallel. (int; default: 0) [default=0].

muse_lingain.param.ybox

Size of windows along the traces of the slices. (int; default: 50) [default=50].

muse_lingain.param.xgap

Extra offset from tracing edge. (int; default: 3) [default=3].

muse_lingain.param.xborder

Extra offset from the detector edge used for the selection of slices. (int; default: 10) [default=10].

muse_lingain.param.order

Order of the polynomial used to fit the non-linearity residuals. (int; default: 12) [default=12].

muse_lingain.param.toffset

Exposure time offset in seconds to apply to linearity flat fields. (float; default: 0.018) [default=0.018].

muse_lingain.param.fluxtol

Tolerance value for the overall flux consistency check of a pair of flat fields. The value is the maximum relative offset. (float; default: 0.01) [default=0.01].

muse_lingain.param.sigma

Sigma value used for signal value clipping. (float; default: 3.0) [default=3.0].

muse_lingain.param.signalmin

Minimum signal value in log(ADU) used for the gain analysis and the non-linearity polynomial model. (float; default: 0.0) [default=0.0].

muse_lingain.param.signalmax

Maximum signal value in log(ADU) used for the gain analysis and the non-linearity polynomial model. (float; default: 4.9) [default=4.9].

muse_lingain.param.signalbin

Size of a signal bin in log10(ADU) used for the gain analysis and the non-linearity polynomial model. (float; default: 0.1) [default=0.1].

muse_lingain.param.gainlimit

Minimum signal value [ADU] used for fitting the gain relation. (float; default: 100.0) [default=100.0].

muse_lingain.param.gainsigma

Sigma value for gain value clipping. (float; default: 3.0) [default=3.0].

muse_lingain.param.ctsmin

Minimum signal value in log(counts) to consider for the non-linearity analysis. (float; default: 3.0) [default=3.0].

muse_lingain.param.ctsmax

Maximum signal value in log(counts) to consider for the non-linearity analysis. (float; default: 4.9) [default=4.9].

muse_lingain.param.ctsbin

Size of a signal bin in log10(counts) used for the non-linearity analysis. (float; default: 0.1) [default=0.1].

muse_lingain.param.linearmin

Lower limit of desired linear range in log10(counts). (float; default: 2.5) [default=2.5].

muse_lingain.param.linearmax

Upper limit of desired linear range in log10(counts). (float; default: 3.0) [default=3.0].

muse_lingain.param.merge

Merge output products from different IFUs into a common file. (bool; default: False) [default=False].

The following code snippet shows the default settings for the available parameters.

import cpl
muse_lingain = cpl.Recipe("muse_lingain")

muse_lingain.param.nifu = 0
muse_lingain.param.ybox = 50
muse_lingain.param.xgap = 3
muse_lingain.param.xborder = 10
muse_lingain.param.order = 12
muse_lingain.param.toffset = 0.018
muse_lingain.param.fluxtol = 0.01
muse_lingain.param.sigma = 3.0
muse_lingain.param.signalmin = 0.0
muse_lingain.param.signalmax = 4.9
muse_lingain.param.signalbin = 0.1
muse_lingain.param.gainlimit = 100.0
muse_lingain.param.gainsigma = 3.0
muse_lingain.param.ctsmin = 3.0
muse_lingain.param.ctsmax = 4.9
muse_lingain.param.ctsbin = 0.1
muse_lingain.param.linearmin = 2.5
muse_lingain.param.linearmax = 3.0
muse_lingain.param.merge = False

You may also set or overwrite some or all parameters by the recipe parameter param, as shown in the following example:

import cpl
muse_lingain = cpl.Recipe("muse_lingain")
[...]
res = muse_lingain( ..., param = {"nifu":0, "ybox":50})

See also

cpl.Recipe for more information about the recipe object.

Bug reports

Please report any problems to Ralf Palsa. Alternatively, you may send a report to the ESO User Support Department.