The vmmosscience recipe

vmmosscience

Synopsis

Extraction of scientific spectra

Description

This recipe is used to reduce scientific spectra using the extraction mask and the products created by the recipe vimos_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 input dispersion coefficients table is upgraded and saved to disk, and a new CCD wavelengths map is created. A configuration table (typically depending on the grism in use) 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 configuration 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 (which are rarely meaningful).

Either a scientific or a standard star exposure can be specified in input.

Only in case of a standard star exposure input, the atmospheric extinction table and a table with the physical fluxes of the observed standard star must be specified in input, and a spectro-photometric table is created in output. This table can then be input again to this recipe, always with an atmospheric extinction table, and if a photometric calibration is requested then flux calibrated spectra (in units of erg/cm/cm/s/Angstrom) are also written in output.

Input files

DO category:                Type:       Explanation:         Required:
MOS_SCIENCE                 Raw         Scientific exposure     Y
or MOS_STANDARD             Raw         Standard star exposure  Y

MASTER_BIAS                 Calib       Master bias             Y
SKY_LINE_CATALOG            Calib       Sky lines catalog       .

MOS_MASTER_SCREEN_FLAT      Calib       Normalised flat field   .

MOS_DISP_COEFF              Calib       Inverse dispersion      Y
MOS_CURV_COEFF              Calib       Spectral curvature      Y
MOS_SLIT_LOCATION           Calib       Slits positions table   Y
CONFIG_TABLE                Calib       Configuration table     .


In case MOS_STANDARD is specified in input,

EXTINCT_TABLE               Calib       Atmospheric extinction  Y
STD_FLUX_TABLE              Calib       Standard star flux      Y
TELLURIC_CONTAMINATION      Calib       Telluric regions list    .



In case a photometric calibration is requested for scientific
data, the following inputs are mandatory:

EXTINCT_TABLE              Calib       Atmospheric extinction  Y
MOS_SPECPHOT_TABLE         Calib       Response curves         Y

If requested for standard star data, the SPECPHOT_TABLE can be dropped:
in this case the correction is applied using the SPECPHOT_TABLE produced
in the same run.

Output files

in case input is MOS_STANDARD rather than MOS_SCIENCE):

DO category: Data type: Explanation: MOS_SCIENCE_REDUCED Image Extracted scientific spectra MOS_SCI_SKY_REDUCED Image Extracted sky spectra MOS_SCI_ERROR_REDUCED Image Errors on extracted spectra MOS_UNMAPPED_SCIENCE Image Sky subtracted scientific spectra MOS_SCIENCE_EXTRACTED Image Rectified scientific spectra MOS_SCIENCE_SKY_EXTRACTED Image Rectified science spectra with sky MOS_SCIENCE_SKY Image Rectified sky spectra MOS_SCI_UNMAPPED_SKY Image Sky on CCD MOS_SCI_GLOBAL_SKY_SPECTRUM Table Global sky spectrum OBJECT_SCI_TABLE Table Positions of detected objects

Only if fringing correction is requested (dithered exposures): MOS_SCI_FRINGES Image Fringe map

Only if the sky-alignment of the wavelength solution is requested: MOS_SCI_SKYLINES_OFFSETS_SLIT Table Sky lines offsets MOS_SCI_DISP_COEFF_SKY Table Upgraded dispersion coefficients MOS_SCI_WAVELENGTH_MAP_SKY Image Upgraded wavelength map

Only if a MOS_STANDARD is specified in input: MOS_SPECPHOT_TABLE Table Efficiency and response curves

Only if MOS_SPECPHOT_TABLE or MOS_MASTER_RESPONSE are specified in input: MOS_SCIENCE_FLUX_REDUCED Image Flux calibrated scientific spectra MOS_SCI_ERROR_FLUX_REDUCED Image Errors on flux calibrated spectra MOS_SCIENCE_FLUX_EXTRACTED Image Flux calibrated slit spectra

Constructor

cpl.Recipe("vmmosscience")

Create an object for the recipe vmmosscience.

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

Parameters

vmmosscience.param.skyalign

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

vmmosscience.param.flatfield

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

vmmosscience.param.skyglobal

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

vmmosscience.param.skymedian

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

vmmosscience.param.skylocal

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

vmmosscience.param.cosmics

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

vmmosscience.param.slit_margin

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

vmmosscience.param.ext_radius

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

vmmosscience.param.cont_radius

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

vmmosscience.param.ext_mode

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

vmmosscience.param.detection

Object detection threshold (ADU) (float; default: 2.0) [default=2.0].

