VISIR Pipeline Reference Manual  4.1.0
visir_pfits.c
1 /* $Id: visir_pfits.c,v 1.53 2013-09-24 10:46:00 jtaylor Exp $
2  *
3  * This file is part of the VISIR Pipeline
4  * Copyright (C) 2002,2003 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
19  */
20 
21 /*
22  * $Author: jtaylor $
23  * $Date: 2013-09-24 10:46:00 $
24  * $Revision: 1.53 $
25  * $Name: not supported by cvs2svn $
26  */
27 
28 #ifdef HAVE_CONFIG_H
29 #include <config.h>
30 #endif
31 
32 /*-----------------------------------------------------------------------------
33  Defines
34  -----------------------------------------------------------------------------*/
35 
36 #define visir_pfits_get_double(KEY) irplib_pfits_get_double(self, KEY)
37 #define visir_pfits_get_int(KEY) irplib_pfits_get_int(self, KEY)
38 #define visir_pfits_get_string(KEY) irplib_pfits_get_string(self, KEY)
39 
40 
41 /*-----------------------------------------------------------------------------
42  Includes
43  -----------------------------------------------------------------------------*/
44 
45 #include <string.h>
46 #include <assert.h>
47 #include <math.h>
48 #include <cpl.h>
49 
50 #include "irplib_pfits.h"
51 
52 #include "visir_utils.h"
53 #include "visir_pfits.h"
54 
55 
56 /*-----------------------------------------------------------------------------
57  Private function prototypes
58  -----------------------------------------------------------------------------*/
59 
60 static const char * visir_pfits_get_slitname(const cpl_propertylist *);
61 static double visir_pfits_get_slitwidth_raw(const cpl_propertylist *);
62 
63 /*----------------------------------------------------------------------------*/
68 /*----------------------------------------------------------------------------*/
69 
72 /*-----------------------------------------------------------------------------
73  Function codes
74  -----------------------------------------------------------------------------*/
75 
76 /*----------------------------------------------------------------------------*/
82 /*----------------------------------------------------------------------------*/
83 double visir_pfits_get_airmass_start(const cpl_propertylist * self)
84 {
85  return visir_pfits_get_double("ESO TEL AIRM START");
86 }
87 
88 /*----------------------------------------------------------------------------*/
94 /*----------------------------------------------------------------------------*/
95 double visir_pfits_get_airmass_end(const cpl_propertylist * self)
96 {
97  return visir_pfits_get_double("ESO TEL AIRM END");
98 }
99 
100 /*----------------------------------------------------------------------------*/
106 /*----------------------------------------------------------------------------*/
107 double visir_pfits_get_alpha(const cpl_propertylist * self)
108 {
109  return visir_pfits_get_double("ESO TEL TARG OFFSETALPHA");
110 }
111 
112 /*----------------------------------------------------------------------------*/
118 /*----------------------------------------------------------------------------*/
119 const char * visir_pfits_get_arcfile(const cpl_propertylist * self)
120 {
121  return visir_pfits_get_string("ARCFILE");
122 }
123 
124 /*----------------------------------------------------------------------------*/
130 /*----------------------------------------------------------------------------*/
131 const char * visir_pfits_get_chopnod_dir(const cpl_propertylist * self)
132 {
133  return visir_pfits_get_string(VISIR_PFITS_STRING_CHOPNOD_DIR);
134 }
135 
136 
137 /*----------------------------------------------------------------------------*/
143 /*----------------------------------------------------------------------------*/
144 double visir_pfits_get_chop_throw(const cpl_propertylist * self)
145 {
146  if (cpl_propertylist_has(self, VISIR_PFITS_DOUBLE_CHOP_THROW)) {
147  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_CHOP_THROW);
148  }
149  else {
150  return visir_pfits_get_double("ESO DET CHOP THROW");
151  }
152 }
153 
154 
155 /*----------------------------------------------------------------------------*/
161 /*----------------------------------------------------------------------------*/
162 double visir_pfits_get_chop_freq(const cpl_propertylist * self)
163 {
164  if (cpl_propertylist_has(self, VISIR_PFITS_DOUBLE_CHOP_FREQ)) {
165  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_CHOP_FREQ);
166  }
167  else {
168  return visir_pfits_get_double("ESO DET CHOP FREQ");
169  }
170 }
171 
172 /*----------------------------------------------------------------------------*/
178 /*----------------------------------------------------------------------------*/
179 double visir_pfits_get_chop_stat(const cpl_propertylist * self)
180 {
181  if (cpl_propertylist_has(self, VISIR_PFITS_BOOL_CHOP_STATUS)) {
182  return cpl_propertylist_get_bool(self, VISIR_PFITS_BOOL_CHOP_STATUS);
183  }
184  else {
185  return cpl_propertylist_get_bool(self, "ESO DET CHOP ST");
186  }
187 }
188 
189 
190 /*----------------------------------------------------------------------------*/
196 /*----------------------------------------------------------------------------*/
197 double visir_pfits_get_chop_posang(const cpl_propertylist * self)
198 {
199  if (!cpl_propertylist_has(self, VISIR_PFITS_DOUBLE_CHOP_POSANG)) {
200  return 0.;
201  }
202  return CPL_MATH_RAD_DEG *
203  cpl_propertylist_get_double(self, VISIR_PFITS_DOUBLE_CHOP_POSANG);
204 }
205 
206 
207 /*----------------------------------------------------------------------------*/
213 /*----------------------------------------------------------------------------*/
214 double visir_pfits_get_chop_pthrow(const cpl_propertylist * self)
215 {
216  const double throw = visir_pfits_get_chop_throw(self);
217  const double pscale = visir_pfits_get_pixscale(self);
218  return pscale > 0.0 ? throw / pscale : 0.0;
219 }
220 
221 
222 /*----------------------------------------------------------------------------*/
228 /*----------------------------------------------------------------------------*/
229 int visir_pfits_get_chop_ncycles(const cpl_propertylist * self)
230 {
231  return visir_pfits_get_int("ESO DET CHOP NCYCLES");
232 }
233 
234 /*----------------------------------------------------------------------------*/
240 /*----------------------------------------------------------------------------*/
241 double visir_pfits_get_cumoffsetx(const cpl_propertylist * self)
242 {
243  return visir_pfits_get_double("ESO SEQ CUMOFFSETX");
244 }
245 
246 /*----------------------------------------------------------------------------*/
252 /*----------------------------------------------------------------------------*/
253 double visir_pfits_get_cumoffsety(const cpl_propertylist * self)
254 {
255  return visir_pfits_get_double("ESO SEQ CUMOFFSETY");
256 }
257 
258 /*----------------------------------------------------------------------------*/
264 /*----------------------------------------------------------------------------*/
265 const char * visir_pfits_get_date_obs(const cpl_propertylist * self)
266 {
267  return visir_pfits_get_string("DATE-OBS");
268 }
269 
270 /*----------------------------------------------------------------------------*/
276 /*----------------------------------------------------------------------------*/
277 double visir_pfits_get_delta(const cpl_propertylist * self)
278 {
279  return visir_pfits_get_double("ESO TEL TARG OFFSETDELTA");
280 }
281 
282 /*----------------------------------------------------------------------------*/
288 /*----------------------------------------------------------------------------*/
289 double visir_pfits_get_dec(const cpl_propertylist * self)
290 {
291  return visir_pfits_get_double("DEC");
292 }
293 
294 /*----------------------------------------------------------------------------*/
300 /*----------------------------------------------------------------------------*/
301 double visir_pfits_get_dit(const cpl_propertylist * self)
302 {
303  if (cpl_propertylist_has(self, VISIR_PFITS_DOUBLE_SEQ1_DIT))
304  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_SEQ1_DIT);
305  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_DIT);
306 }
307 
308 /*----------------------------------------------------------------------------*/
314 /*----------------------------------------------------------------------------*/
315 int visir_pfits_get_navrg(const cpl_propertylist * self)
316 {
317  if (cpl_propertylist_has(self, VISIR_PFITS_INT_NAVRG))
318  return visir_pfits_get_int(VISIR_PFITS_INT_NAVRG);
319  return 1;
320 }
321 
322 /*----------------------------------------------------------------------------*/
328 /*----------------------------------------------------------------------------*/
329 int visir_pfits_get_expno(const cpl_propertylist * self)
330 {
331  return visir_pfits_get_int("ESO TPL EXPNO");
332 }
333 
334 /*----------------------------------------------------------------------------*/
340 /*----------------------------------------------------------------------------*/
341 const char * visir_pfits_get_filter(const cpl_propertylist * self)
342 {
343 
344  /* Get the instrument mode */
345  const char * val = visir_pfits_get_insmode(self);
346 
347 
348  if (val == NULL) return NULL ;
349 
350  /* Imaging mode */
351  if (!strcmp(val, "IMG" ))
352  return visir_pfits_get_string("ESO INS FILT1 NAME");
353  /* Spectro mode */
354  if (!strcmp(val, "SPC" ))
355  return visir_pfits_get_string("ESO INS FILT2 NAME");
356  /* Spectro mode */
357  if (!strcmp(val, "SPCIMG"))
358  return visir_pfits_get_string("ESO INS FILT2 NAME");
359 
360  cpl_ensure(0, CPL_ERROR_UNSUPPORTED_MODE, NULL);
361 
362 }
363 
364 /*----------------------------------------------------------------------------*/
370 /*----------------------------------------------------------------------------*/
371 double visir_pfits_get_focus(const cpl_propertylist * self)
372 {
373  return visir_pfits_get_double("ESO TEL FOCU LEN");
374 }
375 
376 /*----------------------------------------------------------------------------*/
382 /*----------------------------------------------------------------------------*/
383 double visir_pfits_get_exptime(const cpl_propertylist * self)
384 {
385  return visir_pfits_get_double("EXPTIME");
386 }
387 
388 /*----------------------------------------------------------------------------*/
394 /*----------------------------------------------------------------------------*/
395 const char * visir_pfits_get_frame_type(const cpl_propertylist * self)
396 {
397  return visir_pfits_get_string("ESO DET FRAM TYPE");
398 }
399 
400 /*----------------------------------------------------------------------------*/
406 /*----------------------------------------------------------------------------*/
407 const char * visir_pfits_get_grat1_name(const cpl_propertylist * self)
408 {
409  return visir_pfits_get_string("ESO INS GRAT1 NAME");
410 }
411 
412 /*----------------------------------------------------------------------------*/
418 /*----------------------------------------------------------------------------*/
419 const char * visir_pfits_get_insmode(const cpl_propertylist * self)
420 {
421  return visir_pfits_get_string("ESO INS MODE");
422 }
423 
424 /*----------------------------------------------------------------------------*/
430 /*----------------------------------------------------------------------------*/
431 const char * visir_pfits_get_instrument(const cpl_propertylist * self)
432 {
433  return visir_pfits_get_string("INSTRUME");
434 }
435 
436 /*----------------------------------------------------------------------------*/
442 /*----------------------------------------------------------------------------*/
443 double visir_pfits_get_mjdobs(const cpl_propertylist * self)
444 {
445  return visir_pfits_get_double("MJD-OBS");
446 }
447 
448 /*----------------------------------------------------------------------------*/
454 /*----------------------------------------------------------------------------*/
455 const char * visir_pfits_get_mode(const cpl_propertylist * self)
456 {
457  return visir_pfits_get_string("ESO DET MODE NAME");
458 }
459 
460 /*----------------------------------------------------------------------------*/
466 /*----------------------------------------------------------------------------*/
467 double visir_pfits_get_monoc_pos(const cpl_propertylist * self)
468 {
469  return visir_pfits_get_double("ESO INS MONOC1 POS");
470 }
471 
472 /*----------------------------------------------------------------------------*/
478 /*----------------------------------------------------------------------------*/
479 int visir_pfits_get_ndit(const cpl_propertylist * self)
480 {
481  return visir_pfits_get_int("ESO DET NDIT");
482 }
483 /*----------------------------------------------------------------------------*/
489 /*----------------------------------------------------------------------------*/
490 int visir_pfits_get_naxis1(const cpl_propertylist * self)
491 {
492  if (cpl_propertylist_has(self, "ZNAXIS1"))
493  return visir_pfits_get_int("ZNAXIS1");
494  else
495  return visir_pfits_get_int("NAXIS1");
496 }
497 
498 /*----------------------------------------------------------------------------*/
504 /*----------------------------------------------------------------------------*/
505 int visir_pfits_get_naxis2(const cpl_propertylist * self)
506 {
507  if (cpl_propertylist_has(self, "ZNAXIS2"))
508  return visir_pfits_get_int("ZNAXIS2");
509  else
510  return visir_pfits_get_int("NAXIS2");
511 }
512 
513 /*----------------------------------------------------------------------------*/
519 /*----------------------------------------------------------------------------*/
520 int visir_pfits_get_naxis3(const cpl_propertylist * self)
521 {
522  if (cpl_propertylist_has(self, "ZNAXIS3"))
523  return visir_pfits_get_int("ZNAXIS3");
524  else
525  return visir_pfits_get_int("NAXIS3");
526 }
527 
528 /*----------------------------------------------------------------------------*/
534 /*----------------------------------------------------------------------------*/
535 int visir_pfits_get_win_nx(const cpl_propertylist * self)
536 {
537  if (cpl_propertylist_has(self, "ESO DET ACQ1 WIN NX")) {;
538  return visir_pfits_get_int("ESO DET ACQ1 WIN NX");
539  }
540  return -1;
541 }
542 
543 /*----------------------------------------------------------------------------*/
549 /*----------------------------------------------------------------------------*/
550 int visir_pfits_get_win_ny(const cpl_propertylist * self)
551 {
552  if (cpl_propertylist_has(self, "ESO DET ACQ1 WIN NY")) {;
553  return visir_pfits_get_int("ESO DET ACQ1 WIN NY");
554  }
555  return -1;
556 }
557 
558 /*----------------------------------------------------------------------------*/
564 /*----------------------------------------------------------------------------*/
565 int visir_pfits_get_start_x(const cpl_propertylist * self)
566 {
567  if (cpl_propertylist_has(self, "ESO DET ACQ1 WIN STRX")) {;
568  return visir_pfits_get_int("ESO DET ACQ1 WIN STRX");
569  }
570  return -1;
571 }
572 
573 /*----------------------------------------------------------------------------*/
579 /*----------------------------------------------------------------------------*/
580 int visir_pfits_get_start_y(const cpl_propertylist * self)
581 {
582  if (cpl_propertylist_has(self, "ESO DET ACQ1 WIN STRY")) {;
583  return visir_pfits_get_int("ESO DET ACQ1 WIN STRY");
584  }
585  return -1;
586 }
587 
588 /*----------------------------------------------------------------------------*/
594 /*----------------------------------------------------------------------------*/
595 int visir_pfits_get_numbexp(const cpl_propertylist * self)
596 {
597  return visir_pfits_get_int("ESO TPL NEXP");
598 }
599 
600 /*----------------------------------------------------------------------------*/
606 /*----------------------------------------------------------------------------*/
607 int visir_pfits_get_obs_id(const cpl_propertylist * self)
608 {
609  return visir_pfits_get_int("ESO OBS ID");
610 }
611 
612 /*----------------------------------------------------------------------------*/
618 /*----------------------------------------------------------------------------*/
619 const char * visir_pfits_get_nodpos(const cpl_propertylist * self)
620 {
621  return visir_pfits_get_string("ESO SEQ NODPOS");
622 }
623 
624 /*----------------------------------------------------------------------------*/
630 /*----------------------------------------------------------------------------*/
631 double visir_pfits_get_pixscale(const cpl_propertylist * self)
632 {
633  const char * sscale = visir_pfits_get_string(VISIR_PFITS_STRING_PIXSCALE);
634  if (sscale && strlen(sscale) > 0)
635  return atof(sscale);
636  else
637  return -1.;
638 }
639 
640 /*----------------------------------------------------------------------------*/
646 /*----------------------------------------------------------------------------*/
647 double visir_pfits_get_pixspace(const cpl_propertylist * self)
648 {
649  return visir_pfits_get_double("ESO DET CHIP PXSPACE");
650 }
651 
652 /*----------------------------------------------------------------------------*/
658 /*----------------------------------------------------------------------------*/
659 double visir_pfits_get_ra(const cpl_propertylist * self)
660 {
661  return visir_pfits_get_double("RA");
662 }
663 
664 /*----------------------------------------------------------------------------*/
670 /*----------------------------------------------------------------------------*/
671 double visir_pfits_get_slitwidth(const cpl_propertylist * self)
672 {
673  const char * slitname = visir_pfits_get_slitname(self);
674  double slitwidth = visir_pfits_get_slitwidth_raw(self);
675 
676 
677  if (!cpl_error_get_code()) {
678 
679  static const char * slit_name[] = {"CU_0.12", "CU_0.14", "CU_0.16",
680  "CU_0.20", "CU_0.25", "CU_0.30",
681  "CU_0.40", "CU_0.50", "CU_0.60",
682  "CU_0.70", "CU_0.80", "CU_1.00",
683  "CU_1.20", "CU_1.60", "ST_0.14",
684  "ST_0.16", "ST_0.20", "ST_0.30",
685  "ST_0.40", "ST_0.50", "ST_0.60"};
686 
687  static double slit_width[] = {0.12, 0.14, 0.16,
688  0.20, 0.25, 0.30,
689  0.40, 0.50, 0.60,
690  0.70, 0.80, 1.00,
691  1.20, 1.60, 0.14,
692  0.16, 0.20, 0.30,
693  0.40, 0.50, 0.60};
694 
695  static const int slit_nums = (int)(sizeof(slit_width)/sizeof(double));
696 
697  int i;
698 
699  for (i=0; i < slit_nums; i++)
700  if (strstr(slitname, slit_name[i])) break;
701 
702  if (i < slit_nums && fabs(slit_width[i] - slitwidth) < 0.001) {
703  /* The Slit width is supposed to be in Arcseconds - as written in
704  the comment of the FITS card.
705  However, if the Slit width matches the Slit name then the Slit
706  width is actually in unit millimeter and is converted */
707 
708  cpl_msg_warning(cpl_func,"The Width of slit %s is written in the "
709  "FITS card in units mm. Converting to ArcSecs: "
710  "%g => %g", slitname, slitwidth, slitwidth * 2.5);
711  slitwidth *= 2.5;
712  }
713  }
714 
715  return slitwidth;
716 }
717 
718 /*----------------------------------------------------------------------------*/
724 /*----------------------------------------------------------------------------*/
725 const char * visir_pfits_get_starname(const cpl_propertylist * self)
726 {
727  return visir_pfits_get_string("ESO OBS TARG NAME");
728 }
729 
730 /*----------------------------------------------------------------------------*/
736 /*----------------------------------------------------------------------------*/
737 const char * visir_pfits_get_resol(const cpl_propertylist * self)
738 {
739  return visir_pfits_get_string("ESO INS RESOL");
740 }
741 
742 /*----------------------------------------------------------------------------*/
748 /*----------------------------------------------------------------------------*/
749 double visir_pfits_get_temp(const cpl_propertylist * self)
750 {
751  return visir_pfits_get_double("ESO TEL TH M1 TEMP");
752 }
753 
754 /*----------------------------------------------------------------------------*/
760 /*----------------------------------------------------------------------------*/
761 double visir_pfits_get_volt1dcta9(const cpl_propertylist * self)
762 {
763  return visir_pfits_get_double("ESO DET VOLT1 DCTA9");
764 }
765 
766 /*----------------------------------------------------------------------------*/
772 /*----------------------------------------------------------------------------*/
773 double visir_pfits_get_volt1dctb9(const cpl_propertylist * self)
774 {
775  return visir_pfits_get_double("ESO DET VOLT1 DCTB9");
776 }
777 
778 /*----------------------------------------------------------------------------*/
784 /*----------------------------------------------------------------------------*/
785 double visir_pfits_get_volt2dcta9(const cpl_propertylist * self)
786 {
787  return visir_pfits_get_double("ESO DET VOLT2 DCTA9");
788 }
789 
790 /*----------------------------------------------------------------------------*/
796 /*----------------------------------------------------------------------------*/
797 double visir_pfits_get_volt2dctb9(const cpl_propertylist * self)
798 {
799  return visir_pfits_get_double("ESO DET VOLT2 DCTB9");
800 }
801 
802 /*----------------------------------------------------------------------------*/
808 /*----------------------------------------------------------------------------*/
809 double visir_pfits_get_wlen(const cpl_propertylist * self)
810 {
811  if (cpl_propertylist_has(self, VISIR_PFITS_DOUBLE_PWLEN)) {
812  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_PWLEN);
813  }
814  return visir_pfits_get_double(VISIR_PFITS_DOUBLE_WLEN);
815 }
816 
817 /*----------------------------------------------------------------------------*/
826 /*----------------------------------------------------------------------------*/
827 double visir_pfits_get_img_weight(const cpl_propertylist * self)
828 {
829  double imgwgt = 1.;
830  if (cpl_propertylist_has(self, "ESO DRS IMGWGT"))
831  imgwgt = cpl_propertylist_get_float(self, "ESO DRS IMGWGT");
832 
833  return imgwgt;
834 }
835 
836 /*----------------------------------------------------------------------------*/
845 /*----------------------------------------------------------------------------*/
846 int visir_pfits_get_nbeams(const cpl_propertylist * self)
847 {
848  const cpl_boolean chop_on =
849  cpl_propertylist_get_bool(self, VISIR_PFITS_BOOL_CHOP_STATUS);
850 
851  /* FIXME: starring mode support? */
852 
853  return chop_on ? 4 : 2;
854 }
855 
858 /*----------------------------------------------------------------------------*/
865 /*----------------------------------------------------------------------------*/
866 static double visir_pfits_get_slitwidth_raw(const cpl_propertylist * self)
867 {
868  return visir_pfits_get_double("ESO INS SLIT1 WID");
869 }
870 
871 /*----------------------------------------------------------------------------*/
877 /*----------------------------------------------------------------------------*/
878 static const char * visir_pfits_get_slitname(const cpl_propertylist * self)
879 {
880  return visir_pfits_get_string("ESO INS SLIT1 NAME");
881 }
int visir_pfits_get_expno(const cpl_propertylist *self)
The number of the current exposition.
Definition: visir_pfits.c:329
double visir_pfits_get_cumoffsetx(const cpl_propertylist *self)
The cumulative offset in X.
Definition: visir_pfits.c:241
int visir_pfits_get_naxis2(const cpl_propertylist *self)
The NAXIS2 key.
Definition: visir_pfits.c:505
double visir_pfits_get_airmass_end(const cpl_propertylist *self)
The airmass end.
Definition: visir_pfits.c:95
int visir_pfits_get_win_ny(const cpl_propertylist *self)
The WIN NY key.
Definition: visir_pfits.c:550
double visir_pfits_get_dec(const cpl_propertylist *self)
The DEC.
Definition: visir_pfits.c:289
int visir_pfits_get_obs_id(const cpl_propertylist *self)
The OBS ID.
Definition: visir_pfits.c:607
double visir_pfits_get_volt1dcta9(const cpl_propertylist *self)
The VOLT1.DCTA9.
Definition: visir_pfits.c:761
double visir_pfits_get_volt1dctb9(const cpl_propertylist *self)
The VOLT1.DCTB9.
Definition: visir_pfits.c:773
double visir_pfits_get_chop_pthrow(const cpl_propertylist *self)
The chopping throw in pixels.
Definition: visir_pfits.c:214
const char * visir_pfits_get_mode(const cpl_propertylist *self)
The mode name.
Definition: visir_pfits.c:455
const char * visir_pfits_get_arcfile(const cpl_propertylist *self)
The arcfile.
Definition: visir_pfits.c:119
const char * visir_pfits_get_date_obs(const cpl_propertylist *self)
The date of observation.
Definition: visir_pfits.c:265
double visir_pfits_get_volt2dcta9(const cpl_propertylist *self)
The VOLT2.DCTA9.
Definition: visir_pfits.c:785
int visir_pfits_get_naxis3(const cpl_propertylist *self)
The NAXIS3 key.
Definition: visir_pfits.c:520
double visir_pfits_get_airmass_start(const cpl_propertylist *self)
The airmass start.
Definition: visir_pfits.c:83
double visir_pfits_get_slitwidth(const cpl_propertylist *self)
The slit width in Arcseconds.
Definition: visir_pfits.c:671
int visir_pfits_get_navrg(const cpl_propertylist *self)
The NAVRG.
Definition: visir_pfits.c:315
const char * visir_pfits_get_resol(const cpl_propertylist *self)
The spectral resolution.
Definition: visir_pfits.c:737
int visir_pfits_get_start_x(const cpl_propertylist *self)
The WIN STRX key.
Definition: visir_pfits.c:565
int visir_pfits_get_naxis1(const cpl_propertylist *self)
The NAXIS1 key.
Definition: visir_pfits.c:490
int visir_pfits_get_numbexp(const cpl_propertylist *self)
The number of exposures.
Definition: visir_pfits.c:595
const char * visir_pfits_get_starname(const cpl_propertylist *self)
The std star name.
Definition: visir_pfits.c:725
const char * visir_pfits_get_filter(const cpl_propertylist *self)
The filter.
Definition: visir_pfits.c:341
const char * visir_pfits_get_frame_type(const cpl_propertylist *self)
The frame type.
Definition: visir_pfits.c:395
const char * visir_pfits_get_grat1_name(const cpl_propertylist *self)
The name of grating 1.
Definition: visir_pfits.c:407
double visir_pfits_get_focus(const cpl_propertylist *self)
The focus.
Definition: visir_pfits.c:371
int visir_pfits_get_chop_ncycles(const cpl_propertylist *self)
The number of chopping cycles.
Definition: visir_pfits.c:229
double visir_pfits_get_exptime(const cpl_propertylist *self)
The exposure time.
Definition: visir_pfits.c:383
double visir_pfits_get_chop_posang(const cpl_propertylist *self)
The chopping position angle in rad.
Definition: visir_pfits.c:197
int visir_pfits_get_win_nx(const cpl_propertylist *self)
The WIN NX key.
Definition: visir_pfits.c:535
int visir_pfits_get_nbeams(const cpl_propertylist *self)
The number of input beams.
Definition: visir_pfits.c:846
int visir_pfits_get_ndit(const cpl_propertylist *self)
The NDIT keyword.
Definition: visir_pfits.c:479
double visir_pfits_get_cumoffsety(const cpl_propertylist *self)
The cumulative offset in Y.
Definition: visir_pfits.c:253
double visir_pfits_get_volt2dctb9(const cpl_propertylist *self)
The VOLT2.DCTB9.
Definition: visir_pfits.c:797
double visir_pfits_get_chop_freq(const cpl_propertylist *self)
The chopping frequency.
Definition: visir_pfits.c:162
double visir_pfits_get_pixspace(const cpl_propertylist *self)
The pixel spacing.
Definition: visir_pfits.c:647
double visir_pfits_get_chop_throw(const cpl_propertylist *self)
The chopping throw.
Definition: visir_pfits.c:144
const char * visir_pfits_get_nodpos(const cpl_propertylist *self)
The nodding position.
Definition: visir_pfits.c:619
const char * visir_pfits_get_insmode(const cpl_propertylist *self)
The mode.
Definition: visir_pfits.c:419
double visir_pfits_get_img_weight(const cpl_propertylist *self)
The relative weight of the image compared to the other images.
Definition: visir_pfits.c:827
double visir_pfits_get_wlen(const cpl_propertylist *self)
The central wavelength.
Definition: visir_pfits.c:809
double visir_pfits_get_monoc_pos(const cpl_propertylist *self)
The INS.MONOC1.POS.
Definition: visir_pfits.c:467
double visir_pfits_get_dit(const cpl_propertylist *self)
The DIT.
Definition: visir_pfits.c:301
double visir_pfits_get_pixscale(const cpl_propertylist *self)
The pixel scale.
Definition: visir_pfits.c:631
double visir_pfits_get_chop_stat(const cpl_propertylist *self)
The chopping status.
Definition: visir_pfits.c:179
const char * visir_pfits_get_chopnod_dir(const cpl_propertylist *self)
The chopping direction.
Definition: visir_pfits.c:131
double visir_pfits_get_delta(const cpl_propertylist *self)
The DELTA keyword in a VISIR header.
Definition: visir_pfits.c:277
int visir_pfits_get_start_y(const cpl_propertylist *self)
The WIN STRY key.
Definition: visir_pfits.c:580
double visir_pfits_get_alpha(const cpl_propertylist *self)
The alpha angle.
Definition: visir_pfits.c:107
double visir_pfits_get_mjdobs(const cpl_propertylist *self)
The MJD-OBS.
Definition: visir_pfits.c:443
double visir_pfits_get_temp(const cpl_propertylist *self)
The telescope (M1) temperature [Celcius].
Definition: visir_pfits.c:749
double visir_pfits_get_ra(const cpl_propertylist *self)
The RA.
Definition: visir_pfits.c:659
const char * visir_pfits_get_instrument(const cpl_propertylist *self)
The instrument.
Definition: visir_pfits.c:431