SALT - Southern African Large Telescope

A simple IRAF Recipe for SALTICAM Data Reduction


The following recipe describes a simple set of data reducton steps that correct for gain, bias, pixel-to-pixel sensitivty and cross-talk, and mosaics the SALTICAM amplifiers into a single image extension. Once the amplifiers have been mosaiced, external iraf tasks may be used to extract and calibrate source data. It is assumed that the user has some IRAF experience. Manuals and cookbooks are available from the IRAF document archive. For the sake of brevity, the recipe is written as it would appear on the command line of the IRAF cl environment, but a full list of task parameters may be inspected using 'lpar' or 'epar' inside the cl and online help is available by typing 'help taskname'. The help will provide more detail on the functionality of parameters listed below.

The image data itself is organised by one FITS file per exposure. Each file contains an empty primary HDU with scalar data recorded in keyword headers. The CCD images are stored in four subsequent HDUs, one for each amplifier in the detector.

The SALTICAM package can be accessed from inside the IRAF cl environment by typing 'salt' followed by a carriage return and then 'salticam'.

1. Prepare raw FITS files


In the future, this step will add data for bad pixel maps to the raw data. Currently it purpose is to check the raw file for completeness and compatibility with the IRAF software, adding a few keywords required by the tools:

  • sprepare inimages='S*.fits' rawpath='.' outpref=p fl_gain-

2. Gain correct images


This step calls a calibration file stored in SALT's IRAF package that describes pre-calibrated gain correction factors that depend on readout speed and gain modes and applies them uniformally across the images.

  • sgain images='pS*' gaindb='salticam$data/SALTICAMamps.dat' fl_update+ fl_mult+

3. Create master bias frame


After subtracting a polynomial fit to the overscan strip of bias frames and trimming the overscan and underscan regions away, this step combines the residual images into a master bias frame which can be subracted from science data to remove bias structure. bias.lis is an ascii list of gain-corrected bias frames:

  • sbias inimages='@bias.lis' outbias='bias.fits' fl_over+ fl_trim+ fl_inter- median- function='chebyshev' order=4 low_reject=3 high_reject=3 niterate=10 combine='median'

4. Create flat field for the removal of pixel-to-pixel sensitivity


After debiasing flat field images, this tool will fit splines across the images and use them to normalize out any broad response in the field. The resulting images can then be used to divide out pixel-to-pixel variability in science data. flat.lis contains an ascii list of flat field images from a calibration lamp.

  • siflat inflats='@flat.lis' specflat='flat.fits' fl_over+ fl_trim+ fl_bias+ bias='bias.fits' fl_dark- fl_inter- fl_detec+ function='spline3' order=5 low_reject=3 high_reject=3 niterate=10 combine='average' reject=avsigclip lsigma=3 ovs_fun='chebyshev' ovs_ord=4 ovs_low=3 ovs_hig=3 ovs_nit=10

5. Cleaning science data


With reduced bias frames and flat fields in hand, this task performs cleaning of science data - debiasing, flatfielding and cross-talk correction: src.lis is an ascii list of source and arc lamp exposures:

  • sreduce inimages='@src.lis' outpref='r' fl_over+ fl_trim+ fl_xtal+ fl_bias+ fl_pscr- fl_dark- fl_flat+ fl_pmos- bias='bias.fits' flatim='flat.fits' xtalkfi='salticam$data/SALTICAMxtalk.dat' ovs_med- ovs_fun='chebyshev' ovs_ord=4 ovs_low=3 ovs_hig=3 ovs_nit=10

6. Mosaic amplifiers into a single image


To mosaic the four amplifiers into a single 2-dimensional image use smosaic. src2.lis is a list of cleaned science data.

  • smosaic inimages='@src2.lis' outpref='m' geomfil='salticam$data/SALTICAMgeom.dat' fl_fixp-

Form this point onwards you are in good shape to use your favourite (IRAF or otherwise) sotware to complete the reduction and analyze your data.

Future development


  1. PyRAF versions of the IRAF tools.
  2. Cosmic ray rejection.
  3. Bad pixel masks.
  4. Slot and Frame Transfer mode compliance.