giframe.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GIFRAME_H
00029 #define GIFRAME_H
00030
00031 #include <cpl_macros.h>
00032 #include <cpl_propertylist.h>
00033 #include <cpl_frame.h>
00034 #include <cpl_frameset.h>
00035
00036 #include <giimage.h>
00037 #include <gitable.h>
00038
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00045
00046
00047
00048 #define GIFRAME_LINEARITY_FLAT "LINEARITY_FLAT"
00049 #define GIFRAME_LINEARITY_BIAS "LINEARITY_BIAS"
00050
00051
00052
00053
00054
00055
00056 #define GIFRAME_BIAS "BIAS"
00057 #define GIFRAME_DARK "DARK"
00058 #define GIFRAME_FIBER_FLAT "FIBER_FLAT"
00059 #define GIFRAME_ARC_SPECTRUM "ARC_SPECTRUM"
00060 #define GIFRAME_SCIENCE "SCIENCE"
00061 #define GIFRAME_STANDARD "STD"
00062
00063
00064
00065
00066
00067 #define GIFRAME_BADPIXEL_MAP "BAD_PIXEL_MAP"
00068 #define GIFRAME_GRATING "GRATING_DATA"
00069 #define GIFRAME_SLITGEOMETRY "SLIT_GEOMETRY"
00070 #define GIFRAME_SLITMASTER "SLIT_GEOMETRY_MASTER"
00071 #define GIFRAME_SLITSETUP "SLIT_GEOMETRY_SETUP"
00072 #define GIFRAME_LINE_MASK "LINE_MASK"
00073 #define GIFRAME_LINE_CATALOG "LINE_CATALOG"
00074 #define GIFRAME_EXTINCTION "ATMOSPHERIC_EXTINCTION"
00075 #define GIFRAME_FLUX_STANDARDS "FLUX_STANDARDS"
00076
00077
00078
00079
00080
00081 #define GIFRAME_BIAS_MASTER "MASTER_BIAS"
00082 #define GIFRAME_DARK_MASTER "MASTER_DARK"
00083
00084 #define GIFRAME_FIBER_FLAT_MASTER "MASTER_FIBER_FLAT"
00085 #define GIFRAME_FIBER_FLAT_EXTSPECTRA "FF_EXTSPECTRA"
00086 #define GIFRAME_FIBER_FLAT_EXTERRORS "FF_EXTERRORS"
00087 #define GIFRAME_FIBER_FLAT_EXTPIXELS "FF_EXTPIXELS"
00088 #define GIFRAME_FIBER_FLAT_EXTTRACE "FF_EXTTRACES"
00089 #define GIFRAME_FIBER_FLAT_EXTMODEL "FF_EXTMODEL"
00090
00091 #define GIFRAME_LOCALIZATION_CENTROID "FF_LOCCENTROID"
00092 #define GIFRAME_LOCALIZATION_WIDTH "FF_LOCWIDTH"
00093 #define GIFRAME_LOCALIZATION_FIT "FF_LOCFIT"
00094
00095 #define GIFRAME_PSF_CENTROID "FF_PSFCENTROID"
00096 #define GIFRAME_PSF_WIDTH "FF_PSFWIDTH"
00097 #define GIFRAME_PSF_FIT "FF_PSFFIT"
00098
00099 #define GIFRAME_ARC_LAMP_EXTSPECTRA "ARC_EXTSPECTRA"
00100 #define GIFRAME_ARC_LAMP_EXTERRORS "ARC_EXTERRORS"
00101 #define GIFRAME_ARC_LAMP_EXTPIXELS "ARC_EXTPIXELS"
00102 #define GIFRAME_ARC_LAMP_EXTTRACE "ARC_EXTTRACES"
00103 #define GIFRAME_ARC_LAMP_EXTMODEL "ARC_EXTMODEL"
00104 #define GIFRAME_ARC_LAMP_RBNSPECTRA "ARC_RBNSPECTRA"
00105 #define GIFRAME_ARC_LAMP_RBNERRORS "ARC_RBNERRORS"
00106
00107 #define GIFRAME_WAVELENGTH_SOLUTION "DISPERSION_SOLUTION"
00108 #define GIFRAME_LINE_DATA "LINE_DATA"
00109 #define GIFRAME_PSF_DATA "FIBER_PROFILE"
00110
00111 #define GIFRAME_SCIENCE_REDUCED "SCIENCE_REDUCED"
00112 #define GIFRAME_SCIENCE_EXTSPECTRA "SCIENCE_EXTSPECTRA"
00113 #define GIFRAME_SCIENCE_EXTERRORS "SCIENCE_EXTERRORS"
00114 #define GIFRAME_SCIENCE_EXTPIXELS "SCIENCE_EXTPIXELS"
00115 #define GIFRAME_SCIENCE_EXTTRACE "SCIENCE_EXTTRACES"
00116 #define GIFRAME_SCIENCE_EXTMODEL "SCIENCE_EXTMODEL"
00117 #define GIFRAME_SCIENCE_RBNSPECTRA "SCIENCE_RBNSPECTRA"
00118 #define GIFRAME_SCIENCE_RBNERRORS "SCIENCE_RBNERRORS"
00119 #define GIFRAME_SCIENCE_RCSPECTRA "SCIENCE_RCSPECTRA"
00120 #define GIFRAME_SCIENCE_RCERRORS "SCIENCE_RCERRORS"
00121 #define GIFRAME_SCIENCE_CUBE_SPECTRA "SCIENCE_CUBE_SPECTRA"
00122 #define GIFRAME_SCIENCE_CUBE_ERRORS "SCIENCE_CUBE_ERRORS"
00123 #define GIFRAME_SCIENCE_CUBE "SCIENCE_CUBE"
00124
00125 #define GIFRAME_STANDARD_REDUCED "STD_REDUCED"
00126 #define GIFRAME_STANDARD_EXTSPECTRA "STD_EXTSPECTRA"
00127 #define GIFRAME_STANDARD_EXTERRORS "STD_EXTERRORS"
00128 #define GIFRAME_STANDARD_EXTPIXELS "STD_EXTPIXELS"
00129 #define GIFRAME_STANDARD_EXTTRACE "STD_EXTTRACES"
00130 #define GIFRAME_STANDARD_EXTMODEL "STD_EXTMODEL"
00131 #define GIFRAME_STANDARD_RBNSPECTRA "STD_RBNSPECTRA"
00132 #define GIFRAME_STANDARD_RBNERRORS "STD_RBNERRORS"
00133 #define GIFRAME_STANDARD_RCSPECTRA "STD_RCSPECTRA"
00134 #define GIFRAME_STANDARD_RCERRORS "STD_RCERRORS"
00135 #define GIFRAME_STANDARD_CUBE_SPECTRA "STD_CUBE_SPECTRA"
00136 #define GIFRAME_STANDARD_CUBE_ERRORS "STD_CUBE_ERRORS"
00137 #define GIFRAME_STANDARD_CUBE "STD_CUBE"
00138
00139 #define GIFRAME_SCATTERED_LIGHT_MODEL "SCATTERED_LIGHT_MODEL"
00140
00141 #define GIFRAME_INSTRUMENT_RESPONSE "INSTRUMENT_RESPONSE"
00142 #define GIFRAME_EFFICIENCY_CURVE "EFFICIENCY_CURVE"
00143
00144
00145
00146
00147
00148
00149 #define GIFRAME_FIBER_SETUP "FIBER_SETUP"
00150
00151
00152
00153
00154
00155
00156 typedef cxint (*GiFrameCreator)(cxcptr, cpl_propertylist*, const cxchar*,
00157 cxcptr);
00158
00159 cpl_frame* giraffe_frame_create(const cxchar* tag, cpl_frame_level level,
00160 const cpl_propertylist *properties,
00161 cxcptr object, cxcptr data,
00162 GiFrameCreator creator);
00163
00164 cxint
00165 giraffe_frame_save(const cpl_frame* frame,
00166 const cpl_propertylist* properties,
00167 cxcptr object, cxcptr data,
00168 GiFrameCreator creator);
00169
00170
00171
00172
00173
00174
00175 cpl_frame* giraffe_frame_create_image(GiImage* image, const cxchar* tag,
00176 cpl_frame_level level, cxbool save,
00177 cxbool update);
00178 cpl_frame* giraffe_frame_create_table(GiTable* table, const cxchar* tag,
00179 cpl_frame_level level, cxbool save,
00180 cxbool update);
00181 cxint giraffe_frame_attach_table(cpl_frame* frame, GiTable* table,
00182 const cxchar* tag, cxbool update);
00183
00184
00185
00186
00187
00188 cpl_frame* giraffe_get_frame(const cpl_frameset* set, const cxchar* tag,
00189 cpl_frame_group group);
00190
00191 cpl_frame* giraffe_get_slitgeometry(const cpl_frameset* set);
00192
00193
00194 #ifdef __cplusplus
00195 }
00196 #endif
00197
00198 #endif