MUSE Pipeline Reference Manual
1.0.2
Main Page
Modules
Data Structures
Files
File List
muse
muse_dfs.h
1
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim:set sw=2 sts=2 et cin: */
3
/*
4
* This file is part of the MUSE Instrument Pipeline
5
* Copyright (C) 2005-2014 European Southern Observatory
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
*/
21
22
#ifndef MUSE_DFS_H
23
#define MUSE_DFS_H
24
25
/*----------------------------------------------------------------------------*
26
* Defines *
27
*----------------------------------------------------------------------------*/
28
/* data dictionary version to add into the product header */
29
#define MUSE_PRO_DID "PRO-1.16"
30
31
/* regular expression of all FITS header keywords that *
32
* we want to keep from being overwritten by cpl_dfs */
33
#define MUSE_HEADERS_KEEP_REGEXP "^OBJECT$|ESO DRS MUSE"
34
35
/* Define here the DO.CATG keywords */
36
#define MUSE_TAG_EMPTY ""
37
#define MUSE_TAG_BIAS "BIAS"
38
#define MUSE_TAG_DARK "DARK"
39
#define MUSE_TAG_FLAT "FLAT"
40
#define MUSE_TAG_ARC "ARC"
41
#define MUSE_TAG_WAVE "WAVE"
42
#define MUSE_TAG_MASK "MASK"
43
#define MUSE_TAG_ILLUM "ILLUM"
44
#define MUSE_TAG_NONLINGAIN "NONLINEARITY_GAIN"
45
#define MUSE_TAG_MASTER_BIAS "MASTER_BIAS"
46
#define MUSE_TAG_MASTER_DARK "MASTER_DARK"
47
#define MUSE_TAG_MASTER_FLAT "MASTER_FLAT"
48
#define MUSE_TAG_TRACE_TABLE "TRACE_TABLE"
49
#define MUSE_TAG_TRACE_SAMPLES "TRACE_SAMPLES"
50
#define MUSE_TAG_WAVECAL_TABLE "WAVECAL_TABLE"
51
#define MUSE_TAG_WAVECAL_DEBUG "WAVECAL_RESIDUALS"
52
#define MUSE_TAG_LINE_CATALOG "LINE_CATALOG"
53
#define MUSE_TAG_BADPIX_TABLE "BADPIX_TABLE"
54
#define MUSE_TAG_ARC_RED_LAMP "ARC_RED_LAMP"
55
#define MUSE_TAG_ARC_RED "ARC_RED"
56
#define MUSE_TAG_ARC_RESAMP "ARC_RESAMPLED"
57
#define MUSE_TAG_WAVE_MAP "WAVE_MAP"
58
#define MUSE_TAG_LSF_PROFILE "LSF_PROFILE"
59
#define MUSE_TAG_PT_SUB "PIXTABLE_SUBTRACTED"
60
#define MUSE_TAG_GEOMETRY_TABLE "GEOMETRY_TABLE"
61
#define MUSE_TAG_MASK_REDUCED "MASK_REDUCED"
62
#define MUSE_TAG_MASK_COMBINED "MASK_COMBINED"
63
#define MUSE_TAG_SPOTS_TABLE "SPOTS_TABLE"
64
#define MUSE_TAG_VIGN_MASK "VIGNETTING_MASK"
65
#define MUSE_TAG_CUBE_SKYFLAT "DATACUBE_SKYFLAT"
66
#define MUSE_TAG_TWILIGHT_CUBE "TWILIGHT_CUBE"
67
#define MUSE_TAG_EXTINCT_TABLE "EXTINCT_TABLE"
68
#define MUSE_TAG_STD_FLUX_TABLE "STD_FLUX_TABLE"
69
#define MUSE_TAG_TELLREG "TELLURIC_REGIONS"
70
#define MUSE_TAG_STD_RESPONSE "STD_RESPONSE"
71
#define MUSE_TAG_STD_TELLURIC "STD_TELLURIC"
72
#define MUSE_TAG_CUBE_STD "DATACUBE_STD"
73
#define MUSE_TAG_STD_INTIMAGE "STD_FLUXES"
74
#define MUSE_TAG_ASTROMETRY_REFERENCE "ASTROMETRY_REFERENCE"
75
#define MUSE_TAG_ASTROMETRY_WCS "ASTROMETRY_WCS"
76
#define MUSE_TAG_CUBE_ASTROMETRY "DATACUBE_ASTROMETRY"
77
#define MUSE_TAG_SKY_SPECTRUM "SKY_SPECTRUM"
78
#define MUSE_TAG_SKY_MASK "SKY_MASK"
79
#define MUSE_TAG_SKY_CONT "SKY_CONTINUUM"
80
#define MUSE_TAG_SKY_LINES "SKY_LINES"
81
#define MUSE_TAG_FILTER_LIST "FILTER_LIST"
82
#define MUSE_TAG_OUTPUT_WCS "OUTPUT_WCS"
83
#define MUSE_TAG_IMAGE_FOV "IMAGE_FOV"
84
#define MUSE_TAG_CUBE_FINAL "DATACUBE_FINAL"
85
#define MUSE_TAG_PIXTABLE_COMBINED "PIXTABLE_COMBINED"
86
#define MUSE_TAG_PIXTABLE_POSITIONED "PIXTABLE_POSITIONED"
87
#define MUSE_TAG_PIXTABLE_REDUCED "PIXTABLE_REDUCED"
88
#define MUSE_TAG_OBJECT_RESAMPLED "OBJECT_RESAMPLED"
89
/* tags used by the muse_qi_mask recipe */
90
#define MUSE_TAG_MASK_IMAGE "MASK_IMAGE"
91
92
/* Reasons to exclude frames from a framelist */
93
#define MUSE_EXCLUDE_OK 0
/* frame not excluded */
94
#define MUSE_EXCLUDE_WRONG_IFU 1
/* frame is from different IFU */
95
#define MUSE_EXCLUDE_BINNING 2
/* frame has different binning */
96
#define MUSE_EXCLUDE_NOT_RAW 3
/* frame is not a raw input frame */
97
#define MUSE_EXCLUDE_NO_HEADER 4
/* frame header cannot be loaded */
98
#define MUSE_EXCLUDE_WARN_NO_TAG 5
/* frame does not have a tag at all, outputting a warning recommended */
99
#define MUSE_EXCLUDE_WRONG_TAG 6
/* frame does not have the tag that the recipe needs */
100
101
/* Table column names of tracing table *
102
* the single digit number gives the polynomial number *
103
* (see muse_tracing.h) */
104
#define MUSE_TRACE_TABLE_COL_SLICE_NO "SliceNo"
/* number of slice */
105
#define MUSE_TRACE_TABLE_COL_WIDTH "Width"
/* mean width of slice in pix */
106
#define MUSE_TRACE_TABLE_COL_COEFF "tc%1d_%02d"
/* polynomial coefficient */
107
#define MUSE_TRACE_TABLE_COL_MSE "MSE%1d"
/* mean squared error of fit */
108
109
/* FITS headers of a LINE_CATALOG */
110
#define MUSE_HDR_LINE_CATALOG_VERSION "VERSION"
111
/* Table column names of wavelength calibration table (WAVECAL_TABLE) */
112
#define MUSE_WAVECAL_TABLE_COL_SLICE_NO "SliceNo"
/* number of slice */
113
#define MUSE_WAVECAL_TABLE_COL_COEFF "wlc%1hu%1hu"
/* polynomial coefficient */
114
#define MUSE_WAVECAL_TABLE_COL_MSE "MSE"
/* mean squared error of fit */
115
/* Table column names of a GEOMETRY_TABLE */
116
#define MUSE_GEOTABLE_FIELD "SubField"
117
#define MUSE_GEOTABLE_CCD "SliceCCD"
118
#define MUSE_GEOTABLE_SKY "SliceSky"
119
#define MUSE_GEOTABLE_X "x"
120
#define MUSE_GEOTABLE_Y "y"
121
#define MUSE_GEOTABLE_ANGLE "angle"
122
#define MUSE_GEOTABLE_WIDTH "width"
123
124
/* temporary properties to be propagated within the MUSE pipeline */
125
/* a regular expression for easy erasing */
126
#define MUSE_HDR_TMP_REGEXP "MUSE TMP( |[0-9]+ )(INTAG$|FILE$|NSATURATED$|QUAD)"
127
/* input filename to be used for diagnostic messages; *
128
* should be temporary and never saved to disk! */
129
#define MUSE_HDR_TMP_INTAG "MUSE TMP INTAG"
130
#define MUSE_HDR_TMP_FN "MUSE TMP FILE"
131
#define MUSE_HDR_TMP_NSAT "MUSE TMP NSATURATED"
/* number of saturated pixels */
132
#define MUSE_HDR_TMPi_NSAT "MUSE TMP%d NSATURATED"
133
#define MUSE_HDR_TMP_QUADnMED "MUSE TMP QUAD%hhu MEDIAN"
/* per-quadrant median */
134
135
/* FITS keywords to store overscan statistics */
136
#define MUSE_HDR_OVSC_REGEXP "^ESO DRS MUSE OVSC"
137
#define MUSE_HDR_OVSC_MEAN "ESO DRS MUSE OVSC%1hhu MEAN"
138
#define MUSE_HDR_OVSC_STDEV "ESO DRS MUSE OVSC%1hhu STDEV"
139
#define MUSE_HDR_OVSC_PNC "ESO DRS MUSE OVSC%1hhu POLY NCOEFF"
140
#define MUSE_HDR_OVSC_PY "ESO DRS MUSE OVSC%1hhu POLY Y%hhu"
141
142
/* FITS keywords to exchange the nonlinearity polynomials */
143
#define MUSE_HDR_NONLINn_ORDER "ESO DRS MUSE NONLIN%1hhu POLY ORDER"
144
#define MUSE_HDR_NONLINn_COEFFo "ESO DRS MUSE NONLIN%1hhu POLY COEFF%hhu"
145
#define MUSE_HDR_NONLINn_LLO "ESO DRS MUSE NONLIN%1hhu POLY LOLIMIT"
146
#define MUSE_HDR_NONLINn_LHI "ESO DRS MUSE NONLIN%1hhu POLY HILIMIT"
147
148
/* FITS header keywords for the flat-field levels */
149
#define MUSE_HDR_FLAT_FLUX_LAMP "ESO DRS MUSE FLAT FLUX LAMP"
150
#define MUSE_HDR_FLAT_FLUX_SKY "ESO DRS MUSE FLAT FLUX SKY"
151
152
/* FITS header keywords to store the applied RA/DEC offsets */
153
#define MUSE_HDR_OFFSETi_DATEOBS "ESO DRS MUSE OFFSET%d DATE-OBS"
154
#define MUSE_HDR_OFFSETi_DATEOBS_C "offset %d applied to exposure with this DATE-OBS"
155
#define MUSE_HDR_OFFSETi_DRA "ESO DRS MUSE OFFSET%d DRA"
156
#define MUSE_HDR_OFFSETi_DRA_C "[deg] (= %f arcsec) RA offset applied"
157
#define MUSE_HDR_OFFSETi_DDEC "ESO DRS MUSE OFFSET%d DDEC"
158
#define MUSE_HDR_OFFSETi_DDEC_C "[deg] (= %f arcsec) DEC offset applied"
159
160
/* FITS header keyword to list the filter *
161
* name in the collapsed images (IMAGE_FOV) */
162
#define MUSE_HDR_FILTER "ESO DRS MUSE FILTER NAME"
163
164
/* Bias QC headers */
165
#define QC_BIAS_PREFIXi "ESO QC BIAS INPUT%d"
166
#define QC_BIAS_MASTER_PREFIX "ESO QC BIAS MASTER"
167
#define QC_BIAS_MASTERn_PREFIX QC_BIAS_MASTER_PREFIX"%1hhu"
168
#define QC_BIAS_MASTER_RON QC_BIAS_MASTERn_PREFIX" RON"
169
#define QC_BIAS_MASTER_RONERR QC_BIAS_MASTERn_PREFIX" RONERR"
170
#define QC_BIAS_MASTER_SLOPEX QC_BIAS_MASTERn_PREFIX" SLOPE X"
171
#define QC_BIAS_MASTER_SLOPEY QC_BIAS_MASTERn_PREFIX" SLOPE Y"
172
#define QC_BIAS_MASTER_NBADPIX QC_BIAS_MASTER_PREFIX" NBADPIX"
173
#define QC_BIAS_LEVELi "ESO QC BIAS LEVEL%hhu"
174
#define QC_BIAS_LEVELi_MEAN QC_BIAS_LEVELi" MEAN"
175
#define QC_BIAS_LEVELi_STDEV QC_BIAS_LEVELi" STDEV"
176
#define QC_BIAS_LEVELi_MEDIAN QC_BIAS_LEVELi" MEDIAN"
177
178
/* Dark QC headers */
179
#define QC_DARK_PREFIXi "ESO QC DARK INPUT%d"
180
#define QC_DARK_MASTER_PREFIX "ESO QC DARK MASTER"
181
#define QC_DARK_MASTER_NBADPIX QC_DARK_MASTER_PREFIX" NBADPIX"
182
#define QC_DARK_MASTER_DARKVALUE QC_DARK_MASTER_PREFIX" DC"
183
#define QC_DARK_MASTER_DARKERROR QC_DARK_MASTER_PREFIX" DCERR"
184
185
/* Flat QC headers */
186
#define QC_FLAT_PREFIXi "ESO QC FLAT INPUT%d"
187
#define QC_FLAT_MASTER_PREFIX "ESO QC FLAT MASTER"
188
#define QC_FLAT_MASTER_INTFLUX QC_FLAT_MASTER_PREFIX" INTFLUX"
189
#define QC_FLAT_MASTER_THRUPUT QC_FLAT_MASTER_PREFIX" THRUPUT"
190
#define QC_FLAT_MASTER_SLICEj_MEAN QC_FLAT_MASTER_PREFIX" SLICE%d MEAN"
191
#define QC_FLAT_MASTER_SLICEj_STDEV QC_FLAT_MASTER_PREFIX" SLICE%d STDEV"
192
/* Tracing QC headers (also produced by flat recipe) */
193
#define QC_TRACE_PREFIX "ESO QC TRACE"
194
#define QC_TRACE_L_XPOS QC_TRACE_PREFIX" SLICE_L XPOS"
195
#define QC_TRACE_L_TILT QC_TRACE_PREFIX" SLICE_L TILT"
196
#define QC_TRACE_R_XPOS QC_TRACE_PREFIX" SLICE_R XPOS"
197
#define QC_TRACE_R_TILT QC_TRACE_PREFIX" SLICE_R TILT"
198
#define QC_TRACE_SLICEj_MXSLOP QC_TRACE_PREFIX" SLICE%d MAXSLOPE"
199
#define QC_TRACE_SLICEj_WIDTH QC_TRACE_PREFIX" SLICE%d WIDTH"
200
#define QC_TRACE_WIDTHS_MEDIAN QC_TRACE_PREFIX" WIDTHS MEDIAN"
201
#define QC_TRACE_WIDTHS_MEAN QC_TRACE_PREFIX" WIDTHS MEAN"
202
#define QC_TRACE_WIDTHS_STDEV QC_TRACE_PREFIX" WIDTHS STDEV"
203
#define QC_TRACE_WIDTHS_MIN QC_TRACE_PREFIX" WIDTHS MIN"
204
#define QC_TRACE_WIDTHS_MAX QC_TRACE_PREFIX" WIDTHS MAX"
205
#define QC_TRACE_WIDTHS_MAX QC_TRACE_PREFIX" WIDTHS MAX"
206
#define QC_TRACE_GAPS_MEDIAN QC_TRACE_PREFIX" GAPS MEDIAN"
207
#define QC_TRACE_GAPS_MEAN QC_TRACE_PREFIX" GAPS MEAN"
208
#define QC_TRACE_GAPS_STDEV QC_TRACE_PREFIX" GAPS STDEV"
209
#define QC_TRACE_GAPS_MIN QC_TRACE_PREFIX" GAPS MIN"
210
#define QC_TRACE_GAPS_MAX QC_TRACE_PREFIX" GAPS MAX"
211
212
/* Arc QC headers */
213
#define QC_WAVECAL_PREFIX "ESO QC WAVECAL"
214
#define QC_WAVECAL_PREFIXi QC_WAVECAL_PREFIX" INPUT%u"
215
#define QC_WAVECAL_PREFIXli QC_WAVECAL_PREFIX" LAMP%u INPUT%u"
216
#define QC_WAVECAL_SLICEj_PREFIX QC_WAVECAL_PREFIX" SLICE%hu"
217
#define QC_WAVECAL_SLICEj_LINES_NDET QC_WAVECAL_SLICEj_PREFIX" LINES NDET"
218
#define QC_WAVECAL_SLICEj_LINES_NID QC_WAVECAL_SLICEj_PREFIX" LINES NID"
219
#define QC_WAVECAL_SLICEj_LINES_PEAK_MEAN QC_WAVECAL_SLICEj_PREFIX" LINES PEAK MEAN"
220
#define QC_WAVECAL_SLICEj_LINES_PEAK_STDEV QC_WAVECAL_SLICEj_PREFIX" LINES PEAK STDEV"
221
#define QC_WAVECAL_SLICEj_LINES_PEAK_MIN QC_WAVECAL_SLICEj_PREFIX" LINES PEAK MIN"
222
#define QC_WAVECAL_SLICEj_LINES_PEAK_MAX QC_WAVECAL_SLICEj_PREFIX" LINES PEAK MAX"
223
#define QC_WAVECAL_SLICEj_LAMPl_LINES_PEAK_MEAN \
224
QC_WAVECAL_SLICEj_PREFIX" LAMP%d LINES PEAK MEAN"
225
#define QC_WAVECAL_SLICEj_LAMPl_LINES_PEAK_STDEV \
226
QC_WAVECAL_SLICEj_PREFIX" LAMP%d LINES PEAK STDEV"
227
#define QC_WAVECAL_SLICEj_LAMPl_LINES_PEAK_MAX \
228
QC_WAVECAL_SLICEj_PREFIX" LAMP%d LINES PEAK MAX"
229
#define QC_WAVECAL_SLICEj_LINES_FWHM_MEAN QC_WAVECAL_SLICEj_PREFIX" LINES FWHM MEAN"
230
#define QC_WAVECAL_SLICEj_LINES_FWHM_STDEV QC_WAVECAL_SLICEj_PREFIX" LINES FWHM STDEV"
231
#define QC_WAVECAL_SLICEj_LINES_FWHM_MIN QC_WAVECAL_SLICEj_PREFIX" LINES FWHM MIN"
232
#define QC_WAVECAL_SLICEj_LINES_FWHM_MAX QC_WAVECAL_SLICEj_PREFIX" LINES FWHM MAX"
233
#define QC_WAVECAL_SLICEj_RESOL QC_WAVECAL_SLICEj_PREFIX" RESOL"
234
#define QC_WAVECAL_SLICEj_FIT_NLINES QC_WAVECAL_SLICEj_PREFIX" FIT NLINES"
235
#define QC_WAVECAL_SLICEj_FIT_RMS QC_WAVECAL_SLICEj_PREFIX" FIT RMS"
236
#define QC_WAVECAL_SLICEj_DWLEN_BOT QC_WAVECAL_SLICEj_PREFIX" DWLEN BOTTOM"
237
#define QC_WAVECAL_SLICEj_DWLEN_TOP QC_WAVECAL_SLICEj_PREFIX" DWLEN TOP"
238
#define QC_WAVECAL_SLICEj_WLPOS QC_WAVECAL_SLICEj_PREFIX" WLPOS"
239
#define QC_WAVECAL_SLICEj_WLEN QC_WAVECAL_SLICEj_PREFIX" WLEN"
240
241
/* Geometry QC headers */
242
#define QC_GEO_PREFIX "ESO QC GEO "
243
#define QC_GEO_EXPk_MEAN QC_GEO_PREFIX"EXP%d FWHM MEAN"
244
#define QC_GEO_EXPk_MEDIAN QC_GEO_PREFIX"EXP%d FWHM MEDIAN"
245
#define QC_GEO_EXPk_STDEV QC_GEO_PREFIX"EXP%d FWHM STDEV"
246
#define QC_GEO_IFUi_ANGLE QC_GEO_PREFIX"IFU%hhu ANGLE"
247
#define QC_GEO_IFUi_WLENj QC_GEO_PREFIX"IFU%hhu WLEN%d"
248
#define QC_GEO_IFUi_MEANj QC_GEO_PREFIX"IFU%hhu WLEN%d FLUX MEAN"
249
#define QC_GEO_IFUi_MEDIANj QC_GEO_PREFIX"IFU%hhu WLEN%d FLUX MEDIAN"
250
#define QC_GEO_IFUi_STDEVj QC_GEO_PREFIX"IFU%hhu WLEN%d FLUX STDEV"
251
#define QC_GEO_MASK_ANGLE QC_GEO_PREFIX"MASK ANGLE"
252
253
/* Twilight QC headers */
254
#define QC_TWILIGHTm_PREFIXi "ESO QC TWILIGHT%hhu INPUT%u"
255
#define QC_TWILIGHTm_MASTER_PREFIX "ESO QC TWILIGHT%hhu MASTER"
256
#define QC_TWILIGHTm_INTFLUX "ESO QC TWILIGHT%hhu INTFLUX"
257
#define QC_TWILIGHT_REGEXP "^ESO QC TWILIGHT[0-9]"
258
259
/* SciBasic QC headers */
260
#define QC_SCIBASIC_PREFIX "ESO QC SCIBASIC "
261
#define QC_SCIBASIC_SHIFT QC_SCIBASIC_PREFIX"LAMBDA SHIFT"
262
263
/* general basic reduction QC headers */
264
#define QC_BASIC_NSATURATED "NSATURATED"
/* postfix! */
265
266
/* SciPost QC headers */
267
/* header prefixes for the FWHMi.X and FWHMi.Y keywords, depending on recipe */
268
#define QC_POST_PREFIX_SCIPOST "ESO QC SCIPOST"
269
#define QC_POST_PREFIX_EXPCOMBINE "ESO QC EXPCOMB"
270
#define QC_POST_PREFIX_STANDARD "ESO QC STANDARD"
271
#define QC_POST_PREFIX_ASTROMETRY "ESO QC ASTRO"
272
/* end of the FWHMi.X and FWHMi.Y keywords, depending on recipe */
273
#define QC_POST_POSX "%s POS%d X"
274
#define QC_POST_POSY "%s POS%d Y"
275
#define QC_POST_FWHMX "%s FWHM%d X"
276
#define QC_POST_FWHMY "%s FWHM%d Y"
277
278
/* Astrometric solution QC headers */
279
#define QC_ASTROMETRY_NSTARS "ESO QC ASTRO NSTARS"
280
#define QC_ASTROMETRY_SCX "ESO QC ASTRO SCALE X"
281
#define QC_ASTROMETRY_SCY "ESO QC ASTRO SCALE Y"
282
#define QC_ASTROMETRY_ANGX "ESO QC ASTRO ANGLE X"
283
#define QC_ASTROMETRY_ANGY "ESO QC ASTRO ANGLE Y"
284
#define QC_ASTROMETRY_RESX "ESO QC ASTRO MEDRES X"
285
#define QC_ASTROMETRY_RESY "ESO QC ASTRO MEDRES Y"
286
287
#endif
/* MUSE_DFS_H */
Generated on Wed Mar 11 2015 13:56:18 for MUSE Pipeline Reference Manual by
1.8.9.1