SINFONI Pipeline Reference Manual  2.6.0
sinfo_ns_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_ns_cfg.h
22  Author : Juergen Schreiber
23  Created on : November 2001
24  Description : ns_ini definitions + handling prototypes
25 
26  ---------------------------------------------------------------------------*/
27 #ifndef SINFO_NS_CFG_H
28 #define SINFO_NS_CFG_H
29 /*---------------------------------------------------------------------------
30  Includes
31  ---------------------------------------------------------------------------*/
32 #include <stdlib.h>
33 #include "sinfo_globals.h"
34 #include <cpl.h>
35 /*---------------------------------------------------------------------------
36  Defines
37  ---------------------------------------------------------------------------*/
38 /*---------------------------------------------------------------------------
39  New types
40  ---------------------------------------------------------------------------*/
41 /*
42  data cube creation blackboard container
43 
44  This structure holds all information related to the cube creation
45  routine. It is used as a container for the flux of ancillary data,
46  computed values, and algorithm status. Pixel flux is separated from
47  the blackboard.
48  */
49 
50 typedef struct ns_config {
51 /*-------General---------*/
52  char inList[FILE_NAME_SZ] ; /* name of the input file list
53  containing the on and off-frames */
54  char outName[FILE_NAME_SZ] ; /* output name of the ASCII list
55  containing the determined distances */
56  char ** framelist ; /* list of frames */
57  int * frametype ; /* list of frame types on or off */
58  int nframes ; /* number of frames in frame list */
59  int nobj ; /* number of object frames in frame list */
60  int noff ; /* number of off frames in frame list */
61 
62 /*------ CleanMean ------*/
63  /* percentage of rejected low intensity pixels */
64  float loReject ;
65  /* percentage of rejected high intensity pixels */
66  float hiReject ;
67  /* indicator if a bad pixel mask is applied or not */
68  int maskInd ;
69  /* file name of the bad pixel mask fits file */
70  char mask[FILE_NAME_SZ] ;
71 /*------ GaussConvolution ------*/
72  /* indicator if Gaussian convolution is applied or not */
73  int gaussInd ;
74  /* kernel half width of the Gaussian response function */
75  int hw ;
76 /*------ NorthSouthTest ------*/
77  /* name of the averaged output fits frame */
78  char fitsname[FILE_NAME_SZ] ;
79  /* number of slitlets */
80  int nslits ;
81  /* pixel half width of a box within which the spatial profile
82  is fitted by a Gaussian */
83  int halfWidth ;
84  /* first guess of the fwhm of the Gaussian fit function */
85  float fwhm ;
86  /* minimum amplitude above which the fit is carried out */
87  float minDiff ;
88  /* estimated average distance of spectra */
89  float estimated_dist ;
90  /* maximal pixel tolerance of the slitlet distances */
91  float devtol ;
92 } ns_config ;
93 
94 
95 
96 /*---------------------------------------------------------------------------
97  Function prototypes
98  ---------------------------------------------------------------------------*/
106 ns_config *
107 sinfo_ns_cfg_create(void);
115 void
116 sinfo_ns_cfg_destroy(ns_config * nc);
117 
118 #endif