00001 #ifndef SINFO_NEW_WAVE_CAL_SLIT2_H 00002 #define SINFO_NEW_WAVE_CAL_SLIT2_H 00003 /* 00004 * This file is part of the ESO SINFONI Pipeline 00005 * Copyright (C) 2004,2005 European Southern Observatory 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA 00020 */ 00021 /**************************************************************************** 00022 * E.S.O. - VLT project 00023 * 00024 * "@(#) $Id: sinfo_new_wave_cal_slit2.h,v 1.7 2007/09/21 14:13:43 amodigli Exp $" 00025 * 00026 * who when what 00027 * -------- -------- ---------------------------------------------- 00028 * amodigli 17/09/03 created 00029 */ 00030 00031 /************************************************************************ 00032 * sinfo_new_wave_cal_slit2.h 00033 00034 Normal method: 00035 00036 does the wavelength calibration and the fitting of the slitlet sinfo_edge 00037 positions (ASCII file 32 x 2 values) if wished 00038 produces an array of the bcoefs and of the fit parameters if wished and a 00039 wavelength calibration map input is an emission line frame and a line list 00040 00041 o searching for lines by cross sinfo_correlation with a line list 00042 o Gaussian fitting of emission lines in each column->positions of the lines-> 00043 resulting fit parameters can be stored in an ASCII file 00044 o Fitting of a polynomial to the line positions for each column 00045 o Smoothing: fitting of each polynomial coefficient by another polynomial 00046 across the whole frame -> resulting polynomial coefficients can be stored 00047 in an ASCII file. 00048 o Wavelength calibration map (micron value for each frame pixel) can be 00049 produced by using these coefficients and a cross sinfo_correlation to the 00050 original frame 00051 00052 o The slitlet sinfo_edge positions can be fitted: 00053 1) Automatically (not really stable) or by using guess sinfo_edge positions 00054 2) By using a Boltzmann or a linear slope function 00055 00056 00057 Slit method: 00058 00059 does the wavelength calibration and the fitting of the slitlet sinfo_edge 00060 positions (ASCII file 32 x 2 values) if wished produces a list of the fit 00061 parameters and of the smoothed coefficients if wished and a wavelength 00062 calibration map input is an emission line frame and a line list 00063 00064 o Does the same as other method but smoothes the found polynomial 00065 coefficients within each slitlet and not over the whole frame. 00066 00067 o Produces always a wavelength calibration map and does not crosscorrelate. 00068 00069 *---------------------------------------------------------------------- 00070 */ 00071 00072 /* 00073 * header files 00074 */ 00075 00076 #include <cpl.h> 00077 #include "sinfo_msg.h" 00078 00079 /*---------------------------------------------------------------------------- 00080 * Function ANSI C prototypes 00081 *--------------------------------------------------------------------------*/ 00082 00083 /*---------------------------------------------------------------------------- 00084 Function : sinfo_new_wave_cal_slit2() 00085 In : ini_file: file name of according .ini file 00086 Out : integer (0 if it worked, -1 if it doesn't) 00087 Job : 00088 00089 00090 Normal method: 00091 00092 does the wavelength calibration and the fitting of the slitlet sinfo_edge 00093 positions (ASCII file 32 x 2 values) if wished 00094 produces an array of the bcoefs and of the fit parameters if wished and a 00095 wavelength calibration map input is an emission line frame and a line list 00096 00097 00098 o searching for lines by cross sinfo_correlation with a line list 00099 o Gaussian fitting of emission lines in each column->positions of the lines-> 00100 resulting fit parameters can be stored in an ASCII file 00101 o Fitting of a polynomial to the line positions for each column 00102 o Smoothing: fitting of each polynomial coefficient by another polynomial 00103 across the whole frame -> resulting polynomial coefficients can be stored 00104 in an ASCII file. 00105 o Wavelength calibration map (micron value for each frame pixel) can be 00106 produced by using these coefficients and a cross sinfo_correlation to the 00107 original frame 00108 00109 o The slitlet sinfo_edge positions can be fitted: 00110 1) Automatically (not really stable) or by using guess sinfo_edge positions 00111 2) By using a Boltzmann or a linear slope function 00112 00113 Slit method: 00114 00115 does the wavelength calibration and the fitting of the slitlet sinfo_edge 00116 positions (ASCII file 32 x 2 values) if wished produces a list of the fit 00117 parameters and of the smoothed coefficients if wished and a wavelength 00118 calibration map input is an emission line frame and a line list 00119 00120 o Does the same as other method but smoothes the found polynomial 00121 coefficients within each slitlet and not over the whole frame. 00122 00123 o Produces always a wavelength calibration map and does not crosscorrelate. 00124 ---------------------------------------------------------------------------*/ 00125 int 00126 sinfo_new_wave_cal_slit2 (const char* plugin_id, 00127 cpl_parameterlist* config, 00128 cpl_frameset* sof,cpl_frameset* ref_set) ; 00129 00130 00131 #endif 00132 00133 /*--------------------------------------------------------------------------*/