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