naco_pfits.h

00001 /* $Id: naco_pfits.h,v 1.39 2009-11-15 21:40:34 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: 2009-11-15 21:40:34 $
00024  * $Revision: 1.39 $
00025  * $Name: not supported by cvs2svn $
00026  */
00027 
00028 #ifndef NACO_PFITS_H
00029 #define NACO_PFITS_H
00030 
00031 /*-----------------------------------------------------------------------------
00032                                    Includes
00033  -----------------------------------------------------------------------------*/
00034 
00035 #include <cpl.h>
00036 
00037 #include "irplib_pfits.h"
00038 
00039 /*-----------------------------------------------------------------------------
00040                                    Defines
00041  -----------------------------------------------------------------------------*/
00042 
00043 #define NACO_PFITS_DOUBLE_DEC                "DEC"
00044 #define NACO_PFITS_DOUBLE_FOCUS              "ESO AOS INS FOCU ABSPOS"
00045 #define NACO_PFITS_DOUBLE_ECMEAN             "ESO AOS RTC DET DST ECMEAN"
00046 #define NACO_PFITS_DOUBLE_FLUXMEAN           "ESO AOS RTC DET DST FLUXMEAN"
00047 #define NACO_PFITS_DOUBLE_L0MEAN             "ESO AOS RTC DET DST L0MEAN"
00048 #define NACO_PFITS_DOUBLE_R0MEAN             "ESO AOS RTC DET DST R0MEAN"
00049 #define NACO_PFITS_DOUBLE_T0MEAN             "ESO AOS RTC DET DST T0MEAN"
00050 #define NACO_PFITS_DOUBLE_DIT                "ESO DET DIT"
00051 #define NACO_PFITS_STRING_MODE               "ESO DET MODE NAME"
00052 #define NACO_PFITS_INT_ROM                   "ESO DET NCORRS"
00053 #define NACO_PFITS_STRING_ROM_NAME           "ESO DET NCORRS NAME"
00054 #define NACO_PFITS_INT_NDIT                  "ESO DET NDIT"
00055 #define NACO_PFITS_BOOL_LAMP1                "ESO INS LAMP1 ST"
00056 #define NACO_PFITS_STRING_SPECMODE           "ESO SEQ SPECMODE"
00057 #define NACO_PFITS_DOUBLE_CWLEN              "ESO INS CWLEN"
00058 #define NACO_PFITS_STRING_SLITNAME           "ESO INS OPTI1 ID"
00059 #define NACO_PFITS_INT_LAMP2                 "ESO INS LAMP2 SET"
00060 #define NACO_PFITS_STRING_OPTI3_NAME         "ESO INS OPTI3 NAME"
00061 #define NACO_PFITS_STRING_OPTI4_NAME         "ESO INS OPTI4 NAME"
00062 #define NACO_PFITS_STRING_OPTI7_NAME         "ESO INS OPTI7 NAME"
00063 #define NACO_PFITS_DOUBLE_PIXSCALE           "ESO INS PIXSCALE"
00064 #define NACO_PFITS_DOUBLE_CUMOFFSETX         "ESO SEQ CUMOFFSETX"
00065 #define NACO_PFITS_DOUBLE_CUMOFFSETY         "ESO SEQ CUMOFFSETY"
00066 #define NACO_PFITS_DOUBLE_AIRMASS_END        "ESO TEL AIRM END"
00067 #define NACO_PFITS_DOUBLE_AIRMASS_START      "ESO TEL AIRM START"
00068 #define NACO_PFITS_DOUBLE_HUMIDITY_LEVEL     "ESO TEL AMBI RHUM"
00069 #define NACO_PFITS_STRING_TEMPLATEID         "ESO TPL ID"
00070 #define NACO_PFITS_DOUBLE_EXPTIME            "EXPTIME"
00071 #define NACO_PFITS_STRING_OBJECT             "OBJECT"
00072 #define NACO_PFITS_DOUBLE_RA                 "RA"
00073 
00074 #define NACO_PFITS_STRING_OPTI4              "ESO INS OPTI4 ID"
00075 #define NACO_PFITS_STRING_OPTI5              "ESO INS OPTI5 ID"
00076 #define NACO_PFITS_STRING_OPTI6              "ESO INS OPTI6 ID"
00077 
00078 
00079 /* Properties used by naco_img_zpoint */
00080 #define NACO_PFITS_REGEXP_ZPOINT_PAF            \
00081     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00082     NACO_PFITS_DOUBLE_AIRMASS_START "|"         \
00083     NACO_PFITS_STRING_ROM_NAME "|"              \
00084     NACO_PFITS_STRING_MODE "|"                  \
00085     NACO_PFITS_DOUBLE_DIT  "|"                  \
00086     NACO_PFITS_DOUBLE_PIXSCALE "|"              \
00087     NACO_PFITS_DOUBLE_RA "|"                    \
00088     NACO_PFITS_DOUBLE_DEC "|"                   \
00089     "ESO INS OPTI7 ID|"                         \
00090     "ESO OBS ID|ESO AOS INS DICH POSNAM|"       \
00091     "ESO AOS OCS WFS MODE|ESO AOS OCS WFS TYPE"
00092 
00093 #define NACO_PFITS_REGEXP_ZPOINT_REF            \
00094     NACO_PFITS_STRING_OPTI4 "|"                 \
00095     NACO_PFITS_STRING_OPTI5 "|"                 \
00096     NACO_PFITS_STRING_OPTI6 "|"                 \
00097     NACO_PFITS_STRING_OPTI3_NAME "|"            \
00098     NACO_PFITS_STRING_OPTI4_NAME "|"            \
00099     NACO_PFITS_STRING_OBJECT "|"                \
00100     NACO_PFITS_DOUBLE_PIXSCALE
00101 
00102 #define NACO_PFITS_REGEXP_ZPOINT                \
00103     NACO_PFITS_DOUBLE_FLUXMEAN "|"              \
00104     NACO_PFITS_DOUBLE_L0MEAN "|"                \
00105     NACO_PFITS_DOUBLE_R0MEAN "|"                \
00106     NACO_PFITS_DOUBLE_T0MEAN "|"                \
00107     NACO_PFITS_DOUBLE_HUMIDITY_LEVEL "|"        \
00108     NACO_PFITS_DOUBLE_ECMEAN "|"                \
00109     NACO_PFITS_DOUBLE_AIRMASS_START "|"         \
00110     NACO_PFITS_DOUBLE_AIRMASS_END "|"           \
00111     NACO_PFITS_DOUBLE_CUMOFFSETX "|"            \
00112     NACO_PFITS_DOUBLE_CUMOFFSETY
00113 
00114 /* Properties used by naco_img_slitpos */
00115 
00116 #define NACO_PFITS_REGEXP_SLITPOS_PAF           \
00117     IRPLIB_PFITS_REGEXP_PAF    "|"              \
00118     IRPLIB_PFITS_REGEXP_DPR    "|"              \
00119     NACO_PFITS_STRING_SLITNAME "|"              \
00120     "INSTRUME|ESO TPL NEXP|ESO INS OPTI3 ID|"   \
00121     "ESO INS OPTI7 ID|ESO ADA ABSROT START"
00122 
00123 #define NACO_PFITS_REGEXP_SLITPOS    \
00124     NACO_PFITS_STRING_OPTI4 "|"                 \
00125     NACO_PFITS_STRING_OPTI5 "|"                 \
00126     NACO_PFITS_STRING_OPTI6
00127 
00128 /* Properties used by naco_img_strehl */
00129 
00130 #define NACO_PFITS_REGEXP_STREHL_PAF            \
00131     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00132     NACO_PFITS_DOUBLE_DIT  "|"                  \
00133     NACO_PFITS_INT_NDIT "|"                     \
00134     NACO_PFITS_STRING_OPTI7_NAME "|"            \
00135     NACO_PFITS_STRING_ROM_NAME "|"              \
00136     NACO_PFITS_STRING_MODE "|"                  \
00137     NACO_PFITS_DOUBLE_PIXSCALE "|"              \
00138     "ESO OBS ID|ESO AOS INS DICH POSNAM|"       \
00139     "ESO AOS OCS WFS MODE|ESO AOS OCS WFS TYPE"
00140 
00141 /* OK: NACO_PFITS_INT_NDIT is present also in _PAF */
00142 #define NACO_PFITS_REGEXP_STREHL                \
00143     NACO_PFITS_DOUBLE_AIRMASS_END "|"           \
00144     NACO_PFITS_DOUBLE_AIRMASS_START "|"         \
00145     NACO_PFITS_DOUBLE_ECMEAN "|"                \
00146     NACO_PFITS_STRING_OPTI4 "|"                 \
00147     NACO_PFITS_STRING_OPTI5 "|"                 \
00148     NACO_PFITS_STRING_OPTI6 "|"                 \
00149     NACO_PFITS_DOUBLE_FLUXMEAN "|"              \
00150     NACO_PFITS_DOUBLE_L0MEAN "|"                \
00151     NACO_PFITS_DOUBLE_R0MEAN "|"                \
00152     NACO_PFITS_DOUBLE_T0MEAN "|"                \
00153     NACO_PFITS_INT_NDIT "|"                     \
00154     NACO_PFITS_STRING_OPTI3_NAME "|"            \
00155     NACO_PFITS_STRING_OPTI4_NAME "|"            \
00156     NACO_PFITS_DOUBLE_PIXSCALE
00157 
00158 /* Properties used by naco_img_twflat */
00159 
00160 #define NACO_PFITS_REGEXP_TWFLAT_DARK           \
00161     NACO_PFITS_DOUBLE_DIT "|"                   \
00162     NACO_PFITS_STRING_MODE "|"                  \
00163     NACO_PFITS_STRING_ROM_NAME
00164 
00165 #define NACO_PFITS_REGEXP_TWFLAT                \
00166     NACO_PFITS_REGEXP_TWFLAT_DARK "|"           \
00167     NACO_PFITS_STRING_OPTI4 "|"                 \
00168     NACO_PFITS_STRING_OPTI5 "|"                 \
00169     NACO_PFITS_STRING_OPTI6 "|"                 \
00170     NACO_PFITS_STRING_TEMPLATEID
00171 
00172 /* Properties used by naco_img_checkfocus */
00173 
00174 #define NACO_PFITS_REGEXP_CHECKFOCUS_PAF        \
00175         IRPLIB_PFITS_REGEXP_PAF
00176 
00177 #define NACO_PFITS_REGEXP_CHECKFOCUS            \
00178     NACO_PFITS_STRING_OPTI4 "|"                 \
00179     NACO_PFITS_STRING_OPTI5 "|"                 \
00180     NACO_PFITS_STRING_OPTI6 "|"                 \
00181     NACO_PFITS_DOUBLE_PIXSCALE "|"              \
00182     NACO_PFITS_DOUBLE_FOCUS
00183 
00184 /* Properties used by naco_img_dark */
00185 
00186 #define NACO_PFITS_REGEXP_DARK_PAF              \
00187     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00188     IRPLIB_PFITS_STRING_DPR_TECH "|"            \
00189     NACO_PFITS_DOUBLE_DIT "|"                   \
00190     NACO_PFITS_INT_NDIT "|"                     \
00191     NACO_PFITS_INT_ROM "|"                      \
00192     NACO_PFITS_STRING_MODE "|"                  \
00193     NACO_PFITS_STRING_ROM_NAME
00194 
00195 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00196 #define NACO_PFITS_REGEXP_DARK                  \
00197     NACO_PFITS_DOUBLE_EXPTIME "|"               \
00198     NACO_PFITS_STRING_OPTI7_NAME "|"            \
00199     "NAXIS[12]"
00200 
00201 
00202 /* Properties used by naco_spc_combine */
00203 
00204 #define NACO_PFITS_REGEXP_SPC_COMBINE_PAF       \
00205     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00206     "NAXIS1|NAXIS2|"                            \
00207     NACO_PFITS_DOUBLE_DIT "|"                   \
00208     NACO_PFITS_STRING_OPTI4  "|"                \
00209     NACO_PFITS_STRING_OPTI5  "|"                \
00210     NACO_PFITS_STRING_OPTI6  "|"                \
00211     NACO_PFITS_REGEXP_JITTER_ALL
00212 
00213 #define NACO_PFITS_REGEXP_SPC_COMBINE           \
00214     "NAXIS1|NAXIS2|"                            \
00215     NACO_PFITS_DOUBLE_DIT "|"                   \
00216     NACO_PFITS_REGEXP_JITTER_ALL
00217 
00218 /* Properties used by naco_spc_wavecal */
00219 
00220 /* Properties used by naco_spc_lampflat */
00221 #define NACO_PFITS_REGEXP_SPCWAVE_PAF           \
00222     IRPLIB_PFITS_REGEXP_PAF    "|"              \
00223     IRPLIB_PFITS_REGEXP_DPR    "|"              \
00224     NACO_PFITS_STRING_SPECMODE "|"              \
00225     NACO_PFITS_STRING_SLITNAME "|"              \
00226     NACO_PFITS_DOUBLE_CWLEN    "|"              \
00227     NACO_PFITS_DOUBLE_DIT      "|"              \
00228     "INSTRUME|ESO TPL NEXP|"                    \
00229     "ESO INS GRAT NAME|"                        \
00230     "ESO INS MODE"
00231 
00232 
00233 #define NACO_PFITS_REGEXP_SPCWAVE               \
00234     IRPLIB_PFITS_REGEXP_RECAL "|"               \
00235     "NAXIS1|NAXIS2|"                            \
00236     NACO_PFITS_INT_LAMP2 "|"                    \
00237     NACO_PFITS_DOUBLE_PIXSCALE "|"              \
00238     NACO_PFITS_BOOL_LAMP1
00239 
00240 /* Properties used by naco_img_lampflat */
00241 
00242 #define NACO_PFITS_REGEXP_LAMPFLAT_PAF          \
00243     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00244     NACO_PFITS_DOUBLE_DIT   "|"                 \
00245     NACO_PFITS_INT_LAMP2    "|"                 \
00246     NACO_PFITS_INT_NDIT     "|"                 \
00247     NACO_PFITS_INT_ROM      "|"                 \
00248     NACO_PFITS_STRING_MODE  "|"                 \
00249     NACO_PFITS_STRING_ROM_NAME "|"              \
00250     NACO_PFITS_STRING_OPTI7_NAME "|"            \
00251     "ESO INS LAMP2 NAME|ESO INS LAMP2 TYPE|ESO INS LAMP2 CURRENT"
00252 
00253 
00254 /* All recipes may use IRPLIB_PFITS_REGEXP_DPR */
00255 #define NACO_PFITS_REGEXP_LAMPFLAT              \
00256     NACO_PFITS_STRING_OPTI4 "|"                 \
00257     NACO_PFITS_STRING_OPTI5 "|"                 \
00258     NACO_PFITS_STRING_OPTI6 "|"                 \
00259     NACO_PFITS_STRING_OPTI3_NAME "|"            \
00260     NACO_PFITS_STRING_OPTI4_NAME
00261 
00262 /* Properties used by naco_spc_lampflat */
00263 #define NACO_PFITS_REGEXP_SPCFLAT_PAF           \
00264     IRPLIB_PFITS_REGEXP_PAF    "|"              \
00265     NACO_PFITS_STRING_SPECMODE "|"              \
00266     NACO_PFITS_STRING_SLITNAME "|"              \
00267     NACO_PFITS_DOUBLE_CWLEN    "|"              \
00268     NACO_PFITS_DOUBLE_DIT
00269 
00270 #define NACO_PFITS_REGEXP_SPCFLAT               \
00271     IRPLIB_PFITS_REGEXP_RECAL  "|"              \
00272     "NAXIS1|NAXIS2|"                            \
00273     NACO_PFITS_BOOL_LAMP1   "|"                 \
00274     NACO_PFITS_INT_LAMP2
00275 
00276 /* Properties used by naco_img_jitter */
00277 #define NACO_PFITS_REGEXP_JITTER_PAF            \
00278     IRPLIB_PFITS_REGEXP_PAF "|"                 \
00279     IRPLIB_PFITS_REGEXP_DPR "|"                 \
00280     NACO_PFITS_DOUBLE_PIXSCALE "|"              \
00281     "INSTRUME|ESO TPL NEXP|ESO OBS ID"
00282 
00283 #define NACO_PFITS_REGEXP_JITTER_COPY           \
00284         IRPLIB_PFITS_REGEXP_RECAL "|"           \
00285         "ALARM"
00286 
00287 /* - these are needed for all frames (recalc airmass) */
00288 #define NACO_PFITS_REGEXP_JITTER_ALL            \
00289     NACO_PFITS_DOUBLE_CUMOFFSETX "|"            \
00290     NACO_PFITS_DOUBLE_CUMOFFSETY "|"            \
00291     NACO_PFITS_STRING_OPTI4      "|"            \
00292     NACO_PFITS_STRING_OPTI5      "|"            \
00293     NACO_PFITS_STRING_OPTI6      "|"            \
00294     NACO_PFITS_DOUBLE_PIXSCALE   "|"            \
00295     "NAXIS3"                     "|"            \
00296     "AIRMASS"
00297 
00298 #define NACO_PFITS_REGEXP_JITTER_FIRST          \
00299     NACO_PFITS_REGEXP_JITTER_ALL "|"            \
00300     NACO_PFITS_REGEXP_JITTER_PAF "|"            \
00301     NACO_PFITS_REGEXP_JITTER_COPY "|"           \
00302     IRPLIB_PFITS_WCS_REGEXP       "|"           \
00303     NACO_PFITS_STRING_OPTI4 "|"                 \
00304     NACO_PFITS_STRING_OPTI5 "|"                 \
00305     NACO_PFITS_STRING_OPTI6 "|"                 \
00306     NACO_PFITS_STRING_OPTI3_NAME "|"            \
00307     NACO_PFITS_STRING_OPTI4_NAME
00308 
00309 #define NACO_PFITS_REGEXP_DETLIN                \
00310     NACO_PFITS_DOUBLE_DIT
00311 
00312 #define NACO_PFITS_REGEXP_DETLIN_COPY           \
00313     NACO_PFITS_DOUBLE_EXPTIME
00314 
00315 #define NACO_PFITS_REGEXP_DETLIN_FIRST          \
00316     NACO_PFITS_REGEXP_DETLIN "|"                \
00317     NACO_PFITS_REGEXP_DETLIN_COPY
00318 
00319 /*-----------------------------------------------------------------------------
00320                                    Function prototypes
00321  -----------------------------------------------------------------------------*/
00322 
00323 double naco_pfits_get_airmass_start(const cpl_propertylist *);
00324 double naco_pfits_get_airmass_end(const cpl_propertylist *);
00325 double naco_pfits_get_cumoffsetx(const cpl_propertylist *);
00326 double naco_pfits_get_cumoffsety(const cpl_propertylist *);
00327 double naco_pfits_get_dec(const cpl_propertylist *);
00328 double naco_pfits_get_dit(const cpl_propertylist *);
00329 double naco_pfits_get_ecmean(const cpl_propertylist *);
00330 double naco_pfits_get_exptime(const cpl_propertylist *);
00331 const char * naco_pfits_get_filter(const cpl_propertylist *);
00332 double naco_pfits_get_fluxmean(const cpl_propertylist *);
00333 double naco_pfits_get_focus(const cpl_propertylist *);
00334 double naco_pfits_get_humidity_level(const cpl_propertylist *);
00335 double naco_pfits_get_l0mean(const cpl_propertylist *);
00336 int naco_pfits_get_lamp2(const cpl_propertylist *);
00337 const char * naco_pfits_get_mode(const cpl_propertylist *);
00338 int naco_pfits_get_ndit(const cpl_propertylist *);
00339 const char * naco_pfits_get_object(const cpl_propertylist *);
00340 const char * naco_pfits_get_opti3_name(const cpl_propertylist *);
00341 const char * naco_pfits_get_opti4_name(const cpl_propertylist *);
00342 const char * naco_pfits_get_opti7_name(const cpl_propertylist *);
00343 double naco_pfits_get_pixscale(const cpl_propertylist *);
00344 double naco_pfits_get_r0mean(const cpl_propertylist *);
00345 double naco_pfits_get_ra(const cpl_propertylist *);
00346 int naco_pfits_get_rom(const cpl_propertylist *);
00347 const char * naco_pfits_get_rom_name(const cpl_propertylist *);
00348 double naco_pfits_get_t0mean(const cpl_propertylist *);
00349 const char * naco_pfits_get_templateid(const cpl_propertylist *);
00350 
00351 #endif 
Generated on Mon Feb 17 15:01:44 2014 for NACO Pipeline Reference Manual by  doxygen 1.6.3