38#include "eris_pfits.h"
67 cpl_ensure(aHeaders, CPL_ERROR_NULL_INPUT, NULL);
68 cpl_errorstate prestate = cpl_errorstate_get();
69 const char *value = cpl_propertylist_get_string(aHeaders,
"ESO PRO ANCESTOR");
70 cpl_errorstate_set(prestate);
84 const char * value = cpl_propertylist_get_string(plist,
"ARCFILE");
86 cpl_ensure(value != NULL, cpl_error_get_code(), NULL);
100 cpl_errorstate prestate = cpl_errorstate_get();
101 const double value = cpl_propertylist_get_double(plist,
"ESO DET SEQ1 DIT");
105 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), 0.0);
119 cpl_errorstate prestate = cpl_errorstate_get();
120 const int value = cpl_propertylist_get_int(plist,
"ESO DET NDIT");
124 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), 0);
140 cpl_propertylist* plist = NULL;
141 plist = cpl_propertylist_load(filename, 0);
142 exptime = cpl_propertylist_get_double(plist,
"EXPTIME");
143 cpl_propertylist_delete(plist);
157 return cpl_propertylist_get_int(plist,
"NAXIS1");
170 return cpl_propertylist_get_int(plist,
"NAXIS2");
174eris_ifu_plist_extract_wcs2D(
const cpl_propertylist* applist)
176 cpl_ensure(applist != NULL, CPL_ERROR_NULL_INPUT, NULL);
177 cpl_propertylist* result = cpl_propertylist_new();
179 const char* string_value;
180 if(cpl_propertylist_has(applist,
"CRPIX1")) {
181 if (cpl_propertylist_get_type(applist,
"CRPIX1") == CPL_TYPE_DOUBLE) {
182 double_value = cpl_propertylist_get_double(applist,
"CRPIX1");
183 cpl_propertylist_append_double(result,
"CRPIX1", double_value);
185 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
189 if(cpl_propertylist_has(applist,
"CRPIX2")) {
190 if (cpl_propertylist_get_type(applist,
"CRPIX2") == CPL_TYPE_DOUBLE) {
191 double_value = cpl_propertylist_get_double(applist,
"CRPIX2");
192 cpl_propertylist_append_double(result,
"CRPIX2", double_value);
194 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
199 if(cpl_propertylist_has(applist,
"CRVAL1")) {
200 if (cpl_propertylist_get_type(applist,
"CRVAL1") == CPL_TYPE_DOUBLE) {
201 double_value = cpl_propertylist_get_double(applist,
"CRVAL1");
202 cpl_propertylist_append_double(result,
"CRVAL1", double_value);
204 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
208 if(cpl_propertylist_has(applist,
"CRVAL2")) {
209 if (cpl_propertylist_get_type(applist,
"CRVAL2") == CPL_TYPE_DOUBLE) {
210 double_value = cpl_propertylist_get_double(applist,
"CRVAL2");
211 cpl_propertylist_append_double(result,
"CRVAL2", double_value);
213 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
218 if(cpl_propertylist_has(applist,
"CDELT1")) {
219 if (cpl_propertylist_get_type(applist,
"CDELT1") == CPL_TYPE_DOUBLE) {
220 double_value = cpl_propertylist_get_double(applist,
"CDELT1");
221 cpl_propertylist_append_double(result,
"CDELT1", double_value);
223 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
227 if(cpl_propertylist_has(applist,
"CDELT2")) {
228 if (cpl_propertylist_get_type(applist,
"CDELT2") == CPL_TYPE_DOUBLE) {
229 double_value = cpl_propertylist_get_double(applist,
"CDELT2");
230 cpl_propertylist_append_double(result,
"CDELT2", double_value);
232 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
237 if(cpl_propertylist_has(applist,
"CTYPE1")) {
238 if (cpl_propertylist_get_type(applist,
"CTYPE1") == CPL_TYPE_STRING) {
239 string_value = cpl_propertylist_get_string(applist,
"CTYPE1");
240 cpl_propertylist_append_string(result,
"CTYPE1", string_value);
242 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
246 if(cpl_propertylist_has(applist,
"CTYPE2")) {
247 if (cpl_propertylist_get_type(applist,
"CTYPE2") == CPL_TYPE_STRING) {
248 string_value = cpl_propertylist_get_string(applist,
"CTYPE2");
249 cpl_propertylist_append_string(result,
"CTYPE2", string_value);
251 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
256 if(cpl_propertylist_has(applist,
"CUNIT1")) {
257 if (cpl_propertylist_get_type(applist,
"CUNIT1") == CPL_TYPE_STRING) {
258 string_value = cpl_propertylist_get_string(applist,
"CUNIT1");
259 cpl_propertylist_append_string(result,
"CUNIT1", string_value);
261 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
265 if(cpl_propertylist_has(applist,
"CUNIT2")) {
266 if (cpl_propertylist_get_type(applist,
"CUNIT2") == CPL_TYPE_STRING) {
267 string_value = cpl_propertylist_get_string(applist,
"CUNIT2");
268 cpl_propertylist_append_string(result,
"CUNIT2", string_value);
270 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
276 if(cpl_propertylist_has(applist,
"CD1_1")) {
277 if (cpl_propertylist_get_type(applist,
"CD1_1") == CPL_TYPE_DOUBLE) {
278 double_value = cpl_propertylist_get_double(applist,
"CD1_1");
279 cpl_propertylist_append_double(result,
"CD1_1", double_value);
281 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
285 if(cpl_propertylist_has(applist,
"CD1_2")) {
286 if (cpl_propertylist_get_type(applist,
"CD1_2") == CPL_TYPE_DOUBLE) {
287 double_value = cpl_propertylist_get_double(applist,
"CD1_2");
288 cpl_propertylist_append_double(result,
"CD1_2", double_value);
290 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
295 if(cpl_propertylist_has(applist,
"CD2_1")) {
296 if (cpl_propertylist_get_type(applist,
"CD2_1") == CPL_TYPE_DOUBLE) {
297 double_value = cpl_propertylist_get_double(applist,
"CD2_1");
298 cpl_propertylist_append_double(result,
"CD2_1", double_value);
300 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
305 if(cpl_propertylist_has(applist,
"CD2_2")) {
306 if (cpl_propertylist_get_type(applist,
"CD2_2") == CPL_TYPE_DOUBLE) {
307 double_value = cpl_propertylist_get_double(applist,
"CD2_2");
308 cpl_propertylist_append_double(result,
"CD2_2", double_value);
310 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
320eris_ifu_plist_extract_wcs3D(
const cpl_propertylist* applist)
323 cpl_ensure(applist != NULL, CPL_ERROR_NULL_INPUT, NULL);
324 cpl_propertylist* result = cpl_propertylist_new();
326 const char* string_value;
328 if(cpl_propertylist_has(applist,
"CRPIX3")) {
329 if (cpl_propertylist_get_type(applist,
"CRPIX3") == CPL_TYPE_DOUBLE) {
330 double_value = cpl_propertylist_get_double(applist,
"CRPIX3");
331 cpl_propertylist_append_double(result,
"CRPIX3", double_value);
333 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
338 if(cpl_propertylist_has(applist,
"CRVAL3")) {
339 if (cpl_propertylist_get_type(applist,
"CRVAL3") == CPL_TYPE_DOUBLE) {
340 double_value = cpl_propertylist_get_double(applist,
"CRVAL3");
341 cpl_propertylist_append_double(result,
"CRVAL3", double_value);
343 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
348 if(cpl_propertylist_has(applist,
"CDELT3")) {
349 if (cpl_propertylist_get_type(applist,
"CDELT3") == CPL_TYPE_DOUBLE) {
350 double_value = cpl_propertylist_get_double(applist,
"CDELT3");
351 cpl_propertylist_append_double(result,
"CDELT3", double_value);
353 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
358 if(cpl_propertylist_has(applist,
"CTYPE3")) {
359 if (cpl_propertylist_get_type(applist,
"CTYPE3") == CPL_TYPE_STRING) {
360 string_value = cpl_propertylist_get_string(applist,
"CTYPE3");
361 cpl_propertylist_append_string(result,
"CTYPE3", string_value);
363 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
368 if(cpl_propertylist_has(applist,
"CUNIT3")) {
369 if (cpl_propertylist_get_type(applist,
"CUNIT3") == CPL_TYPE_STRING) {
370 string_value = cpl_propertylist_get_string(applist,
"CUNIT3");
371 cpl_propertylist_append_string(result,
"CUNIT3", string_value);
373 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
379 if(cpl_propertylist_has(applist,
"CD1_3")) {
380 if (cpl_propertylist_get_type(applist,
"CD1_3") == CPL_TYPE_DOUBLE) {
381 double_value = cpl_propertylist_get_double(applist,
"CD1_3");
382 cpl_propertylist_append_double(result,
"CD1_3", double_value);
384 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
389 if(cpl_propertylist_has(applist,
"CD3_1")) {
390 if (cpl_propertylist_get_type(applist,
"CD3_1") == CPL_TYPE_DOUBLE) {
391 double_value = cpl_propertylist_get_double(applist,
"CD3_1");
392 cpl_propertylist_append_double(result,
"CD3_1", double_value);
394 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
399 if(cpl_propertylist_has(applist,
"CD2_3")) {
400 if (cpl_propertylist_get_type(applist,
"CD2_3") == CPL_TYPE_DOUBLE) {
401 double_value = cpl_propertylist_get_double(applist,
"CD2_3");
402 cpl_propertylist_append_double(result,
"CD2_3", double_value);
404 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
408 if(cpl_propertylist_has(applist,
"CD3_2")) {
409 if (cpl_propertylist_get_type(applist,
"CD3_2") == CPL_TYPE_DOUBLE) {
410 double_value = cpl_propertylist_get_double(applist,
"CD3_2");
411 cpl_propertylist_append_double(result,
"CD3_2", double_value);
413 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
417 if(cpl_propertylist_has(applist,
"CD3_3")) {
418 if (cpl_propertylist_get_type(applist,
"CD3_3") == CPL_TYPE_DOUBLE) {
419 double_value = cpl_propertylist_get_double(applist,
"CD3_3");
420 cpl_propertylist_append_double(result,
"CD3_3", double_value);
422 cpl_error_set(cpl_func,CPL_ERROR_TYPE_MISMATCH);
432eris_ifu_plist_extract_wcs(cpl_propertylist* applist)
435 cpl_propertylist* result = cpl_propertylist_new();
437 cpl_propertylist* tmp = eris_ifu_plist_extract_wcs2D(applist);
438 cpl_propertylist_append(result, tmp);
439 cpl_propertylist_delete(tmp);
441 tmp = eris_ifu_plist_extract_wcs3D(applist);
442 cpl_propertylist_append(result, tmp);
443 cpl_propertylist_delete(tmp);
449eris_pfits_erase_wcs2D(cpl_propertylist* applist)
452 if(cpl_propertylist_has(applist,
"CRPIX1")) {
453 cpl_propertylist_erase(applist,
"CRPIX1");
455 if(cpl_propertylist_has(applist,
"CRPIX2")) {
456 cpl_propertylist_erase(applist,
"CRPIX2");
459 if(cpl_propertylist_has(applist,
"CRVAL1")) {
460 cpl_propertylist_erase(applist,
"CRVAL1");
462 if(cpl_propertylist_has(applist,
"CRVAL2")) {
463 cpl_propertylist_erase(applist,
"CRVAL2");
466 if(cpl_propertylist_has(applist,
"CDELT1")) {
467 cpl_propertylist_erase(applist,
"CDELT1");
469 if(cpl_propertylist_has(applist,
"CDELT2")) {
470 cpl_propertylist_erase(applist,
"CDELT2");
473 if(cpl_propertylist_has(applist,
"CTYPE1")) {
474 cpl_propertylist_erase(applist,
"CTYPE1");
476 if(cpl_propertylist_has(applist,
"CTYPE2")) {
477 cpl_propertylist_erase(applist,
"CTYPE2");
480 if(cpl_propertylist_has(applist,
"CUNIT1")) {
481 cpl_propertylist_erase(applist,
"CUNIT1");
483 if(cpl_propertylist_has(applist,
"CUNIT2")) {
484 cpl_propertylist_erase(applist,
"CUNIT2");
488 if(cpl_propertylist_has(applist,
"CD1_1")) {
489 cpl_propertylist_erase(applist,
"CD1_1");
491 if(cpl_propertylist_has(applist,
"CD1_2")) {
492 cpl_propertylist_erase(applist,
"CD1_2");
495 if(cpl_propertylist_has(applist,
"CD2_1")) {
496 cpl_propertylist_erase(applist,
"CD2_1");
499 if(cpl_propertylist_has(applist,
"CD2_2")) {
500 cpl_propertylist_erase(applist,
"CD2_2");
503 return cpl_error_get_code();
507eris_ifu_plist_erase_wcs3D(cpl_propertylist* applist)
511 if(cpl_propertylist_has(applist,
"CRPIX3")) {
512 cpl_propertylist_erase(applist,
"CRPIX3");
514 if(cpl_propertylist_has(applist,
"CRVAL3")) {
515 cpl_propertylist_erase(applist,
"CRVAL3");
517 if(cpl_propertylist_has(applist,
"CDELT3")) {
518 cpl_propertylist_erase(applist,
"CDELT3");
521 if(cpl_propertylist_has(applist,
"CTYPE3")) {
522 cpl_propertylist_erase(applist,
"CTYPE3");
524 if(cpl_propertylist_has(applist,
"CUNIT3")) {
525 cpl_propertylist_erase(applist,
"CUNIT3");
529 if(cpl_propertylist_has(applist,
"CD1_3")) {
530 cpl_propertylist_erase(applist,
"CD1_3");
532 if(cpl_propertylist_has(applist,
"CD3_1")) {
533 cpl_propertylist_erase(applist,
"CD3_1");
535 if(cpl_propertylist_has(applist,
"CD2_3")) {
536 cpl_propertylist_erase(applist,
"CD2_3");
538 if(cpl_propertylist_has(applist,
"CD3_2")) {
539 cpl_propertylist_erase(applist,
"CD3_2");
541 if(cpl_propertylist_has(applist,
"CD3_3")) {
542 cpl_propertylist_erase(applist,
"CD3_3");
547 return cpl_error_get_code();
551eris_ifu_plist_erase_expmap_extra_keys(cpl_propertylist* applist)
555 if(cpl_propertylist_has(applist,
"HDUCLASS")) {
556 cpl_propertylist_erase(applist,
"HDUCLASS");
558 if(cpl_propertylist_has(applist,
"HDUDOC")) {
559 cpl_propertylist_erase(applist,
"HDUDOC");
561 if(cpl_propertylist_has(applist,
"HDUVERS")) {
562 cpl_propertylist_erase(applist,
"HDUVERS");
565 if(cpl_propertylist_has(applist,
"HDUCLAS1")) {
566 cpl_propertylist_erase(applist,
"HDUCLAS1");
568 if(cpl_propertylist_has(applist,
"HDUCLAS2")) {
569 cpl_propertylist_erase(applist,
"HDUCLAS2");
573 if(cpl_propertylist_has(applist,
"ERRDATA")) {
574 cpl_propertylist_erase(applist,
"ERRDATA");
576 if(cpl_propertylist_has(applist,
"QUALDATA")) {
577 cpl_propertylist_erase(applist,
"QUALDATA");
581 return cpl_error_get_code();
586eris_ifu_plist_erase_wcs(cpl_propertylist* applist)
589 eris_pfits_erase_wcs2D(applist);
590 eris_ifu_plist_erase_wcs3D(applist);
592 return cpl_error_get_code();
611 cpl_ensure(aHeaders, CPL_ERROR_NULL_INPUT, NULL);
612 char *key = cpl_sprintf(
"ESO PRO REC1 RAW%-u NAME", idx);
613 cpl_errorstate prestate = cpl_errorstate_get();
614 const char *value = cpl_propertylist_get_string(aHeaders, key);
615 cpl_errorstate_set(prestate);
631 cpl_errorstate prestate = cpl_errorstate_get();
632 const double value = cpl_propertylist_get_double(aHeaders,
"ESO TEL IA FWHMLIN");
633 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), 0.0);
651 cpl_errorstate prestate = cpl_errorstate_get();
652 const double value = cpl_propertylist_get_double(aHeaders,
"ESO TEL AMBI FWHM START");
653 cpl_ensure(cpl_errorstate_is_equal(prestate) && value > 0.,
654 cpl_error_get_code(), 0.0);
671 cpl_errorstate prestate = cpl_errorstate_get();
672 const double value = cpl_propertylist_get_double(aHeaders,
"ESO TEL AMBI FWHM END");
673 cpl_ensure(cpl_errorstate_is_equal(prestate) && value > 0.,
674 cpl_error_get_code(), 0.0);
688 return cpl_propertylist_get_double(plist,
"CD3_3");
701 return cpl_propertylist_get_double(plist,
"CRVAL3");
712 return cpl_propertylist_get_double(plist,
"CDELT3");
725 return cpl_propertylist_get_double(plist,
"CRPIX3");
738 return cpl_propertylist_get_double(plist,
"CRPIX2");
750 return cpl_propertylist_get_double(plist,
"CRPIX1");
767 cpl_errorstate prestate = cpl_errorstate_get();
768 const double value = cpl_propertylist_get_double(aHeaders,
"ESO TEL AIRM START");
769 cpl_ensure(cpl_errorstate_is_equal(prestate) && value > 0., cpl_error_get_code(), 0.0);
785 cpl_errorstate prestate = cpl_errorstate_get();
786 const double value = cpl_propertylist_get_double(aHeaders,
"ESO TEL AIRM END");
787 cpl_ensure(cpl_errorstate_is_equal(prestate) && value > 0., cpl_error_get_code(), 0.0);
793eris_pfits_get_airmass(
const cpl_propertylist *aHeaders)
813 cpl_errorstate prestate = cpl_errorstate_get();
814 const double value = cpl_propertylist_get_double(aHeaders,
"MJD-OBS");
815 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), 0.0);
831 cpl_errorstate prestate = cpl_errorstate_get();
832 const char *value = cpl_propertylist_get_string(aHeaders,
"ESO OBS PROG ID");
833 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), NULL);
850 cpl_errorstate prestate = cpl_errorstate_get();
851 const long value = cpl_propertylist_get_long(aHeaders,
"ESO OBS ID");
852 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), -1);
869 cpl_errorstate prestate = cpl_errorstate_get();
870 const char* value = NULL;
871 if(cpl_propertylist_has(aHeaders,
"PIPEFILE")) {
872 value = cpl_propertylist_get_string(aHeaders,
"PIPEFILE");
874 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), value);
889 cpl_errorstate prestate = cpl_errorstate_get();
890 const char* value = NULL;
891 if(cpl_propertylist_has(aHeaders,
"DATAMD5")) {
892 value = cpl_propertylist_get_string(aHeaders,
"DATAMD5");
894 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), value);
900eris_pfits_clean_header(cpl_propertylist *header,
const cpl_boolean clean_extra)
902 cpl_ensure_code(header != NULL, CPL_ERROR_NULL_INPUT);
903 cpl_errorstate prestate = cpl_errorstate_get();
905 cpl_propertylist_erase(header,
"TELESCOP");
906 cpl_propertylist_erase(header,
"INSTRUME");
907 cpl_propertylist_erase(header,
"ARCFILE");
908 cpl_propertylist_erase(header,
"DATAMD5");
909 cpl_propertylist_erase(header,
"PIPEFILE");
910 cpl_propertylist_erase(header,
"OBJECT");
916 cpl_propertylist_erase(header,
"EXPTIME");
917 cpl_propertylist_erase(header,
"EQUINOX");
919 cpl_propertylist_erase(header,
"DATE-OBS");
920 cpl_propertylist_erase(header,
"UTC");
921 cpl_propertylist_erase(header,
"LST");
922 cpl_propertylist_erase(header,
"PI-COI");
923 cpl_propertylist_erase(header,
"OBSERVER");
924 cpl_propertylist_erase(header,
"RADESYS");
925 if(cpl_propertylist_has(header,
"PRODCATG")) {
926 cpl_propertylist_erase(header,
"PRODCATG");
928 if(cpl_propertylist_has(header,
"COMMENT")) {
929 cpl_propertylist_erase(header,
"COMMENT");
932 cpl_propertylist_erase_regexp(header,
"ESO ADA *", 0);
933 cpl_propertylist_erase_regexp(header,
"ESO AOS *", 0);
934 cpl_propertylist_erase_regexp(header,
"ESO INS* *", 0);
935 cpl_propertylist_erase_regexp(header,
"ESO DET *", 0);
936 cpl_propertylist_erase_regexp(header,
"ESO DPR *", 0);
937 cpl_propertylist_erase_regexp(header,
"ESO LGS* *", 0);
938 cpl_propertylist_erase_regexp(header,
"ESO OCS *", 0);
939 cpl_propertylist_erase_regexp(header,
"ESO OBS *", 0);
940 cpl_propertylist_erase_regexp(header,
"ESO PRO *", 0);
941 cpl_propertylist_erase_regexp(header,
"ESO SEQ *", 0);
942 cpl_propertylist_erase_regexp(header,
"ESO TEL *", 0);
943 cpl_propertylist_erase_regexp(header,
"ESO TPL *", 0);
945 cpl_ensure(cpl_errorstate_is_equal(prestate), cpl_error_get_code(), -1);
946 return cpl_error_get_code();
949eris_pfits_clean_header_ra_dec_mjd_obs(cpl_propertylist *header)
951 cpl_propertylist_erase(header,
"RA");
952 cpl_propertylist_erase(header,
"DEC");
953 cpl_propertylist_erase(header,
"MJD-OBS");
954 return cpl_error_get_code();
957eris_pfits_clean_comment(cpl_propertylist *header)
959 cpl_propertylist_erase(header,
"COMMENT");
961 return cpl_error_get_code();
double eris_pfits_get_mjdobs(const cpl_propertylist *aHeaders)
find out the Julian Date of the observation
double eris_pfits_get_exptime(const char *filename)
find out the character string associated to the EXPTIME keyword
double eris_pfits_get_cdelt3(const cpl_propertylist *plist)
find out the character string associated to the CDELT3 keyword
double eris_pfits_get_crpix2(const cpl_propertylist *plist)
find out the character string associated to the CRPIX2 keyword
int eris_pfits_get_naxis2(const cpl_propertylist *plist)
find out the character string associated to the NAXIS2 keyword
const char * eris_pfits_get_raw_filename(const cpl_propertylist *aHeaders, unsigned int idx)
find out the i-th raw file name.
const char * eris_pfits_get_arcfile(const cpl_propertylist *plist)
find out the arcfile
double eris_pfits_get_fwhm_start(const cpl_propertylist *aHeaders)
find out the ambient seeing at start of exposure (in arcsec)
const char * eris_pfits_get_datamd5(const cpl_propertylist *aHeaders)
find out the PIPEFILE id
int eris_pfits_get_naxis1(const cpl_propertylist *plist)
find out the character string associated to the NAXIS1 keyword
double eris_pfits_get_cd33(const cpl_propertylist *plist)
find out the character string associated to the CDELT3 keyword
double eris_pfits_get_airmass_start(const cpl_propertylist *aHeaders)
find out the airmass at start of exposure
double eris_pfits_get_fwhm_end(const cpl_propertylist *aHeaders)
find out the ambient seeing at end of exposure (in arcsec)
double eris_pfits_get_ia_fwhmlin(const cpl_propertylist *aHeaders)
find out the image analysis FWHM from a linear fit (in arcsec)
const char * eris_pfits_get_pipefile(const cpl_propertylist *aHeaders)
find out the PIPEFILE id
double eris_pfits_get_crpix1(const cpl_propertylist *plist)
find out the character string associated to the CRPIX1 keyword
int eris_pfits_get_ndit(const cpl_propertylist *plist)
find out the DIT value
double eris_pfits_get_crval3(const cpl_propertylist *plist)
find out the character string associated to the CVRVAL3 keyword
double eris_pfits_get_airmass_end(const cpl_propertylist *aHeaders)
find out the airmass at end of exposure
const char * eris_pfits_get_ancestor(const cpl_propertylist *aHeaders)
find out the ancestor of a file.
const char * eris_pfits_get_progid(const cpl_propertylist *aHeaders)
find out the ESO program identification
long eris_pfits_get_obsid(const cpl_propertylist *aHeaders)
find out the observation block id
double eris_pfits_get_dit(const cpl_propertylist *plist)
find out the DIT value
double eris_pfits_get_crpix3(const cpl_propertylist *plist)
find out the character string associated to the CRPIX3 keyword