FORS Pipeline Reference Manual  5.0.9
fors_dfs.h
1 /* $Id: fors_dfs.h,v 1.35 2013-09-10 19:27:01 cgarcia Exp $
2  *
3  * This file is part of the FORS Pipeline
4  * Copyright (C) 2002-2010 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 /*
22  * $Author: cgarcia $
23  * $Date: 2013-09-10 19:27:01 $
24  * $Revision: 1.35 $
25  * $Name: not supported by cvs2svn $
26  */
27 
28 #ifndef FORS_DFS_H
29 #define FORS_DFS_H
30 
31 #include <fors_image.h>
32 
33 #include <cpl.h>
34 
35 CPL_BEGIN_DECLS
36 
37 /* Types of data to save */
38 enum _fors_type_ {
39 
40  FORS_TYPE_IMAGE = 1 << 0,
41  FORS_TYPE_IMAGE_ERR = 1 << 1,
42  FORS_TYPE_TABLE = 1 << 2
43 };
44 
45 typedef enum _fors_type_ fors_type;
46 
47 
48 /* Raw frames */
49 #define BIAS "BIAS"
50 #define DARK "DARK"
51 #define SCREEN_FLAT_IMG "SCREEN_FLAT_IMG"
52 #define SKY_FLAT_IMG "SKY_FLAT_IMG"
53 #define STANDARD_IMG "STANDARD_IMG"
54 #define SCIENCE_IMG "SCIENCE_IMG"
55 
56 /* Pipeline products */
57 #define MASTER_BIAS "MASTER_BIAS"
58 #define MASTER_DARK "MASTER_DARK"
59 #define MASTER_SCREEN_FLAT_IMG "MASTER_SCREEN_FLAT_IMG"
60 #define MASTER_NORM_FLAT_IMG "MASTER_NORM_FLAT_IMG"
61 #define MASTER_SKY_FLAT_IMG "MASTER_SKY_FLAT_IMG"
62 #define SOURCES_SCI "SOURCES_SCI_IMG"
63 #define SOURCES_STD "SOURCES_STD_IMG"
64 #define ALIGNED_PHOT "ALIGNED_PHOT"
65 #define STANDARD_REDUCED_IMG "STANDARD_REDUCED_IMG"
66 #define SCIENCE_REDUCED_IMG "SCIENCE_REDUCED_IMG"
67 #define PHOTOMETRY_TABLE "OBJECT_TABLE_SCI_IMG"
68 #define PHOT_BACKGROUND_SCI_IMG "PHOT_BACKGROUND_SCI_IMG"
69 #define PHOT_BACKGROUND_STD_IMG "PHOT_BACKGROUND_STD_IMG"
70 #define CORRECTION_MAP "CORRECTION_MAP"
71 #define CORRECTION_FACTOR "CORRECTION_FACTOR"
72 #define MASTER_FLAT_IMG "MASTER_FLAT_IMG"
73 #define PHOT_COEFF_TABLE "PHOT_COEFF_TABLE"
74 #define EXTINCTION_PER_NIGHT "EXTINCTION_PER_NIGHT"
75 #define EXTINCTION_PER_FRAME "EXTINCTION_PER_FRAME"
76 #define OFFSET_HISTOGRAM "OFFSET_HISTOGRAM"
77 
78 /* Static calibration */
79 #define FLX_STD_IMG "FLX_STD_IMG"
80 #define PHOT_TABLE "PHOT_TABLE"
81 
82 void fors_dfs_set_groups(cpl_frameset * set);
83 const char *fors_dfs_pipeline_version(const cpl_propertylist *header,
84  const char **instrument_version);
85 char *dfs_generate_filename(const char *);
86 int dfs_get_parameter_bool(cpl_parameterlist *, const char *,
87  const cpl_table *);
88 int dfs_get_parameter_int(cpl_parameterlist *, const char *,
89  const cpl_table *);
90 double dfs_get_parameter_double(cpl_parameterlist *, const char *,
91  const cpl_table *);
92 const char *dfs_get_parameter_string(cpl_parameterlist *, const char *,
93  const cpl_table *);
94 int dfs_get_parameter_bool_const(const cpl_parameterlist *, const char *);
95 int dfs_get_parameter_int_const(const cpl_parameterlist *, const char *);
96 double dfs_get_parameter_double_const(const cpl_parameterlist *, const char *);
97 const char *dfs_get_parameter_string_const(const cpl_parameterlist *, const char *);
98 cpl_image *dfs_load_image(cpl_frameset *, const char *, cpl_type, int, int);
99 cpl_table *dfs_load_table(cpl_frameset *, const char *, int);
100 cpl_propertylist *dfs_load_header(cpl_frameset *, const char *, int);
101 void fors_dfs_add_wcs(cpl_propertylist *header, const cpl_frame *frame,
102  const fors_setting *setting);
103 void fors_dfs_add_exptime(cpl_propertylist *header, const cpl_frame *frame,
104  double exptime);
105 void fors_dfs_save_image_err(cpl_frameset *frameset, const fors_image *image,
106  const char *category, cpl_propertylist *header,
107  cpl_propertylist *err_header,
108  const cpl_parameterlist *parlist, const char *recipename,
109  const cpl_frame *raw_frame);
110 void fors_dfs_save_image_err_mask(cpl_frameset *frameset,
111  const fors_image *image, const cpl_image *mask,
112  const char *category, cpl_propertylist *header,
113  const cpl_parameterlist *parlist, const char *recipename,
114  const cpl_frame *raw_frame);
115 void fors_dfs_save_image(cpl_frameset *frameset, const cpl_image *image,
116  const char *category, cpl_propertylist *header,
117  const cpl_parameterlist *parlist, const char *recipename,
118  const cpl_frame *raw_frame);
119 void fors_dfs_save_image_mask(cpl_frameset *frameset, const cpl_image *image,
120  const cpl_image *mask, const char *category,
121  cpl_propertylist *header,
122  const cpl_parameterlist *parlist, const char *recipename,
123  const cpl_frame *inherit_frame);
124 void fors_dfs_save_image_wcs(cpl_frameset *frameset, const fors_image *image,
125  const char *category, cpl_propertylist *header,
126  const cpl_parameterlist *parlist, const char *recipename,
127  const cpl_frame *raw_frame);
128 void fors_dfs_save_table(cpl_frameset *frameset, const cpl_table *table,
129  const char *category, cpl_propertylist *header,
130  const cpl_parameterlist *parlist, const char *recipename,
131  const cpl_frame *raw_frame);
132 int dfs_save_image(cpl_frameset *, const cpl_image *, const char *,
133  cpl_propertylist *, const cpl_parameterlist *,
134  const char *, const char *) CPL_ATTR_DEPRECATED;
135 int dfs_save_table(cpl_frameset *, const cpl_table *, const char *,
136  cpl_propertylist *, const cpl_parameterlist *,
137  const char *, const char *) CPL_ATTR_DEPRECATED;
138 int dfs_equal_keyword(cpl_frameset *frameset, const char *keyword);
139 void fors_begin(cpl_frameset *frames, const char *description_short);
140 int fors_end(const cpl_frameset *frames, cpl_errorstate before_exec);
141 
142 cpl_error_code dfs_save_table_ext(cpl_table *, const char *,
143  cpl_propertylist *);
144 cpl_error_code dfs_save_image_ext(cpl_image *, const char *,
145  cpl_propertylist *);
146 cpl_error_code dfs_save_image_null(cpl_frameset *, cpl_parameterlist *,
147  const char *, const char *,
148  const char *);
149 
150 CPL_END_DECLS
151 
152 #endif /* FORS_DFS_H */
void fors_dfs_save_image_err_mask(cpl_frameset *frameset, const fors_image *image, const cpl_image *mask, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *raw_frame)
Save DFS product (image) with it error data and a bad pixel mask.
Definition: fors_dfs.c:1274
int fors_end(const cpl_frameset *frames, cpl_errorstate before_exec)
End recipe execution.
Definition: fors_dfs.c:219
cpl_image * dfs_load_image(cpl_frameset *, const char *, cpl_type, int, int)
Loading image data of given category.
Definition: fors_dfs.c:860
const char * dfs_get_parameter_string(cpl_parameterlist *, const char *, const cpl_table *)
Reading a recipe string parameter value.
Definition: fors_dfs.c:602
cpl_propertylist * dfs_load_header(cpl_frameset *, const char *, int)
Loading header associated to data of given category.
Definition: fors_dfs.c:964
void fors_dfs_add_exptime(cpl_propertylist *header, const cpl_frame *frame, double exptime)
Add keyword EXPTIME to header.
Definition: fors_dfs.c:1367
cpl_error_code dfs_save_image_null(cpl_frameset *, cpl_parameterlist *, const char *, const char *, const char *)
Save a product with an empty primary extension.
Definition: fors_dfs.c:1893
cpl_error_code dfs_save_image_ext(cpl_image *, const char *, cpl_propertylist *)
Save an image in a extension.
Definition: fors_dfs.c:1850
void fors_begin(cpl_frameset *frames, const char *description_short)
Start recipe execution.
Definition: fors_dfs.c:191
void fors_dfs_save_image(cpl_frameset *frameset, const cpl_image *image, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *raw_frame)
Save DFS product (image)
Definition: fors_dfs.c:1149
void fors_dfs_set_groups(cpl_frameset *set)
Set the group as RAW or CALIB in a frameset.
Definition: fors_dfs.c:257
int dfs_get_parameter_bool(cpl_parameterlist *, const char *, const cpl_table *)
Reading a recipe boolean parameter value.
Definition: fors_dfs.c:701
int dfs_equal_keyword(cpl_frameset *frameset, const char *keyword)
Saving table data of given category.
Definition: fors_dfs.c:1683
int dfs_get_parameter_int_const(const cpl_parameterlist *, const char *)
Definition: fors_dfs.c:806
cpl_error_code dfs_save_table_ext(cpl_table *, const char *, cpl_propertylist *)
Save a table in a extension (different from the first one)
Definition: fors_dfs.c:1811
int dfs_get_parameter_bool_const(const cpl_parameterlist *, const char *)
Definition: fors_dfs.c:796
void fors_dfs_save_table(cpl_frameset *frameset, const cpl_table *table, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *raw_frame)
Save DFS product (table)
Definition: fors_dfs.c:1407
void fors_dfs_save_image_mask(cpl_frameset *frameset, const cpl_image *image, const cpl_image *mask, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *inherit_frame)
Save DFS product (image)
Definition: fors_dfs.c:1184
int dfs_save_image(cpl_frameset *, const cpl_image *, const char *, cpl_propertylist *, const cpl_parameterlist *, const char *, const char *) CPL_ATTR_DEPRECATED
Saving image data of given category.
Definition: fors_dfs.c:1451
cpl_table * dfs_load_table(cpl_frameset *, const char *, int)
Loading table data of given category.
Definition: fors_dfs.c:916
int dfs_get_parameter_int(cpl_parameterlist *, const char *, const cpl_table *)
Reading a recipe integer parameter value.
Definition: fors_dfs.c:407
int dfs_save_table(cpl_frameset *, const cpl_table *, const char *, cpl_propertylist *, const cpl_parameterlist *, const char *, const char *) CPL_ATTR_DEPRECATED
Saving table data of given category.
Definition: fors_dfs.c:1575
const char * dfs_get_parameter_string_const(const cpl_parameterlist *, const char *)
Definition: fors_dfs.c:826
double dfs_get_parameter_double(cpl_parameterlist *, const char *, const cpl_table *)
Reading a recipe double parameter value.
Definition: fors_dfs.c:504
const char * fors_dfs_pipeline_version(const cpl_propertylist *header, const char **instrument_version)
Get pipeline and instrument versions.
Definition: fors_dfs.c:360
void fors_dfs_add_wcs(cpl_propertylist *header, const cpl_frame *frame, const fors_setting *setting)
add WCS keywords to header
Definition: fors_dfs.c:1313
double dfs_get_parameter_double_const(const cpl_parameterlist *, const char *)
Definition: fors_dfs.c:816
void fors_dfs_save_image_err(cpl_frameset *frameset, const fors_image *image, const char *category, cpl_propertylist *header, cpl_propertylist *err_header, const cpl_parameterlist *parlist, const char *recipename, const cpl_frame *raw_frame)
Save DFS product (image) with it error data.
Definition: fors_dfs.c:1237