The fors_calib recipe¶
-
fors_calib
¶
Synopsis¶
Determination of the extraction mask
Description¶
This recipe is used to identify reference lines on LSS, MOS and MXU arc lamp exposures, and trace the spectral edges on the corresponding flat field exposures. This information is used to determine the spectral extraction mask to be applied in the scientific data reduction, performed with the recipe fors_science.
This recipe accepts both FORS1 and FORS2 frames. The input arc lamp and flat field exposures are assumed to be obtained quasi-simultaneously, so that they would be described by exactly the same instrument distortions.
A line catalog must be specified, containing the wavelengths of the reference arc lamp lines used for the wavelength calibration. 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 modified 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). Finally a master bias frame must be input to this recipe.
In the table below the MXU acronym can be read alternatively as MOS and LSS, with the exception of CURV_COEFF_LSS, CURV_TRACES_LSS, SPATIAL_MAP_LSS, SPECTRA_DETECTION_LSS, and and SLIT_MAP_LSS, which are never created. The products SPECTRA_DETECTION_MXU, SLIT_MAP_MXU, and DISP_RESIDUALS_MXU, are just created if the –check parameter is set to true. The product GLOBAL_DISTORTION_TABLE is just created if more than 12 separate spectra are found in the CCD.
Input files¶
DO category: Type: Explanation: Required:
SCREEN_FLAT_MXU Raw Flat field exposures Y
LAMP_MXU Raw Arc lamp exposure Y
MASTER_BIAS Calib Master Bias frame Y
MASTER_LINECAT Calib Line catalog Y
GRISM_TABLE Calib Grism table .
Output files¶
DO category: Data type: Explanation:
MASTER_SCREEN_FLAT_MXU FITS image Combined (sum) flat field
MASTER_NORM_FLAT_MXU FITS image Normalised flat field
MAPPED_SCREEN_FLAT_MXU FITS image Wavelength calibrated flat field
MAPPED_NORM_FLAT_MXU FITS image Wavelength calibrated normalised flat
REDUCED_LAMP_MXU FITS image Wavelength calibrated arc spectrum
DISP_COEFF_MXU FITS table Inverse dispersion coefficients
DISP_RESIDUALS_MXU FITS image Residuals in wavelength calibration
DISP_RESIDUALS_TABLE_MXU FITS table Residuals in wavelength calibration
DELTA_IMAGE_MXU FITS image Offset vs linear wavelength calib
WAVELENGTH_MAP_MXU FITS image Wavelength for each pixel on CCD
SPECTRA_DETECTION_MXU FITS image Check for preliminary detection
SLIT_MAP_MXU FITS image Map of central wavelength on CCD
CURV_TRACES_MXU FITS table Spectral curvature traces
CURV_COEFF_MXU FITS table Spectral curvature coefficients
SPATIAL_MAP_MXU FITS image Spatial position along slit on CCD
SPECTRAL_RESOLUTION_MXU FITS table Resolution at reference arc lines
DETECTED_LINES_MXU FITS table All the lines detected in the arc
ARC_RECTIFIED_MXU FITS image The spatial rectified arc
SLIT_LOCATION_MXU FITS table Slits on product frames and CCD
GLOBAL_DISTORTION_TABLE FITS table Global distortions table
FLAT_SED_LSS FITS image Average SED for each of the slitsi
Constructor¶
-
cpl.
Recipe
("fors_calib") Create an object for the recipe fors_calib.
import cpl
fors_calib = cpl.Recipe("fors_calib")
Parameters¶
-
fors_calib.param.
dispersion
¶ Expected spectral dispersion (Angstrom/pixel) (float; default: 0.0) [default=0.0].
-
fors_calib.param.
peakdetection
¶ Initial peak detection threshold (ADU) (float; default: 0.0) [default=0.0].
-
fors_calib.param.
wdegree
¶ Degree of wavelength calibration polynomial (int; default: 0) [default=0].
-
fors_calib.param.
wradius
¶ Search radius if iterating pattern-matching with first-guess method (int; default: 4) [default=4].
-
fors_calib.param.
wreject
¶ Rejection threshold in dispersion relation fit (pixel) (float; default: 0.7) [default=0.7].
-
fors_calib.param.
wmode
¶ Interpolation mode of wavelength solution applicable to LSS-like data (0 = no interpolation, 1 = fill gaps, 2 = global model) (int; default: 2) [default=2].
-
fors_calib.param.
wmosmode
¶ Interpolation mode of wavelength solution (0 = no interpolation, 1 = local (slit) solution, 2 = global model) (int; default: 0) [default=0].
-
fors_calib.param.
ignore_lines
¶ Catalog lines nearest to wavelengths in this list will be ignored for wavelength calibration (str; default: ‘’) [default=””].
-
fors_calib.param.
used_linesets
¶ Linesets to use. Valid are ‘standard’ and’extended’ (see column LINE_SET in the line catalogue) (str; default: ‘standard’) [default=”standard”].
-
fors_calib.param.
cdegree
¶ Degree of spectral curvature polynomial (int; default: -1) [default=-1].
-
fors_calib.param.
cmode
¶ Interpolation mode of curvature solution applicable to MOS-like data (0 = no interpolation, 1 = fill gaps, 2 = global model) (int; default: 1) [default=1].
-
fors_calib.param.
startwavelength
¶ Start wavelength in spectral extraction (float; default: 0.0) [default=0.0].
-
fors_calib.param.
endwavelength
¶ End wavelength in spectral extraction (float; default: 0.0) [default=0.0].
-
fors_calib.param.
slit_ident
¶ Attempt slit identification for MOS or MXU (bool; default: False) [default=False].
-
fors_calib.param.
stack_method
¶ Frames combination method (str; default: ‘sum’) [default=”sum”].
-
fors_calib.param.
ksigma
¶ Low and high threshold in ksigma method (str; default: ‘-3.0,3.0’) [default=”-3.0,3.0”].
-
fors_calib.param.
kiter
¶ Max number of iterations in ksigma method (int; default: 999) [default=999].
-
fors_calib.param.
s_degree
¶ Polynomial degree for the flat field fitting along spatial direction (int; default: -1) [default=-1].
-
fors_calib.param.
sradius
¶ Smooth box radius for flat field along spatial direction (used if s_knots < 0) (int; default: -1) [default=-1].
-
fors_calib.param.
d_nknots
¶ Number of knots in flat field fitting splines along dispersion direction (int; default: -1) [default=-1].
-
fors_calib.param.
dradius
¶ Smooth box radius for flat field along dispersion direction (if d_knots < 0) (int; default: 10) [default=10].
-
fors_calib.param.
fit_threshold
¶ Threshold percentage for flat spline fittingwith respect to the maximum (float; default: 0.01) [default=0.01].
-
fors_calib.param.
nonlinear_level
¶ Level above which the detector is not linear (float; default: 60000.0) [default=60000.0].
-
fors_calib.param.
max_nonlinear_ratio
¶ Maximum allowed ratio of non-linear pixels per slit (float; default: 0.2) [default=0.2].
The following code snippet shows the default settings for the available parameters.
import cpl
fors_calib = cpl.Recipe("fors_calib")
fors_calib.param.dispersion = 0.0
fors_calib.param.peakdetection = 0.0
fors_calib.param.wdegree = 0
fors_calib.param.wradius = 4
fors_calib.param.wreject = 0.7
fors_calib.param.wmode = 2
fors_calib.param.wmosmode = 0
fors_calib.param.ignore_lines = ""
fors_calib.param.used_linesets = "standard"
fors_calib.param.cdegree = -1
fors_calib.param.cmode = 1
fors_calib.param.startwavelength = 0.0
fors_calib.param.endwavelength = 0.0
fors_calib.param.slit_ident = False
fors_calib.param.stack_method = "sum"
fors_calib.param.ksigma = "-3.0,3.0"
fors_calib.param.kiter = 999
fors_calib.param.s_degree = -1
fors_calib.param.sradius = -1
fors_calib.param.d_nknots = -1
fors_calib.param.dradius = 10
fors_calib.param.fit_threshold = 0.01
fors_calib.param.nonlinear_level = 60000.0
fors_calib.param.max_nonlinear_ratio = 0.2
You may also set or overwrite some or all parameters by the recipe parameter param, as shown in the following example:
import cpl
fors_calib = cpl.Recipe("fors_calib")
[...]
res = fors_calib( ..., param = {"dispersion":0.0, "peakdetection":0.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.
Copyright¶
This file is currently part of the FORS Instrument Pipeline Copyright (C) 2002-2010 European Southern Observatory
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Code author: Carlo Izzo <usd-help@eso.org>