MOONS Pipeline Reference Manual 0.13.1
moo_dfs.h
1/*
2 * This file is part of the MOONS Pipeline
3 * Copyright (C) 2002-2016 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, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20#ifndef MOO_DFS_H
21#define MOO_DFS_H
22
23/*-----------------------------------------------------------------------------
24 Define
25 -----------------------------------------------------------------------------*/
26#include <cpl.h>
27
28/* Raw frame tags */
29#define MOONS_TAG_RAW "RAW"
30#define MOONS_TAG_LINEARITY "LINEARITY"
31#define MOONS_TAG_LINEARITY_OFF "LINEARITY_OFF"
32#define MOONS_TAG_LINEARITY_SATURATE "LINEARITY_SATURATE"
33#define MOONS_TAG_LINEARITY_SNR "LINEARITY_SNR"
34#define MOONS_TAG_LINEARITY_COEFF_CUBE "LINEARITY_COEFF_CUBE"
35#define MOONS_TAG_LINEARITY_NORM_COEFF_CUBE "LINEARITY_NORM_COEFF_CUBE"
36#define MOONS_TAG_BIAS "BIAS"
37#define MOONS_TAG_DARK_VIS "DARK_VIS"
38#define MOONS_TAG_DARK_NIR "DARK_NIR"
39#define MOONS_TAG_FLAT "FLAT"
40#define MOONS_TAG_FLAT_ATTACHED "FLAT_ATTACHED"
41#define MOONS_TAG_FLAT_OFF "FLAT_OFF"
42#define MOONS_TAG_ARC "ARC"
43#define MOONS_TAG_ARC_OFF "ARC_OFF"
44#define MOONS_TAG_OBJECT "OBJECT"
45#define MOONS_TAG_STD_FLUX "STD_FLUX"
46#define MOONS_TAG_STD_TELL "STD_TELL"
47#define MOONS_TAG_STD_TARGET_TABLE "STD_TARGET_TABLE"
48#define MOONS_TAG_OBJECT_STARE "OBJECT_STARE"
49#define MOONS_TAG_OBJECT_STARENOD "OBJECT_STARENOD"
50#define MOONS_TAG_OBJECT_XSWITCH "OBJECT_XSWITCH"
51
52#define MOONS_TAG_SKY_STARENOD "SKY_STARENOD"
53
54/*Intermediate */
55#define MOONS_TAG_BIAS_PREPARE "BIAS_PREPARE"
56#define MOONS_TAG_DARK_CORRECTBIAS "DARK_CORRECTBIAS"
57#define MOONS_TAG_DARK_REMOVECRH "DARK_REMOVECRH"
58#define MOONS_TAG_DARK_COMPUTEHOT "DARK_COMPUTEHOT"
59
60#define MOONS_TAG_FLAT_CORRECTBIAS "FLAT_CORRECTBIAS"
61#define MOONS_TAG_FLAT_CORRECTDARK "FLAT_CORRECTDARK"
62#define MOONS_TAG_FLAT_REMOVECRH "FLAT_REMOVECRH"
63#define MOONS_TAG_FLAT_APPLYP2P "FLAT_APPLYP2P"
64
65#define MOONS_TAG_FLATOFF_PREPARE "FLATOFF_PREPARE"
66#define MOONS_TAG_FLAT_EXTSPECTRA "FLAT_EXTSPECTRA"
67
68#define MOONS_TAG_LINEARITY_PREPAREADU "LINEARITY_PREPAREADU"
69#define MOONS_TAG_LINEARITY_COMBSLIT "LINEARITY_COMBSLIT"
70#define MOONS_TAG_LINEARITY_OFF_COMBSLIT "LINEARITY_OFF_COMBSLIT"
71
72#define MOONS_TAG_ARC_CORRECTBIAS "ARC_CORRECTBIAS"
73#define MOONS_TAG_ARCOFF_PREPARE "ARCOFF_PREPARE"
74#define MOONS_TAG_ARC_CORRECTDARK "ARC_CORRECTDARK"
75#define MOONS_TAG_ARC_REMOVECRH "ARC_REMOVECRH"
76
77#define MOONS_TAG_STDTELL_CORRECTDARK "STDTELL_CORRECTDARK"
78#define MOONS_TAG_STDTELL_REMOVECRH "STDTELL_REMOVECRH"
79#define MOONS_TAG_STDTELL_APPLYP2P "STDTELL_APPLYP2P"
80#define MOONS_TAG_STDTELL_EXTSPECTRA "STDTELL_EXTSPECTRA"
81#define MOONS_TAG_STDTELL_FFEXTSPECTRA "STDTELL_FFEXTSPECTRA"
82#define MOONS_TAG_STDTELL_TARGET_TABLE "STDTELL_TARGET_TABLE"
83
84#define MOONS_TAG_STDFLUX_CORRECTDARK "STDFLUX_CORRECTDARK"
85#define MOONS_TAG_STDFLUX_APPLYP2P "STDFLUX_APPLYP2P"
86#define MOONS_TAG_STDFLUX_EXTSPECTRA "STDFLUX_EXTSPECTRA"
87#define MOONS_TAG_STDFLUX_FFEXTSPECTRA "STDFLUX_FFEXTSPECTRA"
88#define MOONS_TAG_STDFLUX_TARGET_TABLE "STDFLUX_TARGET_TABLE"
89
90#define MOONS_TAG_QUICKLOOK_PREPARE "QUICKLOOK_PREPARE"
91#define MOONS_TAG_QUICKLOOK_CORRECTDARK "QUICKLOOK_CORRECTDARK"
92#define MOONS_TAG_QUICKLOOK_APPLYP2P "QUICKLOOK_APPLYP2P"
93#define MOONS_TAG_SCIENCE_QUICKLOOK_EXTSPECTRA "SCIENCE_QUICKLOOK_EXTSPECTRA"
94#define MOONS_TAG_SCIENCE_QUICKLOOK_FFEXTSPECTRA \
95 "SCIENCE_QUICKLOOK_FFEXTSPECTRA"
96
97#define MOONS_TAG_STARE_PREPARE "STARE_PREPARE"
98#define MOONS_TAG_STARE_CORRECTDARK "STARE_CORRECTDARK"
99#define MOONS_TAG_STARE_APPLYP2P "STARE_APPLYP2P"
100#define MOONS_TAG_STD_SCISPECTRA "STD_SCISPECTRA"
101
102#define MOONS_TAG_STARENOD_REMOVECRH "STARENOD_REMOVECRH"
103#define MOONS_TAG_STARENOD_SUBTRACTNOD "STARENOD_SUBTRACTNOD"
104#define MOONS_TAG_STARENOD_OBJ_CORRECTDARK "STARENOD_OBJ_CORRECTDARK"
105#define MOONS_TAG_STARENOD_SKY_CORRECTDARK "STARENOD_SKY_CORRECTDARK"
106#define MOONS_TAG_STARENOD_OBJ_APPLYP2P "STARENOD_OBJ_APPLYP2P"
107#define MOONS_TAG_STARENOD_SKY_APPLYP2P "STARENOD_SKY_APPLYP2P"
108
109#define MOONS_TAG_XSWITCH_REMOVECRH "XSWITCH_REMOVECRH"
110#define MOONS_TAG_XSWITCH_SUBTRACTNOD "XSWITCH_SUBTRACTNOD"
111#define MOONS_TAG_XSWITCH_CORRECTDARK "XSWITCH_CORRECTDARK"
112#define MOONS_TAG_XSWITCH_APPLYP2P "XSWITCH_APPLYP2P"
113#define MOONS_TAG_XSWITCH_TARGET_TABLE "XSWITCH_TARGET_TABLE"
114
115/* Product frame tags */
116#define MOONS_TAG_BP_MAP_RP "BP_MAP_RP"
117#define MOONS_TAG_BP_MAP_NL "BP_MAP_NL"
118#define MOONS_TAG_LINE_CATALOG "LINE_CATALOG"
119#define MOONS_TAG_FLUX_STD_CATALOG "FLUX_STD_CAT"
120#define MOONS_TAG_ATMOS_EXT "ATMOS_EXT"
121#define MOONS_TAG_MASTER_BIAS "MASTER_BIAS"
122#define MOONS_TAG_MASTER_DARK_VIS "MASTER_DARK_VIS"
123#define MOONS_TAG_MASTER_DARK_NIR "MASTER_DARK_NIR"
124#define MOONS_TAG_CALIBRATED_SPECTRA "CALIBRATED_SPECTRA"
125
126#define MOONS_TAG_FF_TRACE_GUESS "FF_TRACE_GUESS"
127#define MOONS_TAG_FF_TRACE "FF_TRACE"
128#define MOONS_TAG_FF_EXTSPECTRA "FF_EXTSPECTRA"
129#define MOONS_TAG_MASTER_FLAT "MASTER_FLAT"
130#define MOONS_TAG_P2P_MAP "P2P_MAP"
131#define MOONS_TAG_F2F_TABLE "F2F_TABLE"
132
133#define MOONS_TAG_ARC_LINE_LIST "ARC_LINE_LIST"
134#define MOONS_TAG_SKY_LINE_LIST "SKY_LINE_LIST"
135#define MOONS_TAG_SPECTRAL_FORMAT "SPECTRAL_FORMAT"
136#define MOONS_TAG_LAYOUT "LAYOUT"
137#define MOONS_TAG_WAVEMAP_GUESS "WAVE_MAP_GUESS"
138#define MOONS_TAG_WAVEMAP_PPM "WAVE_MAP_PPM"
139#define MOONS_TAG_ARC_RBNSPECTRA_PPM "ARC_RBNSPECTRA_PPM"
140#define MOONS_TAG_WAVEMAP_REFIT "WAVE_MAP_REFIT"
141#define MOONS_TAG_ARC_RBNSPECTRA_REFIT "ARC_RBNSPECTRA_REFIT"
142#define MOONS_TAG_WAVEMAP "WAVE_MAP"
143
144#define MOONS_TAG_ARC_EXTSPECTRA_GUESS "ARC_EXTSPECTRA_GUESS"
145#define MOONS_TAG_ARC_RBNSPECTRA_GUESS "ARC_RBNSPECTRA_GUESS"
146#define MOONS_TAG_ARC_EXTSPECTRA "ARC_EXTSPECTRA"
147#define MOONS_TAG_ARC_FFEXTSPECTRA "ARC_FFEXTSPECTRA"
148#define MOONS_TAG_ARC_RBNSPECTRA "ARC_RBNSPECTRA"
149
150#define MOONS_TAG_STDFLUX_RBNSPECTRA "STDFLUX_RBNSPECTRA"
151#define MOONS_TAG_STDFLUX_RBNTELLCORRSPECTRA "STDFLUX_RBNTELLCORRSPECTRA"
152#define MOONS_TAG_STDFLUX_SKSSPECTRA "STDFLUX_SKSSPECTRA"
153#define MOONS_TAG_STDTELL_RBNSPECTRA "STDTELL_RBNSPECTRA"
154#define MOONS_TAG_STDTELL_SKSSPECTRA "STDTELL_SKSSPECTRA"
155#define MOONS_TAG_RESPONSE "RESPONSE"
156
157
158#define MOONS_TAG_TELLURIC_CORR "TELLURIC_CORR"
159
160#define MOONS_TAG_SCIENCE_QUICKLOOK_EXTSPECTRA "SCIENCE_QUICKLOOK_EXTSPECTRA"
161#define MOONS_TAG_SCIENCE_QUICKLOOK_RBNSPECTRA "SCIENCE_QUICKLOOK_RBNSPECTRA"
162#define MOONS_TAG_SCIENCE_QUICKLOOK_TARGET_TABLE \
163 "SCIENCE_QUICKLOOK_TARGET_TABLE"
164#define MOONS_TAG_SCIENCE_QUICKLOOK_SKSSPECTRA "SCIENCE_QUICKLOOK_SKSSPECTRA"
165
166
167#define MOONS_TAG_SCIENCE_STARE_EXTSPECTRA "SCIENCE_STARE_EXTSPECTRA"
168#define MOONS_TAG_SCIENCE_STARE_RBNSPECTRA "SCIENCE_STARE_RBNSPECTRA"
169#define MOONS_TAG_SCIENCE_STARE_RBNFLXSPECTRA "SCIENCE_STARE_RBNFLXSPECTRA"
170#define MOONS_TAG_SCIENCE_STARE_RBNTELLCORRSPECTRA \
171 "SCIENCE_STARE_RBNTELLCORRSPECTRA"
172#define MOONS_TAG_SCIENCE_STARE_TARGET_TABLE "SCIENCE_STARE_TARGET_TABLE"
173#define MOONS_TAG_SCIENCE_STARE_SKSSPECTRA "SCIENCE_STARE_SKSSPECTRA"
174#define MOONS_TAG_SCIENCE_STARE_TELLCORRSPECTRA "SCIENCE_STARE_TELLCORRSPECTRA"
175#define MOONS_TAG_SCIENCE_STARE_1DSPECTRUM "SCIENCE_STARE_1DSPECTRUM"
176
177#define MOONS_TAG_SCIENCE_STARENOD_EXTSPECTRA "SCIENCE_STARENOD_EXTSPECTRA"
178#define MOONS_TAG_SCIENCE_STARENOD_RBNSPECTRA "SCIENCE_STARENOD_RBNSPECTRA"
179#define MOONS_TAG_SCIENCE_STARENOD_RBNFLXSPECTRA \
180 "SCIENCE_STARENOD_RBNFLXSPECTRA"
181#define MOONS_TAG_SCIENCE_STARENOD_RBNTELLCORRSPECTRA \
182 "SCIENCE_STARENOD_RBNTELLCORRSPECTRA"
183#define MOONS_TAG_SCIENCE_STARENOD_TARGET_TABLE "SCIENCE_STARENOD_TARGET_TABLE"
184#define MOONS_TAG_SCIENCE_STARENOD_SKSSPECTRA "SCIENCE_STARENOD_SKSSPECTRA"
185#define MOONS_TAG_SCIENCE_STARENOD_TELLCORRSPECTRA \
186 "SCIENCE_STARENOD_TELLCORRSPECTRA"
187#define MOONS_TAG_SCIENCE_STARENOD_1DSPECTRUM "SCIENCE_STARENOD_1DSPECTRUM"
188#define MOONS_TAG_SCIENCE_STARENOD2_1DSPECTRUM "SCIENCE_STARENOD2_1DSPECTRUM"
189#define MOONS_TAG_SCIENCE_XSWITCH_1DSPECTRUM "SCIENCE_XSWITCH_1DSPECTRUM"
190#define MOONS_TAG_SCIENCE_XSWITCH2_1DSPECTRUM "SCIENCE_XSWITCH2_1DSPECTRUM"
191
192#define MOONS_TAG_SCIENCE_XSWITCH_EXTSPECTRA "SCIENCE_XSWITCH_EXTSPECTRA"
193#define MOONS_TAG_SCIENCE_XSWITCH_RBNSPECTRA "SCIENCE_XSWITCH_RBNSPECTRA"
194#define MOONS_TAG_SCIENCE_XSWITCH_RBNFLXSPECTRA "SCIENCE_XSWITCH_RBNFLXSPECTRA"
195#define MOONS_TAG_SCIENCE_XSWITCH_RBNTELLCORRSPECTRA \
196 "SCIENCE_XSWITCH_RBNTELLCORRSPECTRA"
197#define MOONS_TAG_SCIENCE_XSWITCH_SKSSPECTRA "SCIENCE_XSWITCH_SKSSPECTRA"
198
199#define MOONS_TAG_SCIENCE_TELLCORRSPECTRA "SCIENCE_TELLCORRSPECTRA"
200
201#define MOONS_TAG_STARENOD_SKSSPECTRA "SCIENCE_STARENOD_SKSSPECTRA"
202#define MOONS_TAG_XSWITCH_SKSSPECTRA "SCIENCE_XSWITCH_SKSSPECTRA"
203
204#define MOONS_TAG_STARENOD_COMBINED_SPECTRA "SCIENCE_STARENOD_COMBINED_SPECTRA"
205#define MOONS_TAG_STARENOD2_COMBINED_SPECTRA \
206 "SCIENCE_STARENOD2_COMBINED_SPECTRA"
207#define MOONS_TAG_XSWITCH_COMBINED_SPECTRA "SCIENCE_XSWITCH_COMBINED_SPECTRA"
208#define MOONS_TAG_XSWITCH2_COMBINED_SPECTRA "SCIENCE_XSWITCH2_COMBINED_SPECTRA"
209
210#define MOONS_TAG_AIRGLOW_GROUP "AIRGLOW_GROUP"
211#define MOONS_TAG_AIRGLOW_VAR "AIRGLOW_VAR"
212#define MOONS_TAG_SOLFLUX "SOLFLUX"
213
214#define MOONS_TAG_MOLECFIT_SCI "SCIENCE"
215#define MOONS_TAG_MOLECFIT_MOLECULES "MOLECULES"
216#define MOONS_TAG_MOLECFIT_WINCLUDE "WAVE_INCLUDE"
217#define MOONS_TAG_MOLECFIT_ATM_PARAMS "ATM_PARAMETERS"
218#define MOONS_TAG_MOLECFIT_BEST_FIT_PARAMS "BEST_FIT_PARAMETERS"
219#define MOONS_TAG_MOLECFIT_BEST_FIT_MODEL "BEST_FIT_MODEL"
220#define MOONS_TAG_MOLECFIT_KERNEL_LIBRARY "KERNEL_LIBRARY"
221
222#define MOONS_SLIT_OFFSET_POS1 1
223#define MOONS_SLIT_OFFSET_POS2 2
224#define MOONS_SLIT_OFFSET_EPSILON 1E-12
225/*-----------------------------------------------------------------------------
226 Functions prototypes
227 -----------------------------------------------------------------------------*/
228
229cpl_error_code moo_dfs_set_groups(cpl_frameset *set);
230
231double *moo_dfs_get_exptime(cpl_frameset *set);
232
233cpl_frameset **moo_dfs_split_by_offset(cpl_frameset *set);
234
235#endif
double * moo_dfs_get_exptime(cpl_frameset *set)
Get the EXPTIME from the frameset.
Definition: moo_dfs.c:198
cpl_error_code moo_dfs_set_groups(cpl_frameset *set)
Set the group as RAW or CALIB in a frameset.
Definition: moo_dfs.c:104
cpl_frameset ** moo_dfs_split_by_offset(cpl_frameset *set)
Get the EXPTIME from the frameset.
Definition: moo_dfs.c:59