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
00029
00030 #include <cpl.h>
00031 #include "sinfoni_pfits.h"
00032
00033 #include <string.h>
00034 #include "qfits.h"
00035
00036
00041
00042
00045
00046
00047
00048
00049
00055
00056 char * sinfoni_pfits_get_airmass_start(const char * filename)
00057 {
00058 char * val ;
00059
00060 if (qfits_is_paf_file((char *) filename)) {
00061 val = qfits_paf_query((char *) filename, (char*) "TEL.AIRM.START") ;
00062 } else {
00063 val = qfits_query_hdr((char *) filename, (char*) "TEL.AIRM.START") ;
00064 }
00065 return qfits_pretty_string(val);
00066 }
00067
00068
00074
00075 char * sinfoni_pfits_get_airmass_end(const char * filename)
00076 {
00077 char * val ;
00078
00079 if (qfits_is_paf_file((char *) filename)) {
00080 val = qfits_paf_query((char *) filename, (char*) "TEL.AIRM.END") ;
00081 } else {
00082 val = qfits_query_hdr((char *) filename, (char*) "TEL.AIRM.END") ;
00083 }
00084 return qfits_pretty_string(val);
00085 }
00086
00087
00093
00094 char * sinfoni_pfits_get_alpha(const char * filename)
00095 {
00096 char * val ;
00097
00098 if (qfits_is_paf_file((char *) filename)) {
00099 val = qfits_paf_query((char *) filename, (char*) "TEL.TARG.OFFSETALPHA") ;
00100 } else {
00101 val = qfits_query_hdr((char *) filename, (char*) "TEL.TARG.OFFSETALPHA") ;
00102 }
00103 return qfits_pretty_string(val);
00104 }
00105
00106
00112
00113 char * sinfoni_pfits_get_rom(const char * filename)
00114 {
00115 char * val ;
00116
00117 if (qfits_is_paf_file((char *) filename)) {
00118 val = qfits_paf_query((char *) filename, (char*) "DET.NCORRS") ;
00119 } else {
00120 val = qfits_query_hdr((char *) filename, (char*) "DET.NCORRS");
00121 }
00122 return qfits_pretty_string(val);
00123 }
00124
00125
00126
00132
00133 char * sinfoni_pfits_get_arcfile(const char * filename)
00134 {
00135 char * val ;
00136
00137 if (qfits_is_paf_file((char *) filename)) {
00138 val = qfits_paf_query((char *) filename, (char*) "ARCFILE") ;
00139 } else {
00140 val = qfits_query_hdr((char *) filename, (char*) "ARCFILE") ;
00141 }
00142 return qfits_pretty_string(val);
00143 }
00144
00145
00146
00152
00153 char * sinfoni_pfits_get_rec1raw1name(const char * filename)
00154 {
00155 char * val ;
00156
00157 if (qfits_is_paf_file((char *) filename)) {
00158 val = qfits_paf_query((char *) filename, (char*) "PRO.REC1.RAW1.NAME" ) ;
00159 } else {
00160 val = qfits_query_hdr((char *) filename, (char*) "PRO.REC1.RAW1.NAME" ) ;
00161 }
00162 return qfits_pretty_string(val);
00163 }
00164
00165
00166
00172
00173 char * sinfoni_pfits_get_ins_setup(const char * filename)
00174 {
00175 char * val ;
00176
00177 if (qfits_is_paf_file((char *) filename)) {
00178 val = qfits_paf_query((char *) filename, (char*) "INS.SETUP.ID") ;
00179 } else {
00180 val = qfits_query_hdr((char *) filename, (char*) "INS.SETUP.ID") ;
00181 }
00182 return qfits_pretty_string(val);
00183 }
00184
00185
00186
00187
00193
00194 char * sinfoni_pfits_get_wlen(const char * filename)
00195 {
00196 char * val ;
00197
00198 if (qfits_is_paf_file((char *) filename)) {
00199 val = qfits_paf_query((char *) filename, (char*) "INS.GRAT1.WLEN") ;
00200 } else {
00201 val = qfits_query_hdr((char *) filename, (char*) "INS.GRAT1.WLEN") ;
00202 }
00203 return qfits_pretty_string(val);
00204 }
00205
00206
00212
00213 char * sinfoni_pfits_get_chop_ncycles(const char * filename)
00214 {
00215 char * val ;
00216
00217 if (qfits_is_paf_file((char *) filename)) {
00218 val = qfits_paf_query((char *) filename, (char*) "DET.CHOP.NCYCLES") ;
00219 } else {
00220 val = qfits_query_hdr((char *) filename, (char*) "DET.CHOP.NCYCLES") ;
00221 }
00222 return qfits_pretty_string(val);
00223 }
00224
00225
00232
00233 char * sinfoni_pfits_get_cumoffsetx(const char * filename)
00234 {
00235 char * val ;
00236
00237 if (qfits_is_paf_file((char *) filename)) {
00238 val = qfits_paf_query((char *) filename, (char*) "SEQ.CUMOFFSETX") ;
00239 } else {
00240 val = qfits_query_hdr((char *) filename, (char*) "SEQ.CUMOFFSETX");
00241 }
00242 return qfits_pretty_string(val);
00243 }
00244
00245
00252
00253 char * sinfoni_pfits_get_cumoffsety(const char * filename)
00254 {
00255 char * val ;
00256
00257 if (qfits_is_paf_file((char *) filename)) {
00258 val = qfits_paf_query((char *) filename, (char*) "SEQ.CUMOFFSETY") ;
00259 } else {
00260 val = qfits_query_hdr((char *) filename, (char*) "SEQ.CUMOFFSETY");
00261 }
00262 return qfits_pretty_string(val);
00263 }
00264
00265
00271
00272 char * sinfoni_pfits_get_date_obs(const char * filename)
00273 {
00274 char * val ;
00275
00276 if (qfits_is_paf_file((char *) filename)) {
00277 val = qfits_paf_query((char *) filename, (char*) "DATE-OBS") ;
00278 } else {
00279 val = qfits_query_hdr((char *) filename, (char*) "DATE-OBS");
00280 }
00281 return qfits_pretty_string(val);
00282 }
00283
00284
00290
00291 char * sinfoni_pfits_get_delta(const char * filename)
00292 {
00293 char * val ;
00294
00295 if (qfits_is_paf_file((char *) filename)) {
00296 val = qfits_paf_query((char *) filename, (char*) "TEL.TARG.OFFSETDELTA") ;
00297 } else {
00298 val = qfits_query_hdr((char *) filename, (char*) "TEL.TARG.OFFSETDELTA");
00299 }
00300 return qfits_pretty_string(val);
00301 }
00302
00303
00309
00310 char * sinfoni_pfits_get_dec(const char * filename)
00311 {
00312 char * val ;
00313
00314 if (qfits_is_paf_file((char *) filename)) {
00315 val = qfits_paf_query((char *) filename, (char*) "DEC") ;
00316 } else {
00317 val = qfits_query_hdr((char *) filename, (char*) "DEC");
00318 }
00319 return qfits_pretty_string(val);
00320 }
00321
00322
00329
00330 char * sinfoni_pfits_get_dit(const char * filename)
00331 {
00332 char * val ;
00333
00334 if (qfits_is_paf_file((char *) filename)) {
00335 val = qfits_paf_query((char *) filename, (char*) "DET.DIT") ;
00336 } else {
00337 val = qfits_query_hdr((char *) filename, (char*) "DET.DIT");
00338 }
00339 return qfits_pretty_string(val);
00340 }
00341
00342
00343
00350
00351 char * sinfoni_pfits_get_ncorrs_name(const char * filename)
00352 {
00353 char * val ;
00354
00355 if (qfits_is_paf_file((char *) filename)) {
00356 val = qfits_paf_query((char *) filename, (char*) "DET.NCORRS.NAME") ;
00357 } else {
00358 val = qfits_query_hdr((char *) filename, (char*) "DET.NCORRS.NAME");
00359 }
00360 return qfits_pretty_string(val);
00361 }
00362
00363
00364
00365
00371
00372 char * sinfoni_pfits_get_dpr_catg(const char * filename)
00373 {
00374 char * val ;
00375
00376 if (qfits_is_paf_file((char *) filename)) {
00377 val = qfits_paf_query((char *) filename, (char*) "DPR.CATG") ;
00378 } else {
00379 val = qfits_query_hdr((char *) filename, (char*) "DPR.CATG");
00380 }
00381 return qfits_pretty_string(val);
00382 }
00383
00384
00390
00391 char * sinfoni_pfits_get_dpr_tech(const char * filename)
00392 {
00393 char * val ;
00394
00395 if (qfits_is_paf_file((char *) filename)) {
00396 val = qfits_paf_query((char *) filename, (char*) "DPR.TECH") ;
00397 } else {
00398 val = qfits_query_hdr((char *) filename, (char*) "DPR.TECH");
00399 }
00400 return qfits_pretty_string(val);
00401 }
00402
00403
00409
00410 char * sinfoni_pfits_get_dpr_type(const char * filename)
00411 {
00412 char * val ;
00413
00414 if (qfits_is_paf_file((char *) filename)) {
00415 val = qfits_paf_query((char *) filename, (char*) "DPR.TYPE") ;
00416 } else {
00417 val = qfits_query_hdr((char *) filename, (char*) "DPR.TYPE");
00418 }
00419 return qfits_pretty_string(val);
00420 }
00421
00422
00428
00429 char * sinfoni_pfits_get_expno(const char * filename)
00430 {
00431 char * val ;
00432
00433 if (qfits_is_paf_file((char *) filename)) {
00434 val = qfits_paf_query((char *) filename, (char*) "TPL.EXPNO") ;
00435 } else {
00436 val = qfits_query_hdr((char *) filename, (char*) "TPL.EXPNO");
00437 }
00438 return qfits_pretty_string(val);
00439 }
00440
00441
00447
00448 char * sinfoni_pfits_get_filter_im(const char * filename)
00449 {
00450 char * val ;
00451
00452 if (qfits_is_paf_file((char *) filename)) {
00453 val = qfits_paf_query((char *) filename, (char*) "INS.FILT1.NAME") ;
00454 } else {
00455 val = qfits_query_hdr((char *) filename, (char*) "INS.FILT1.NAME") ;
00456 }
00457 return qfits_pretty_string(val);
00458 }
00459
00460
00466
00467 char * sinfoni_pfits_get_filter_spec(const char * filename)
00468 {
00469 char * val ;
00470
00471 if (qfits_is_paf_file((char *) filename)) {
00472 val = qfits_paf_query((char *) filename, (char*) "INS.FILT2.NAME") ;
00473 } else {
00474 val = qfits_query_hdr((char *) filename, (char*) "INS.FILT2.NAME") ;
00475 }
00476 return qfits_pretty_string(val);
00477 }
00478
00479
00485
00486 char * sinfoni_pfits_get_focus(const char * filename)
00487 {
00488 char * val ;
00489
00490 if (qfits_is_paf_file((char *) filename)) {
00491 val = qfits_paf_query((char *) filename, (char*) "TEL.FOCU.LEN") ;
00492 } else {
00493 val = qfits_query_hdr((char *) filename, (char*) "TEL.FOCU.LEN");
00494 }
00495 return qfits_pretty_string(val);
00496 }
00497
00498
00504
00505 char * sinfoni_pfits_get_exptime(const char * filename)
00506 {
00507 char * val ;
00508
00509 if (qfits_is_paf_file((char *) filename)) {
00510 val = qfits_paf_query((char *) filename, (char*) "EXPTIME") ;
00511 } else {
00512 val = qfits_query_hdr((char *) filename, (char*) "EXPTIME");
00513 }
00514 return qfits_pretty_string(val);
00515 }
00516
00517
00523
00524 char * sinfoni_pfits_get_frame_type(const char * filename)
00525 {
00526 char * val ;
00527
00528 if (qfits_is_paf_file((char *) filename)) {
00529 val = qfits_paf_query((char *) filename, (char*) "DET.FRAM.TYPE") ;
00530 } else {
00531 val = qfits_query_hdr((char *) filename, (char*) "DET.FRAM.TYPE");
00532 }
00533 return qfits_pretty_string(val);
00534 }
00535
00536
00542
00543 char * sinfoni_pfits_get_instrument(const char * filename)
00544 {
00545 char * val ;
00546
00547 if (qfits_is_paf_file((char *) filename)) {
00548 val = qfits_paf_query((char *) filename, (char*) "INSTRUME") ;
00549 } else {
00550 val = qfits_query_hdr((char *) filename, (char*) "INSTRUME");
00551 }
00552 return qfits_pretty_string(val);
00553 }
00554
00555
00561
00562 char * sinfoni_pfits_get_mjdobs(const char * filename)
00563 {
00564 char * val ;
00565
00566 if (qfits_is_paf_file((char *) filename)) {
00567 val = qfits_paf_query((char *) filename, (char*) "MJD-OBS") ;
00568 } else {
00569 val = qfits_query_hdr((char *) filename, (char*) "MJD-OBS");
00570 }
00571 return qfits_pretty_string(val);
00572 }
00573
00574
00580
00581 char * sinfoni_pfits_get_mode(const char * filename)
00582 {
00583 char * val ;
00584
00585 if (qfits_is_paf_file((char *) filename)) {
00586 val = qfits_paf_query((char *) filename, (char*) "DET.MODE.NAME") ;
00587 } else {
00588 val = qfits_query_hdr((char *) filename, (char*) "DET.MODE.NAME") ;
00589 }
00590 return qfits_pretty_string(val);
00591 }
00592
00593
00599
00600 char * sinfoni_pfits_get_monoc_pos(const char * filename)
00601 {
00602 char * val ;
00603
00604 if (qfits_is_paf_file((char *) filename)) {
00605 val = qfits_paf_query((char *) filename, (char*) "INS.MONOC1.POS") ;
00606 } else {
00607 val = qfits_query_hdr((char *) filename, (char*) "INS.MONOC1.POS") ;
00608 }
00609 return qfits_pretty_string(val);
00610 }
00611
00612
00618
00619 char * sinfoni_pfits_get_ndit(const char * filename)
00620 {
00621 char * val ;
00622
00623 if (qfits_is_paf_file((char *) filename)) {
00624 val = qfits_paf_query((char *) filename, (char*) "DET.NDIT") ;
00625 } else {
00626 val = qfits_query_hdr((char *) filename, (char*) "DET.NDIT") ;
00627 }
00628 return qfits_pretty_string(val);
00629 }
00630
00631
00637
00638 char * sinfoni_pfits_get_naxis3(const char * filename)
00639 {
00640 char * val ;
00641
00642 if (qfits_is_paf_file((char *) filename)) {
00643 val = qfits_paf_query((char *) filename, (char*) "NAXIS3") ;
00644 } else {
00645 val = qfits_query_hdr((char *) filename, (char*) "NAXIS3") ;
00646 }
00647 return qfits_pretty_string(val);
00648 }
00649
00650
00656
00657 char * sinfoni_pfits_get_numbexp(const char * filename)
00658 {
00659 char * val ;
00660
00661 if (qfits_is_paf_file((char *) filename)) {
00662 val = qfits_paf_query((char *) filename, (char*) "TPL.NEXP") ;
00663 } else {
00664 val = qfits_query_hdr((char *) filename, (char*) "TPL.NEXP");
00665 }
00666 return qfits_pretty_string(val);
00667 }
00668
00669
00675
00676 char * sinfoni_pfits_get_obs_id(const char * filename)
00677 {
00678 char * val ;
00679
00680 if (qfits_is_paf_file((char *) filename)) {
00681 val = qfits_paf_query((char *) filename, (char*) "OBS.ID") ;
00682 } else {
00683 val = qfits_query_hdr((char *) filename, (char*) "OBS.ID");
00684 }
00685 return qfits_pretty_string(val);
00686 }
00687
00688
00694
00695 char * sinfoni_pfits_get_nodpos(const char * filename)
00696 {
00697 char * val ;
00698
00699 if (qfits_is_paf_file((char *) filename)) {
00700 val = qfits_paf_query((char *) filename, (char*) "SEQ.NODPOS") ;
00701 } else {
00702 val = qfits_query_hdr((char *) filename, (char*) "SEQ.NODPOS") ;
00703 }
00704 return qfits_pretty_string(val);
00705 }
00706
00707
00713
00714 char * sinfoni_pfits_get_pixscale(const char * filename)
00715 {
00716 char * val ;
00717
00718 if (qfits_is_paf_file((char *) filename)) {
00719 val = qfits_paf_query((char *) filename, (char*) "INS.PFOV") ;
00720 } else {
00721 val = qfits_query_hdr((char *) filename, (char*) "INS.PFOV");
00722 }
00723 return qfits_pretty_string(val);
00724 }
00725
00726
00732
00733 char * sinfoni_pfits_get_ra(const char * filename)
00734 {
00735 char * val ;
00736
00737 if (qfits_is_paf_file((char *) filename)) {
00738 val = qfits_paf_query((char *) filename, (char*) "RA") ;
00739 } else {
00740 val = qfits_query_hdr((char *) filename, (char*) "RA");
00741 }
00742 return qfits_pretty_string(val);
00743 }
00744
00745
00751
00752 char * sinfoni_pfits_get_starname(const char * filename)
00753 {
00754 char * val ;
00755
00756 if (qfits_is_paf_file((char *) filename)) {
00757 val = qfits_paf_query((char *) filename, (char*) "OBS.TARG.NAME") ;
00758 } else {
00759 val = qfits_query_hdr((char *) filename, (char*) "OBS.TARG.NAME");
00760 }
00761 return qfits_pretty_string(val);
00762 }
00763
00764
00770
00771 char * sinfoni_pfits_get_resol(const char * filename)
00772 {
00773 char * val ;
00774
00775 if (qfits_is_paf_file((char *) filename)) {
00776 val = qfits_paf_query((char *) filename, (char*) "INS.RESOL") ;
00777 } else {
00778 val = qfits_query_hdr((char *) filename, (char*) "INS.RESOL");
00779 }
00780 return qfits_pretty_string(val);
00781 }
00782
00783
00789
00790 char * sinfoni_pfits_get_templateid(const char * filename)
00791 {
00792 char * val ;
00793
00794 if (qfits_is_paf_file((char *) filename)) {
00795 val = qfits_paf_query((char *) filename, (char*) "TPL.ID") ;
00796 } else {
00797 val = qfits_query_hdr((char *) filename, (char*) "TPL.ID");
00798 }
00799 return qfits_pretty_string(val);
00800 }
00801