37 #include "vircam_utils.h"
38 #include "vircam_pfits.h"
40 static int vircam_pfits_get_float(
const cpl_propertylist *plist,
41 const char *key,
float *fval);
42 static int vircam_pfits_get_double(
const cpl_propertylist *plist,
43 const char *key,
double *fval);
71 return(vircam_pfits_get_double(plist,
"CRVAL1",crval1));
88 return(vircam_pfits_get_double(plist,
"CRPIX1",crpix1));
105 return(vircam_pfits_get_double(plist,
"CRVAL2",crval2));
122 return(vircam_pfits_get_double(plist,
"CRPIX2",crpix2));
137 return(vircam_pfits_get_double(plist,
"CD1_1",cd11));
152 return(vircam_pfits_get_double(plist,
"CD1_2",cd12));
168 return(vircam_pfits_get_double(plist,
"CD2_1",cd21));
183 return(vircam_pfits_get_double(plist,
"CD2_2",cd22));
199 return(vircam_pfits_get_double(plist,
"PV2_1",pv21));
215 return(vircam_pfits_get_double(plist,
"PV2_3",pv23));
231 return(vircam_pfits_get_double(plist,
"PV2_5",pv25));
248 return(vircam_pfits_get_float(plist,
"EXPTIME",exptime));
265 return(vircam_pfits_get_float(plist,
"ESO DET MINDIT",mindit));
282 return(vircam_pfits_get_float(plist,
"ESO DET DITDELAY",ditdelay));
300 val = cpl_propertylist_get_int(plist,
"NAXIS1");
301 if (cpl_error_get_code() == CPL_ERROR_NONE) {
325 val = cpl_propertylist_get_int(plist,
"NAXIS2");
326 if (cpl_error_get_code() == CPL_ERROR_NONE) {
350 val = cpl_propertylist_get_int(plist,
"ESO DET CHIP NO");
351 if (cpl_error_get_code() == CPL_ERROR_NONE) {
374 return(vircam_pfits_get_float(plist,
"ESO DRS XOFFDITHER",xoff));
391 return(vircam_pfits_get_float(plist,
"ESO DRS YOFFDITHER",yoff));
408 return(vircam_pfits_get_float(plist,
"ESO TEL AIRM START",airmass));
426 val = cpl_propertylist_get_int(plist,
"NUSTEP");
427 if (cpl_error_get_code() == CPL_ERROR_NONE) {
453 val = cpl_propertylist_get_int(plist,
"USTEPNUM");
454 if (cpl_error_get_code() == CPL_ERROR_NONE) {
480 val = cpl_propertylist_get_int(plist,
"NJITTER");
481 if (cpl_error_get_code() == CPL_ERROR_NONE) {
507 val = cpl_propertylist_get_int(plist,
"JITTRNUM");
508 if (cpl_error_get_code() == CPL_ERROR_NONE) {
534 val = cpl_propertylist_get_int(plist,
"JITTER_I");
535 if (cpl_error_get_code() == CPL_ERROR_NONE) {
561 val = cpl_propertylist_get_int(plist,
"OFFSTNUM");
562 if (cpl_error_get_code() == CPL_ERROR_NONE) {
587 val = cpl_propertylist_get_int(plist,
"ESO DET NDIT");
588 if (cpl_error_get_code() == CPL_ERROR_NONE) {
611 return(vircam_pfits_get_float(plist,
"ESO DET DIT",dit));
628 val = cpl_propertylist_get_bool(plist,
"ESO DET CHIP LIVE");
629 if (cpl_error_get_code() == CPL_ERROR_NONE) {
651 strcpy(filt,cpl_propertylist_get_string(plist,
"ESO INS FILT1 NAME"));
652 if (cpl_error_get_code() == CPL_ERROR_NONE) {
673 strcpy(projid,cpl_propertylist_get_string(plist,
"ESO OBS PROG ID"));
674 if (cpl_error_get_code() == CPL_ERROR_NONE) {
695 return(vircam_pfits_get_float(plist,
"ESO DET SATURATION",saturation));
711 return(vircam_pfits_get_float(plist,
"GAIN",gain));
727 return(vircam_pfits_get_double(plist,
"MJD-OBS",mjd));
743 return(vircam_pfits_get_double(plist,
"RA",ra));
759 return(vircam_pfits_get_double(plist,
"DEC",dec));
774 static int vircam_pfits_get_float(
const cpl_propertylist *plist,
775 const char *key,
float *fval) {
777 const char *fctid =
"vircam_pfits_get_float";
781 type = cpl_propertylist_get_type(plist,key);
782 if (cpl_error_get_code() != CPL_ERROR_NONE) {
792 *fval = cpl_propertylist_get_float(plist,key);
794 case CPL_TYPE_DOUBLE:
795 *fval = (float)cpl_propertylist_get_double(plist,key);
799 cpl_msg_error(fctid,
"Keyword %s is not floating point in header",key);
816 static int vircam_pfits_get_double(
const cpl_propertylist *plist,
817 const char *key,
double *fval) {
819 const char *fctid =
"vircam_pfits_get_float";
823 type = cpl_propertylist_get_type(plist,key);
824 if (cpl_error_get_code() != CPL_ERROR_NONE) {
834 *fval = (double)cpl_propertylist_get_float(plist,key);
836 case CPL_TYPE_DOUBLE:
837 *fval = cpl_propertylist_get_double(plist,key);
841 cpl_msg_error(fctid,
"Keyword %s is not floating point in header",key);