CR2RE Pipeline Reference Manual 1.6.7
cr2res_io.h
1/*
2 * This file is part of the CR2RES Pipeline
3 * Copyright (C) 2002,2003 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 St, Fifth Floor, Boston, MA 02111-1307 USA
18 */
19
20#ifndef CR2RES_IO_H
21#define CR2RES_IO_H
22
23/*-----------------------------------------------------------------------------
24 Includes
25 -----------------------------------------------------------------------------*/
26
27#include <cpl.h>
28#include "hdrl.h"
29
30#include "cr2res_utils.h"
31
32/*-----------------------------------------------------------------------------
33 Functions prototypes
34 -----------------------------------------------------------------------------*/
35
36cpl_table * cr2res_io_get_eop_table() ;
38 const cpl_frameset * in,
39 const char * setting_id,
40 cr2res_decker cr2res_decker) ;
41const cpl_frame * cr2res_io_find_TRACE_WAVE(const cpl_frameset * in) ;
42cpl_frameset * cr2res_io_find_TRACE_WAVE_all(const cpl_frameset * in) ;
43cpl_frameset * cr2res_io_find_EXTRACT_1D_all(const cpl_frameset * in) ;
44const cpl_frame * cr2res_io_find_BPM(const cpl_frameset * in) ;
45cpl_frameset * cr2res_io_find_BPM_all(const cpl_frameset * in) ;
46const cpl_frame * cr2res_io_find_SLIT_FUNC(const cpl_frameset * in) ;
47
48cpl_vector * cr2res_io_read_dits(const cpl_frameset * in) ;
49cpl_vector * cr2res_io_read_ndits(const cpl_frameset * in) ;
50
51cr2res_decker * cr2res_io_read_decker_positions(const cpl_frameset * in) ;
52
54 const cpl_frameset * in,
55 const char * tag,
56 cr2res_decker decker) ;
57
59//int cr2res_io_convert_order_idxp_to_idx(int) ;
60
62 int detector,
63 int data) ;
64
66 const char * filename,
67 int detector,
68 int data) ;
69
70hdrl_image * cr2res_io_load_image(
71 const char * in,
72 int detector) ;
73
74hdrl_imagelist * cr2res_io_load_image_list(
75 const char * in,
76 int detector) ;
77
79 const cpl_frameset * in,
80 int detector) ;
81
82cpl_table * cr2res_load_table(
83 const char * in,
84 int det_nr,
85 int pmin,
86 int pmax) ;
87
89 const char * filename) ;
90
91cpl_image * cr2res_io_load_BPM(
92 const char * filename,
93 int detector,
94 int data) ;
95
97 const char * filename,
98 int detector) ;
99
100hdrl_imagelist * cr2res_io_load_DETLIN_COEFFS(
101 const char * filename,
102 int detector) ;
103
104hdrl_image * cr2res_io_load_MASTER_FLAT(
105 const char * filename,
106 int detector) ;
107
108cpl_table * cr2res_io_load_TRACE_WAVE(
109 const char * filename,
110 int detector);
111
112cpl_table * cr2res_io_load_SLIT_FUNC(
113 const char * filename,
114 int detector) ;
115
116hdrl_image * cr2res_io_load_SLIT_MODEL(
117 const char * filename,
118 int detector) ;
119#ifdef CR2RES_UNUSED
120hdrl_image * cr2res_io_load_TRACE_MAP(
121 const char * filename,
122 int detector) ;
123
124hdrl_image * cr2res_io_load_WAVE_MAP(
125 const char * filename,
126 int detector) ;
127
128hdrl_image * cr2res_io_load_SLIT_CURV_MAP(
129 const char * filename,
130 int detector) ;
131#endif
132cpl_table * cr2res_io_load_EXTRACT_1D(
133 const char * filename,
134 int detector);
135
136#ifdef CR2RES_UNUSED
137cpl_table * cr2res_io_load_SPLICED_1D(
138 const char * filename,
139 int detector);
140
141cpl_table * cr2res_io_load_EXTRACT_2D(
142 const char * filename,
143 int detector);
144#endif
146 const char * filename,
147 cpl_table * out_table,
148 const cpl_parameterlist * parlist,
149 cpl_frameset * set,
150 const char * recipe) ;
151
153 const char * filename,
154 cpl_table * out_table,
155 const cpl_parameterlist * parlist,
156 cpl_frameset * set,
157 const char * recipe,
158 const char * setting_string) ;
159
161 const char * filename,
162 cpl_frameset * allframes,
163 cpl_frameset * inframes,
164 const cpl_parameterlist * parlist,
165 hdrl_image ** master_darks,
166 const cpl_propertylist * qc_list,
167 cpl_propertylist ** ext_plist,
168 const char * procatg,
169 const char * recipe) ;
170
172 const char * filename,
173 cpl_frameset * allframes,
174 cpl_frameset * inframes,
175 const cpl_parameterlist * parlist,
176 hdrl_imagelist ** coeffs,
177 const cpl_propertylist * qc_list,
178 cpl_propertylist ** ext_plist,
179 const char * procatg,
180 const char * recipe) ;
181
183 const char * filename,
184 cpl_frameset * allframes,
185 cpl_frameset * inframes,
186 const cpl_parameterlist * parlist,
187 cpl_image ** bpms,
188 const cpl_propertylist * qc_list,
189 cpl_propertylist ** ext_plist,
190 const char * procatg,
191 const char * recipe) ;
192
194 const char * filename,
195 cpl_frameset * allframes,
196 cpl_frameset * inframes,
197 const cpl_parameterlist * parlist,
198 hdrl_image ** master_flats,
199 const cpl_propertylist * qc_list,
200 cpl_propertylist ** ext_plist,
201 const char * procatg,
202 const char * recipe) ;
203
205 const char * filename,
206 cpl_frameset * allframes,
207 cpl_frameset * inframes,
208 const cpl_parameterlist * parlist,
209 hdrl_image ** calib_collapsed,
210 const cpl_propertylist * qc_list,
211 cpl_propertylist ** ext_plist,
212 const char * procatg,
213 const char * recipe) ;
214
216 const char * filename,
217 cpl_frameset * allframes,
218 cpl_frameset * inframes,
219 const cpl_parameterlist * parlist,
220 cpl_table ** tables,
221 const cpl_propertylist * qc_list,
222 cpl_propertylist ** ext_plist,
223 const char * procatg,
224 const char * recipe) ;
225
227 const char * filename,
228 cpl_frameset * allframes,
229 cpl_frameset * inframes,
230 const cpl_parameterlist * parlist,
231 cpl_table ** tables,
232 const cpl_propertylist * qc_list,
233 cpl_propertylist ** ext_plist,
234 const char * procatg,
235 const char * recipe) ;
236
238 const char * filename,
239 cpl_frameset * allframes,
240 cpl_frameset * inframes,
241 const cpl_parameterlist * parlist,
242 cpl_table ** tables,
243 const cpl_propertylist * qc_list,
244 cpl_propertylist ** ext_plist,
245 const char * procatg,
246 const char * recipe) ;
247
249 const char * filename,
250 cpl_frameset * allframes,
251 cpl_frameset * inframes,
252 const cpl_parameterlist * parlist,
253 cpl_table ** tables,
254 const cpl_propertylist * qc_list,
255 cpl_propertylist ** ext_plist,
256 const char * procatg,
257 const char * recipe) ;
258
260 const char * filename,
261 cpl_frameset * allframes,
262 cpl_frameset * inframes,
263 const cpl_parameterlist * parlist,
264 cpl_table ** slit_func,
265 const cpl_propertylist * qc_list,
266 cpl_propertylist ** ext_plist,
267 const char * procatg,
268 const char * recipe) ;
269
271 const char * filename,
272 cpl_frameset * allframes,
273 cpl_frameset * inframes,
274 const cpl_parameterlist * parlist,
275 hdrl_image ** data,
276 const cpl_propertylist * qc_list,
277 cpl_propertylist ** ext_plist,
278 const char * procatg,
279 const char * recipe) ;
280
282 const char * filename,
283 cpl_frameset * allframes,
284 cpl_frameset * inframes,
285 const cpl_parameterlist * parlist,
286 hdrl_image ** data,
287 const cpl_propertylist * qc_list,
288 cpl_propertylist ** ext_plist,
289 const char * procatg,
290 const char * recipe);
291
293 const char * filename,
294 cpl_frameset * allframes,
295 cpl_frameset * inframes,
296 const cpl_parameterlist * parlist,
297 hdrl_image ** data,
298 const cpl_propertylist * qc_list,
299 cpl_propertylist ** ext_plist,
300 const char * procatg,
301 const char * recipe) ;
302
304 const char * filename,
305 cpl_frameset * allframes,
306 cpl_frameset * inframes,
307 const cpl_parameterlist * parlist,
308 hdrl_image ** data,
309 const cpl_propertylist * qc_list,
310 cpl_propertylist ** ext_plist,
311 const char * procatg,
312 const char * recipe) ;
313
315 const char * filename,
316 cpl_frameset * allframes,
317 cpl_frameset * inframes,
318 const cpl_parameterlist * parlist,
319 hdrl_image ** data,
320 const cpl_propertylist * qc_list,
321 cpl_propertylist ** ext_plist,
322 const char * procatg,
323 const char * recipe) ;
324
326 const char * filename,
327 cpl_frameset * allframes,
328 cpl_frameset * inframes,
329 const cpl_parameterlist * parlist,
330 cpl_table * spliced_1d,
331 const cpl_propertylist * qc_list,
332 cpl_propertylist * ext_plist,
333 const char * procatg,
334 const char * recipe) ;
335
337 const char * filename,
338 cpl_frameset * allframes,
339 cpl_frameset * inframes,
340 const cpl_parameterlist * parlist,
341 cpl_table ** tables,
342 const cpl_propertylist * qc_list,
343 cpl_propertylist ** ext_plist,
344 const char * procatg,
345 const char * recipe) ;
346
348 const char * filename,
349 cpl_frameset * allframes,
350 cpl_frameset * inframes,
351 const cpl_parameterlist * parlist,
352 cpl_table ** tables,
353 const cpl_propertylist * qc_list,
354 cpl_propertylist ** ext_plist,
355 const char * procatg,
356 const char * recipe) ;
357
358#endif
359
int cr2res_io_save_EMISSION_LINES(const char *filename, cpl_table *out_table, const cpl_parameterlist *parlist, cpl_frameset *set, const char *recipe, const char *setting_string)
Save EMISSION_LINES file.
Definition: cr2res_io.c:1435
cpl_table * cr2res_io_load_EXTRACT_1D(const char *filename, int detector)
Load a table from a EXTRACT_1D.
Definition: cr2res_io.c:1296
cpl_frame * cr2res_io_find_SLIT_MODEL(const cpl_frameset *in, const char *setting_id, cr2res_decker cr2res_decker)
Get the first CR2RES_SLIT_MODEL_DRSTYPE frame from a frameset.
Definition: cr2res_io.c:167
const cpl_frame * cr2res_io_find_BPM(const cpl_frameset *in)
Get the first CR2RES_BPM_DRSTYPE frame from a frameset.
Definition: cr2res_io.c:369
int cr2res_io_save_SLIT_MODEL(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **data, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a SLIT_MODEL.
Definition: cr2res_io.c:1823
const cpl_frame * cr2res_io_find_SLIT_FUNC(const cpl_frameset *in)
Get the first CR2RES_SLIT_FUNC_DRSTYPE frame from a frameset.
Definition: cr2res_io.c:267
const cpl_frame * cr2res_io_find_TRACE_WAVE(const cpl_frameset *in)
Get the first CR2RES_TW_DRSTYPE frame from a frameset.
Definition: cr2res_io.c:231
int cr2res_io_save_PHOTO_FLUX(const char *filename, cpl_table *out_table, const cpl_parameterlist *parlist, cpl_frameset *set, const char *recipe)
Save PHOTO_FLUX file.
Definition: cr2res_io.c:1389
char * cr2res_io_create_extname(int detector, int data)
Create Extname.
Definition: cr2res_io.c:618
int cr2res_io_save_WAVE_MAP(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **data, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a WAVE_MAP.
Definition: cr2res_io.c:1916
int cr2res_io_convert_order_idx_to_idxp(int)
Convert the order_idx to the order_idxp.
Definition: cr2res_io.c:583
int cr2res_io_save_TRACE_WAVE(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a TRACE_WAVE.
Definition: cr2res_io.c:1670
int cr2res_io_save_SPLICED_1D(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table *spliced_1d, const cpl_propertylist *qc_list, cpl_propertylist *ext_plist, const char *procatg, const char *recipe)
Save a SPLICED_1D.
Definition: cr2res_io.c:1978
cpl_frameset * cr2res_io_extract_decker_frameset(const cpl_frameset *in, const char *tag, cr2res_decker decker)
Extract the frames with the given tag and Decker position.
Definition: cr2res_io.c:527
int cr2res_io_save_EXTRACT_2D(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a 2D extracted spectrum.
Definition: cr2res_io.c:2009
cpl_vector * cr2res_io_read_dits(const cpl_frameset *in)
Get the DITS from a frame set.
Definition: cr2res_io.c:432
int cr2res_io_save_EXTRACT_1D(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a 1D extracted spectrum.
Definition: cr2res_io.c:1732
cpl_table * cr2res_load_table(const char *in, int det_nr, int pmin, int pmax)
Load the table accordingly.
Definition: cr2res_io.c:862
hdrl_image * cr2res_io_load_SLIT_MODEL(const char *filename, int detector)
Load an hdrl image from a SLIT MODEL.
Definition: cr2res_io.c:1169
cpl_frameset * cr2res_io_find_TRACE_WAVE_all(const cpl_frameset *in)
Get the CR2RES_TW_DRSTYPE frames from a frameset.
Definition: cr2res_io.c:293
hdrl_imagelist * cr2res_io_load_image_list_from_set(const cpl_frameset *in, int detector)
Load an hdrl image list from an images frameset.
Definition: cr2res_io.c:808
hdrl_imagelist * cr2res_io_load_DETLIN_COEFFS(const char *filename, int detector)
Load the detlin coefficients.
Definition: cr2res_io.c:1034
hdrl_image * cr2res_io_load_MASTER_DARK(const char *filename, int detector)
Load an image from a MASTER_DARK.
Definition: cr2res_io.c:990
cpl_table * cr2res_io_get_eop_table()
Get the eop_table.
Definition: cr2res_io.c:120
int cr2res_io_save_MASTER_FLAT(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **master_flats, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a MASTER_FLAT.
Definition: cr2res_io.c:1639
int cr2res_io_save_MASTER_DARK(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **master_darks, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a MASTER_DARK.
Definition: cr2res_io.c:1491
cpl_frameset * cr2res_io_find_BPM_all(const cpl_frameset *in)
Get the CR2RES_BPM_DRSTYPE frames from a frameset.
Definition: cr2res_io.c:397
int cr2res_io_save_DETLIN_COEFFS(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_imagelist **coeffs, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a DETLIN COEFFS.
Definition: cr2res_io.c:1523
int cr2res_io_save_THROUGHPUT(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a THROUGHPUT table.
Definition: cr2res_io.c:1762
int cr2res_io_get_ext_idx(const char *filename, int detector, int data)
Get the wished extension number for a detector.
Definition: cr2res_io.c:644
int cr2res_io_save_TRACE_MAP(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **data, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a TRACE_MAP.
Definition: cr2res_io.c:1885
cpl_table * cr2res_io_load_SLIT_FUNC(const char *filename, int detector)
Load a table from a SLIT_FUNC.
Definition: cr2res_io.c:1139
int cr2res_io_save_SLIT_CURV_MAP(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **data, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a SLIT_CURV_MAP.
Definition: cr2res_io.c:1947
hdrl_image * cr2res_io_load_image(const char *in, int detector)
Load an hdrl image from a image file.
Definition: cr2res_io.c:704
int cr2res_io_save_CALIBRATED(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **calib_collapsed, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a CALIBRATED frame.
Definition: cr2res_io.c:1608
int cr2res_io_save_SLIT_FUNC(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **slit_func, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a SLIT_FUNC.
Definition: cr2res_io.c:1792
int cr2res_io_save_BPM(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_image **bpms, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a BPM.
Definition: cr2res_io.c:1555
cpl_frameset * cr2res_io_find_EXTRACT_1D_all(const cpl_frameset *in)
Get the CR2RES_EXTRACT_1D_DRSTYPE frames from a frameset.
Definition: cr2res_io.c:331
int cr2res_io_save_COMBINED(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, hdrl_image **data, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a COMBINED.
Definition: cr2res_io.c:1854
cr2res_decker * cr2res_io_read_decker_positions(const cpl_frameset *in)
Get the decker positions from a frame set.
Definition: cr2res_io.c:491
cpl_bivector * cr2res_io_load_EMISSION_LINES(const char *filename)
Load an EMISSION_LINES bivector.
Definition: cr2res_io.c:903
cpl_table * cr2res_io_load_TRACE_WAVE(const char *filename, int detector)
Load a table from a TRACE_WAVE.
Definition: cr2res_io.c:1109
int cr2res_io_save_LINES_DIAGNOSTICS(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a LINES_DIAGNOSTICS.
Definition: cr2res_io.c:1701
cpl_image * cr2res_io_load_BPM(const char *filename, int detector, int data)
Load an image from a BPM.
Definition: cr2res_io.c:957
cpl_vector * cr2res_io_read_ndits(const cpl_frameset *in)
Get the NDITs from a frame set.
Definition: cr2res_io.c:462
hdrl_imagelist * cr2res_io_load_image_list(const char *in, int detector)
Load an hdrl image list from a cube file.
Definition: cr2res_io.c:754
int cr2res_io_save_POL_SPEC(const char *filename, cpl_frameset *allframes, cpl_frameset *inframes, const cpl_parameterlist *parlist, cpl_table **tables, const cpl_propertylist *qc_list, cpl_propertylist **ext_plist, const char *procatg, const char *recipe)
Save a Polarimetry spectrum.
Definition: cr2res_io.c:2039
hdrl_image * cr2res_io_load_MASTER_FLAT(const char *filename, int detector)
Load an hdrl image from a MASTER_FLAT.
Definition: cr2res_io.c:1066