GIRAFFE Pipeline Reference Manual

giwavecalib.h

00001 /* $Id: giwavecalib.h,v 1.12 2007/03/12 12:53:23 rpalsa Exp $
00002  *
00003  * This file is part of the GIRAFFE Pipeline
00004  * Copyright (C) 2002-2006 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019  */
00020 
00021 /*
00022  * $Author: rpalsa $
00023  * $Date: 2007/03/12 12:53:23 $
00024  * $Revision: 1.12 $
00025  * $Name: giraffe-2_8_8 $
00026  */
00027 
00028 #ifndef GIWAVECALIB_H
00029 #define GIWAVECALIB_H
00030 
00031 #include <cpl_parameterlist.h>
00032 
00033 #include "gilocalization.h"
00034 #include "giextraction.h"
00035 #include "giwavecalib_types.h"
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00049 struct GiWcalConfig {
00050 
00055     cpl_matrix *line_widths;
00056 
00062     cxdouble flux_ratio;
00063 
00071     cxdouble bright_threshold;
00072 
00080     cxint32 bright_count;
00081 
00087     cxdouble line_threshold;
00088 
00093     cxdouble line_offset;
00094 
00100     cxint32 line_niter;
00101 
00107     cxint32 line_ntest;
00108 
00116     lmrq_model_id line_model;
00117 
00123     cxdouble line_dchsq;
00124 
00130     cxdouble line_reswidratio;
00131 
00137     cxdouble line_widexpo;
00138 
00144     cxbool opt_solution;
00145 
00150     cxint opt_direction;
00151 
00159     lmrq_model_id opt_model;
00160 
00166     cxbool fit_subslits;
00167 
00173     cxint opt_mod_niter;
00174 
00180     cxint opt_mod_ntest;
00181 
00187     cxdouble opt_mod_dchsq;
00188 
00194     cxdouble xws_clip_level;
00195 
00201     cxint xws_clip_niter;
00202 
00208     cxdouble xws_clip_mfrac;
00209 
00215     cxdouble pxw_clip_level;
00216 
00222     cxint pxw_clip_niter;
00223 
00229     cxdouble pxw_clip_mfrac;
00230 
00235     cxint32 pxw_poly_x_deg;
00236 
00241     cxint32 pxw_poly_y_deg;
00242 
00247     cxint32 xws_poly_x_deg;
00248 
00253     cxint32 xws_poly_y_deg;
00254 
00259     cxdouble range_wlen_min;
00260 
00265     cxdouble range_wlen_max;
00266 
00267 };
00268 
00269 typedef struct GiWcalConfig GiWcalConfig;
00270 
00271 
00272 cxint giraffe_wavelength_calibration(GiTable *result, GiExtraction *extraction,
00273                                      GiLocalization *localization,
00274                                      GiTable *grating, GiTable *slitgeo,
00275                                      GiTable *wavelengths,
00276                                      GiWcalConfig *wcalib_config,
00277                                      GiWcalSolution *wavcoeff);
00278 
00279 cpl_image *giraffe_compute_pixel_abcissa(cpl_matrix *m_wavelengths,
00280                                          GiSlitGeometry *fiber_slit_position,
00281                                          cpl_matrix *m_opt_mod_params,
00282                                          lmrq_model lmrq_opt_mod_x);
00283 
00284 GiWcalConfig *giraffe_wavecalibration_config_create(cpl_parlist *);
00285 void giraffe_wavecalibration_config_destroy(GiWcalConfig *);
00286 void giraffe_wavecalibration_config_add(cpl_parlist* );
00287 
00288 #ifdef __cplusplus
00289 }
00290 #endif
00291 
00292 #endif /* GIWAVECALIB_H */

This file is part of the GIRAFFE Pipeline Reference Manual 2.8.8.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Fri Mar 4 10:50:28 2011 by doxygen 1.6.3 written by Dimitri van Heesch, © 1997-2004