SINFONI Pipeline Reference Manual
2.6.0
sinfoni
sinfo_flat_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_flat_cfg.h
22
Author : Juergen Schreiber
23
Created on : march 2002
24
Description : flat_ini definitions + handling prototypes
25
---------------------------------------------------------------------------*/
26
#ifndef SINFO_FLAT_CFG_H
27
#define SINFO_FLAT_CFG_H
28
/*---------------------------------------------------------------------------
29
Includes
30
---------------------------------------------------------------------------*/
31
#include <stdlib.h>
32
#include <cpl.h>
33
#include "sinfo_globals.h"
34
/*---------------------------------------------------------------------------
35
Defines
36
---------------------------------------------------------------------------*/
37
/*---------------------------------------------------------------------------
38
New types
39
---------------------------------------------------------------------------*/
40
/*
41
prepare lamp flat fields blackboard container
42
43
This structure holds all information related to the flatfield handling
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
flat_config {
50
/*-------General---------*/
51
char
inFile[FILE_NAME_SZ] ;
/* file name of the file containing the
52
list of all input frames */
53
char
outName[FILE_NAME_SZ] ;
/* output name of resulting fits
54
wavelength map */
55
char
** framelist ;
/* list of frames */
56
int
* frametype ;
/* list of frame types on or off */
57
int
* frameposition ;
/* list of grating positions */
58
int
contains_sky ;
/* indicates if off or sky frames were exposed */
59
int
contains_dither ;
/* indicates if spectral dithering was applied */
60
int
nframes ;
/* number of frames in frame list */
61
int
nobj ;
/* number of object frames in frame list */
62
int
noff ;
/* number of off frames in frame list */
63
int
nditherobj ;
/* number of dithered object frames in frame list */
64
int
nditheroff ;
/* number of dithered off frames in frame list */
65
/*------ CleanMean ------*/
66
/* percentage of rejected low intensity pixels */
67
float
loReject ;
68
/* percentage of rejected high intensity pixels */
69
float
hiReject ;
70
/*------ BadPixel ------*/
71
/* indicator if the bad pixels of the flat field are known and
72
if they should be interpolated or not */
73
int
interpolInd ;
74
/* file name of the bad pixel mask fits file */
75
char
mask[FILE_NAME_SZ] ;
76
/* maximal pixel distance from the bad pixel to which valid
77
pixels are searched for*/
78
int
maxRad ;
79
/* file name of the slitlet sinfo_edge position list */
80
char
slitposList[FILE_NAME_SZ] ;
81
/*------ BadPix ------*/
82
/* indicator if a bad pixel mask should be generated or not */
83
int
badInd ;
84
/* name of the static bad pixel mask to be generated */
85
char
maskname[FILE_NAME_SZ] ;
86
/* factor of noise within which the pixels are used to fit a
87
straight line to the column intensity */
88
float
sigmaFactor ;
89
/* factor of calculated standard deviation beyond which the
90
deviation of a pixel value from the
91
median of the 8 nearest neighbors declares a pixel as bad */
92
float
factor ;
93
/* number of iterations of sinfo_median filter */
94
int
iterations ;
95
/* percentage of extreme pixel value to reject when calculating
96
the mean and stdev */
97
float
badLoReject ;
98
float
badHiReject ;
99
/* pixel coordinate of lower left edge of a rectangle zone
100
from which image statistics are computed */
101
int
llx ;
102
int
lly ;
103
/* pixel coordinate of upper right edge of a rectangle zone from
104
which image statistics are computed */
105
int
urx ;
106
int
ury ;
107
/*------ Thresh ------*/
108
/* indicates if the values beyond threshold values should be
109
marked as bad before proceeding
110
to sinfo_median filtering */
111
int
threshInd ;
112
/* factor to the clean standard deviation to define the
113
threshold deviation from the clean mean */
114
float
meanfactor ;
115
116
117
/* QC LOG */
118
119
/* FPN */
120
int
qc_fpn_xmin1;
121
int
qc_fpn_xmax1;
122
int
qc_fpn_ymin1;
123
int
qc_fpn_ymax1;
124
125
int
qc_fpn_xmin2;
126
int
qc_fpn_xmax2;
127
int
qc_fpn_ymin2;
128
int
qc_fpn_ymax2;
129
130
int
qc_thresh_min;
131
int
qc_thresh_max;
132
133
134
} flat_config ;
135
136
/*---------------------------------------------------------------------------
137
Function prototypes
138
---------------------------------------------------------------------------*/
146
flat_config *
147
sinfo_flat_cfg_create(
void
);
155
void
156
sinfo_flat_cfg_destroy(flat_config * sc);
157
158
#endif
Generated by
1.8.6