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_H
00028 #define XSH_PFITS_H
00029
00030
00031
00032
00033 #include <stdbool.h>
00034 #include <cpl.h>
00035 #include <xsh_pfits_qc.h>
00036
00037
00038
00039 #define XSH_MJDOBS "MJD-OBS"
00040 #define XSH_NAXIS "NAXIS"
00041
00042
00043 #define XSH_RA "RA"
00044 #define XSH_DEC "DEC"
00045
00046 #define XSH_GEOLAT "ESO TEL GEOLAT"
00047 #define XSH_GEOLON "ESO TEL GEOLON"
00048 #define XSH_UTC "UTC"
00049
00050 #define XSH_TELESCOP "TELESCOP"
00051
00052 #define XSH_TEL_TARG_ALPHA "ESO TEL TARG ALPHA"
00053 #define XSH_TEL_TARG_DELTA "ESO TEL TARG DELTA"
00054
00055
00056 #define XSH_CD1 "CD1"
00057
00058 #define XSH_CD11 "CD1_1"
00059 #define XSH_CD12 "CD1_2"
00060 #define XSH_CD21 "CD2_1"
00061 #define XSH_CD22 "CD2_2"
00062
00063
00064 #define XSH_DET_WIN1_UIT1 "ESO DET WIN1 UIT1"
00065
00066
00067 #define XSH_CD13 "CD1_3"
00068 #define XSH_CD31 "CD3_1"
00069 #define XSH_CD23 "CD2_3"
00070 #define XSH_CD32 "CD3_2"
00071 #define XSH_CD33 "CD3_3"
00072
00073 #define XSH_LST "LST"
00074
00075
00076
00077 #define XSH_NAXIS1 "NAXIS1"
00078 #define XSH_NAXIS2 "NAXIS2"
00079 #define XSH_NAXIS3 "NAXIS3"
00080
00081 #define XSH_CRPIX1 "CRPIX1"
00082 #define XSH_CRPIX2 "CRPIX2"
00083 #define XSH_CRPIX3 "CRPIX3"
00084
00085
00086 #define XSH_CDELT1 "CDELT1"
00087 #define XSH_CDELT2 "CDELT2"
00088 #define XSH_CDELT3 "CDELT3"
00089
00090 #define XSH_CRVAL1 "CRVAL1"
00091 #define XSH_CRVAL2 "CRVAL2"
00092 #define XSH_CRVAL3 "CRVAL3"
00093
00094
00095 #define XSH_CTYPE1 "CTYPE1"
00096 #define XSH_CTYPE2 "CTYPE2"
00097 #define XSH_CTYPE3 "CTYPE3"
00098
00099 #define XSH_CUNIT1 "CUNIT1"
00100 #define XSH_CUNIT2 "CUNIT2"
00101 #define XSH_CUNIT3 "CUNIT3"
00102
00103 #define XSH_BUNIT "BUNIT"
00104 #define XSH_BUNIT_FLUX_ABS_C "erg/s/cm2/A"
00105 #define XSH_BUNIT_FLUX_REL_C "ADU"
00106 #define XSH_BUNIT_NONE_C ""
00107
00108 #define XSH_RAW1_NAME "ESO PRO REC1 RAW1 NAME"
00109 #define XSH_RAW1_CATG "ESO PRO REC1 RAW1 CATG"
00110 #define XSH_ARCFILE "ARCFILE"
00111 #define XSH_DATE "DATE"
00112 #define XSH_DATE_OBS "DATE-OBS"
00113 #define XSH_EXTNAME "EXTNAME"
00114 #define XSH_EXPTIME "EXPTIME"
00115
00116 #define XSH_OBS_ID "ESO OBS ID"
00117 #define XSH_OBS_TARG_NAME "ESO OBS TARG NAME"
00118
00119 #define XSH_AIRM_START "ESO TEL AIRM START"
00120 #define XSH_AIRM_END "ESO TEL AIRM END"
00121
00122 #define XSH_SEEING_START "ESO TEL AMBI FWHM START"
00123 #define XSH_SEEING_END "ESO TEL AMBI FWHM END"
00124
00125 #define XSH_SLIT_UVB "ESO INS OPTI3 NAME"
00126 #define XSH_SLIT_VIS "ESO INS OPTI4 NAME"
00127 #define XSH_SLIT_NIR "ESO INS OPTI5 NAME"
00128
00129 #define XSH_FOCU1ENC_VAL "ESO INS FOCU1 ENC"
00130
00131 #define XSH_TEMP82_VAL "ESO INS TEMP82 VAL"
00132 #define XSH_TEMP2_VAL "ESO INS TEMP2 VAL"
00133 #define XSH_TEMP5_VAL "ESO INS TEMP5 VAL"
00134
00135 #define XSH_DPR_TECH "ESO DPR TECH"
00136 #define XSH_DPR_TYPE "ESO DPR TYPE"
00137 #define XSH_DPR_CATG "ESO DPR CATG"
00138 #define XSH_OUT_NX "ESO DET OUT1 NX"
00139 #define XSH_OUT_NY "ESO DET OUT1 NY"
00140 #define XSH_CHIP_NX "ESO DET CHIP NX"
00141 #define XSH_CHIP_NY "ESO DET CHIP NY"
00142 #define XSH_WIN_NX "ESO DET WIN NX"
00143 #define XSH_WIN_NY "ESO DET WIN NY"
00144 #define XSH_WIN_BINX "ESO DET WIN1 BINX"
00145 #define XSH_WIN_BINY "ESO DET WIN1 BINY"
00146 #define XSH_OVSCX "ESO DET OUT1 OVSCX"
00147 #define XSH_OVSCY "ESO DET OUT1 OVSCY"
00148 #define XSH_PRSCX "ESO DET OUT1 PRSCX"
00149 #define XSH_PRSCY "ESO DET OUT1 PRSCY"
00150 #define XSH_RON "ESO DET OUT1 RON"
00151 #define XSH_CONAD "ESO DET OUT1 CONAD"
00152
00153 #define XSH_DET_PXSPACE "ESO DET CHIP PXSPACE"
00154 #define XSH_DET_GAIN "ESO DET OUT1 GAIN"
00155 #define XSH_DET_WIN1_DIT1 "ESO DET WIN1 DIT1"
00156 #define XSH_DET_DIT "ESO DET DIT"
00157 #define XSH_DET_NDIT "ESO DET NDIT"
00158 #define XSH_PSZX "ESO DET CHIP1 PSZX"
00159 #define XSH_PSZY "ESO DET CHIP1 PSZY"
00160
00161 #define XSH_SEQ_ARM "ESO SEQ ARM"
00162
00163 #define XSH_LAMP_ON_OFF "ESO INS1 LAMP5 ST" // for SINFONI, XSH 'INS LAMP5 ST'
00164
00165 #define XSH_BIAS_LEFT_MEDIAN "ESO PRO BIAS LEFT MEDIAN"
00166 #define XSH_BIAS_RIGHT_MEDIAN "ESO PRO BIAS RIGHT MEDIAN"
00167 #define XSH_BIAS_UP_MEDIAN "ESO PRO BIAS UP MEDIAN"
00168 #define XSH_BIAS_DOWN_MEDIAN "ESO PRO BIAS DOWN MEDIAN"
00169 #define XSH_BIAS_LEFT_STDEV "ESO PRO BIAS LEFT STDEV"
00170 #define XSH_BIAS_RIGHT_STDEV "ESO PRO BIAS RIGHT STDEV"
00171 #define XSH_BIAS_UP_STDEV "ESO PRO BIAS UP STDEV"
00172 #define XSH_BIAS_DOWN_STDEV "ESO PRO BIAS DOWN STDEV"
00173 #define XSH_PCATG "ESO PRO CATG"
00174 #define XSH_WAVESOL_LAMBDA_MIN "ESO PRO WAVESOL LAMBDA MIN"
00175 #define XSH_WAVESOL_LAMBDA_MAX "ESO PRO WAVESOL LAMBDA MAX"
00176 #define XSH_WAVESOL_ORDER_MIN "ESO PRO WAVESOL ORDER MIN"
00177 #define XSH_WAVESOL_ORDER_MAX "ESO PRO WAVESOL ORDER MAX"
00178 #define XSH_WAVESOL_SLIT_MIN "ESO PRO WAVESOL SLIT MIN"
00179 #define XSH_WAVESOL_SLIT_MAX "ESO PRO WAVESOL SLIT MAX"
00180
00181 #define XSH_WAVESOL_X_MIN "ESO PRO WAVESOL X MIN"
00182 #define XSH_WAVESOL_X_MAX "ESO PRO WAVESOL X MAX"
00183 #define XSH_WAVESOL_Y_MIN "ESO PRO WAVESOL Y MIN"
00184 #define XSH_WAVESOL_Y_MAX "ESO PRO WAVESOL Y MAX"
00185
00186 #define XSH_EXTRACT_SLIT_MIN "ESO PRO EXTRACT SLIT MIN"
00187 #define XSH_EXTRACT_SLIT_MAX "ESO PRO EXTRACT SLIT MAX"
00188
00189
00190 #define XSH_RECTIFY_BIN_LAMBDA "ESO PRO RECT BIN LAMBDA"
00191 #define XSH_RECTIFY_BIN_SPACE "ESO PRO RECT BIN SPACE"
00192 #define XSH_RECTIFY_LAMBDA_MIN "ESO PRO RECT LAMBDA MIN"
00193 #define XSH_RECTIFY_LAMBDA_MAX "ESO PRO RECT LAMBDA MAX"
00194 #define XSH_RECTIFY_SPACE_MIN "ESO PRO RECT SPACE MIN"
00195 #define XSH_RECTIFY_SPACE_MAX "ESO PRO RECT SPACE MAX"
00196 #define XSH_DATANCOM "ESO PRO DATANCOM"
00197
00198 #define XSH_SPECTRALFORMAT_DIST_ORDER "ESO PRO DIST ORDER"
00199
00200 #define XSH_WAVESOLTYPE "ESO PRO WAVESOL TYPE"
00201 #define XSH_WAVESOLTYPE_POLYNOMIAL "POLYNOMIAL"
00202 #define XSH_WAVESOLTYPE_MODEL "PHYSMOD"
00203
00204
00205 #define XSH_MODEL_CFG_START "ESO MOD CFG START"
00206
00207 #define XSH_DPR_TECH_SINGLE_PINHOLE "ECHELLE,PINHOLE"
00208 #define XSH_DPR_TECH_MULTI_PINHOLE "ECHELLE,MULTI-PINHOLE"
00209
00210 #define XSH_NOD_CUMULATIVE_OFFSET_DEC "ESO SEQ CUMOFF DEC"
00211 #define XSH_NOD_CUMULATIVE_OFFSET_RA "ESO SEQ CUMOFF RA"
00212
00213 #define XSH_NOD_CUMULATIVE_OFFSETX "ESO SEQ CUMOFF X"
00214 #define XSH_NOD_CUMULATIVE_OFFSETY "ESO SEQ CUMOFF Y"
00215
00216 #define XSH_NOD_THROW "ESO SEQ NOD THROW"
00217 #define XSH_NOD_JITTER_BOX "ESO SEQ JITTER WIDTH"
00218
00219 #define XSH_NOD_RELATIVE_OFFSET_DEC "ESO SEQ RELOFF DEC"
00220 #define XSH_NOD_RELATIVE_OFFSET_RA "ESO SEQ RELOFF RA"
00221 #define XSH_POSANG "ESO ADA POSANG"
00222
00223
00224 #define XSH_NOD_RELATIVE_B_OFFSET_RA "ESO PRO B RELOFF RA"
00225 #define XSH_NOD_RELATIVE_B_OFFSET_DEC "ESO PRO B RELOFF DEC"
00226 #define XSH_NOD_CUMULATIVE_B_OFFSET_RA "ESO PRO B CUMOFF RA"
00227 #define XSH_NOD_CUMULATIVE_B_OFFSET_DEC "ESO PRO B CUMOFF DEC"
00228 #define XSH_QC_NPIXSAT "ESO QC NPIXSAT"
00229 #define XSH_QC_NPIXSAT_C "Number of saturated pixels"
00230 #define XSH_QC_FPIXSAT "ESO QC FPIXSAT"
00231 #define XSH_QC_FPIXSAT_C "Fraction of saturated pixels"
00232
00233
00234 #define XSH_QC_NPIXRANGE "ESO QC NPIXRANG"
00235 #define XSH_QC_NPIXRANGE_C "Number of pixels in range 4800-5200 ADU"
00236 #define XSH_QC_FPIXRANGE "ESO QC FPIXRANG"
00237 #define XSH_QC_FPIXRANGE_C "Fraction of pixels in range 4800-5200 ADU"
00238
00239
00240 #define XSH_SLITMAP_ORDER_EDGUP "ESO PRO ORD%d EDGUP SLIT"
00241 #define XSH_SLITMAP_ORDER_EDGLO "ESO PRO ORD%d EDGLO SLIT"
00242 #define XSH_SLITMAP_ORDER_CEN "ESO PRO ORD%d CEN SLIT"
00243 #define XSH_SLITMAP_ORDER_SLICUP "ESO PRO ORD%d SLICUP SLIT"
00244 #define XSH_SLITMAP_ORDER_SLICLO "ESO PRO ORD%d SLICLO SLIT"
00245
00246 #define XSH_SLITMAP_MEDIAN_EDGUP "ESO PRO MEDIAN EDGUP SLIT"
00247 #define XSH_SLITMAP_MEDIAN_EDGLO "ESO PRO MEDIAN EDGLO SLIT"
00248 #define XSH_SLITMAP_MEDIAN_CEN "ESO PRO MEDIAN CEN SLIT"
00249 #define XSH_SLITMAP_MEDIAN_SLICUP "ESO PRO MEDIAN SLICUP SLIT"
00250 #define XSH_SLITMAP_MEDIAN_SLICLO "ESO PRO MEDIAN SLICLO SLIT"
00251
00252 #define XSH_WAVEMAP_ORDER_LAMBDA_MIN "ESO PRO ORD%d LAMBDA MIN"
00253 #define XSH_WAVEMAP_ORDER_LAMBDA_MAX "ESO PRO ORD%d LAMBDA MAX"
00254
00255 #define XSH_SHIFTIFU_WAVEREF "ESO PRO LAMBDA REF"
00256 #define XSH_SHIFTIFU_SLITREF "ESO PRO SLIT REF"
00257 #define XSH_SHIFTIFU_SLITDOWNREF "ESO PRO SLIT DOWN REF"
00258 #define XSH_SHIFTIFU_SLITCENREF "ESO PRO SLIT CEN REF"
00259 #define XSH_SHIFTIFU_SLITUPREF "ESO PRO SLIT UP REF"
00260
00261
00262
00263
00264 #define XSH_PFITS_GET(RET, LIST, KW, TYPE) \
00265 check_msg( xsh_get_property_value( LIST, KW, TYPE, &RET),\
00266 "Error reading keyword '%s'", KW)
00267
00268
00269
00270
00271
00272 double xsh_pfits_get_pixscale(const cpl_propertylist * plist);
00273 double xsh_pfits_get_posangle(const cpl_propertylist * plist);
00274 int xsh_pfits_get_FOCU1ENC (const cpl_propertylist * plist);
00275 double xsh_pfits_get_temp82 (const cpl_propertylist * plist);
00276 double xsh_pfits_get_temp2 (const cpl_propertylist * plist);
00277 double xsh_pfits_get_temp5 (const cpl_propertylist * plist);
00278 const char* xsh_pfits_get_dpr_tech(const cpl_propertylist * plist);
00279 const char* xsh_pfits_get_dpr_type(const cpl_propertylist * plist);
00280 const char* xsh_pfits_get_dpr_catg(const cpl_propertylist * plist);
00281 const char* xsh_pfits_get_bunit(const cpl_propertylist * plist);
00282 const char* xsh_pfits_get_cunit1(const cpl_propertylist * plist);
00283 const char* xsh_pfits_get_cunit2(const cpl_propertylist * plist);
00284 const char* xsh_pfits_get_cunit3(const cpl_propertylist * plist);
00285 double xsh_pfits_get_mjdobs(const cpl_propertylist * plist);
00286 int xsh_pfits_get_naxis(const cpl_propertylist * plist);
00287 int xsh_pfits_get_naxis1(const cpl_propertylist * plist);
00288 int xsh_pfits_get_naxis2(const cpl_propertylist * plist);
00289 int xsh_pfits_get_naxis3(const cpl_propertylist * plist);
00290 int xsh_pfits_get_binx(const cpl_propertylist * plist);
00291 int xsh_pfits_get_biny(const cpl_propertylist * plist);
00292 int xsh_pfits_get_out_nx(const cpl_propertylist * plist);
00293 int xsh_pfits_get_chip_ny(const cpl_propertylist * plist);
00294 int xsh_pfits_get_chip_nx(const cpl_propertylist * plist);
00295 int xsh_pfits_get_out_ny(const cpl_propertylist * plist);
00296 int xsh_pfits_get_ovscx(const cpl_propertylist * plist);
00297 int xsh_pfits_get_ovscy(const cpl_propertylist * plist);
00298 int xsh_pfits_get_prscx(const cpl_propertylist * plist);
00299 int xsh_pfits_get_prscy(const cpl_propertylist * plist);
00300 double xsh_pfits_get_gain(const cpl_propertylist * plist);
00301 double xsh_pfits_get_ron(const cpl_propertylist * plist);
00302 double xsh_pfits_get_lst (const cpl_propertylist * plist);
00303 double xsh_pfits_get_conad(const cpl_propertylist * plist);
00304 double xsh_pfits_get_det_gain(const cpl_propertylist * plist);
00305 void xsh_pfits_set_dit(cpl_propertylist *, double dit) ;
00306 void xsh_pfits_set_ndit(cpl_propertylist *, int ndit) ;
00307 double xsh_pfits_get_dit(const cpl_propertylist *) ;
00308 int xsh_pfits_get_ndit(const cpl_propertylist *) ;
00309 double xsh_pfits_get_win1_dit1 (const cpl_propertylist * plist);
00310 const char * xsh_pfits_get_date(const cpl_propertylist *) ;
00311 const char * xsh_pfits_get_date_obs(const cpl_propertylist *) ;
00312 const char * xsh_pfits_get_arcfile(const cpl_propertylist *) ;
00313 const char * xsh_pfits_get_pcatg(const cpl_propertylist *) ;
00314 double xsh_pfits_get_crval1( const cpl_propertylist *) ;
00315 double xsh_pfits_get_crval2( const cpl_propertylist *) ;
00316 double xsh_pfits_get_cdelt1( const cpl_propertylist *) ;
00317 double xsh_pfits_get_cdelt2( const cpl_propertylist *) ;
00318 double xsh_pfits_get_cdelt3( const cpl_propertylist *) ;
00319 double xsh_pfits_get_crpix1(const cpl_propertylist * plist);
00320 double xsh_pfits_get_crpix2(const cpl_propertylist * plist);
00321 double xsh_pfits_get_crpix3(const cpl_propertylist * plist);
00322 double xsh_pfits_get_crval3(const cpl_propertylist * plist);
00323
00324 double xsh_pfits_get_exptime( const cpl_propertylist *) ;
00325 double xsh_pfits_get_det_win1_uit1( const cpl_propertylist *) ;
00326 double xsh_pfits_get_pszx(const cpl_propertylist * plist) ;
00327 double xsh_pfits_get_pszy(const cpl_propertylist * plist) ;
00328 double xsh_pfits_get_det_pxspace(const cpl_propertylist * plist);
00329 double xsh_pfits_get_bias_left_median(cpl_propertylist * plist);
00330 double xsh_pfits_get_bias_right_median(cpl_propertylist * plist);
00331 double xsh_pfits_get_bias_left_stdev(cpl_propertylist * plist);
00332 double xsh_pfits_get_bias_right_stdev(cpl_propertylist * plist);
00333 double xsh_pfits_get_bias_up_median(cpl_propertylist * plist);
00334 double xsh_pfits_get_bias_down_median(cpl_propertylist * plist);
00335 double xsh_pfits_get_bias_up_stdev(cpl_propertylist * plist);
00336 double xsh_pfits_get_bias_down_stdev(cpl_propertylist * plist);
00337
00338 double xsh_pfits_get_ins_targ_alpha(const cpl_propertylist * plist);
00339 double xsh_pfits_get_ins_targ_delta(const cpl_propertylist * plist);
00340
00341 double xsh_pfits_get_ra(const cpl_propertylist * plist);
00342 double xsh_pfits_get_dec(const cpl_propertylist * plist);
00343
00344 const char * xsh_pfits_get_extname(const cpl_propertylist *) ;
00345 bool xsh_pfits_get_lamp_on_off( const cpl_propertylist *) ;
00346 int xsh_pfits_get_datancom( const cpl_propertylist *);
00347 int xsh_pfits_get_nb_pinhole( const cpl_propertylist *);
00348 double xsh_pfits_get_cd11 (const cpl_propertylist * plist);
00349 double xsh_pfits_get_cd12 (const cpl_propertylist * plist);
00350 double xsh_pfits_get_cd21 (const cpl_propertylist * plist);
00351 double xsh_pfits_get_cd22 (const cpl_propertylist * plist);
00352 double xsh_pfits_get_cd13 (const cpl_propertylist * plist);
00353 double xsh_pfits_get_cd23 (const cpl_propertylist * plist);
00354 double xsh_pfits_get_cd33 (const cpl_propertylist * plist);
00355 double xsh_pfits_get_cd31 (const cpl_propertylist * plist);
00356 double xsh_pfits_get_cd32 (const cpl_propertylist * plist);
00357 double xsh_pfits_get_tel_targ_alpha( const cpl_propertylist * plist);
00358 double xsh_pfits_get_tel_targ_delta( const cpl_propertylist * plist);
00359
00360
00361 void xsh_pfits_set_cd1(cpl_propertylist * plist, double cd1);
00362
00363 void xsh_pfits_set_cd11(cpl_propertylist * plist, double cd11);
00364 void xsh_pfits_set_cd12(cpl_propertylist * plist, double cd12);
00365 void xsh_pfits_set_cd21(cpl_propertylist * plist, double cd21);
00366 void xsh_pfits_set_cd22(cpl_propertylist * plist, double cd22);
00367
00368
00369 void xsh_pfits_set_cd13(cpl_propertylist * plist, double cd23);
00370 void xsh_pfits_set_cd23(cpl_propertylist * plist, double cd23);
00371 void xsh_pfits_set_cd31(cpl_propertylist * plist, double cd31);
00372 void xsh_pfits_set_cd32(cpl_propertylist * plist, double cd32);
00373 void xsh_pfits_set_cd33(cpl_propertylist * plist, double cd33);
00374
00375
00376 void xsh_pfits_set_crpix1(cpl_propertylist * plist, double crpix1);
00377 void xsh_pfits_set_crpix2(cpl_propertylist * plist, double crpix2);
00378 void xsh_pfits_set_crpix3(cpl_propertylist * plist, double crpix3);
00379
00380 void xsh_pfits_set_crval1(cpl_propertylist * plist, double crval1);
00381 void xsh_pfits_set_crval2(cpl_propertylist * plist, double crval2);
00382 void xsh_pfits_set_crval3(cpl_propertylist * plist, double crval3);
00383
00384 void xsh_pfits_set_cdelt1(cpl_propertylist * plist, double cdelt1);
00385 void xsh_pfits_set_cdelt2(cpl_propertylist * plist, double cdelt2);
00386 void xsh_pfits_set_cdelt3(cpl_propertylist * plist, double cdelt3);
00387
00388 void xsh_pfits_set_ctype1(cpl_propertylist * plist, const char* value);
00389 void xsh_pfits_set_ctype2(cpl_propertylist * plist, const char* value);
00390 void xsh_pfits_set_ctype3(cpl_propertylist * plist, const char* value);
00391 void xsh_pfits_set_bunit(cpl_propertylist * plist, const char* value);
00392 void xsh_pfits_set_cunit1(cpl_propertylist * plist, const char* value);
00393 void xsh_pfits_set_cunit2(cpl_propertylist * plist, const char* value);
00394 void xsh_pfits_set_cunit3(cpl_propertylist * plist, const char* value);
00395
00396 void xsh_pfits_set_exptime(cpl_propertylist * plist, double exptime);
00397 void xsh_pfits_set_extname(cpl_propertylist * plist, const char* value);
00398 void xsh_pfits_set_pcatg(cpl_propertylist * plist, const char* value);
00399 void xsh_pfits_set_dpr_type (cpl_propertylist * plist, const char *value);
00400 void xsh_pfits_set_dpr_tech (cpl_propertylist * plist, const char *value);
00401 void xsh_pfits_set_dpr_catg (cpl_propertylist * plist, const char *value);
00402
00403 void xsh_pfits_set_bias_left_median(cpl_propertylist * plist, double value);
00404 void xsh_pfits_set_bias_right_median(cpl_propertylist * plist, double value);
00405 void xsh_pfits_set_bias_up_median(cpl_propertylist * plist, double value);
00406 void xsh_pfits_set_bias_down_median(cpl_propertylist * plist, double value);
00407 void xsh_pfits_set_bias_left_stdev(cpl_propertylist * plist, double value);
00408 void xsh_pfits_set_bias_right_stdev(cpl_propertylist * plist, double value);
00409 void xsh_pfits_set_bias_up_stdev(cpl_propertylist * plist, double value);
00410 void xsh_pfits_set_bias_down_stdev(cpl_propertylist * plist, double value);
00411 void xsh_pfits_set_datancom( cpl_propertylist *plist, int value);
00412
00413 void xsh_pfits_set_wavesol_lambda_min(cpl_propertylist * plist, double value);
00414 void xsh_pfits_set_wavesol_lambda_max(cpl_propertylist * plist, double value);
00415 void xsh_pfits_set_wavesol_order_min(cpl_propertylist * plist, double value);
00416 void xsh_pfits_set_wavesol_order_max(cpl_propertylist * plist, double value);
00417 void xsh_pfits_set_wavesol_slit_min(cpl_propertylist * plist, double value);
00418 void xsh_pfits_set_wavesol_slit_max(cpl_propertylist * plist, double value);
00419 void xsh_pfits_set_wavesol_x_min(cpl_propertylist * plist, double value);
00420 void xsh_pfits_set_wavesol_x_max(cpl_propertylist * plist, double value);
00421 void xsh_pfits_set_wavesol_y_min(cpl_propertylist * plist, double value);
00422 void xsh_pfits_set_wavesol_y_max(cpl_propertylist * plist, double value);
00423 double xsh_pfits_get_wavesol_lambda_min(cpl_propertylist * plist);
00424 double xsh_pfits_get_wavesol_lambda_max(cpl_propertylist * plist);
00425 double xsh_pfits_get_wavesol_order_min(cpl_propertylist * plist);
00426 double xsh_pfits_get_wavesol_order_max(cpl_propertylist * plist);
00427 double xsh_pfits_get_wavesol_slit_min(cpl_propertylist * plist);
00428 double xsh_pfits_get_wavesol_slit_max(cpl_propertylist * plist);
00429 double xsh_pfits_get_wavesol_x_min(cpl_propertylist * plist);
00430 double xsh_pfits_get_wavesol_x_max(cpl_propertylist * plist);
00431 double xsh_pfits_get_wavesol_y_min(cpl_propertylist * plist);
00432 double xsh_pfits_get_wavesol_y_max(cpl_propertylist * plist);
00433
00434 double xsh_pfits_get_extract_slit_min(cpl_propertylist * plist);
00435 double xsh_pfits_get_extract_slit_max(cpl_propertylist * plist);
00436
00437 double xsh_pfits_get_airm_end (const cpl_propertylist * plist);
00438 double xsh_pfits_get_airm_start (const cpl_propertylist * plist);
00439 double xsh_pfits_get_airm_mean (const cpl_propertylist * plist);
00440
00441 double xsh_pfits_get_seeing_start (const cpl_propertylist * plist) ;
00442 double xsh_pfits_get_seeing_end (const cpl_propertylist * plist) ;
00443
00444 double xsh_pfits_get_slit_width (const cpl_propertylist * plist,
00445 xsh_instrument * instrument ) ;
00446
00447 void xsh_pfits_set_rectify_bin_lambda(cpl_propertylist * plist, double value);
00448 void xsh_pfits_set_rectify_bin_space(cpl_propertylist * plist, double value);
00449 void xsh_pfits_set_rectify_lambda_min(cpl_propertylist * plist, double value);
00450 void xsh_pfits_set_rectify_lambda_max(cpl_propertylist * plist, double value);
00451 void xsh_pfits_set_rectify_space_min(cpl_propertylist * plist, double value);
00452 void xsh_pfits_set_rectify_space_max(cpl_propertylist * plist, double value);
00453
00454 double xsh_pfits_get_rectify_bin_lambda(cpl_propertylist * plist);
00455 double xsh_pfits_get_rectify_bin_space(cpl_propertylist * plist);
00456 double xsh_pfits_get_rectify_lambda_min(cpl_propertylist * plist);
00457 double xsh_pfits_get_rectify_lambda_max(cpl_propertylist * plist);
00458 double xsh_pfits_get_rectify_space_min(cpl_propertylist * plist);
00459 double xsh_pfits_get_rectify_space_max(cpl_propertylist * plist);
00460
00461
00462 void xsh_pfits_set_b_ra_reloffset(cpl_propertylist * plist, double value);
00463 void xsh_pfits_set_b_dec_reloffset(cpl_propertylist * plist, double value);
00464 void xsh_pfits_set_b_ra_cumoffset(cpl_propertylist * plist, double value);
00465 void xsh_pfits_set_b_dec_cumoffset(cpl_propertylist * plist, double value);
00466
00467 double xsh_pfits_get_cumoffsety( const cpl_propertylist *plist);
00468 double xsh_pfits_get_cumoffsetx( const cpl_propertylist *plist);
00469 double xsh_pfits_get_posang( const cpl_propertylist *plist);
00470 double xsh_pfits_get_ra_cumoffset( const cpl_propertylist *plist);
00471 double xsh_pfits_get_dec_cumoffset( const cpl_propertylist *plist);
00472 double xsh_pfits_get_ra_reloffset( const cpl_propertylist *plist);
00473 double xsh_pfits_get_dec_reloffset( const cpl_propertylist *plist);
00474 double xsh_pfits_get_b_ra_reloffset( const cpl_propertylist *plist);
00475 double xsh_pfits_get_b_dec_reloffset( const cpl_propertylist *plist);
00476 double xsh_pfits_get_b_ra_cumoffset( const cpl_propertylist *plist);
00477 double xsh_pfits_get_b_dec_cumoffset( const cpl_propertylist *plist);
00478
00479 double xsh_pfits_get_nod_reloffset( const cpl_propertylist * plist ) ;
00480 double xsh_pfits_get_nod_cumoffset( const cpl_propertylist * plist ) ;
00481 double xsh_pfits_get_nod_jitterwidth( const cpl_propertylist * plist) ;
00482 double xsh_pfits_get_nodthrow( const cpl_propertylist * plist) ;
00483
00484 void xsh_pfits_set_wavesoltype( cpl_propertylist * plist, const char* value);
00485 const char* xsh_pfits_get_wavesoltype(const cpl_propertylist *);
00486
00487 cpl_error_code
00488 xsh_frame_force_pro_catg(const char* fname,
00489 const char* tag);
00490
00491
00492 void xsh_pfits_set_arm( cpl_propertylist * plist, xsh_instrument* instr);
00493
00494 XSH_ARM xsh_pfits_get_arm( const cpl_propertylist * plist) ;
00495 void xsh_pfits_set_extract_slit_min(cpl_propertylist * plist, double value);
00496 void xsh_pfits_set_extract_slit_max(cpl_propertylist * plist, double value);
00497 void xsh_pfits_set_nsat(cpl_propertylist * plist, int value);
00498 void xsh_pfits_set_frac_sat(cpl_propertylist * plist, double value);
00499 void xsh_pfits_set_n_range_pix(cpl_propertylist * plist, int value);
00500 void xsh_pfits_set_frac_range_pix(cpl_propertylist * plist, double value);
00501 char* xsh_pfits_get_slit_value (const cpl_propertylist * plist,xsh_instrument * instrument );
00502
00503 int xsh_pfits_get_obs_id(cpl_propertylist * plist);
00504 const char* xsh_pfits_get_raw1name (const cpl_propertylist * plist);
00505 const char* xsh_pfits_get_raw1catg (const cpl_propertylist * plist);
00506 const char* xsh_pfits_get_obs_targ_name (const cpl_propertylist * plist);
00507
00508 void xsh_pfits_set_slitmap_order_edgup( cpl_propertylist * plist, int absorder, double value);
00509 void xsh_pfits_set_slitmap_order_edglo( cpl_propertylist * plist, int absorder, double value);
00510 void xsh_pfits_set_slitmap_order_cen( cpl_propertylist * plist, int absorder, double value);
00511 void xsh_pfits_set_slitmap_order_slicup( cpl_propertylist * plist, int absorder, double value);
00512 void xsh_pfits_set_slitmap_order_sliclo( cpl_propertylist * plist, int absorder, double value);
00513
00514 void xsh_pfits_set_slitmap_median_edgup( cpl_propertylist * plist, double value);
00515 void xsh_pfits_set_slitmap_median_edglo( cpl_propertylist * plist, double value);
00516 void xsh_pfits_set_slitmap_median_cen( cpl_propertylist * plist, double value);
00517 void xsh_pfits_set_slitmap_median_slicup( cpl_propertylist * plist, double value);
00518 void xsh_pfits_set_slitmap_median_sliclo( cpl_propertylist * plist, double value);
00519
00520 double xsh_pfits_get_slitmap_median_edgup(const cpl_propertylist * plist);
00521 double xsh_pfits_get_slitmap_median_edglo(const cpl_propertylist * plist);
00522 double xsh_pfits_get_slitmap_median_cen(const cpl_propertylist * plist);
00523 double xsh_pfits_get_slitmap_median_slicup(const cpl_propertylist * plist);
00524 double xsh_pfits_get_slitmap_median_sliclo(const cpl_propertylist * plist);
00525
00526 void xsh_pfits_set_wavemap_order_lambda_min( cpl_propertylist * plist, int absorder, double value);
00527 void xsh_pfits_set_wavemap_order_lambda_max( cpl_propertylist * plist, int absorder, double value);
00528 double xsh_pfits_get_geolon(const cpl_propertylist * plist);
00529 double xsh_pfits_get_geolat(const cpl_propertylist * plist);
00530 double xsh_pfits_get_utc(const cpl_propertylist * plist);
00531
00532 void xsh_pfits_set_shiftifu_lambdaref( cpl_propertylist * plist, double value);
00533 void xsh_pfits_set_shiftifu_slitref( cpl_propertylist * plist, double value);
00534 void xsh_pfits_set_shiftifu_slitdownref( cpl_propertylist * plist, double value);
00535 void xsh_pfits_set_shiftifu_slitcenref( cpl_propertylist * plist, double value);
00536 void xsh_pfits_set_shiftifu_slitupref( cpl_propertylist * plist, double value);
00537 double xsh_pfits_get_shiftifu_lambdaref( cpl_propertylist * plist);
00538 double xsh_pfits_get_shiftifu_slitref( cpl_propertylist * plist);
00539 const char* xsh_pfits_get_telescop (const cpl_propertylist * plist);
00540 cpl_error_code
00541 xsh_plist_set_extra_keys(cpl_propertylist* plist,
00542 const char* hduclas1,
00543 const char* hduclas2,
00544 const char* hduclas3,
00545 const char* scidata,
00546 const char* errdata,
00547 const char* qualdata,
00548 const int type);
00549
00550
00551 cpl_error_code
00552 xsh_pfits_set_wcs(cpl_propertylist* header,
00553 const double crpix1, const double crval1, const double cdelt1,
00554 const double crpix2,const double crval2, const double cdelt2);
00555 cpl_error_code
00556 xsh_plist_div_by_fct(cpl_propertylist** plist,const int fctx,const int fcty);
00557
00558 #endif