The flames_cal_orderpos recipe =============================================================== .. data:: flames_cal_orderpos Synopsis -------- Defines uves-echelle-simultaneous calibration fibre order positions Description ----------- The recipe defines the simultaneus calibration fibre order positions in a fibre-echelle image. The orders are initially detected by means of a Hough transformation, the orders are then traced, and the positions are finally fitted with a global polynomial. Expected input frames are simultaneous calibration fibre flat fields, FIB_ORDEF_RED and optionally for each chip a DRS setup table, DRS_TABLE_(REDL|REDU), for backward compatibility, and optionally a guess order table FIB_ORD_GUE_(REDL|REDU) and a master bias, MASTER_BIAS_(REDL|REDU). The recipe processes only the first raw frame found. Output are two order tables FIB_ORD_TAB_(REDL|REDU) contaning the columns: :: X : Position along x Order : Relative order number Y : Order line centroid location Yfit : The fitted order location dY : Uncertainty of Y dYfit_Square : Variance of Yfit Residual : Y - Yfit Residual_Square : Residual^2 OrderRMS : Root mean squared residual of initial one-dimensional linear fit of order The bivariate fit polynomial itself is stored in table extension no. 2. The 3rd table extension contains a table that defines the active fibre traces and their positions (for support of FLAMES/UVES) and 2 images frames FIB_ORDEF_(REDL|REDU) Constructor ----------- .. method:: cpl.Recipe("flames_cal_orderpos") :noindex: Create an object for the recipe flames_cal_orderpos. :: import cpl flames_cal_orderpos = cpl.Recipe("flames_cal_orderpos") Parameters ---------- .. py:attribute:: flames_cal_orderpos.param.backsubdegx Degree (in x) of polynomial used to estimate the background (mode=poly). (int; default: 2) [default=2]. .. py:attribute:: flames_cal_orderpos.param.backsubdegy Degree (in y) of polynomial used to estimate the background (mode=poly). (int; default: 2) [default=2]. .. py:attribute:: flames_cal_orderpos.param.backsubgrid Number of grid points (in x- and y-direction) used to estimate the background (mode=poly). (int; default: 50) [default=50]. .. py:attribute:: flames_cal_orderpos.param.backsubkappa The value of kappa in the one-sided kappa-sigma clipping used to estimate the background (mode=poly). (float; default: 4.0) [default=4.0]. .. py:attribute:: flames_cal_orderpos.param.backsubradiusy The height (in pixels) of the background sampling window is (2*radiusy + 1). This parameter is not corrected for binning. (int; default: 2) [default=2]. .. py:attribute:: flames_cal_orderpos.param.debug Whether or not to save intermediate results to local directory (bool; default: False) [default=False]. .. py:attribute:: flames_cal_orderpos.param.defpol1 The degree of the bivarite fit (cross dispersion direction). If negative, the degree is optimized to give the best fit (int; default: -1) [default=-1]. .. py:attribute:: flames_cal_orderpos.param.defpol2 The degree of the bivarite fit (order number). If negative, the degree is optimized to give the best fit (int; default: -1) [default=-1]. .. py:attribute:: flames_cal_orderpos.param.kappa Used for kappa-sigma clipping of the final polynomial fit. If negative, no clipping is done (float; default: 4.0) [default=4.0]. .. py:attribute:: flames_cal_orderpos.param.maxgap If the order line drops below detection threshold, the order tracing algorithm will try to jump a gap of maximum size 'maxgap' multiplied by the image width (float; default: 0.2) [default=0.2]. .. py:attribute:: flames_cal_orderpos.param.maxrms When fitting the orders with straight lines, this is the maximum allowed RMS relative to the median RMS of all orders (float; default: 100.0) [default=100.0]. .. py:attribute:: flames_cal_orderpos.param.maxslope Maximum possible line slope (float; default: 0.2) [default=0.2]. .. py:attribute:: flames_cal_orderpos.param.minslope Minimum possible line slope. This should be the 'physical' slope on the chip, i.e. not taking binning factors into account, which is handled by the recipe (float; default: 0.0) [default=0.0]. .. py:attribute:: flames_cal_orderpos.param.minthresh The minimum threshold value is (min + minthres*(max - min)). Here 'min' and 'max' are the lowest and highest pixel values in the central bin of the order (float; default: 0.2) [default=0.2]. .. py:attribute:: flames_cal_orderpos.param.mmethod Background subtraction method. If equal to 'median' the background is sampled using the median of a sub-window. If 'minimum', the minimum sub-window value is used. If 'no', no background subtraction is done. (str; default: 'median') [default="median"]. .. py:attribute:: flames_cal_orderpos.param.plotter 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') [default="no"]. .. py:attribute:: flames_cal_orderpos.param.process_chip For RED arm data process the redl, redu, or both chip(s) (str; default: 'both') [default="both"]. .. py:attribute:: flames_cal_orderpos.param.pthres In automatic mode, or if the number of orders to detect is read from a guess table, the detection of new lines stops when the intensity of a candidate line drops to less than 'pthres' times the intensity of the previous detection. (float; default: 0.2) [default=0.2]. .. py:attribute:: flames_cal_orderpos.param.radx Half X size of median filtering window (int; default: 2) [default=2]. .. py:attribute:: flames_cal_orderpos.param.rady Half Y size of median filtering window (int; default: 1) [default=1]. .. py:attribute:: flames_cal_orderpos.param.samplewidth Separation of sample traces (used by Hough transform) in input image (int; default: 50) [default=50]. .. py:attribute:: flames_cal_orderpos.param.sloperes Resolution (width in pixels) of Hough space (int; default: 120) [default=120]. .. py:attribute:: flames_cal_orderpos.param.tracestep The step size used when tracing the orders (int; default: 10) [default=10]. .. py:attribute:: flames_cal_orderpos.param.use_guess_tab If a Guess order table is provided this parameter set how it is used:0: No usage, 1: use it to set lower/upper Y raws where order are searched 2: the order table try to fully match the guess (int; default: 1) [default=1]. The following code snippet shows the default settings for the available parameters. :: import cpl flames_cal_orderpos = cpl.Recipe("flames_cal_orderpos") flames_cal_orderpos.param.backsubdegx = 2 flames_cal_orderpos.param.backsubdegy = 2 flames_cal_orderpos.param.backsubgrid = 50 flames_cal_orderpos.param.backsubkappa = 4.0 flames_cal_orderpos.param.backsubradiusy = 2 flames_cal_orderpos.param.debug = False flames_cal_orderpos.param.defpol1 = -1 flames_cal_orderpos.param.defpol2 = -1 flames_cal_orderpos.param.kappa = 4.0 flames_cal_orderpos.param.maxgap = 0.2 flames_cal_orderpos.param.maxrms = 100.0 flames_cal_orderpos.param.maxslope = 0.2 flames_cal_orderpos.param.minslope = 0.0 flames_cal_orderpos.param.minthresh = 0.2 flames_cal_orderpos.param.mmethod = "median" flames_cal_orderpos.param.plotter = "no" flames_cal_orderpos.param.process_chip = "both" flames_cal_orderpos.param.pthres = 0.2 flames_cal_orderpos.param.radx = 2 flames_cal_orderpos.param.rady = 1 flames_cal_orderpos.param.samplewidth = 50 flames_cal_orderpos.param.sloperes = 120 flames_cal_orderpos.param.tracestep = 10 flames_cal_orderpos.param.use_guess_tab = 1 You may also set or overwrite some or all parameters by the recipe parameter `param`, as shown in the following example: :: import cpl flames_cal_orderpos = cpl.Recipe("flames_cal_orderpos") [...] res = flames_cal_orderpos( ..., param = {"backsubdegx":2, "backsubdegy":2}) .. seealso:: `cpl.Recipe `_ for more information about the recipe object. Bug reports ----------- Please report any problems to `Jonas M. Larsen `_. Alternatively, you may send a report to the `ESO User Support Department `_. Copyright --------- 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 .. codeauthor:: Jonas M. Larsen