SINFONI Pipeline Reference Manual  2.5.2
sinfo_badsky_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_badsky_cfg.h
22  Author : Juergen Schreiber
23  Created on : October 2001
24  Description : bad_ini definitions + handling prototypes
25 
26  ---------------------------------------------------------------------------*/
27 #ifndef SINFO_BADSKY_CFG_H
28 #define SINFO_BADSKY_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  bad pixels search blackboard container
43 
44  This structure holds all information related to the bad pixels search
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 badsky_config {
51 /*-------General---------*/
52  char inFile[FILE_NAME_SZ] ; /* file name of the
53  file containing the list of
54  all input frames */
55  char sinfo_dark[FILE_NAME_SZ] ; /* Input sinfo_dark */
56  char outName[FILE_NAME_SZ] ; /* output name of resulting
57  bad pixel mask (fits file)*/
58  char ** framelist ; /* list of frames */
59  int nframes ; /* number of frames in frame list */
60 
61 /*------ BadPix ------*/
62  /* factor of noise within which the pixels are used to fit a
63  straight line to the column intensity */
64  float sigmaFactor ;
65  /* factor of calculated standard deviation beyond
66  which the deviation of a pixel value from the
67  median of the 8 nearest neighbors declares a pixel as bad */
68  float factor ;
69  /* number of iterations of sinfo_median filter */
70  int iterations ;
71  /* percentage of extreme pixel value to reject
72  when calculating the mean and stdev */
73  float loReject ;
74  float hiReject ;
75  /* pixel coordinate of lower left sinfo_edge of a
76  rectangle zone from which image statistics are computed */
77  int llx ;
78  int lly ;
79  /* pixel coordinate of upper right sinfo_edge of a rectangle
80  zone from which image statistics are computed */
81  int urx ;
82  int ury ;
83 /*------ Thresh ------*/
84  /* indicates if the values beyond threshold values should be
85  marked as bad before proceeding
86  to sinfo_median filtering */
87  int threshInd ;
88  /* factor to the clean standard deviation to define the
89  threshold deviation from the clean mean */
90  float meanfactor ;
91  /* minimum vlaue of good data */
92  float mincut ;
93  /* maximum vlaue of good data */
94  float maxcut ;
95  /* indicates which method will be used */
96  int methodInd ;
97 } badsky_config ;
98 /*---------------------------------------------------------------------------
99  Function prototypes
100  ---------------------------------------------------------------------------*/
101 
109 badsky_config *
110 sinfo_badsky_cfg_create(void);
117 void
118 sinfo_badsky_cfg_destroy(badsky_config * sc);
119 
120 #endif