visir_pfits.h

00001 /* $Id: visir_pfits.h,v 1.52 2007/08/23 14:37:01 llundin Exp $
00002  *
00003  * This file is part of the NACO Pipeline
00004  * Copyright (C) 2002,2003 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: llundin $
00023  * $Date: 2007/08/23 14:37:01 $
00024  * $Revision: 1.52 $
00025  * $Name: visir-3_2_2 $
00026  */
00027 
00028 #ifndef VISIR_PFITS_H
00029 #define VISIR_PFITS_H
00030 
00031 /*-----------------------------------------------------------------------------
00032                                    Includes
00033  -----------------------------------------------------------------------------*/
00034 
00035 #include <cpl.h>
00036 
00037 #include "irplib_pfits.h"
00038 
00039 /*-----------------------------------------------------------------------------
00040                                 Define   
00041  -----------------------------------------------------------------------------*/
00042 
00043 #define VISIR_PFITS_STRING_ARCFILE           "ARCFILE"
00044 #define VISIR_PFITS_STRING_DATE_OBS          "DATE-OBS"
00045 #define VISIR_PFITS_DOUBLE_DEC               "DEC"
00046 #define VISIR_PFITS_DOUBLE_PIXSPACE          "ESO DET CHIP PXSPACE"
00047 #define VISIR_PFITS_INT_CHOP_NCYCLES         "ESO DET CHOP NCYCLES"
00048 #define VISIR_PFITS_DOUBLE_DIT               "ESO DET DIT"
00049 #define VISIR_PFITS_STRING_FRAME_TYPE        "ESO DET FRAM TYPE"
00050 #define VISIR_PFITS_STRING_MODE              "ESO DET MODE NAME"
00051 #define VISIR_PFITS_INT_NDIT                 "ESO DET NDIT"
00052 #define VISIR_PFITS_DOUBLE_VOLT1DCTA9        "ESO DET VOLT1 DCTA9"
00053 #define VISIR_PFITS_DOUBLE_VOLT1DCTB9        "ESO DET VOLT1 DCTB9"
00054 #define VISIR_PFITS_DOUBLE_VOLT2DCTA9        "ESO DET VOLT2 DCTA9"
00055 #define VISIR_PFITS_DOUBLE_VOLT2DCTB9        "ESO DET VOLT2 DCTB9"
00056 #define VISIR_PFITS_STRING_GRAT1_NAME        "ESO INS GRAT1 NAME"
00057 #define VISIR_PFITS_DOUBLE_WLEN              "ESO INS GRAT1 WLEN"
00058 #define VISIR_PFITS_STRING_INSMODE           "ESO INS MODE"
00059 #define VISIR_PFITS_DOUBLE_MONOC_POS         "ESO INS MONOC1 POS"
00060 #define VISIR_PFITS_STRING_PIXSCALE          "ESO INS PFOV"
00061 #define VISIR_PFITS_STRING_RESOL             "ESO INS RESOL"
00062 #define VISIR_PFITS_STRING_SLITNAME          "ESO INS SLIT1 NAME"
00063 #define VISIR_PFITS_INT_OBS_ID               "ESO OBS ID"
00064 #define VISIR_PFITS_STRING_STARNAME          "ESO OBS TARG NAME"
00065 #define VISIR_PFITS_STRING_CHOPNOD_DIR       "ESO SEQ CHOPNOD DIR"
00066 #define VISIR_PFITS_DOUBLE_CUMOFFSETX        "ESO SEQ CUMOFFSETX"
00067 #define VISIR_PFITS_DOUBLE_CUMOFFSETY        "ESO SEQ CUMOFFSETY"
00068 #define VISIR_PFITS_STRING_NODPOS            "ESO SEQ NODPOS"
00069 #define VISIR_PFITS_DOUBLE_AIRMASS_END       "ESO TEL AIRM END"
00070 #define VISIR_PFITS_DOUBLE_AIRMASS_START     "ESO TEL AIRM START"
00071 #define VISIR_PFITS_DOUBLE_FOCUS             "ESO TEL FOCU LEN"
00072 #define VISIR_PFITS_DOUBLE_ALPHA             "ESO TEL TARG OFFSETALPHA"
00073 #define VISIR_PFITS_DOUBLE_DELTA             "ESO TEL TARG OFFSETDELTA"
00074 #define VISIR_PFITS_DOUBLE_TEMP              "ESO TEL TH M1 TEMP"
00075 #define VISIR_PFITS_INT_EXPNO                "ESO TPL EXPNO"
00076 #define VISIR_PFITS_INT_NUMBEXP              "ESO TPL NEXP"
00077 #define VISIR_PFITS_DOUBLE_EXPTIME           "EXPTIME"
00078 #define VISIR_PFITS_STRING_INSTRUMENT        "INSTRUME"
00079 #define VISIR_PFITS_DOUBLE_MJDOBS            "MJD-OBS"
00080 #define VISIR_PFITS_INT_NAXIS3               "NAXIS3"
00081 #define VISIR_PFITS_DOUBLE_RA                "RA"
00082 
00083 #define VISIR_PFITS_DOUBLE_SLITWIDTH         "ESO INS SLIT1 WID"
00084 #define VISIR_PFITS_STRING_FILTER1           "ESO INS FILT1 NAME"
00085 #define VISIR_PFITS_STRING_FILTER2           "ESO INS FILT2 NAME"
00086 
00087 #define VISIR_PFITS_REGEXP_CAPA \
00088         VISIR_PFITS_STRING_INSMODE \
00089     "|" VISIR_PFITS_DOUBLE_VOLT1DCTA9 \
00090     "|" VISIR_PFITS_DOUBLE_VOLT1DCTB9 \
00091     "|" VISIR_PFITS_DOUBLE_VOLT2DCTA9 \
00092     "|" VISIR_PFITS_DOUBLE_VOLT2DCTB9
00093 
00094 #define VISIR_PFITS_REGEXP_INPUTS_COMBINE \
00095          VISIR_PFITS_STRING_NODPOS \
00096     "|"  VISIR_PFITS_DOUBLE_DIT \
00097     "|"  VISIR_PFITS_REGEXP_LOAD_IMAGELIST
00098 
00099 #define VISIR_PFITS_REGEXP_IMG_RECOMBINE \
00100         VISIR_PFITS_DOUBLE_CUMOFFSETX \
00101     "|" VISIR_PFITS_DOUBLE_CUMOFFSETY \
00102     "|" VISIR_PFITS_REGEXP_INPUTS_COMBINE \
00103     "|" VISIR_PFITS_REGEXP_CAPA
00104 
00105 #define VISIR_PFITS_REGEXP_SPC_GET_RES_WL \
00106          VISIR_PFITS_DOUBLE_WLEN \
00107     "|"  VISIR_PFITS_DOUBLE_SLITWIDTH \
00108     "|"  VISIR_PFITS_DOUBLE_PIXSPACE \
00109     "|"  VISIR_PFITS_STRING_RESOL \
00110     "|"  VISIR_PFITS_STRING_SLITNAME \
00111     "|"  VISIR_PFITS_DOUBLE_TEMP
00112 
00113 
00114 /* Guaranteed keys of VISIR_PFITS_REGEXP_IMG_RECOMBINE */
00115 #define VISIR_PFITS_REGEXP_SPC_SENSIT \
00116          VISIR_PFITS_INT_NDIT \
00117     "|"  VISIR_PFITS_DOUBLE_RA \
00118     "|"  VISIR_PFITS_DOUBLE_DEC \
00119     "|"  VISIR_PFITS_STRING_STARNAME
00120 
00121 
00122 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00123 #define VISIR_PFITS_REGEXP_LOAD_IMAGELIST \
00124          VISIR_PFITS_STRING_FRAME_TYPE \
00125     "|"  VISIR_PFITS_INT_NAXIS3 \
00126     "|"  VISIR_PFITS_INT_CHOP_NCYCLES \
00127     "|"  IRPLIB_PFITS_REGEXP_DPR
00128 
00129 
00130 /* Guaranteed keys of VISIR_PFITS_REGEXP_IMG_RECOMBINE */
00131 #define VISIR_PFITS_REGEXP_IMG_SENSIT \
00132          VISIR_PFITS_STRING_FILTER1 \
00133     "|"  VISIR_PFITS_STRING_FILTER2 \
00134     "|"  VISIR_PFITS_STRING_PIXSCALE \
00135     "|"  VISIR_PFITS_STRING_CHOPNOD_DIR \
00136     "|"  VISIR_PFITS_STRING_INSMODE \
00137     "|"  VISIR_PFITS_REGEXP_SPC_SENSIT
00138 
00139 
00140 #define VISIR_PFITS_REGEXP_DARK_PAF             \
00141         IRPLIB_PFITS_REGEXP_PAF                 \
00142     "|" VISIR_PFITS_DOUBLE_DIT                  \
00143     "|" VISIR_PFITS_INT_NDIT                    \
00144     "|" VISIR_PFITS_STRING_MODE                 \
00145     "|ESO INS PFOV|ESO INS RESOL"               \
00146     "|ESO INS GRAT1 WLEN|ESO INS SLIT1 WID"     \
00147     "|ESO INS FILT1 NAME|ESO INS FILT2 NAME"    \
00148     "|ESO DET NCORRS NAME|ESO TPL START"
00149 
00150 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00151 #define VISIR_PFITS_REGEXP_DARK                 \
00152         IRPLIB_PFITS_REGEXP_DPR                 \
00153     "|" VISIR_PFITS_DOUBLE_EXPTIME              \
00154     "|" "NAXIS[12]"
00155 
00156 #define VISIR_PFITS_REGEXP_COMBINE_PAF      \
00157         IRPLIB_PFITS_REGEXP_PAF             \
00158   "|" VISIR_PFITS_DOUBLE_DIT                \
00159   "|" VISIR_PFITS_STRING_PIXSCALE           \
00160   "|" VISIR_PFITS_DOUBLE_AIRMASS_START
00161 
00162 #define VISIR_PFITS_REGEXP_IMG_PHOT_PAF     \
00163         IRPLIB_PFITS_REGEXP_PAF             \
00164        "|ESO DET DIT|ESO INS PFOV|ESO TEL AIRM START"
00165 
00166 #define VISIR_PFITS_IMG_PHOT_COPY \
00167      IRPLIB_PFITS_REGEXP_RECAL    \
00168      "|FILTER1|FILTER2"
00169 
00170 #define VISIR_PFITS_SPC_PHOT_COPY \
00171      VISIR_PFITS_IMG_PHOT_COPY "|GRAT1"
00172 
00173 #define VISIR_PFITS_FF_COPY \
00174      VISIR_PFITS_SPC_PHOT_COPY
00175 
00176 #define VISIR_PFITS_REGEXP_SPC_WCAL_PAF         \
00177         IRPLIB_PFITS_REGEXP_PAF                 \
00178     "|" VISIR_PFITS_STRING_GRAT1_NAME
00179 
00180 #define VISIR_PFITS_REGEXP_SPC_PHOT_PAF         \
00181         VISIR_PFITS_REGEXP_IMG_PHOT_PAF         \
00182     "|" VISIR_PFITS_STRING_GRAT1_NAME
00183 
00184 /* Together with the keys referenced above,
00185    no other FITS keys are used by the VISIR pipeline */
00186 static const char visir_property_regexp[] = 
00187     "^(" IRPLIB_PFITS_REGEXP_PAF
00188     "|" VISIR_PFITS_SPC_PHOT_COPY
00189     "|" VISIR_PFITS_STRING_ARCFILE
00190     "|" VISIR_PFITS_STRING_DATE_OBS
00191     "|" VISIR_PFITS_DOUBLE_DEC
00192     "|" VISIR_PFITS_DOUBLE_PIXSPACE
00193     "|" VISIR_PFITS_INT_CHOP_NCYCLES
00194     "|" VISIR_PFITS_DOUBLE_DIT
00195     "|" VISIR_PFITS_STRING_FRAME_TYPE
00196     "|" VISIR_PFITS_STRING_MODE
00197     "|" VISIR_PFITS_INT_NDIT
00198     "|" VISIR_PFITS_DOUBLE_VOLT1DCTA9
00199     "|" VISIR_PFITS_DOUBLE_VOLT1DCTB9
00200     "|" VISIR_PFITS_DOUBLE_VOLT2DCTA9
00201     "|" VISIR_PFITS_DOUBLE_VOLT2DCTB9
00202     "|" VISIR_PFITS_STRING_GRAT1_NAME
00203     "|" VISIR_PFITS_DOUBLE_WLEN
00204     "|" VISIR_PFITS_STRING_INSMODE
00205     "|" VISIR_PFITS_DOUBLE_MONOC_POS
00206     "|" VISIR_PFITS_STRING_PIXSCALE
00207     "|" VISIR_PFITS_STRING_RESOL
00208     "|" VISIR_PFITS_STRING_SLITNAME
00209     "|" VISIR_PFITS_DOUBLE_SLITWIDTH
00210     "|" VISIR_PFITS_INT_OBS_ID
00211     "|" VISIR_PFITS_STRING_STARNAME
00212     "|" VISIR_PFITS_STRING_CHOPNOD_DIR
00213     "|" VISIR_PFITS_DOUBLE_CUMOFFSETX
00214     "|" VISIR_PFITS_DOUBLE_CUMOFFSETY
00215     "|" VISIR_PFITS_STRING_NODPOS
00216     "|" VISIR_PFITS_DOUBLE_AIRMASS_END
00217     "|" VISIR_PFITS_DOUBLE_AIRMASS_START
00218     "|" VISIR_PFITS_DOUBLE_FOCUS
00219     "|" VISIR_PFITS_DOUBLE_ALPHA
00220     "|" VISIR_PFITS_DOUBLE_DELTA
00221     "|" VISIR_PFITS_DOUBLE_TEMP
00222     "|" VISIR_PFITS_INT_EXPNO
00223     "|" VISIR_PFITS_INT_NUMBEXP
00224     "|" VISIR_PFITS_DOUBLE_EXPTIME
00225     "|" VISIR_PFITS_STRING_INSTRUMENT
00226     "|" VISIR_PFITS_DOUBLE_MJDOBS
00227     "|" VISIR_PFITS_INT_NAXIS3
00228     "|" VISIR_PFITS_DOUBLE_RA
00229     "|" VISIR_PFITS_STRING_FILTER1
00230     "|" VISIR_PFITS_STRING_FILTER2
00231     "|" IRPLIB_PFITS_REGEXP_DPR ")$";
00232 
00233 /*-----------------------------------------------------------------------------
00234                                    Functions prototypes
00235  -----------------------------------------------------------------------------*/
00236 
00237 double visir_pfits_get_airmass_start(const cpl_propertylist *);
00238 double visir_pfits_get_airmass_end(const cpl_propertylist *);
00239 double visir_pfits_get_alpha(const cpl_propertylist *);
00240 const char * visir_pfits_get_arcfile(const cpl_propertylist *);
00241 const char * visir_pfits_get_chopnod_dir(const cpl_propertylist *);
00242 int visir_pfits_get_chop_ncycles(const cpl_propertylist *);
00243 double visir_pfits_get_cumoffsetx(const cpl_propertylist *);
00244 double visir_pfits_get_cumoffsety(const cpl_propertylist *);
00245 const char * visir_pfits_get_date_obs(const cpl_propertylist *);
00246 double visir_pfits_get_delta(const cpl_propertylist *);
00247 double visir_pfits_get_dec(const cpl_propertylist *);
00248 double visir_pfits_get_dit(const cpl_propertylist *);
00249 int visir_pfits_get_expno(const cpl_propertylist *);
00250 const char * visir_pfits_get_filter(const cpl_propertylist *);
00251 double visir_pfits_get_focus(const cpl_propertylist *);
00252 double visir_pfits_get_exptime(const cpl_propertylist *);
00253 const char * visir_pfits_get_frame_type(const cpl_propertylist *);
00254 const char * visir_pfits_get_grat1_name(const cpl_propertylist *);
00255 const char * visir_pfits_get_insmode(const cpl_propertylist *);
00256 const char * visir_pfits_get_instrument(const cpl_propertylist *);
00257 double visir_pfits_get_mjdobs(const cpl_propertylist *);
00258 const char * visir_pfits_get_mode(const cpl_propertylist *);
00259 double visir_pfits_get_monoc_pos(const cpl_propertylist *);
00260 int visir_pfits_get_ndit(const cpl_propertylist *);
00261 int visir_pfits_get_naxis3(const cpl_propertylist *);
00262 int visir_pfits_get_numbexp(const cpl_propertylist *);
00263 int visir_pfits_get_obs_id(const cpl_propertylist *);
00264 const char * visir_pfits_get_nodpos(const cpl_propertylist *);
00265 const char * visir_pfits_get_pixscale(const cpl_propertylist *);
00266 double visir_pfits_get_pixspace(const cpl_propertylist *);
00267 double visir_pfits_get_ra(const cpl_propertylist *);
00268 double visir_pfits_get_slitwidth(const cpl_propertylist *);
00269 const char * visir_pfits_get_starname(const cpl_propertylist *);
00270 const char * visir_pfits_get_resol(const cpl_propertylist *);
00271 double visir_pfits_get_temp(const cpl_propertylist *);
00272 double visir_pfits_get_volt1dcta9(const cpl_propertylist *);
00273 double visir_pfits_get_volt1dctb9(const cpl_propertylist *);
00274 double visir_pfits_get_volt2dcta9(const cpl_propertylist *);
00275 double visir_pfits_get_volt2dctb9(const cpl_propertylist *);
00276 double visir_pfits_get_wlen(const cpl_propertylist *);
00277 
00278 #endif 

Generated on Fri Jul 3 11:15:23 2009 for VISIR Pipeline Reference Manual by  doxygen 1.5.8