GIRAFFE Pipeline Reference Manual

giframe.h
1 /* $Id$
2  *
3  * This file is part of the GIRAFFE Pipeline
4  * Copyright (C) 2002-2006 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 /*
22  * $Author$
23  * $Date$
24  * $Revision$
25  * $Name$
26  */
27 
28 #ifndef GIFRAME_H
29 #define GIFRAME_H
30 
31 #include <cpl_macros.h>
32 #include <cpl_propertylist.h>
33 #include <cpl_frame.h>
34 #include <cpl_frameset.h>
35 
36 #include <giimage.h>
37 #include <gitable.h>
38 
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /*
45  * Technical frames
46  */
47 
48 #define GIFRAME_LINEARITY_FLAT "LINEARITY_FLAT"
49 #define GIFRAME_LINEARITY_BIAS "LINEARITY_BIAS"
50 
51 
52 /*
53  * Raw frames
54  */
55 
56 #define GIFRAME_BIAS "BIAS"
57 #define GIFRAME_DARK "DARK"
58 #define GIFRAME_FIBER_FLAT "FIBER_FLAT"
59 #define GIFRAME_ARC_SPECTRUM "ARC_SPECTRUM"
60 #define GIFRAME_SCIENCE "SCIENCE"
61 #define GIFRAME_STANDARD "STD"
62 
63 /*
64  * Calibration data
65  */
66 
67 #define GIFRAME_BADPIXEL_MAP "BAD_PIXEL_MAP"
68 #define GIFRAME_GRATING "GRATING_DATA"
69 #define GIFRAME_SLITGEOMETRY "SLIT_GEOMETRY"
70 #define GIFRAME_SLITMASTER "SLIT_GEOMETRY_MASTER"
71 #define GIFRAME_SLITSETUP "SLIT_GEOMETRY_SETUP"
72 #define GIFRAME_LINE_MASK "LINE_MASK"
73 #define GIFRAME_LINE_CATALOG "LINE_CATALOG"
74 #define GIFRAME_EXTINCTION "ATMOSPHERIC_EXTINCTION"
75 #define GIFRAME_FLUX_STANDARDS "FLUX_STANDARDS"
76 
77 /*
78  * Products
79  */
80 
81 #define GIFRAME_BIAS_MASTER "MASTER_BIAS"
82 #define GIFRAME_DARK_MASTER "MASTER_DARK"
83 
84 #define GIFRAME_FIBER_FLAT_MASTER "MASTER_FIBER_FLAT"
85 #define GIFRAME_FIBER_FLAT_EXTSPECTRA "FF_EXTSPECTRA"
86 #define GIFRAME_FIBER_FLAT_EXTERRORS "FF_EXTERRORS"
87 #define GIFRAME_FIBER_FLAT_EXTPIXELS "FF_EXTPIXELS"
88 #define GIFRAME_FIBER_FLAT_EXTTRACE "FF_EXTTRACES"
89 #define GIFRAME_FIBER_FLAT_EXTMODEL "FF_EXTMODEL"
90 
91 #define GIFRAME_LOCALIZATION_CENTROID "FF_LOCCENTROID"
92 #define GIFRAME_LOCALIZATION_WIDTH "FF_LOCWIDTH"
93 #define GIFRAME_LOCALIZATION_FIT "FF_LOCFIT"
94 
95 #define GIFRAME_PSF_CENTROID "FF_PSFCENTROID"
96 #define GIFRAME_PSF_WIDTH "FF_PSFWIDTH"
97 #define GIFRAME_PSF_FIT "FF_PSFFIT"
98 
99 #define GIFRAME_ARC_LAMP_EXTSPECTRA "ARC_EXTSPECTRA"
100 #define GIFRAME_ARC_LAMP_EXTERRORS "ARC_EXTERRORS"
101 #define GIFRAME_ARC_LAMP_EXTPIXELS "ARC_EXTPIXELS"
102 #define GIFRAME_ARC_LAMP_EXTTRACE "ARC_EXTTRACES"
103 #define GIFRAME_ARC_LAMP_EXTMODEL "ARC_EXTMODEL"
104 #define GIFRAME_ARC_LAMP_RBNSPECTRA "ARC_RBNSPECTRA"
105 #define GIFRAME_ARC_LAMP_RBNERRORS "ARC_RBNERRORS"
106 
107 #define GIFRAME_WAVELENGTH_SOLUTION "DISPERSION_SOLUTION"
108 #define GIFRAME_LINE_DATA "LINE_DATA"
109 #define GIFRAME_PSF_DATA "FIBER_PROFILE"
110 
111 #define GIFRAME_SCIENCE_REDUCED "SCIENCE_REDUCED"
112 #define GIFRAME_SCIENCE_EXTSPECTRA "SCIENCE_EXTSPECTRA"
113 #define GIFRAME_SCIENCE_EXTERRORS "SCIENCE_EXTERRORS"
114 #define GIFRAME_SCIENCE_EXTPIXELS "SCIENCE_EXTPIXELS"
115 #define GIFRAME_SCIENCE_EXTTRACE "SCIENCE_EXTTRACES"
116 #define GIFRAME_SCIENCE_EXTMODEL "SCIENCE_EXTMODEL"
117 #define GIFRAME_SCIENCE_RBNSPECTRA "SCIENCE_RBNSPECTRA"
118 #define GIFRAME_SCIENCE_RBNERRORS "SCIENCE_RBNERRORS"
119 #define GIFRAME_SCIENCE_RCSPECTRA "SCIENCE_RCSPECTRA"
120 #define GIFRAME_SCIENCE_RCERRORS "SCIENCE_RCERRORS"
121 #define GIFRAME_SCIENCE_CUBE_SPECTRA "SCIENCE_CUBE_SPECTRA"
122 #define GIFRAME_SCIENCE_CUBE_ERRORS "SCIENCE_CUBE_ERRORS"
123 #define GIFRAME_SCIENCE_CUBE "SCIENCE_CUBE"
124 
125 #define GIFRAME_STANDARD_REDUCED "STD_REDUCED"
126 #define GIFRAME_STANDARD_EXTSPECTRA "STD_EXTSPECTRA"
127 #define GIFRAME_STANDARD_EXTERRORS "STD_EXTERRORS"
128 #define GIFRAME_STANDARD_EXTPIXELS "STD_EXTPIXELS"
129 #define GIFRAME_STANDARD_EXTTRACE "STD_EXTTRACES"
130 #define GIFRAME_STANDARD_EXTMODEL "STD_EXTMODEL"
131 #define GIFRAME_STANDARD_RBNSPECTRA "STD_RBNSPECTRA"
132 #define GIFRAME_STANDARD_RBNERRORS "STD_RBNERRORS"
133 #define GIFRAME_STANDARD_RCSPECTRA "STD_RCSPECTRA"
134 #define GIFRAME_STANDARD_RCERRORS "STD_RCERRORS"
135 #define GIFRAME_STANDARD_CUBE_SPECTRA "STD_CUBE_SPECTRA"
136 #define GIFRAME_STANDARD_CUBE_ERRORS "STD_CUBE_ERRORS"
137 #define GIFRAME_STANDARD_CUBE "STD_CUBE"
138 
139 #define GIFRAME_SCATTERED_LIGHT_MODEL "SCATTERED_LIGHT_MODEL"
140 
141 #define GIFRAME_INSTRUMENT_RESPONSE "INSTRUMENT_RESPONSE"
142 #define GIFRAME_EFFICIENCY_CURVE "EFFICIENCY_CURVE"
143 
144 
145 /*
146  * Miscellaneous
147  */
148 
149 #define GIFRAME_FIBER_SETUP "FIBER_SETUP"
150 
151 
152 /*
153  * Generic frame creation utilities
154  */
155 
156 typedef cxint (*GiFrameCreator)(cxcptr, cpl_propertylist*, const cxchar*,
157  cxcptr);
158 
159 cpl_frame* giraffe_frame_create(const cxchar* tag, cpl_frame_level level,
160  const cpl_propertylist *properties,
161  cxcptr object, cxcptr data,
162  GiFrameCreator creator);
163 
164 cxint
165 giraffe_frame_save(const cpl_frame* frame,
166  const cpl_propertylist* properties,
167  cxcptr object, cxcptr data,
168  GiFrameCreator creator);
169 
170 
171 /*
172  * Special frame creation utilities
173  */
174 
175 cpl_frame* giraffe_frame_create_image(GiImage* image, const cxchar* tag,
176  cpl_frame_level level, cxbool save,
177  cxbool update);
178 cpl_frame* giraffe_frame_create_table(GiTable* table, const cxchar* tag,
179  cpl_frame_level level, cxbool save,
180  cxbool update);
181 cxint giraffe_frame_attach_table(cpl_frame* frame, GiTable* table,
182  const cxchar* tag, cxbool update);
183 
184 /*
185  * Frame retrieval utilities
186  */
187 
188 cpl_frame* giraffe_get_frame(const cpl_frameset* set, const cxchar* tag,
189  cpl_frame_group group);
190 
191 cpl_frame* giraffe_get_slitgeometry(const cpl_frameset* set);
192 
193 
194 #ifdef __cplusplus
195 }
196 #endif
197 
198 #endif /* GIFRAME_H */

This file is part of the GIRAFFE Pipeline Reference Manual 2.12.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Mon Mar 24 2014 11:43:52 by doxygen 1.8.2 written by Dimitri van Heesch, © 1997-2004