visir_pfits.h

00001 /* $Id: visir_pfits.h,v 1.53 2010/07/28 13:01:27 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: 2010/07/28 13:01:27 $
00024  * $Revision: 1.53 $
00025  * $Name: HEAD $
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_CHOP_THROW        "ESO TEL CHOP THROW"
00072 #define VISIR_PFITS_DOUBLE_FOCUS             "ESO TEL FOCU LEN"
00073 #define VISIR_PFITS_DOUBLE_ALPHA             "ESO TEL TARG OFFSETALPHA"
00074 #define VISIR_PFITS_DOUBLE_DELTA             "ESO TEL TARG OFFSETDELTA"
00075 #define VISIR_PFITS_DOUBLE_TEMP              "ESO TEL TH M1 TEMP"
00076 #define VISIR_PFITS_INT_EXPNO                "ESO TPL EXPNO"
00077 #define VISIR_PFITS_INT_NUMBEXP              "ESO TPL NEXP"
00078 #define VISIR_PFITS_DOUBLE_EXPTIME           "EXPTIME"
00079 #define VISIR_PFITS_STRING_INSTRUMENT        "INSTRUME"
00080 #define VISIR_PFITS_DOUBLE_MJDOBS            "MJD-OBS"
00081 #define VISIR_PFITS_INT_NAXIS3               "NAXIS3"
00082 #define VISIR_PFITS_DOUBLE_RA                "RA"
00083 
00084 #define VISIR_PFITS_DOUBLE_SLITWIDTH         "ESO INS SLIT1 WID"
00085 #define VISIR_PFITS_STRING_FILTER1           "ESO INS FILT1 NAME"
00086 #define VISIR_PFITS_STRING_FILTER2           "ESO INS FILT2 NAME"
00087 
00088 #define VISIR_PFITS_REGEXP_CAPA \
00089         VISIR_PFITS_STRING_INSMODE \
00090     "|" VISIR_PFITS_DOUBLE_VOLT1DCTA9 \
00091     "|" VISIR_PFITS_DOUBLE_VOLT1DCTB9 \
00092     "|" VISIR_PFITS_DOUBLE_VOLT2DCTA9 \
00093     "|" VISIR_PFITS_DOUBLE_VOLT2DCTB9
00094 
00095 #define VISIR_PFITS_REGEXP_INPUTS_COMBINE \
00096          VISIR_PFITS_STRING_NODPOS \
00097     "|"  VISIR_PFITS_DOUBLE_DIT \
00098     "|"  VISIR_PFITS_REGEXP_LOAD_IMAGELIST
00099 
00100 #define VISIR_PFITS_REGEXP_IMG_RECOMBINE \
00101         VISIR_PFITS_DOUBLE_CUMOFFSETX \
00102     "|" VISIR_PFITS_DOUBLE_CUMOFFSETY \
00103     "|" VISIR_PFITS_REGEXP_INPUTS_COMBINE \
00104     "|" VISIR_PFITS_STRING_CHOPNOD_DIR \
00105     "|" VISIR_PFITS_STRING_PIXSCALE    \
00106     "|" VISIR_PFITS_DOUBLE_CHOP_THROW  \
00107     "|" VISIR_PFITS_REGEXP_CAPA
00108 
00109 #define VISIR_PFITS_REGEXP_SPC_GET_RES_WL \
00110          VISIR_PFITS_DOUBLE_WLEN \
00111     "|"  VISIR_PFITS_DOUBLE_SLITWIDTH \
00112     "|"  VISIR_PFITS_DOUBLE_PIXSPACE \
00113     "|"  VISIR_PFITS_STRING_RESOL \
00114     "|"  VISIR_PFITS_STRING_SLITNAME \
00115     "|"  VISIR_PFITS_DOUBLE_TEMP
00116 
00117 
00118 /* Guaranteed keys of VISIR_PFITS_REGEXP_IMG_RECOMBINE */
00119 #define VISIR_PFITS_REGEXP_SPC_SENSIT \
00120          VISIR_PFITS_INT_NDIT \
00121     "|"  VISIR_PFITS_DOUBLE_RA \
00122     "|"  VISIR_PFITS_DOUBLE_DEC \
00123     "|"  VISIR_PFITS_STRING_STARNAME
00124 
00125 
00126 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00127 #define VISIR_PFITS_REGEXP_LOAD_IMAGELIST \
00128          VISIR_PFITS_STRING_FRAME_TYPE \
00129     "|"  VISIR_PFITS_INT_NAXIS3 \
00130     "|"  VISIR_PFITS_INT_CHOP_NCYCLES \
00131     "|"  IRPLIB_PFITS_REGEXP_DPR
00132 
00133 
00134 /* Guaranteed keys of VISIR_PFITS_REGEXP_IMG_RECOMBINE */
00135 #define VISIR_PFITS_REGEXP_IMG_SENSIT \
00136          VISIR_PFITS_STRING_FILTER1 \
00137     "|"  VISIR_PFITS_STRING_FILTER2 \
00138     "|"  VISIR_PFITS_STRING_PIXSCALE \
00139     "|"  VISIR_PFITS_STRING_INSMODE \
00140     "|"  VISIR_PFITS_REGEXP_SPC_SENSIT
00141 
00142 
00143 #define VISIR_PFITS_REGEXP_DARK_PAF             \
00144         IRPLIB_PFITS_REGEXP_PAF                 \
00145     "|" VISIR_PFITS_DOUBLE_DIT                  \
00146     "|" VISIR_PFITS_INT_NDIT                    \
00147     "|" VISIR_PFITS_STRING_MODE                 \
00148     "|ESO INS PFOV|ESO INS RESOL"               \
00149     "|ESO INS GRAT1 WLEN|ESO INS SLIT1 WID"     \
00150     "|ESO INS FILT1 NAME|ESO INS FILT2 NAME"    \
00151     "|ESO DET NCORRS NAME|ESO TPL START"
00152 
00153 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00154 #define VISIR_PFITS_REGEXP_DARK                 \
00155         IRPLIB_PFITS_REGEXP_DPR                 \
00156     "|" VISIR_PFITS_DOUBLE_EXPTIME              \
00157     "|" "NAXIS[12]"
00158 
00159 #define VISIR_PFITS_REGEXP_COMBINE_PAF      \
00160         IRPLIB_PFITS_REGEXP_PAF             \
00161   "|" VISIR_PFITS_DOUBLE_DIT                \
00162   "|" VISIR_PFITS_STRING_PIXSCALE           \
00163   "|" VISIR_PFITS_DOUBLE_AIRMASS_START
00164 
00165 #define VISIR_PFITS_REGEXP_IMG_PHOT_PAF     \
00166         IRPLIB_PFITS_REGEXP_PAF             \
00167        "|ESO DET DIT|ESO INS PFOV|ESO TEL AIRM START"
00168 
00169 #define VISIR_PFITS_IMG_PHOT_COPY \
00170      IRPLIB_PFITS_REGEXP_RECAL    \
00171      "|FILTER1|FILTER2"
00172 
00173 #define VISIR_PFITS_SPC_PHOT_COPY \
00174      VISIR_PFITS_IMG_PHOT_COPY "|GRAT1"
00175 
00176 #define VISIR_PFITS_FF_COPY \
00177      VISIR_PFITS_SPC_PHOT_COPY
00178 
00179 #define VISIR_PFITS_REGEXP_SPC_WCAL_PAF         \
00180         IRPLIB_PFITS_REGEXP_PAF                 \
00181     "|" VISIR_PFITS_STRING_GRAT1_NAME
00182 
00183 #define VISIR_PFITS_REGEXP_SPC_PHOT_PAF         \
00184         VISIR_PFITS_REGEXP_IMG_PHOT_PAF         \
00185     "|" VISIR_PFITS_STRING_GRAT1_NAME
00186 
00187 /* Together with the keys referenced above,
00188    no other FITS keys are used by the VISIR pipeline */
00189 static const char visir_property_regexp[] = 
00190     "^(" IRPLIB_PFITS_REGEXP_PAF
00191     "|" VISIR_PFITS_SPC_PHOT_COPY
00192     "|" VISIR_PFITS_STRING_ARCFILE
00193     "|" VISIR_PFITS_STRING_DATE_OBS
00194     "|" VISIR_PFITS_DOUBLE_DEC
00195     "|" VISIR_PFITS_DOUBLE_PIXSPACE
00196     "|" VISIR_PFITS_INT_CHOP_NCYCLES
00197     "|" VISIR_PFITS_DOUBLE_DIT
00198     "|" VISIR_PFITS_STRING_FRAME_TYPE
00199     "|" VISIR_PFITS_STRING_MODE
00200     "|" VISIR_PFITS_INT_NDIT
00201     "|" VISIR_PFITS_DOUBLE_VOLT1DCTA9
00202     "|" VISIR_PFITS_DOUBLE_VOLT1DCTB9
00203     "|" VISIR_PFITS_DOUBLE_VOLT2DCTA9
00204     "|" VISIR_PFITS_DOUBLE_VOLT2DCTB9
00205     "|" VISIR_PFITS_STRING_GRAT1_NAME
00206     "|" VISIR_PFITS_DOUBLE_WLEN
00207     "|" VISIR_PFITS_STRING_INSMODE
00208     "|" VISIR_PFITS_DOUBLE_MONOC_POS
00209     "|" VISIR_PFITS_STRING_PIXSCALE
00210     "|" VISIR_PFITS_STRING_RESOL
00211     "|" VISIR_PFITS_STRING_SLITNAME
00212     "|" VISIR_PFITS_DOUBLE_SLITWIDTH
00213     "|" VISIR_PFITS_INT_OBS_ID
00214     "|" VISIR_PFITS_STRING_STARNAME
00215     "|" VISIR_PFITS_STRING_CHOPNOD_DIR
00216     "|" VISIR_PFITS_DOUBLE_CHOP_THROW
00217     "|" VISIR_PFITS_DOUBLE_CUMOFFSETX
00218     "|" VISIR_PFITS_DOUBLE_CUMOFFSETY
00219     "|" VISIR_PFITS_STRING_NODPOS
00220     "|" VISIR_PFITS_DOUBLE_AIRMASS_END
00221     "|" VISIR_PFITS_DOUBLE_AIRMASS_START
00222     "|" VISIR_PFITS_DOUBLE_FOCUS
00223     "|" VISIR_PFITS_DOUBLE_ALPHA
00224     "|" VISIR_PFITS_DOUBLE_DELTA
00225     "|" VISIR_PFITS_DOUBLE_TEMP
00226     "|" VISIR_PFITS_INT_EXPNO
00227     "|" VISIR_PFITS_INT_NUMBEXP
00228     "|" VISIR_PFITS_DOUBLE_EXPTIME
00229     "|" VISIR_PFITS_STRING_INSTRUMENT
00230     "|" VISIR_PFITS_DOUBLE_MJDOBS
00231     "|" VISIR_PFITS_INT_NAXIS3
00232     "|" VISIR_PFITS_DOUBLE_RA
00233     "|" VISIR_PFITS_STRING_FILTER1
00234     "|" VISIR_PFITS_STRING_FILTER2
00235     "|" IRPLIB_PFITS_REGEXP_DPR ")$";
00236 
00237 /*-----------------------------------------------------------------------------
00238                                    Functions prototypes
00239  -----------------------------------------------------------------------------*/
00240 
00241 double visir_pfits_get_airmass_start(const cpl_propertylist *);
00242 double visir_pfits_get_airmass_end(const cpl_propertylist *);
00243 double visir_pfits_get_alpha(const cpl_propertylist *);
00244 const char * visir_pfits_get_arcfile(const cpl_propertylist *);
00245 const char * visir_pfits_get_chopnod_dir(const cpl_propertylist *);
00246 int visir_pfits_get_chop_ncycles(const cpl_propertylist *);
00247 double visir_pfits_get_chop_throw(const cpl_propertylist *);
00248 double visir_pfits_get_cumoffsetx(const cpl_propertylist *);
00249 double visir_pfits_get_cumoffsety(const cpl_propertylist *);
00250 const char * visir_pfits_get_date_obs(const cpl_propertylist *);
00251 double visir_pfits_get_delta(const cpl_propertylist *);
00252 double visir_pfits_get_dec(const cpl_propertylist *);
00253 double visir_pfits_get_dit(const cpl_propertylist *);
00254 int visir_pfits_get_expno(const cpl_propertylist *);
00255 const char * visir_pfits_get_filter(const cpl_propertylist *);
00256 double visir_pfits_get_focus(const cpl_propertylist *);
00257 double visir_pfits_get_exptime(const cpl_propertylist *);
00258 const char * visir_pfits_get_frame_type(const cpl_propertylist *);
00259 const char * visir_pfits_get_grat1_name(const cpl_propertylist *);
00260 const char * visir_pfits_get_insmode(const cpl_propertylist *);
00261 const char * visir_pfits_get_instrument(const cpl_propertylist *);
00262 double visir_pfits_get_mjdobs(const cpl_propertylist *);
00263 const char * visir_pfits_get_mode(const cpl_propertylist *);
00264 double visir_pfits_get_monoc_pos(const cpl_propertylist *);
00265 int visir_pfits_get_ndit(const cpl_propertylist *);
00266 int visir_pfits_get_naxis3(const cpl_propertylist *);
00267 int visir_pfits_get_numbexp(const cpl_propertylist *);
00268 int visir_pfits_get_obs_id(const cpl_propertylist *);
00269 const char * visir_pfits_get_nodpos(const cpl_propertylist *);
00270 const char * visir_pfits_get_pixscale(const cpl_propertylist *);
00271 double visir_pfits_get_pixspace(const cpl_propertylist *);
00272 double visir_pfits_get_ra(const cpl_propertylist *);
00273 double visir_pfits_get_slitwidth(const cpl_propertylist *);
00274 const char * visir_pfits_get_starname(const cpl_propertylist *);
00275 const char * visir_pfits_get_resol(const cpl_propertylist *);
00276 double visir_pfits_get_temp(const cpl_propertylist *);
00277 double visir_pfits_get_volt1dcta9(const cpl_propertylist *);
00278 double visir_pfits_get_volt1dctb9(const cpl_propertylist *);
00279 double visir_pfits_get_volt2dcta9(const cpl_propertylist *);
00280 double visir_pfits_get_volt2dctb9(const cpl_propertylist *);
00281 double visir_pfits_get_wlen(const cpl_propertylist *);
00282 
00283 #endif 

Generated on Thu Mar 24 11:59:39 2011 for VISIR Pipeline Reference Manual by  doxygen 1.5.8