The xsh_flexcomp recipe =============================================================== .. data:: xsh_flexcomp Synopsis -------- Compute the flexure of the instrument Description ----------- This recipe computes the flexure of the instrument and correct CAL files. Input Frames : - [UVB, VIS] One RAW frame (Format = RAW, Tag = AFF_ATT_arm) - [NIR] Two RAW frames ((Format = RAW, Tag = AFC_ATT_arm_ON,AFC_ATT_arm_OFF) - An arc line list (Format = TABLE, Tag = ARC_LINE_LIST_AFC_arm) - A spectral format table frame (Format = TABLE, Tag = SPECTRAL_FORMAT_TAB_arm) - [UVB,VIS] A master bias (Format = PRE, Tag = MASTER_BIAS_arm) - [UVB,VIS] A master dark (Format = PRE, Tag = MASTER_DARK_arm) - An order table frame (Format = TABLE, Tag = ORDER_TAB_EDGES_IFU_arm) - [OPTIONAL] A non-linear badpixel map (Tag = BP_MAP_NL_arm) - [OPTIONAL] A reference badpixel map (Tag = BP_MAP_RP_arm) - [poly mode] A wave solution frame (Format = TABLE, Tag = WAVE_TAB_2D_arm) - [physical model mode] A model cfg table (Format = TABLE, Tag = XSH_MOD_CFG_OPT_2D_arm) Products : - [poly mode] An updated wave solution frame (Format = TABLE, Tag = WAVE_TAB_AFC_arm) - [physical model mode] An updated model cfg table (Format = TABLE, Tag = XSH_MOD_CFG_OPT_AFC_arm) - An updated order table frame (Format = TABLE, Tag = ORDER_TAB_AFC_IFU_arm) - [poly mode] A dispersion table frame (Format = TABLE, Tag = DISP_TAB_AFC_arm) Constructor ----------- .. method:: cpl.Recipe("xsh_flexcomp") :noindex: Create an object for the recipe xsh_flexcomp. :: import cpl xsh_flexcomp = cpl.Recipe("xsh_flexcomp") Parameters ---------- .. py:attribute:: xsh_flexcomp.param.keep_temp If 'no', temporary files are deleted. (str; default: 'no') [default="no"]. .. py:attribute:: xsh_flexcomp.param.debug_level Additional xshooter debug level. One of 'none', 'low', 'medium', 'high' (str; default: 'none') [default="none"]. .. py:attribute:: xsh_flexcomp.param.time_stamp Add timestamp to product file name. (bool; default: False) [default=False]. .. py:attribute:: xsh_flexcomp.param.decode_bp Integer representation of the bits to be considered bad when decoding the bad pixel mask pixel values. Most frequent codes relevant for the user: 0: good pixel, 8: pick-up noise, 16: cosmic-ray removed, 32: cosmic-ray unremoved, 128: calibration file defect, 256: hot pixel, 512: dark pixel, 4096: A/D converted saturation, 32768: non linear pixel, 1048576: extrapolated flux in NIR, 4194304: Interpolated flux during extraction. (int; default: 2144337919) [default=2144337919]. .. py:attribute:: xsh_flexcomp.param.pre_overscan_corr pre-overscan correction. 0: no correction 1: mean overscan correction 2: mean prescan correction 3: (mean pre+mean overscan)/2 correction (int; default: 1) [default=1]. .. py:attribute:: xsh_flexcomp.param.detectarclines_fit_win_hsize Half window size (HWS) in pixels for the line 2D fitting window (total window size = 2*HWS+1) (int; default: 6) [default=6]. .. py:attribute:: xsh_flexcomp.param.detectarclines_search_win_hsize Half window size (HWS) in pixels for the line search box around the expected position (total window size = 2*HWS+1) [bin units] (int; default: 3) [default=3]. .. py:attribute:: xsh_flexcomp.param.detectarclines_running_median_hsize Half window size in pixels (HWS) for the running median box (int; default: 0) [default=0]. .. py:attribute:: xsh_flexcomp.param.detectarclines_wavesol_deg_lambda Degree in lambda in the polynomial solution X=f(lambda,order,slit) and Y=f(lambda,order,slit) (POLY mode) (int; default: 5) [default=5]. .. py:attribute:: xsh_flexcomp.param.detectarclines_wavesol_deg_order Degree in order in the polynomial solution X=f(lambda,order,slit) and Y=f(lambda,order,slit) (POLY mode) (int; default: 5) [default=5]. .. py:attribute:: xsh_flexcomp.param.detectarclines_min_sn Minimum signal-to-noise ratio to filter lines [xsh_predict: UVB,VIS=5,NIR=4; xsh_2dmap: UVB=3, VIS=6, NIR=10] (float; default: 5.0) [default=5.0]. .. py:attribute:: xsh_flexcomp.param.detectarclines_find_lines_center Method used to find the center of the lines: gaussian, barycenter. Gaussian method applies a Gaussian fit to the line. Barycenter method computes the line centroid. (str; default: 'gaussian') [default="gaussian"]. .. py:attribute:: xsh_flexcomp.param.detectarclines_clip_sigma Kappa value in sigma clipping during the polynomial solution fit (POLY mode) (float; default: 2.0) [default=2.0]. .. py:attribute:: xsh_flexcomp.param.detectarclines_clip_niter Number of iterations in sigma clipping during the polynomial solution fit (POLY mode) (int; default: 10) [default=10]. .. py:attribute:: xsh_flexcomp.param.detectarclines_clip_frac Minimal fractions of bad pixel allowed in sigma clipping duringthe polynomial solution fit (POLY mode) (float; default: 0.7) [default=0.7]. .. py:attribute:: xsh_flexcomp.param.dispersol_deg_x Degree in X in the polynomial dispersion solution lambda=f(X,Y) and slit=f(X,Y) (int; default: 4) [default=4]. .. py:attribute:: xsh_flexcomp.param.dispersol_deg_y Degree in Y in the polynomial dispersion solution lambda=f(X,Y) and slit=f(X,Y) (int; default: 5) [default=5]. .. py:attribute:: xsh_flexcomp.param.model_maxit Number/10 of annealing iterations if in physical model mode. (int; default: 1000) [default=1000]. .. py:attribute:: xsh_flexcomp.param.model_anneal_factor Multiplier applied to the automatic parameter ranges (i.e. when scenario!=0). For routine operations should be 1.0. (physical model mode). (float; default: 1.0) [default=1.0]. .. py:attribute:: xsh_flexcomp.param.model_scenario selects preset flag and range combinations appropriate to common scenarios: -1 - Only the position across the slit and camera focal length are open 0 - No scenario, input cfg flags and limits used. 1 - scenario appropriate for the startup recipe (large ranges for parameters affecting single ph exposures, dist coeff fixed) 2 - Like 1, but includes parameters affecting all ph positions 3 - Scenario for use in fine tuning cfg to match routine wavecal exposures. All parameters affecting 1ph exposures except dist coeffs are included and parameter ranges are small. (For use by flexcomp in 1ph case). 4 - Like 3 but includes parameters affecting all ph positions (Standard for use by flexcomp in 9ph case and 2dmap). 5 - Like 4 but includes also dist coeffs 6 - Just dist coeffs (and chipx, chipy) (int; default: 3) [default=3]. The following code snippet shows the default settings for the available parameters. :: import cpl xsh_flexcomp = cpl.Recipe("xsh_flexcomp") xsh_flexcomp.param.keep_temp = "no" xsh_flexcomp.param.debug_level = "none" xsh_flexcomp.param.time_stamp = False xsh_flexcomp.param.decode_bp = 2144337919 xsh_flexcomp.param.pre_overscan_corr = 1 xsh_flexcomp.param.detectarclines_fit_win_hsize = 6 xsh_flexcomp.param.detectarclines_search_win_hsize = 3 xsh_flexcomp.param.detectarclines_running_median_hsize = 0 xsh_flexcomp.param.detectarclines_wavesol_deg_lambda = 5 xsh_flexcomp.param.detectarclines_wavesol_deg_order = 5 xsh_flexcomp.param.detectarclines_min_sn = 5.0 xsh_flexcomp.param.detectarclines_find_lines_center = "gaussian" xsh_flexcomp.param.detectarclines_clip_sigma = 2.0 xsh_flexcomp.param.detectarclines_clip_niter = 10 xsh_flexcomp.param.detectarclines_clip_frac = 0.7 xsh_flexcomp.param.dispersol_deg_x = 4 xsh_flexcomp.param.dispersol_deg_y = 5 xsh_flexcomp.param.model_maxit = 1000 xsh_flexcomp.param.model_anneal_factor = 1.0 xsh_flexcomp.param.model_scenario = 3 You may also set or overwrite some or all parameters by the recipe parameter `param`, as shown in the following example: :: import cpl xsh_flexcomp = cpl.Recipe("xsh_flexcomp") [...] res = xsh_flexcomp( ..., param = {"keep_temp":"no", "debug_level":"none"}) .. seealso:: `cpl.Recipe `_ for more information about the recipe object. Bug reports ----------- Please report any problems to `P.Goldoni, L.Guglielmi, R. Haigron, F. Royer `_. Alternatively, you may send a report to the `ESO User Support Department `_. Copyright --------- This file is part of the X-shooter Instrument Pipeline Copyright (C) 2006 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA .. codeauthor:: P.Goldoni, L.Guglielmi, R. Haigron, F. Royer