The fors_extract recipe

fors_extract

Synopsis

Extraction of scientific spectra

Description

This recipe is used to reduce scientific spectra using the global distortion table created by the recipe fors_calib. The spectra are bias subtracted, flat fielded (if a normalised flat field is specified) and remapped eliminating the optical distortions. The wavelength calibration can be optionally upgraded using a number of sky lines: if no sky lines catalog of wavelengths is specified, an internal one is used instead.

If the alignment to the sky lines is performed, the applied dispersion coefficient table is upgraded and saved to disk, and a new CCD wavelengths map is created.

This recipe accepts both FORS1 and FORS2 frames. A grism table (typically depending on the instrument mode, and in particular on the grism used) may also be specified: this table contains a default recipe parameter setting to control the way spectra are extracted for a specific instrument mode, as it is used for automatic run of the pipeline on Paranal and in Garching. If this table is specified, it will modify the default recipe parameter setting, with the exception of those parameters which have been explicitly modifyed on the command line. If a grism table is not specified, the input recipe parameters values will always be read from the command line, or from an esorex configuration file if present, or from their generic default values (that are rarely meaningful).

In the table below the MXU acronym can be read alternatively as MOS and LSS, depending on the instrument mode of the input data. Either a scientific or a standard star exposure can be specified in input (not both).

Input files

DO category:               Type:       Explanation:         Required:
SCIENCE_MXU                Raw         Scientific exposure     Y
or STANDARD_MXU            Raw         Standard star exposure  Y
MASTER_BIAS                Calib       Master bias             Y
GRISM_TABLE                Calib       Grism table             .

MASTER_SKYLINECAT          Calib       Sky lines catalog       .


MASTER_NORM_FLAT_MXU       Calib       Normalised flat field   .

MASTER_DISTORTION_TABLE    Calib       Global distortion model .


or, in case of LSS-like MOS/MXU data,

MASTER_NORM_FLAT_LONG_MXU  Calib       Normalised flat field   .

Output files

DO category:               Data type:  Explanation:
REDUCED_SCI_MXU            FITS image  Extracted scientific spectra
REDUCED_SKY_SCI_MXU        FITS image  Extracted sky spectra
REDUCED_ERROR_SCI_MXU      FITS image  Errors on extracted spectra
UNMAPPED_SCI_MXU           FITS image  Sky subtracted scientific spectra
MAPPED_SCI_MXU             FITS image  Rectified scientific spectra
MAPPED_ALL_SCI_MXU         FITS image  Rectified science spectra with sky
MAPPED_SKY_SCI_MXU         FITS image  Rectified sky spectra
UNMAPPED_SKY_SCI_MXU           FITS image  Sky on CCD
GLOBAL_SKY_SPECTRUM_MXU    FITS table  Global sky spectrum
OBJECT_TABLE_SCI_MXU       FITS table  Positions of detected objects

Only if the sky-alignment of the wavelength solution is requested:
SKY_SHIFTS_LONG_SCI_MXU    FITS table  Sky lines offsets (LSS-like data)
or SKY_SHIFTS_SLIT_SCI_MXU FITS table  Sky lines offsets (MOS-like data)
DISP_COEFF_SCI_MXU         FITS table  Upgraded dispersion coefficients
WAVELENGTH_MAP_SCI_MXU     FITS image  Upgraded wavelength map

Constructor

cpl.Recipe("fors_extract")

Create an object for the recipe fors_extract.

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

Parameters

fors_extract.param.dispersion

Resampling step (Angstrom/pixel) (float; default: 0.0) [default=0.0].

fors_extract.param.skyalign

Polynomial order for sky lines alignment, or -1 to avoid alignment (int; default: 0) [default=0].

fors_extract.param.wcolumn

Name of sky line catalog table column with wavelengths (str; default: ‘WLEN’) [default=”WLEN”].

fors_extract.param.startwavelength

Start wavelength in spectral extraction (float; default: 0.0) [default=0.0].

fors_extract.param.endwavelength

End wavelength in spectral extraction (float; default: 0.0) [default=0.0].

fors_extract.param.flux

Apply flux conservation (bool; default: True) [default=True].

fors_extract.param.flatfield

Apply flat field (bool; default: False) [default=False].

fors_extract.param.skyglobal

Subtract global sky spectrum from CCD (bool; default: False) [default=False].

fors_extract.param.skymedian

Sky subtraction from extracted slit spectra (bool; default: False) [default=False].

fors_extract.param.skylocal

Sky subtraction from CCD slit spectra (bool; default: True) [default=True].

fors_extract.param.cosmics

Eliminate cosmic rays hits (only if global sky subtraction is also requested) (bool; default: False) [default=False].

fors_extract.param.slit_margin

Number of pixels to exclude at each slit in object detection and extraction (int; default: 3) [default=3].

fors_extract.param.ext_radius

Maximum extraction radius for detected objects (pixel) (int; default: 6) [default=6].

fors_extract.param.cont_radius

Minimum distance at which two objects of equal luminosity do not contaminate each other (pixel) (int; default: 0) [default=0].

fors_extract.param.ext_mode

Object extraction method: 0 = aperture, 1 = Horne optimal extraction (int; default: 1) [default=1].

fors_extract.param.time_normalise

Normalise output spectra by the exposure time (bool; default: True) [default=True].

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

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

fors_extract.param.dispersion = 0.0
fors_extract.param.skyalign = 0
fors_extract.param.wcolumn = "WLEN"
fors_extract.param.startwavelength = 0.0
fors_extract.param.endwavelength = 0.0
fors_extract.param.flux = True
fors_extract.param.flatfield = False
fors_extract.param.skyglobal = False
fors_extract.param.skymedian = False
fors_extract.param.skylocal = True
fors_extract.param.cosmics = False
fors_extract.param.slit_margin = 3
fors_extract.param.ext_radius = 6
fors_extract.param.cont_radius = 0
fors_extract.param.ext_mode = 1
fors_extract.param.time_normalise = True

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

import cpl
fors_extract = cpl.Recipe("fors_extract")
[...]
res = fors_extract( ..., param = {"dispersion":0.0, "skyalign":0})

See also

cpl.Recipe for more information about the recipe object.

Bug reports

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