visir_pfits.h

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

Generated on Mon Feb 6 15:23:49 2012 for VISIR Pipeline Reference Manual by  doxygen 1.5.8