00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
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
00038 enum _fors_type_ {
00039
00040 FORS_TYPE_IMAGE = 1 << 0,
00041 FORS_TYPE_IMAGE_ERR = 1 << 1,
00042 FORS_TYPE_TABLE = 1 << 2
00043 };
00044
00045 typedef enum _fors_type_ fors_type;
00046
00047
00048
00049 #define BIAS "BIAS"
00050 #define DARK "DARK"
00051 #define SCREEN_FLAT_IMG "SCREEN_FLAT_IMG"
00052 #define SKY_FLAT_IMG "SKY_FLAT_IMG"
00053 #define STANDARD_IMG "STANDARD_IMG"
00054 #define SCIENCE_IMG "SCIENCE_IMG"
00055
00056
00057 #define MASTER_BIAS "MASTER_BIAS"
00058 #define MASTER_DARK "MASTER_DARK"
00059 #define MASTER_SCREEN_FLAT_IMG "MASTER_SCREEN_FLAT_IMG"
00060 #define MASTER_NORM_FLAT_IMG "MASTER_NORM_FLAT_IMG"
00061 #define MASTER_SKY_FLAT_IMG "MASTER_SKY_FLAT_IMG"
00062 #define SOURCES_SCI "SOURCES_SCI_IMG"
00063 #define SOURCES_STD "SOURCES_STD_IMG"
00064 #define ALIGNED_PHOT "ALIGNED_PHOT"
00065 #define STANDARD_REDUCED_IMG "STANDARD_REDUCED_IMG"
00066 #define SCIENCE_REDUCED_IMG "SCIENCE_REDUCED_IMG"
00067 #define PHOTOMETRY_TABLE "OBJECT_TABLE_SCI_IMG"
00068 #define PHOT_BACKGROUND_SCI_IMG "PHOT_BACKGROUND_SCI_IMG"
00069 #define PHOT_BACKGROUND_STD_IMG "PHOT_BACKGROUND_STD_IMG"
00070 #define CORRECTION_MAP "CORRECTION_MAP"
00071 #define CORRECTION_FACTOR "CORRECTION_FACTOR"
00072 #define MASTER_FLAT_IMG "MASTER_FLAT_IMG"
00073 #define PHOT_COEFF_TABLE "PHOT_COEFF_TABLE"
00074 #define EXTINCTION_PER_NIGHT "EXTINCTION_PER_NIGHT"
00075 #define EXTINCTION_PER_FRAME "EXTINCTION_PER_FRAME"
00076 #define OFFSET_HISTOGRAM "OFFSET_HISTOGRAM"
00077
00078
00079 #define FLX_STD_IMG "FLX_STD_IMG"
00080 #define PHOT_TABLE "PHOT_TABLE"
00081
00082 void fors_dfs_set_groups(cpl_frameset * set);
00083 const char *fors_dfs_pipeline_version(const cpl_propertylist *header,
00084 const char **instrument_version);
00085 char *dfs_generate_filename(const char *);
00086 int dfs_get_parameter_bool(cpl_parameterlist *, const char *,
00087 const cpl_table *);
00088 int dfs_get_parameter_int(cpl_parameterlist *, const char *,
00089 const cpl_table *);
00090 double dfs_get_parameter_double(cpl_parameterlist *, const char *,
00091 const cpl_table *);
00092 const char *dfs_get_parameter_string(cpl_parameterlist *, const char *,
00093 const cpl_table *);
00094 int dfs_get_parameter_bool_const(const cpl_parameterlist *, const char *);
00095 int dfs_get_parameter_int_const(const cpl_parameterlist *, const char *);
00096 double dfs_get_parameter_double_const(const cpl_parameterlist *, const char *);
00097 const char *dfs_get_parameter_string_const(const cpl_parameterlist *, const char *);
00098 cpl_image *dfs_load_image(cpl_frameset *, const char *, cpl_type, int, int);
00099 cpl_table *dfs_load_table(cpl_frameset *, const char *, int);
00100 cpl_propertylist *dfs_load_header(cpl_frameset *, const char *, int);
00101 void fors_dfs_add_wcs(cpl_propertylist *header, const cpl_frame *frame,
00102 const fors_setting *setting);
00103 void fors_dfs_add_exptime(cpl_propertylist *header, const cpl_frame *frame,
00104 double exptime);
00105 void fors_dfs_save_image_err(cpl_frameset *frameset, const fors_image *image,
00106 const char *category, cpl_propertylist *header,
00107 cpl_propertylist *err_header,
00108 const cpl_parameterlist *parlist, const char *recipename,
00109 const cpl_frame *raw_frame);
00110 void fors_dfs_save_image_err_mask(cpl_frameset *frameset,
00111 const fors_image *image, const cpl_image *mask,
00112 const char *category, cpl_propertylist *header,
00113 const cpl_parameterlist *parlist, const char *recipename,
00114 const cpl_frame *raw_frame);
00115 void fors_dfs_save_image(cpl_frameset *frameset, const cpl_image *image,
00116 const char *category, cpl_propertylist *header,
00117 const cpl_parameterlist *parlist, const char *recipename,
00118 const cpl_frame *raw_frame);
00119 void fors_dfs_save_image_mask(cpl_frameset *frameset, const cpl_image *image,
00120 const cpl_image *mask, const char *category,
00121 cpl_propertylist *header,
00122 const cpl_parameterlist *parlist, const char *recipename,
00123 const cpl_frame *inherit_frame);
00124 void fors_dfs_save_image_wcs(cpl_frameset *frameset, const fors_image *image,
00125 const char *category, cpl_propertylist *header,
00126 const cpl_parameterlist *parlist, const char *recipename,
00127 const cpl_frame *raw_frame);
00128 void fors_dfs_save_table(cpl_frameset *frameset, const cpl_table *table,
00129 const char *category, cpl_propertylist *header,
00130 const cpl_parameterlist *parlist, const char *recipename,
00131 const cpl_frame *raw_frame);
00132 int dfs_save_image(cpl_frameset *, const cpl_image *, const char *,
00133 cpl_propertylist *, const cpl_parameterlist *,
00134 const char *, const char *) CPL_ATTR_DEPRECATED;
00135 int dfs_save_table(cpl_frameset *, const cpl_table *, const char *,
00136 cpl_propertylist *, const cpl_parameterlist *,
00137 const char *, const char *) CPL_ATTR_DEPRECATED;
00138 int dfs_equal_keyword(cpl_frameset *frameset, const char *keyword);
00139 void fors_begin(cpl_frameset *frames, const char *description_short);
00140 int fors_end(const cpl_frameset *frames, cpl_errorstate before_exec);
00141
00142 cpl_error_code dfs_save_table_ext(cpl_table *, const char *,
00143 cpl_propertylist *);
00144 cpl_error_code dfs_save_image_ext(cpl_image *, const char *,
00145 cpl_propertylist *);
00146 cpl_error_code dfs_save_image_null(cpl_frameset *, cpl_parameterlist *,
00147 const char *, const char *,
00148 const char *);
00149
00150 CPL_END_DECLS
00151
00152 #endif