EXAMPLES · BUGS · REVISIONS · SEE_ALSO

## NAME

mscfindgain -- calculate the gain and readout noise of a mosaic of CCD

## SYNOPSIS

MSCFINDGAIN uses Janesick's method for determining the gain and read noise in a CCD from a pair of dome flat exposures and a pair of zero frame exposures (zero length dark exposures).

## USAGE

`mscfindgain flat1 flat2 zero1 zero2`

## PARAMETERS

- flat1, flat2
- First and second mosaic dome flats.

- zero1, zero2
- First and second zero frames (zero length dark exposures).

- extname = ""
- List of extension names for which the gain is to be determined. If a blank list is specified then all extensions are analyzed.

- mask = "BPM"
- Bad pixel mask to use in excluding bad pixels. When there are multiple extensions the mask should be specified through the BPM header keyword.

- section = ""
- The selected image section for the statistics. This should be chosen
to exclude bad columns or rows, cosmic rays and other blemishes, and
the overscan region. The flat field illumination should be constant
over this section. The sections are applied to all the selected extensions.
To use different sections the task must be run using the
*extname*parameter to select specific extensions for the desired statistics section. Note that bad pixel masks is a better method of selecting data.

- center = "mean"
- The statistical measure of central tendency that is used to estimate
the data level of each image. This can have the values:
**mean**,**midpt**, or**mode**. These are calculated using the same algorithm as the IMSTATISTICS task.

- nclip = 3
- Number of sigma clipping iterations. If the value is zero then no clipping is performed.

- lclip = 4, uclip = 4
- Lower and upper sigma clipping factors used with the mean value and
standard deviation to eliminate cosmic rays and unmasked bad pixels.
Since
**mscfindgain**is sensitive to the statistics of the data the clipping factors should be symmetric (the same both above and below the mean) and should not bias the standard deviation. Thus the values should not be made smaller than around 4 sigma otherwise the gain and readnoise estimates will be affected.

- binwidth = 0.1
- The bin width of the histogram (in sigma) that is used to estimate the
**midpt**or**mode**of the data section in each image. The default case of center=**mean**does not use this parameter.

- verbose = yes
- Label the gain and readnoise on output, rather than print them two per line?

## DESCRIPTION

MSCFINDGAIN uses Janesick's method for determining the gain and read noise
in a CCD from a pair of dome flat exposures and a pair of zero frame
exposures (zero length dark exposures). This task operates on mosaic
exposures in multiextension format. The *extname*
parameter may be
used to select all extensions, a single extension, or some subset of
extensions.

The task requires that the flats and zeros be unprocessed and uncoadded so that the noise characteristics of the data are preserved. Note, however, that the frames may be bias subtracted if the average of many zero frames is used, and that the overscan region may be removed prior to using this task.

Bad pixels should be eliminated to avoid affecting the statistics. This can be done with bad pixels masks and sigma clipping. Alternatively an image section (which is the same for all extensions) may be chosen. The sigma clipping should not significantly affect the assumed gaussian distribution while eliminating outlyers due to cosmic rays and unmasked bad pixels. This means that clipping factors should be symmetric and should have values four or more sigma from the mean.

## ALGORITHM

The formulae used by the task are:

flatdif = flat1 - flat2 zerodif = zero1 - zero2 gain = ((mean(flat1) + mean(flat2)) - (mean(zero1) + mean(zero2))) / ((sigma(flatdif))**2 - (sigma(zerodif))**2 ) readnoise = gain * sigma(zerodif) / sqrt(2)

where the gain is given in electrons per ADU and the readnoise in electrons. Pairs of each type of comparison frame are used to reduce the effects of gain variations from pixel to pixel. The derivation follows from the definition of the gain (N(e) = gain * N(ADU)) and from simple error propagation. Also note that the measured variance (sigma**2) is related to the exposure level and read-noise variance (sigma(readout)**2) as follows:

variance(e) = N(e) + variance(readout)

Where N(e) is the number of electrons (above the zero level) in a given duration exposure.

In our implementation, the **mean**
used in the formula for the gain
may actually be any of the **mean**
, **midpt**
(an estimate of the
median), or **mode**
as determined by the **center**
parameter.
For the **midpt**
or **mode**
choices only, the value of the
**binwidth**
parameter determines the bin width (in sigma) of the
histogram that is used in the calculation. **Mscfindgain**
uses the
**imstatistics**
task to compute the statistics.

## EXAMPLES

To calculate the gain and readnoise within a 100x100 section:

ms> mscfindgain flat1 flat2 zero1 zero2 section="[271:370,361:460]"

To calculate the gain and readnoise using the mode to estimate the data level for each image section:

ms> mscfindgain.section="[271:370,361:460]" ms> mscfindgain flat1 flat2 zero1 zero2 center=mode

The effects of cosmic rays can be seen in the following example using
artificial noise created with the **artdata.mknoise**
package. The
images have a gain of 5 and a readnoise of 10 with 100 cosmic rays added
over the 512x512 images. The zero level images have means of zero and the
flat field images have means of 1000. The first execution uses the default
clipping and the second turns off the clipping.

ms> mscfindgain flat1 flat2 zero1 zero2 MSCFINDGAIN: mask = BPM, center = mean, binwidth = 0.1 nclip = 3, lclip = 4., uclip = 4. Flats = flat1[im1] & flat2[im1] Zeros = zero1[im1] & zero2[im1] Gain = 5.01 electrons per ADU Read noise = 10.00 electrons Flats = flat1[im2] & flat2[im2] Zeros = zero1[im2] & zero2[im2] Gain = 5.00 electrons per ADU Read noise = 10.01 electrons ms> mscfindgain flat1 flat2 zero1 zero2 nclip=0 MSCFINDGAIN: mask = BPM, center = mean, binwidth = 0.1 nclip = 0, lclip = 4., uclip = 4. Flats = flat1[im1] & flat2[im1] Zeros = zero1[im1] & zero2[im1] Gain = 2.86 electrons per ADU Read noise = 189.5 electrons Flats = flat1[im2] & flat2[im2] Zeros = zero1[im2] & zero2[im2] Gain = 1.95 electrons per ADU Read noise = 127.8 electrons

## BUGS

The image headers are not checked to see if the frames have been processed.

There is no provision for finding the "best" values and their errors from several flats and zeros.

## REVISIONS

- MSCFINDGAIN - V4.1: December 5, 2000
- New parameters to allow specifying bad pixel masks and sigma clipping were added. The output format was also improved.

- MSCFINDGAIN - V4.0: August 22, 2000
- This task is new in the version.

## SEE ALSO

nproto.findgain, findthresh, imstatistics, imhistogram, implot