FORS Pipeline Reference Manual 4.9.9
fors_dfs.h
00001 /* $Id: fors_dfs.h,v 1.31 2011/07/14 09:37:42 cgarcia Exp $
00002  *
00003  * This file is part of the FORS Pipeline
00004  * Copyright (C) 2002-2010 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  02110-1301 USA
00019  */
00020 
00021 /*
00022  * $Author: cgarcia $
00023  * $Date: 2011/07/14 09:37:42 $
00024  * $Revision: 1.31 $
00025  * $Name: fors-4_9_9 $
00026  */
00027 
00028 #ifndef FORS_DFS_H
00029 #define FORS_DFS_H
00030 
00031 #include <fors_image.h>
00032 
00033 #include <cpl.h>
00034 
00035 CPL_BEGIN_DECLS
00036 
00037 /* Raw frames */
00038 #define BIAS                    "BIAS"
00039 #define DARK                    "DARK"
00040 #define SCREEN_FLAT_IMG         "SCREEN_FLAT_IMG"
00041 #define SKY_FLAT_IMG            "SKY_FLAT_IMG"
00042 #define STANDARD_IMG            "STANDARD_IMG"
00043 #define SCIENCE_IMG             "SCIENCE_IMG"
00044 
00045 /* Pipeline products */
00046 #define MASTER_BIAS             "MASTER_BIAS"
00047 #define MASTER_DARK             "MASTER_DARK"
00048 #define MASTER_SCREEN_FLAT_IMG  "MASTER_SCREEN_FLAT_IMG"
00049 #define MASTER_NORM_FLAT_IMG    "MASTER_NORM_FLAT_IMG"
00050 #define MASTER_SKY_FLAT_IMG     "MASTER_SKY_FLAT_IMG"
00051 #define SOURCES_SCI             "SOURCES_SCI_IMG"
00052 #define SOURCES_STD             "SOURCES_STD_IMG"
00053 #define ALIGNED_PHOT            "ALIGNED_PHOT"
00054 #define STANDARD_REDUCED_IMG    "STANDARD_REDUCED_IMG"
00055 #define SCIENCE_REDUCED_IMG     "SCIENCE_REDUCED_IMG"
00056 #define PHOTOMETRY_TABLE        "OBJECT_TABLE_SCI_IMG"
00057 #define PHOT_BACKGROUND_SCI_IMG "PHOT_BACKGROUND_SCI_IMG"
00058 #define PHOT_BACKGROUND_STD_IMG "PHOT_BACKGROUND_STD_IMG"
00059 #define CORRECTION_MAP          "CORRECTION_MAP"
00060 #define CORRECTION_FACTOR       "CORRECTION_FACTOR"
00061 #define MASTER_FLAT_IMG         "MASTER_FLAT_IMG"
00062 #define PHOT_COEFF_TABLE        "PHOT_COEFF_TABLE"
00063 #define EXTINCTION_PER_NIGHT    "EXTINCTION_PER_NIGHT"
00064 #define EXTINCTION_PER_FRAME    "EXTINCTION_PER_FRAME"
00065 #define OFFSET_HISTOGRAM        "OFFSET_HISTOGRAM"
00066 
00067 /* Static calibration */
00068 #define FLX_STD_IMG             "FLX_STD_IMG"
00069 #define PHOT_TABLE              "PHOT_TABLE"
00070 
00071 void fors_dfs_set_groups(cpl_frameset * set);
00072 const char *fors_dfs_pipeline_version(const cpl_propertylist *header, 
00073                       const char **instrument_version);
00074 char *dfs_generate_filename(const char *);
00075 char *dfs_generate_filename_tfits(const char *);
00076 int dfs_get_parameter_bool(cpl_parameterlist *, const char *, 
00077                            const cpl_table *);
00078 int dfs_get_parameter_int(cpl_parameterlist *, const char *, 
00079                           const cpl_table *);
00080 double dfs_get_parameter_double(cpl_parameterlist *, const char *, 
00081                                 const cpl_table *);
00082 const char *dfs_get_parameter_string(cpl_parameterlist *, const char *, 
00083                                      const cpl_table *);
00084 int dfs_get_parameter_bool_const(const cpl_parameterlist *, const char *);
00085 int dfs_get_parameter_int_const(const cpl_parameterlist *, const char *);
00086 double dfs_get_parameter_double_const(const cpl_parameterlist *, const char *);
00087 const char *dfs_get_parameter_string_const(const cpl_parameterlist *, const char *);
00088 cpl_image *dfs_load_image(cpl_frameset *, const char *, cpl_type, int, int);
00089 cpl_table *dfs_load_table(cpl_frameset *, const char *, int);
00090 cpl_propertylist *dfs_load_header(cpl_frameset *, const char *, int);
00091 void fors_dfs_add_wcs(cpl_propertylist *header, const cpl_frame *frame,
00092                       const fors_setting *setting);
00093 void fors_dfs_add_exptime(cpl_propertylist *header, const cpl_frame *frame,
00094                           double exptime);
00095 void fors_dfs_save_image(cpl_frameset *frameset, const fors_image *image,
00096              const char *category, cpl_propertylist *header,
00097              const cpl_parameterlist *parlist, const char *recipename,
00098              const cpl_frame *raw_frame);
00099 void fors_dfs_save_image_wcs(cpl_frameset *frameset, const fors_image *image,
00100                  const char *category, cpl_propertylist *header,
00101                  const cpl_parameterlist *parlist, const char *recipename,
00102                  const cpl_frame *raw_frame);
00103 void fors_dfs_save_table(cpl_frameset *frameset, const cpl_table *table,
00104              const char *category, cpl_propertylist *header,
00105              const cpl_parameterlist *parlist, const char *recipename,
00106              const cpl_frame *raw_frame);
00107 int dfs_save_image(cpl_frameset *, const cpl_image *, const char *, 
00108                    cpl_propertylist *, const cpl_parameterlist *, 
00109                    const char *, const char *);
00110 int dfs_save_table(cpl_frameset *, const cpl_table *, const char *, 
00111                    cpl_propertylist *, const cpl_parameterlist *, 
00112                    const char *, const char *);
00113 int dfs_files_dont_exist(cpl_frameset *frameset);
00114 int dfs_equal_keyword(cpl_frameset *frameset, const char *keyword);
00115 void fors_begin(cpl_frameset *frames, const char *description_short);
00116 int fors_end(const cpl_frameset *frames, cpl_errorstate before_exec);
00117 
00118 cpl_error_code dfs_save_table_ext(cpl_table *, const char *,
00119                   cpl_propertylist *);
00120 cpl_error_code dfs_save_image_ext(cpl_image *, const char *,
00121                   cpl_propertylist *);
00122 cpl_error_code dfs_save_image_null(cpl_frameset *, cpl_parameterlist *,
00123                    const char *, const char *,
00124                    const char *);
00125 
00126 CPL_END_DECLS
00127 
00128 #endif   /* FORS_DFS_H */