vmmosscience.param.resp_fit_nknots

Number of knots in spline fitting of the instrument response. (-1: No fitting. -2: Read from grism table) (int; default: -2) [default=-2].

vmmosscience.param.resp_fit_degree

Degree of polynomial in fitting of the instrument response. (-1: No fitting. -2: Read from grism table) (int; default: -2) [default=-2].

vmmosscience.param.resp_ignore_mode

Types of lines/regions to ignore in response. Valid ones are ‘stellar_absorption’, ‘telluric’ and ‘command_line’ (from parameter resp_ignore_lines) (str; default: ‘stellar_absorption,telluric,command_line’) [default=”stellar_absorption,telluric,command_line”].

vmmosscience.param.resp_ignore_points

Extra lines/regions to ignore in response. Use a comma separated list of values. A range can be specified like 4500.0-4600.0 (str; default: ‘’) [default=””].

vmmosscience.param.resp_use_flat_sed

Use the flat SED to normalise the observed spectra. Value are true, false, grism_table. (str; default: ‘grism_table’) [default=”grism_table”].

vmmosscience.param.resp_shift

The extracted standard star will be shifted these many angstroms before using it to compute the response. This is useful for observed std stars not centered in the slits. Positive values will shift the spectrum to the red. Shift is given in Angstroms but no fraction of pixels will be shifted. (float; default: 0.0) [default=0.0].

vmmosscience.param.time_normalise

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

vmmosscience.param.anyframe

Look for a standard star in any frame classified as MOS_STANDARD (bool; default: False) [default=False].

vmmosscience.param.alignment

Type of alignment of dithered frames, either to the nearest neighbour pixel or to fractions of pixel (str; default: ‘integer’) [default=”integer”].

vmmosscience.param.stack_method

Frames combination method (str; default: ‘average’) [default=”average”].

vmmosscience.param.minrejection

Number of lowest values to be rejected (int; default: 1) [default=1].

vmmosscience.param.maxrejection

Number of highest values to be rejected (int; default: 1) [default=1].

vmmosscience.param.klow

Low threshold in ksigma method (float; default: 3.0) [default=3.0].

vmmosscience.param.khigh

High threshold in ksigma method (float; default: 3.0) [default=3.0].

vmmosscience.param.kiter

Max number of iterations in ksigma method (int; default: 999) [default=999].

vmmosscience.param.dither

Align dithered frames before stacking(for multiple input frames) (bool; default: True) [default=True].

vmmosscience.param.compute

Compute offsets of dithered images from detected objects (true), or read offsets from header (false) (bool; default: False) [default=False].

vmmosscience.param.fringing

Apply fringing correction (only for dithered observations) (bool; default: True) [default=True].

vmmosscience.param.offset

Minimum required offset between exposures for applying the sky fringing correction. (float; default: 3.0) [default=3.0].

vmmosscience.param.generate_idp

Generate IDP products (bool; default: False) [default=False].

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

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

vmmosscience.param.skyalign = -1
vmmosscience.param.flatfield = True
vmmosscience.param.skyglobal = False
vmmosscience.param.skymedian = False
vmmosscience.param.skylocal = True
vmmosscience.param.cosmics = True
vmmosscience.param.slit_margin = 3
vmmosscience.param.ext_radius = 6
vmmosscience.param.cont_radius = 0
vmmosscience.param.ext_mode = 1
vmmosscience.param.detection = 2.0
vmmosscience.param.resp_fit_nknots = -2
vmmosscience.param.resp_fit_degree = -2
vmmosscience.param.resp_ignore_mode = "stellar_absorption,telluric,command_line"
vmmosscience.param.resp_ignore_points = ""
vmmosscience.param.resp_use_flat_sed = "grism_table"
vmmosscience.param.resp_shift = 0.0
vmmosscience.param.time_normalise = True
vmmosscience.param.anyframe = False
vmmosscience.param.alignment = "integer"
vmmosscience.param.stack_method = "average"
vmmosscience.param.minrejection = 1
vmmosscience.param.maxrejection = 1
vmmosscience.param.klow = 3.0
vmmosscience.param.khigh = 3.0
vmmosscience.param.kiter = 999
vmmosscience.param.dither = True
vmmosscience.param.compute = False
vmmosscience.param.fringing = True
vmmosscience.param.offset = 3.0
vmmosscience.param.generate_idp = False

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

import cpl
vmmosscience = cpl.Recipe("vmmosscience")
[...]
res = vmmosscience( ..., param = {"skyalign":-1, "flatfield":True})

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.