SINFONI Pipeline Reference Manual  2.6.0
sinfo_finddist_cfg.h
1 /*
2  * This file is part of the ESO SINFONI Pipeline
3  * Copyright (C) 2004,2005 European Southern Observatory
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
18  */
19 /*---------------------------------------------------------------------------
20 
21  File name : sinfo_wavecal_cfg.h
22  Author : Juergen Schreiber
23  Created on : September 2001
24  Description : wavecal_ini definitions + handling prototypes
25 
26  ---------------------------------------------------------------------------*/
27 #ifndef SINFO_FINDDIST_CFG_H
28 #define SINFO_FINDDIST_CFG_H
29 /*---------------------------------------------------------------------------
30  Includes
31  ---------------------------------------------------------------------------*/
32 #include "sinfo_globals.h"
33 #include <cpl.h>
34 /*---------------------------------------------------------------------------
35  Defines
36  ---------------------------------------------------------------------------*/
37 /*---------------------------------------------------------------------------
38  New types
39  ---------------------------------------------------------------------------*/
40 /*
41  Wavelength calibration blackboard container
42 
43  This structure holds all information related to the wavelength calibration
44  routine. It is used as a container for the flux of ancillary data,
45  computed values, and algorithm status. Pixel flux is separated from
46  the blackboard.
47  */
48 
49 typedef struct finddist_config {
50 /*-------General---------*/
51  char inFrame[FILE_NAME_SZ] ; /* input emission line frame */
52  char lineList[FILE_NAME_SZ] ; /* input wavelength and intensity
53  line list */
54  char outName[FILE_NAME_SZ] ; /* output name of resulting fits
55  wavelength map */
56  char nsFrame[FILE_NAME_SZ] ; /* input north-south frame */
57  char mask[FILE_NAME_SZ] ; /* input north-south frame */
58  char fitsname[FILE_NAME_SZ] ;
59  char drs_setup[FILE_NAME_SZ] ;
60 /*------ FindLines ------*/
61  /* estimated central wavelength of the image */
62  float guessBeginWavelength ;
63  /* estimated linear dispersion of emission line frame */
64  float guessDispersion1 ;
65  /* estimated square dispersion of emission line frame */
66  float guessDispersion2 ;
67  /* minimal difference of mean and sinfo_median column intensity */
68  float mindiff ;
69  /* half width of a box within which the line must sit */
70  int halfWidth ;
71  /* sigma of Gaussian of artificial model spectra */
72  float sigma ;
73 
74 /*------ WaveCalib ------*/
75  /* guess value for fwhm of emission lines */
76  float fwhm ;
77  /* minimum amplitude of a line to be fitted */
78  float minAmplitude ;
79  /* maximal residual value for a valid fit */
80  float maxResidual ;
81  /* # of polynomial coefficients used for the dispersion relation */
82  int nrDispCoefficients ;
83  /* # of polynomial coefficients used for the fit of the dispersion
84  coefficients */
85  int nrCoefCoefficients ;
86  /* minimal factor of the standard deviation of the fit coefficients */
87  float sigmaFactor ;
88  /* number of slitlets */
89  int nslitlets ;
90  /* minimal pixel distance of slitlets in spectral direction */
91  int pixeldist ;
92  /* allowed pixel position tolerance between estimated and
93  fitted line position */
94  float pixel_tolerance ;
95 
96 /*------ WaveMap ------*/
97  /* magnifying factor for FFT */
98  int magFactor ;
99 
100 /*------ FitSlits ------*/
101  /* pixel length of the row box within which the fit of the
102  slitlet positions is carried out*/
103  int boxLength ;
104  /* lower row position for the estimate fit */
105  int loPos ;
106  /* upper row position for the estimate fit */
107  int hiPos ;
108  /* float box half width in spectral direction */
109  float yBox ;
110  /* maximal tolerable difference to the expected slitlet positions */
111  float diffTol ;
112 /*------ NorthSouthTest ------*/
113  /* number of slitlets */
114  int nslits ;
115  /* pixel half width of a box within which the spatial
116  profile is fitted by a Gaussian */
117  int nshalfWidth ;
118  /* first guess of the fwhm of the Gaussian fit function */
119  float nsfwhm ;
120  /* minimum amplitude above which the fit is carried out */
121  float minDiff ;
122  /* estimated average distance of spectra */
123  float estimated_dist ;
124  /* maximal pixel tolerance of the slitlet distances */
125  float devtol ;
126 
127  /*----qg log --------*/
128  int qc_thresh_min;
129  int qc_thresh_max;
130 
131 
132 } finddist_config ;
133 /*---------------------------------------------------------------------------
134  Function prototypes
135  ---------------------------------------------------------------------------*/
143 finddist_config *
144 sinfo_finddist_cfg_create(void);
145 
152 void
153 sinfo_finddist_cfg_destroy(finddist_config * jc);
154 
155 #endif