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