IIINSTRUMENT Pipeline Reference Manual 1.5.16
sofi_pfits.c
1/* $Id: sofi_pfits.c,v 1.6 2013-03-12 08:04:54 llundin Exp $
2 *
3 * This file is part of the SOFI 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: llundin $
23 * $Date: 2013-03-12 08:04:54 $
24 * $Revision: 1.6 $
25 * $Name: not supported by cvs2svn $
26 */
27
28#ifdef HAVE_CONFIG_H
29#include <config.h>
30#endif
31
32/*-----------------------------------------------------------------------------
33 Includes
34 -----------------------------------------------------------------------------*/
35
36#include <string.h>
37#include <cpl.h>
38
39#include "sofi_pfits.h"
40
41/*----------------------------------------------------------------------------*/
46/*----------------------------------------------------------------------------*/
47
49
50/*-----------------------------------------------------------------------------
51 Function codes
52 -----------------------------------------------------------------------------*/
53
54/*----------------------------------------------------------------------------*/
60/*----------------------------------------------------------------------------*/
61double sofi_pfits_get_airmass_start(const cpl_propertylist * plist)
62{
63 return cpl_propertylist_get_double(plist, "ESO TEL AIRM START") ;
64}
65
66/*----------------------------------------------------------------------------*/
72/*----------------------------------------------------------------------------*/
73double sofi_pfits_get_airmass_end(const cpl_propertylist * plist)
74{
75 return cpl_propertylist_get_double(plist, "ESO TEL AIRM END") ;
76}
77
78/*----------------------------------------------------------------------------*/
84/*----------------------------------------------------------------------------*/
85const char * sofi_pfits_get_arcfile(const cpl_propertylist * plist)
86{
87 return (const char *) cpl_propertylist_get_string(plist, "ARCFILE");
88}
89
90/*----------------------------------------------------------------------------*/
96/*----------------------------------------------------------------------------*/
97const char * sofi_pfits_get_chip(const cpl_propertylist * plist)
98{
99 return (const char *) cpl_propertylist_get_string(plist,
100 "ESO DET CHIP NAME");
101}
102
103/*----------------------------------------------------------------------------*/
109/*----------------------------------------------------------------------------*/
110double sofi_pfits_get_cumoffsetx(const cpl_propertylist * plist)
111{
112 return cpl_propertylist_get_double(plist, "ESO SEQ CUMOFFSETX") ;
113}
114
115/*----------------------------------------------------------------------------*/
121/*----------------------------------------------------------------------------*/
122double sofi_pfits_get_cumoffsety(const cpl_propertylist * plist)
123{
124 return cpl_propertylist_get_double(plist, "ESO SEQ CUMOFFSETY") ;
125}
126
127/*----------------------------------------------------------------------------*/
133/*----------------------------------------------------------------------------*/
134int sofi_pfits_get_current_exp_nb(const cpl_propertylist * plist)
135{
136 return cpl_propertylist_get_int(plist, "ESO TPL EXPNO") ;
137}
138
139/*----------------------------------------------------------------------------*/
145/*----------------------------------------------------------------------------*/
146const char * sofi_pfits_get_date(const cpl_propertylist * plist)
147{
148 return (const char *) cpl_propertylist_get_string(plist, "DATE") ;
149}
150
151/*----------------------------------------------------------------------------*/
157/*----------------------------------------------------------------------------*/
158const char * sofi_pfits_get_date_obs(const cpl_propertylist * plist)
159{
160 return (const char *) cpl_propertylist_get_string(plist, "DATE-OBS") ;
161}
162
163/*----------------------------------------------------------------------------*/
169/*----------------------------------------------------------------------------*/
170double sofi_pfits_get_dec(const cpl_propertylist * plist)
171{
172 return cpl_propertylist_get_double(plist, "DEC") ;
173}
174
175/*----------------------------------------------------------------------------*/
181/*----------------------------------------------------------------------------*/
182const char * sofi_pfits_get_frame_type(const cpl_propertylist * plist)
183{
184 return (const char *) cpl_propertylist_get_string(plist,
185 "ESO DET FRAM TYPE") ;
186}
187
188/*----------------------------------------------------------------------------*/
194/*----------------------------------------------------------------------------*/
195double sofi_pfits_get_dit(const cpl_propertylist * plist)
196{
197 return cpl_propertylist_get_double(plist, "ESO DET DIT") ;
198}
199
200/*----------------------------------------------------------------------------*/
206/*----------------------------------------------------------------------------*/
207const char * sofi_pfits_get_dpr_catg(const cpl_propertylist * plist)
208{
209 return (const char *) cpl_propertylist_get_string(plist, "ESO DPR CATG") ;
210}
211
212/*----------------------------------------------------------------------------*/
218/*----------------------------------------------------------------------------*/
219const char * sofi_pfits_get_dpr_tech(const cpl_propertylist * plist)
220{
221 return (const char *) cpl_propertylist_get_string(plist, "ESO DPR TECH") ;
222}
223
224/*----------------------------------------------------------------------------*/
230/*----------------------------------------------------------------------------*/
231const char * sofi_pfits_get_dpr_type(const cpl_propertylist * plist)
232{
233 return (const char *) cpl_propertylist_get_string(plist, "ESO DPR TYPE") ;
234}
235
236/*----------------------------------------------------------------------------*/
242/*----------------------------------------------------------------------------*/
243const char * sofi_pfits_get_filter(const cpl_propertylist * plist)
244{
245 const char * val ;
246
247 val = cpl_propertylist_get_string(plist, "ESO INS FILT1 ID") ;
248 if (val == NULL) return NULL ;
249 /* If FILT1 is not open, return its value */
250 if (strcmp(val, "open")) return val ;
251 /* FILT1 is open, return value from FILT2 */
252 val = cpl_propertylist_get_string(plist, "ESO INS FILT2 ID") ;
253 if (val == NULL) return NULL ;
254 if (strcmp(val, "open")) return val ;
255 return NULL ;
256}
257
258/*----------------------------------------------------------------------------*/
264/*----------------------------------------------------------------------------*/
265double sofi_pfits_get_humidity_level(const cpl_propertylist * plist)
266{
267 return cpl_propertylist_get_double(plist, "ESO TEL AMBI RHUM") ;
268}
269
270/*----------------------------------------------------------------------------*/
276/*----------------------------------------------------------------------------*/
277const char * sofi_pfits_get_instrument(const cpl_propertylist * plist)
278{
279 return (const char *) cpl_propertylist_get_string(plist, "INSTRUME") ;
280}
281
282/*----------------------------------------------------------------------------*/
288/*----------------------------------------------------------------------------*/
289const char * sofi_pfits_get_lamp1_name(const cpl_propertylist * plist)
290{
291 return (const char *) cpl_propertylist_get_string(plist,
292 "ESO INS LAMP1 NAME") ;
293}
294
295/*----------------------------------------------------------------------------*/
301/*----------------------------------------------------------------------------*/
302int sofi_pfits_get_lamp1_status(const cpl_propertylist * plist)
303{
304 return cpl_propertylist_get_bool(plist, "ESO INS LAMP1 ST") ;
305}
306
307/*----------------------------------------------------------------------------*/
313/*----------------------------------------------------------------------------*/
314const char * sofi_pfits_get_lamp2_name(const cpl_propertylist * plist)
315{
316 return (const char *) cpl_propertylist_get_string(plist,
317 "ESO INS LAMP2 NAME") ;
318}
319
320/*----------------------------------------------------------------------------*/
326/*----------------------------------------------------------------------------*/
327int sofi_pfits_get_lamp2_status(const cpl_propertylist * plist)
328{
329 return cpl_propertylist_get_bool(plist, "ESO INS LAMP2 ST") ;
330}
331
332/*----------------------------------------------------------------------------*/
338/*----------------------------------------------------------------------------*/
339double sofi_pfits_get_mjdobs(const cpl_propertylist * plist)
340{
341 return cpl_propertylist_get_double(plist, "MJD-OBS") ;
342}
343
344/*----------------------------------------------------------------------------*/
350/*----------------------------------------------------------------------------*/
351const char * sofi_pfits_get_mode(const cpl_propertylist * plist)
352{
353 return (const char *) cpl_propertylist_get_string(plist, "ESO INS MODE") ;
354}
355
356/*----------------------------------------------------------------------------*/
362/*----------------------------------------------------------------------------*/
363int sofi_pfits_get_naxis2(const cpl_propertylist * plist)
364{
365 return cpl_propertylist_get_int(plist, "NAXIS2") ;
366}
367
368/*----------------------------------------------------------------------------*/
374/*----------------------------------------------------------------------------*/
375int sofi_pfits_get_ndit(const cpl_propertylist * plist)
376{
377 return cpl_propertylist_get_int(plist, "ESO DET NDIT") ;
378}
379
380/*----------------------------------------------------------------------------*/
386/*----------------------------------------------------------------------------*/
387int sofi_pfits_get_numbexp(const cpl_propertylist * plist)
388{
389 return cpl_propertylist_get_int(plist, "ESO TPL NEXP") ;
390}
391
392/*----------------------------------------------------------------------------*/
398/*----------------------------------------------------------------------------*/
399int sofi_pfits_get_obs_id(const cpl_propertylist * plist)
400{
401 return cpl_propertylist_get_int(plist, "ESO OBS ID") ;
402}
403
404/*----------------------------------------------------------------------------*/
410/*----------------------------------------------------------------------------*/
411const char * sofi_pfits_get_targ_name(const cpl_propertylist * plist)
412{
413 return (const char *) cpl_propertylist_get_string(plist,
414 "ESO OBS TARG NAME") ;
415}
416
417/*----------------------------------------------------------------------------*/
423/*----------------------------------------------------------------------------*/
424const char * sofi_pfits_get_opti1_id(const cpl_propertylist * plist)
425{
426 return (const char *) cpl_propertylist_get_string(plist,
427 "ESO INS OPTI1 ID") ;
428}
429
430/*----------------------------------------------------------------------------*/
436/*----------------------------------------------------------------------------*/
437const char * sofi_pfits_get_origfile(const cpl_propertylist * plist)
438{
439 return (const char *) cpl_propertylist_get_string(plist, "ORIGFILE") ;
440}
441
442/*----------------------------------------------------------------------------*/
448/*----------------------------------------------------------------------------*/
449double sofi_pfits_get_pixscale(const cpl_propertylist * plist)
450{
451 return cpl_propertylist_get_double(plist, "ESO INS PIXSCALE") ;
452}
453
454/*----------------------------------------------------------------------------*/
460/*----------------------------------------------------------------------------*/
461double sofi_pfits_get_ra(const cpl_propertylist * plist)
462{
463 return cpl_propertylist_get_double(plist, "RA") ;
464}
465
466/*----------------------------------------------------------------------------*/
472/*----------------------------------------------------------------------------*/
473const char * sofi_pfits_get_resolution(const cpl_propertylist * plist)
474{
475 return (const char *) cpl_propertylist_get_string(plist,
476 "ESO INS OPTI2 NAME") ;
477}
478
479/*----------------------------------------------------------------------------*/
485/*----------------------------------------------------------------------------*/
486int sofi_pfits_get_rom(const cpl_propertylist * plist)
487{
488 return cpl_propertylist_get_int(plist, "ESO DET NCORRS") ;
489}
490
491/*----------------------------------------------------------------------------*/
497/*----------------------------------------------------------------------------*/
498const char * sofi_pfits_get_romode_name(const cpl_propertylist * plist)
499{
500 return (const char *) cpl_propertylist_get_string(plist,
501 "ESO DET MODE NAME");
502}
503
504/*----------------------------------------------------------------------------*/
510/*----------------------------------------------------------------------------*/
511const char * sofi_pfits_get_rom_name(const cpl_propertylist * plist)
512{
513 return (const char *) cpl_propertylist_get_string(plist,
514 "ESO DET NCORRS NAME");
515}
516
517/*----------------------------------------------------------------------------*/
523/*----------------------------------------------------------------------------*/
524int sofi_pfits_get_rspeed(const cpl_propertylist * plist)
525{
526 return cpl_propertylist_get_int(plist, "ESO DET RSPEED") ;
527}
528
529/*----------------------------------------------------------------------------*/
535/*----------------------------------------------------------------------------*/
536const char * sofi_pfits_get_templateid(const cpl_propertylist * plist)
537{
538 return (const char *) cpl_propertylist_get_string(plist, "ESO TPL ID") ;
539}
540
const char * sofi_pfits_get_rom_name(const cpl_propertylist *plist)
find out the read out mode name
Definition sofi_pfits.c:511
double sofi_pfits_get_ra(const cpl_propertylist *plist)
find out the RA
Definition sofi_pfits.c:461
double sofi_pfits_get_dit(const cpl_propertylist *plist)
find out the DIT value
Definition sofi_pfits.c:195
const char * sofi_pfits_get_opti1_id(const cpl_propertylist *plist)
find out the OPTI1.ID key
Definition sofi_pfits.c:424
const char * sofi_pfits_get_chip(const cpl_propertylist *plist)
find out the chip name
Definition sofi_pfits.c:97
double sofi_pfits_get_dec(const cpl_propertylist *plist)
find out the DEC
Definition sofi_pfits.c:170
const char * sofi_pfits_get_origfile(const cpl_propertylist *plist)
find out the original file name
Definition sofi_pfits.c:437
const char * sofi_pfits_get_instrument(const cpl_propertylist *plist)
find out the instrument
Definition sofi_pfits.c:277
double sofi_pfits_get_humidity_level(const cpl_propertylist *plist)
find out the humidity level
Definition sofi_pfits.c:265
const char * sofi_pfits_get_frame_type(const cpl_propertylist *plist)
find out the frame type
Definition sofi_pfits.c:182
const char * sofi_pfits_get_dpr_catg(const cpl_propertylist *plist)
find out the data category
Definition sofi_pfits.c:207
const char * sofi_pfits_get_mode(const cpl_propertylist *plist)
find out the instrument mode
Definition sofi_pfits.c:351
int sofi_pfits_get_current_exp_nb(const cpl_propertylist *plist)
find out the current exposure number
Definition sofi_pfits.c:134
const char * sofi_pfits_get_lamp2_name(const cpl_propertylist *plist)
find out the lamp2 name
Definition sofi_pfits.c:314
int sofi_pfits_get_lamp2_status(const cpl_propertylist *plist)
find out the lamp2 status
Definition sofi_pfits.c:327
const char * sofi_pfits_get_dpr_type(const cpl_propertylist *plist)
find out the data type
Definition sofi_pfits.c:231
int sofi_pfits_get_numbexp(const cpl_propertylist *plist)
find out the number of exposures
Definition sofi_pfits.c:387
const char * sofi_pfits_get_dpr_tech(const cpl_propertylist *plist)
find out the data technique
Definition sofi_pfits.c:219
double sofi_pfits_get_mjdobs(const cpl_propertylist *plist)
find out the MJD-OBS
Definition sofi_pfits.c:339
double sofi_pfits_get_airmass_start(const cpl_propertylist *plist)
find out airmass start
Definition sofi_pfits.c:61
double sofi_pfits_get_airmass_end(const cpl_propertylist *plist)
find out airmass end
Definition sofi_pfits.c:73
double sofi_pfits_get_cumoffsetx(const cpl_propertylist *plist)
find out the cumulative offset in X
Definition sofi_pfits.c:110
int sofi_pfits_get_rom(const cpl_propertylist *plist)
find out the read out mode
Definition sofi_pfits.c:486
const char * sofi_pfits_get_targ_name(const cpl_propertylist *plist)
find out the target name
Definition sofi_pfits.c:411
const char * sofi_pfits_get_lamp1_name(const cpl_propertylist *plist)
find out the lamp1 name
Definition sofi_pfits.c:289
int sofi_pfits_get_lamp1_status(const cpl_propertylist *plist)
find out the lamp1 status
Definition sofi_pfits.c:302
const char * sofi_pfits_get_arcfile(const cpl_propertylist *plist)
find out the arcfile
Definition sofi_pfits.c:85
int sofi_pfits_get_rspeed(const cpl_propertylist *plist)
find out the read speed
Definition sofi_pfits.c:524
const char * sofi_pfits_get_date(const cpl_propertylist *plist)
find out the date of the file creation
Definition sofi_pfits.c:146
int sofi_pfits_get_naxis2(const cpl_propertylist *plist)
find out the NAXIS2 keyword
Definition sofi_pfits.c:363
const char * sofi_pfits_get_romode_name(const cpl_propertylist *plist)
find out the read out mode name
Definition sofi_pfits.c:498
const char * sofi_pfits_get_filter(const cpl_propertylist *plist)
find out which wave band is active in short wavelength
Definition sofi_pfits.c:243
const char * sofi_pfits_get_templateid(const cpl_propertylist *plist)
find out the template ID
Definition sofi_pfits.c:536
int sofi_pfits_get_obs_id(const cpl_propertylist *plist)
find out the OBS ID
Definition sofi_pfits.c:399
double sofi_pfits_get_cumoffsety(const cpl_propertylist *plist)
find out the cumulative offset in Y
Definition sofi_pfits.c:122
double sofi_pfits_get_pixscale(const cpl_propertylist *plist)
find out the pixel scale
Definition sofi_pfits.c:449
const char * sofi_pfits_get_resolution(const cpl_propertylist *plist)
find out the resolution
Definition sofi_pfits.c:473
const char * sofi_pfits_get_date_obs(const cpl_propertylist *plist)
find out the date of observation
Definition sofi_pfits.c:158
int sofi_pfits_get_ndit(const cpl_propertylist *plist)
find out the NDIT keyword
Definition sofi_pfits.c:375