flames_cal_wavecal - Performs the wavelength calibration
esorex flames_cal_wavecal [OPTIONS] FILE.sof
The recipe performs a wavelength calibration for each extraction window.
Conceptually, each chip contains a number of order lines, each of which contains a number of fibre traces, each of which contains a number of extraction windows. For FLAMES/UVES data there are multiple traces per order but only one extraction window per trace.
The number of traces is defined in the order table while the geometry of the extraction windows is specified by recipe parameters (see below).
Expected input for this recipe is an arc lamp frame, FIB_ARC_LAMP_RED, FIB_ORDEF_TABLE_(REDL|REDU), ´guess´ line table(s) for each chip, FIB_LIN_GUE_(REDL|REDU), a wavelength catalogue table, LINE_REFER_TABLE, and optionally a wavelength table of bright lines, LINE_INTMON_TABLE, used only for computing Quality Control parameters.
The output line table(s), FIB_LINE_TABLE_(REDL|REDU), contains the
columns X : Horizontal position (from Gaussian fit) of detected line dX :
Uncertainty (one sigma) of X Ynew : Vertical position of detected line
XWidth : Width (in pixels) of detected line from Gaussian fit Peak :
Intensity of detected line Background : Fitted background (ADU) of detected
line Slope : Linear background slope (ADU/pixel) of detected line
from Gaussian fit Intensity : Intensity of detected line scaled to unit exposure
time. (This column only present if a LINE_INTMON_TABLE
is provided.) Order : Absolute order number of detected line Y : Relative order number of detected line
(it´s not a very descriptive column name) WaveC : Wavelength of this line (computed using the resulting
dispersion relation) dLambdaC : Uncertainty (one sigma) of ´WaveC´.
Pixel : The width in w.l.u. of a pixel (computed locally).
Residual : Residual (in w.l.u.) of this line Residual_pix :
Residual (in pixels) of this line Lambda_candidate : Nearest line in
catalogue dLambda_cat_sq : Squared distance to nearest catalogue line
dLambda_nn_sq : Squared distance to nearest neighbour multiplied by ALPHA
Ident : The wavelength associated with this emission line,
or invalid if this line was not identified dIdent : Uncertainty of catalogue wavelength Select : 1 if the line was identified, 0 otherwise NLinSol : 1 if the line was identified and accepted for the
polynomial fit, 0 otherwise Intensity : Intensity of detected line scaled to unit exposure
time. (This column is present only if a LINE_INTMON_TABLE
The 2nd table extension contains the dispersion relation (a 2d polynomial).
The 3rd table extension contains the map from (pixel, pixel)-space
physical order numbers (used internally by the calibration recipe; another 2d polynomial).
If there is more than one extraction window, the results of each calibration is stored in subsequent table extensions of the same FITS file. For example, extensions 4, 5 and 6 would contain the resulting line table (and its two associated polynomials) for the second extraction window. The results for the calibration of the n´th extraction window is stored in extensions (3*n - 2) to 3*n.
- --alpha <float>
- The parameter that controls the distance to the nearest neighbours (float; default: 0.1). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.identify.alpha [default = 0.1].
- --debug <bool>
- Whether or not to save intermediate results to local directory (bool; default: False). The full name of this option for the EsoRex configuration file is uves.debug [default = False].
- --degree <int>
- Degrees of the global 2d dispersion polynomial. If a negative number is specified, the polynomial degrees are automatically selected by starting from (1, 1) and inreasing the degrees as long as the RMS residual decreases significantly (int; default: 4). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.identify.degree [default = 4].
- --extract.best <bool>
- (optimal extraction only) If false (fastest), the spectrum is extracted only once. If true (best), the spectrum is extracted twice, the second time using improved variance estimates based on the first iteration. Better variance estimates slightly improve the obtained signal to noise but at the cost of increased execution time (bool; default: True). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.best [default = True].
- --extract.chunk <int>
- In optimal extraction mode, the chunk size (in pixels) used for fitting the analytical profile (a fit of the analytical profile to single bins would suffer from low statistics). (int; default: 32). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.chunk [default = 32].
- --extract.kappa <float>
- In optimal extraction mode, this is the threshold for bad (i.e. hot/cold) pixel rejection. If a pixel deviates more than kappa*sigma (where sigma is the uncertainty of the pixel flux) from the inferred spatial profile, its weight is set to zero. Range: [-1,100]. If this parameter is negative, no rejection is performed. (float; default: 10.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.kappa [default = 10.0].
- --extract.method <str>
- Extraction method. (2d/optimal not supported by uves_cal_wavecal, weighted supported only by uves_cal_wavecal, 2d not supported by uves_cal_response) (str; default: ´average´). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.method [default = average].
- --extract.oversample <int>
- The oversampling factor used for the virtual resampling algorithm. If negative, the value 5 is used for S/N <=200, and the value 10 is used if the estimated S/N is > 200 (int; default: -1). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.oversample [default = -1].
- --extract.profile <str>
- In optimal extraction mode, the kind of profile to use. ´gauss´ gives a Gaussian profile, ´moffat´ gives a Moffat profile with beta=4 and a possible linear sky contribution. ´virtual´ uses a virtual resampling algorithm (i.e. measures and uses the actual object profile). ´constant´ assumes a constant spatial profile and allows optimal extraction of wavelength calibration frames. ´auto´ will automatically select the best method based on the estimated S/N of the object. For low S/N, ´moffat´ or ´gauss´ are recommended (for robustness). For high S/N, ´virtual´ is recommended (for accuracy). In the case of virtual resampling, a precise determination of the order positions is required; therefore the order-definition is repeated using the (assumed non-low S/N) science frame (str; default: ´auto´). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.profile [default = auto].
- --extract.skymethod <str>
- In optimal extraction mode, the sky subtraction method to use. ´median´ estimates the sky as the median of pixels along the slit (ignoring pixels close to the object), whereas ´optimal´ does a chi square minimization along the slit to obtain the best combined object and sky levels. The optimal method gives the most accurate sky determination but is also a bit slower than the median method (str; default: ´optimal´). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.extract.skymethod [default = optimal].
- --kappa <float>
- Lines with residuals more then kappa stdev are rejected from the final fit (float; default: 4.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.calibrate.kappa [default = 4.0].
- --length <float>
- Length (in pixels) of each extraction window. This parameter is also equal to the seperation of adjacent window centers, causing the extraction windows to always be aligned. The parameter is automatically adjusted according to the binning of the input raw frame. If negative, the extraction window length is determined automatically to cover the full slit (float; default: 7.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.length [default = 7.0].
- --maxerror <float>
- This parameter controls the graceful exit of the identification loop. If the RMS of the global fit exceeds this value (pix) the iteration stops (float; default: 20.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.identify.maxerror [default = 20.0].
- --maxlines <int>
- Maximum number of lines to detect. If zero, the default value (1600 for BLUE/REDL chip; 1400 for REDU chip) is used. (int; default: 0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.search.maxlines [default = 0].
- --minlines <int>
- Minimum number of lines to detect. If zero, the default value (1100 for BLUE/REDL chips; 1000 for REDU chip) is used. (int; default: 0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.search.minlines [default = 0].
- --nwindows <int>
- Number of extraction windows per trace. The windows will be aligned (i.e. no overlap and no spacing between adjacent windows). Unless an offset is specified, the middle window(s) is centered on the trace (int; default: 1). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.nwindows [default = 1].
- --offset <float>
- A global offset (in pixels) of all extraction windows (float; default: 0.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.offset [default = 0.0].
- --plotter <str>
- Any plots produced by the recipe are redirected to the command specified by this parameter. The plotting command must contain the substring ´gnuplot´ and must be able to parse gnuplot syntax on its standard input. Valid examples of such a command may include ´gnuplot -persist´ and ´cat > mygnuplot$$.gp´. A finer control of the plotting options can be obtained by writing an executable script, e.g. my_gnuplot.pl, that executes gnuplot after setting the desired gnuplot options (e.g. set terminal pslatex color). To turn off plotting, set this parameter to ´no´ (str; default: ´no´). The full name of this option for the EsoRex configuration file is uves.plotter [default = no].
- --process_chip <str>
- For RED arm data process the redl, redu, or both chip(s) (str; default: ´both´). The full name of this option for the EsoRex configuration file is uves.process_chip [default = both].
- --range <int>
- Width (pix) of search window is 2*range + 1. This parameter is automatically adjusted according to binning. (int; default: 8). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.search.range [default = 8].
- --rebin.scale <bool>
- Whether or not to multiply by the factor dx/dlambda (pixels per wavelength) during the rebinning to conserve the flux. This option is disabled as default because applying the flat field correction already ensures flux conservation. Therefore this parameter should be TRUE (for response and science data) only if reduce.ffmethd = no. (bool; default: False). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.rebin.scale [default = False].
- --rebin.wavestep <float>
- The bin size used for BLUE/REDL data (in w.l.u.) in wavelength space. If negative, a step size of 2/3 * ( average pixel size ) is used. (float; default: -1.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.rebin.wavestep [default = -1.0].
- --rebin.wavestep_redu <float>
- The bin size used for REDU data (in w.l.u.) in wavelength space. If negative, a step size of 2/3 * ( average pixel size ) is used. (float; default: -1.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.rebin.wavestep_redu [default = -1.0].
- --shiftmax <float>
- The maximum shift (pix) in either direction compared to guess solution. This parameter is automatically corrected for binning (float; default: 10.0). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.first.shiftmax [default = 10.0].
- --shiftstep <float>
- The step size (pix) used when searching for the optimum shift. This parameter is automatically corrected for binning (float; default: 0.1). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.first.shiftstep [default = 0.1].
- --shifttoler <float>
- Tolerance (pix) when matching shifted lines. This parameter is not adjusted according to binning (float; default: 0.05). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.first.shifttoler [default = 0.05].
- --tolerance <float>
- Tolerance of fit. If positive, the tolerance is in pixel units. If negative, abs(tolerance) is in wavelength units. Lines with residuals worse than the tolerance are excluded from the final fit. Unlike in previous versions, this parameter is not corrected for CCD binning. This rejection based on the absolute residual in pixel can be effectively disabled by setting the tolerance to a very large number (e.g. 9999). In that case outliers will be rejected using only kappa sigma clipping. (float; default: 0.6). The full name of this option for the EsoRex configuration file is flames_cal_wavecal.calibrate.tolerance [default = 0.6].
Note that it is possible to create a configuration file containing these options, along with suitable default values. Please refer to the details provided by the 'esorex --help' command.
The full documentation for the uves pipeline can be downloaded as a PDF file using the following URL:
An overview over the existing ESO pipelines can be found on the web page https://www.eso.org/sci/software/pipelines/.
Basic documentation about the EsoRex program can be found at the esorex (1) man page.
It is possible to call the pipelines from python using the python-cpl package. See https://packages.python.org/python-cpl/index.html for further information.
The other recipes of the uves pipeline are flames_cal_mkmaster(7), flames_cal_orderpos(7), flames_cal_predict(7), flames_cal_prep_sff_ofpos(7), flames_obs_redchain(7), flames_obs_scired(7), flames_utl_unpack(7), uves_cal_cd_align(7), uves_cal_mbias(7), uves_cal_mdark(7), uves_cal_mflat(7), uves_cal_mflat_combine(7), uves_cal_mkmaster(7), uves_cal_orderpos(7), uves_cal_predict(7), uves_cal_response(7), uves_cal_tflat(7), uves_cal_wavecal(7), uves_obs_redchain(7), uves_obs_scired(7), uves_utl_ima_arith(7), uves_utl_remove_crh_single(7)
Jonas M. Larsen <email@example.com>
Please report any problems to firstname.lastname@example.org. Alternatively, you may send a report to the ESO User Support Department <email@example.com>.
This file is part of the FLAMES/UVES Pipeline Copyright (C) 2004, 2005, 2006, 2007 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 02111-1307 USA