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 #ifndef XSH_PFITS_QC_H
00028 #define XSH_PFITS_QC_H
00029
00030
00031
00032
00033
00034 #include <cpl.h>
00035 #include <xsh_data_instrument.h>
00036 #include <xsh_qc_definition.h>
00037
00038
00039
00040
00041 #define XSH_QC_LAMP_NAME "ESO QC LAMP NAME"
00042 #define XSH_QC_LAMP_INTENSITY "ESO QC LAMP INTENSITY"
00043
00044 #define XSH_QC_VRAD_BARYCOR "ESO QC VRAD BARYCOR"
00045 #define XSH_QC_VRAD_BARYCOR_C "Barycentric radial velocity correction"
00046 #define XSH_QC_VRAD_HELICOR "ESO QC VRAD HELICOR"
00047 #define XSH_QC_VRAD_HELICOR_C "Heliocentric radial velocity correction"
00048
00049 #define XSH_QC_EFF_MED_ORD "ESO QC EFF MED ORD"
00050 #define XSH_QC_EFF_PEAK_ORD "ESO QC EFF PEAK ORD"
00051
00052
00053 #define XSH_QC_TRACE_FIT_C0 "ESO QC TRACE FIT C0"
00054 #define XSH_QC_TRACE_FIT_C1 "ESO QC TRACE FIT C1"
00055 #define XSH_QC_TRACE_FIT_C2 "ESO QC TRACE FIT C2"
00056
00057 #define XSH_QC_AFC_XSHIFT "ESO QC AFC XSHIFT"
00058 #define XSH_QC_AFC_YSHIFT "ESO QC AFC YSHIFT"
00059
00060 #define XSH_QC_AFC_XSHIFT_C "Measured shift in X"
00061 #define XSH_QC_AFC_YSHIFT_C "Measured shift in Y"
00062
00063
00064 #define XSH_QC_TRACE_FIT_DIFF_C0 "ESO QC TRACE FIT DIFF C0"
00065 #define XSH_QC_TRACE_FIT_DIFF_C1 "ESO QC TRACE FIT DIFF C1"
00066 #define XSH_QC_TRACE_FIT_DIFF_C2 "ESO QC TRACE FIT DIFF C2"
00067
00068 #define XSH_QC_TRACE_FIT_DIFF_POS "ESO QC TRACE FIT DIFF POS"
00069
00070
00071 #define XSH_QC_TRACE12_MIN "ESO QC TRACE12 MIN"
00072 #define XSH_QC_TRACE12_MAX "ESO QC TRACE12 MAX"
00073 #define XSH_QC_TRACE12_AVG "ESO QC TRACE12 AVG"
00074 #define XSH_QC_TRACE12_MED "ESO QC TRACE12 MED"
00075 #define XSH_QC_TRACE12_RMS "ESO QC TRACE12 RMS"
00076
00077 #define XSH_QC_TRACE32_MIN "ESO QC TRACE32 MIN"
00078 #define XSH_QC_TRACE32_MAX "ESO QC TRACE32 MAX"
00079 #define XSH_QC_TRACE32_AVG "ESO QC TRACE32 AVG"
00080 #define XSH_QC_TRACE32_MED "ESO QC TRACE32 MED"
00081 #define XSH_QC_TRACE32_RMS "ESO QC TRACE32 RMS"
00082
00083 #define XSH_QC_TRACE13_MIN "ESO QC TRACE13 MIN"
00084 #define XSH_QC_TRACE13_MAX "ESO QC TRACE13 MAX"
00085 #define XSH_QC_TRACE13_AVG "ESO QC TRACE13 AVG"
00086 #define XSH_QC_TRACE13_MED "ESO QC TRACE13 MED"
00087 #define XSH_QC_TRACE13_RMS "ESO QC TRACE13 RMS"
00088
00089 #define XSH_QC_WMAP_WAVEC "ESO QC WMAP WAVEC"
00090
00091 #define XSH_QC_LINE_DIFMIN_ORD "ESO QC LINE DIFMIN ORD"
00092 #define XSH_QC_LINE_DIFMAX_ORD "ESO QC LINE DIFMAX ORD"
00093
00094 #define XSH_QC_LINE_DIFMIN "ESO QC LINE DIFMIN"
00095 #define XSH_QC_LINE_DIFMIN_C "Min difference between adjiacent lines"
00096 #define XSH_QC_LINE_DIFMAX "ESO QC LINE DIFMAX"
00097 #define XSH_QC_LINE_DIFMAX_C "Max difference between adjiacent lines"
00098 #define XSH_QC_LINE_DIFMED "ESO QC LINE DIFMED"
00099 #define XSH_QC_LINE_DIFMED_C "Median difference between adjiacent lines"
00100 #define XSH_QC_LINE_DIFAVG "ESO QC LINE DIFAVG"
00101 #define XSH_QC_LINE_DIFAVG_C "Mean difference between adjiacent lines"
00102
00103
00104
00105
00106 #define XSH_QC_FLUX "ESO QC FLUX"
00107 #define XSH_QC_FLUX_MIN "ESO QC FLUX MIN"
00108 #define XSH_QC_FLUX_MIN_C "Min of flux"
00109 #define XSH_QC_FLUX_MAX "ESO QC FLUX MAX"
00110 #define XSH_QC_FLUX_MAX_C "Max of flux"
00111
00112
00113 #define XSH_QC_MBIASSLOPE "ESO QC MBIASSLOP"
00114
00115 #define XSH_QC_NHPIX "ESO QC NHPIX"
00116 #define XSH_QC_ORD_EDGE_NDET "ESO QC ORD EDGE NDET"
00117
00118
00119 #define XSH_QC_MASTER_RON "ESO QC RON MASTER"
00120 #define XSH_QC_MASTER_RON_C "Read out noise on master frame"
00121 #define XSH_QC_MASTER_RON_ERR "ESO QC RON ERR MASTER"
00122 #define XSH_QC_MASTER_RON_ERR_C "Read out noise error on master frame"
00123
00124 #define XSH_QC_DIFFRON "ESO QC DIFFRON"
00125 #define XSH_QC_DIFFRON_ERR "ESO QC DIFFRON ERR"
00126
00127 #define XSH_QC_NORMRON "ESO QC NORMRON"
00128 #define XSH_QC_NORMRON_ERR "ESO QC NORMRON ERR"
00129
00130 #define XSH_QC_MASTER_FPN "ESO QC FPN MASTER"
00131 #define XSH_QC_MASTER_FPN_C "Fixed pattern noise on master frame"
00132 #define XSH_QC_MASTER_FPN_ERR "ESO QC FPN ERR MASTER"
00133 #define XSH_QC_MASTER_FPN_ERR_C "Fixed patter noise error on master frame"
00134
00135 #define XSH_QC_EFF_FCLIP "ESO QC FCLIP"
00136 #define XSH_QC_EFF_NCLIP "ESO QC NCLIP"
00137
00138 #define XSH_QC_FPN "ESO QC FPN"
00139 #define XSH_QC_FPN_ERR "ESO QC FPN ERR"
00140
00141 #define XSH_QC_NORMFPN "ESO QC NORMFPN"
00142 #define XSH_QC_NORMFPN_ERR "ESO QC NORMFPN ERR"
00143
00144 #define XSH_QC_MDARKSLOPE "ESO QC MDARKSLOP"
00145 #define XSH_QC_CONTAM "ESO QC MDARK CONTAM"
00146 #define XSH_QC_CONTAM_C "Master dark contamination"
00147
00148
00149
00150 #define XSH_QC_AFC_RESX_MED "ESO QC AFC RESX MED"
00151 #define XSH_QC_AFC_RESY_MED "ESO QC AFC RESY MED"
00152
00153 #define XSH_QC_AFC_RESX_AVG "ESO QC AFC RESX AVG"
00154 #define XSH_QC_AFC_RESY_AVG "ESO QC AFC RESY AVG"
00155
00156
00157 #define XSH_QC_BP_MAP_PICKUP_NOISE_PIX "ESO QC BP-MAP PICKUP NOISEPIX"
00158 #define XSH_QC_BP_MAP_NBADPIX "ESO QC BP-MAP NBADPIX"
00159 #define XSH_QC_BP_MAP_LINi_MEAN "ESO QC BP-MAP LINi MEAN"
00160 #define XSH_QC_BP_MAP_LINi_MED "ESO QC BP-MAP LINi MED"
00161 #define XSH_QC_BP_MAP_LINi_RMS "ESO QC BP-MAP LINi RMS"
00162
00163
00164 #define XSH_QC_DARKMED_AVE "ESO QC DARKMED AVE"
00165 #define XSH_QC_DARKMED_STDEV "ESO QC DARKMED STDEV"
00166
00167 #define QC_ORD_ORDERPOS_RESIDMIN "ESO QC ORD ORDERPOS RESIDMIN"
00168 #define QC_ORD_ORDERPOS_RESIDMAX "ESO QC ORD ORDERPOS RESIDMAX"
00169 #define QC_ORD_ORDERPOS_RESIDAVG "ESO QC ORD ORDERPOS RESIDAVG"
00170 #define QC_ORD_ORDERPOS_RESIDRMS "ESO QC ORD ORDERPOS RESIDRMS"
00171
00172
00173 #define QC_ORD_ORDERPOS_RESIDMIN_SEL "ESO QC ORD ORDERPOS RESELMIN"
00174 #define QC_ORD_ORDERPOS_RESIDMAX_SEL "ESO QC ORD ORDERPOS RESELMAX"
00175 #define QC_ORD_ORDERPOS_RESIDAVG_SEL "ESO QC ORD ORDERPOS RESELAVG"
00176 #define QC_ORD_ORDERPOS_RESIDRMS_SEL "ESO QC ORD ORDERPOS RESELRMS"
00177
00178 #define QC_ORD_ORDERPOS_MAX_PRED "ESO QC ORD ORDERPOS MAX PRED"
00179 #define QC_ORD_ORDERPOS_MIN_PRED "ESO QC ORD ORDERPOS MIN PRED"
00180 #define QC_ORD_ORDERPOS_NDET "ESO QC ORD ORDERPOS NDET"
00181 #define QC_ORD_ORDERPOS_NPOSALL "ESO QC ORD ORDERPOS NPOSALL"
00182 #define QC_ORD_ORDERPOS_NPOSSEL "ESO QC ORD ORDERPOS NPOSSEL"
00183 #define QC_ORD_ORDERPOS_NPRED "ESO QC ORD ORDERPOS NPRED"
00184 #define QC_WAVECAL_DIFFYAVG "ESO QC WAVECAL DIFFYAVG"
00185 #define QC_WAVECAL_DIFFYMED "ESO QC WAVECAL DIFFYMED"
00186 #define QC_WAVECAL_DIFFYSTD "ESO QC WAVECAL DIFFYSTD"
00187
00188
00189 #define QC_WAVECAL_FWHMRMS "ESO QC WAVECAL FWHMRMS"
00190 #define QC_WAVECAL_FWHMAVG "ESO QC WAVECAL FWHMAVG"
00191 #define QC_WAVECAL_NLININT "ESO QC NLININT"
00192 #define QC_WAVECAL_NLININT_C "No of lines to measure INTAVG [ADU]"
00193 #define QC_WAVECAL_INTAVG "ESO QC INTAVG"
00194 #define QC_WAVECAL_INTAVG_C "average intensity of line list [ADU]"
00195 #define QC_WAVECAL_CATLINE "ESO QC WAVECAL CATLINE"
00196 #define QC_WAVECAL_FOUNDLINE "ESO QC WAVECAL FOUNDLINE"
00197 #define QC_WAVECAL_MATCHLINE "ESO QC WAVECAL MATCHLINE"
00198 #define QC_WAVECAL_SPACEFIT "ESO QC WAVECAL SPACEFIT"
00199 #define QC_WAVECAL_WAVEFIT "ESO QC WAVECAL WAVEFIT"
00200 #define QC_RESOLMED "ESO QC RESOLMED"
00201 #define QC_RESOLRMS "ESO QC RESOLRMS"
00202
00203
00204
00205
00206
00207
00208
00209
00210 double xsh_pfits_get_qc_mbiasavg( const cpl_propertylist * plist);
00211 double xsh_pfits_get_qc_mbiasmed( const cpl_propertylist * plist);
00212 double xsh_pfits_get_qc_mbiasrms( const cpl_propertylist * plist);
00213 double xsh_pfits_get_qc_nhpix( const cpl_propertylist * plist);
00214 double xsh_pfits_get_qc_mbiasslope( const cpl_propertylist * plist);
00215 int xsh_pfits_get_qc_ncrh( const cpl_propertylist * plist);
00216 double xsh_pfits_get_qc_structx( const cpl_propertylist * plist);
00217 double xsh_pfits_get_qc_structy( const cpl_propertylist * plist);
00218 double xsh_pfits_get_qc_ron( const cpl_propertylist * plist);
00219
00220 void xsh_pfits_set_qc_eff_nclip( cpl_propertylist * plist,int value );
00221 void xsh_pfits_set_qc_eff_fclip( cpl_propertylist * plist,double value );
00222
00223 void xsh_pfits_set_qc_mbiasavg(cpl_propertylist * plist, double value);
00224 void xsh_pfits_set_qc_mbiasmed(cpl_propertylist * plist, double value);
00225 void xsh_pfits_set_qc_mbiasrms(cpl_propertylist * plist, double value);
00226 void xsh_pfits_set_qc_nhpix(cpl_propertylist * plist, double value);
00227 void xsh_pfits_set_qc_mbiasslope(cpl_propertylist * plist, double value);
00228 void xsh_pfits_set_qc_structx(cpl_propertylist * plist, double value);
00229 void xsh_pfits_set_qc_structy(cpl_propertylist * plist, double value);
00230 void xsh_pfits_set_qc_fpn(cpl_propertylist * plist, double value);
00231 void xsh_pfits_set_qc_fpn_err(cpl_propertylist * plist, double value);
00232 void xsh_pfits_set_qc_norm_fpn(cpl_propertylist * plist, double value);
00233 void xsh_pfits_set_qc_norm_fpn_err(cpl_propertylist * plist, double value);
00234 void xsh_pfits_set_qc_fpn_master (cpl_propertylist * plist, double value);
00235 void xsh_pfits_set_qc_ron_master (cpl_propertylist * plist, double value);
00236
00237 void xsh_pfits_set_qc_ron1( cpl_propertylist * plist, double value);
00238 void xsh_pfits_set_qc_ron2( cpl_propertylist * plist, double value);
00239 void xsh_pfits_set_qc_ron1_err( cpl_propertylist * plist, double value);
00240 void xsh_pfits_set_qc_ron2_err( cpl_propertylist * plist, double value);
00241 void xsh_pfits_set_qc_ncrh(cpl_propertylist * plist, int value) ;
00242 void xsh_pfits_set_qc_ncrh_mean(cpl_propertylist * plist, int value) ;
00243 void xsh_pfits_set_qc_crrate(cpl_propertylist * plist, double value) ;
00244 void xsh_pfits_set_qc_mdarkavg(cpl_propertylist * plist, double value);
00245 void xsh_pfits_set_qc_mdarkmed(cpl_propertylist * plist, double value);
00246 void xsh_pfits_set_qc_mdarkrms(cpl_propertylist * plist, double value);
00247 void xsh_pfits_set_qc_mdarkslope(cpl_propertylist * plist, double value);
00248 void xsh_pfits_set_qc_contamination(cpl_propertylist * plist, double value);
00249 void xsh_pfits_set_qc_bp_map_ntotal(cpl_propertylist * plist, int value);
00250 void xsh_pfits_set_qc_darkmed_ave(cpl_propertylist * plist, double value);
00251 void xsh_pfits_set_qc_darkmed_stdev(cpl_propertylist * plist, double value);
00252
00253 void xsh_pfits_set_qc_nlinecat(cpl_propertylist * plist, double value);
00254 void xsh_pfits_set_qc_nlinecat_clean(cpl_propertylist * plist, double value);
00255 void xsh_pfits_set_qc_nlinefound(cpl_propertylist * plist, double value);
00256 void xsh_pfits_set_qc_nlinefound_clean(cpl_propertylist * plist, double value);
00257
00258 void xsh_pfits_set_qc_ord_orderpos_residmin( cpl_propertylist * plist,
00259 double value );
00260 void xsh_pfits_set_qc_ord_orderpos_residmax( cpl_propertylist * plist,
00261 double value );
00262 void xsh_pfits_set_qc_ord_orderpos_residavg( cpl_propertylist * plist,
00263 double value );
00264 void xsh_pfits_set_qc_ord_orderpos_residrms( cpl_propertylist * plist,
00265 double value );
00266 void xsh_pfits_set_qc_ord_orderpos_max_pred( cpl_propertylist * plist,
00267 int value );
00268 void xsh_pfits_set_qc_ord_orderpos_min_pred( cpl_propertylist * plist,
00269 int value );
00270 void xsh_pfits_set_qc_ord_orderpos_ndet( cpl_propertylist * plist,
00271 int value );
00272 void xsh_pfits_set_qc_ord_orderpos_nposall( cpl_propertylist * plist,
00273 int value );
00274 void xsh_pfits_set_qc_ord_orderpos_npossel( cpl_propertylist * plist,
00275 int value );
00276 void xsh_pfits_set_qc_ord_orderpos_npred( cpl_propertylist * plist,
00277 int value );
00278
00279 void xsh_pfits_set_qc( cpl_propertylist *plist, void *value,
00280 const char * kw, xsh_instrument * instrument ) ;
00281 void xsh_pfits_set_qc_multi( cpl_propertylist *plist, void *value,
00282 const char * kw, xsh_instrument * instrument,
00283 int idx ) ;
00284 void
00285 xsh_pfits_set_qc_reg1_structx (cpl_propertylist * plist, double value);
00286 void
00287 xsh_pfits_set_qc_reg1_structy (cpl_propertylist * plist, double value);
00288
00289 void
00290 xsh_pfits_set_qc_reg2_structx (cpl_propertylist * plist, double value);
00291 void
00292 xsh_pfits_set_qc_reg2_structy (cpl_propertylist * plist, double value);
00293
00294 #endif