SINFONI Pipeline Reference Manual  2.6.0
sinfo_functions.h
1 /* $Id: sinfo_functions.h,v 1.13 2009-03-04 10:17:38 amodigli Exp $
2  *
3  * This file is part of the SINFONI Pipeline
4  * Copyright (C) 2002,2003 European Southern Observatory
5  *
6  * This proram 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  */
20 
21 /*
22  * $Author: amodigli $
23  * $Date: 2009-03-04 10:17:38 $
24  * $Revision: 1.13 $
25  * $Name: not supported by cvs2svn $
26  */
27 #ifndef SINFO_FUNCTIONS_H
28 #define SINFO_FUNCTIONS_H
29 
30 #include <cpl.h>
31 #include <sinfo_time.h>
32 #include <sinfo_globals.h>
33 #include <sinfo_skycor.h>
34 
35 CPL_BEGIN_DECLS
36 
37 int sinfo_print_rec_status(const int val);
38 
39 cpl_frameset *
40 sinfo_frameset_extract(const cpl_frameset *frames,const char *tag);
41 
42 cpl_vector*
43 sinfo_vector_clip(const cpl_vector* vinp,
44  const double kappa,
45  const int n,
46  const int method);
47 
48 
49 int
50 sinfo_image_estimate_noise(cpl_image* img,
51  const int noise_fit,
52  double* centre,
53  double* noise);
54 
55 
56 cpl_table* sinfo_compute_gain(cpl_frameset* son, cpl_frameset* sof);
57 cpl_table* sinfo_compute_linearity(cpl_frameset* son, cpl_frameset* sof);
58 
59 
60 int sinfo_vector_dindgen(cpl_vector** v);
61 int sinfo_is_fits_file(const char *filename);
62 cpl_error_code
63 sinfo_extract_frames_group_type(const cpl_frameset * set,
64  cpl_frameset** ext, cpl_frame_group type);
65 cpl_error_code sinfo_frameset_merge(cpl_frameset * set1,
66  cpl_frameset* set2);
67 cpl_error_code
68 sinfo_table_correl(cpl_table * t1,
69  cpl_table* t2,
70  cpl_table* range,
71  double* xcor);
72 int
73 sinfo_get_pupil_shift(cpl_imagelist* iml,const int n,cpl_table** qclog_tbl);
74 int sinfo_get_preoptic(const char* file,const char* val);
75 int sinfo_get_keyvalue_int(cpl_frame * ref_frame, const char* key_name);
76 float sinfo_get_keyvalue_float(cpl_frame * ref_frame, const char* key_name);
77 double sinfo_get_keyvalue_double(cpl_frame * ref_frame, const char* key_name);
78 char sinfo_get_keyvalue_bool(cpl_frame * ref_frame, const char* key_name);
79 const char*
80 sinfo_get_keyvalue_string(cpl_frame * ref_frame, const char* key_name);
81 int sinfo_get_strehl_type(cpl_frameset* sof);
82 double sinfo_get_wave_cent(const char* band);
83 void sinfo_memory_status(void);
84 int sinfo_check_rec_status(const int val);
85 void
86 sinfo_add_pro_fits_key(cpl_propertylist * plist,
87  char* pro_catg,
88  char* file_name,
89  char* out_name);
90 /* ----------------------------------------------------------------------
91  group of frames
92 ---------------------------------------------------------------------- */
93 
94 
95 
96 int
97 sinfoni_extract_raw_linearity_frames(cpl_frameset * sof, cpl_frameset** raw);
98 int sinfoni_extract_raw_dark_frames(cpl_frameset * sof, cpl_frameset** raw);
99 int sinfo_extract_raw_pinhole_frames(cpl_frameset * sof, cpl_frameset** raw);
100 int sinfo_extract_raw_slit_frames(cpl_frameset * sof, cpl_frameset** raw);
101 int sinfo_extract_raw_stack_frames(cpl_frameset * sof, cpl_frameset** pro);
102 int sinfo_extract_on_frames(cpl_frameset * sof, cpl_frameset* on);
103 int sinfo_extract_off_frames(cpl_frameset * sof, cpl_frameset* off);
104 
105 int sinfo_extract_raw_frames(cpl_frameset * sof, cpl_frameset** raw);
106 int sinfoni_extract_pro_frames(cpl_frameset * sof, cpl_frameset** pro);
107 int sinfo_extract_cdb_frames(cpl_frameset * sof, cpl_frameset** cdb);
108 
109 int sinfo_extract_obj_frames(cpl_frameset * sof, cpl_frameset* obj);
110 int sinfo_extract_sky_frames(cpl_frameset * sof, cpl_frameset* sky);
111 int sinfo_extract_mst_frames(cpl_frameset * sof, cpl_frameset* cdb);
112 int sinfo_extract_stk_frames(cpl_frameset * sof, cpl_frameset* res);
113 int
114 sinfo_extract_preoptic_frames(cpl_frameset * sof,
115  cpl_frameset** res,
116  const char* pre_opt);
117 
118 double sinfo_get_cumoffsetx(cpl_frame * frame);
119 double sinfo_get_cumoffsety(cpl_frame * frame);
120 int sinfo_tag_is_objpro(char * tag);
121 int sinfo_extract_obj_products(cpl_frameset * sof, cpl_frameset* obj);
122 
123 cpl_frameset* sinfo_frameset_join(cpl_frameset* fs1,cpl_frameset* fs2);
124 
125 const char* sinfo_get_pix_scale(float ps);
126 int sinfo_pix_scale_isnot_const(float* pix_scale, int size);
127 
128 int sinfo_contains_frames_kind(cpl_frameset * sof,
129  cpl_frameset* raw,
130  const char* type);
131 
132 int sinfo_contains_frames_type(cpl_frameset * sof,
133  cpl_frameset** raw,
134  const char* type);
135 
136 
137 int sinfo_extract_raw_frames_type(cpl_frameset * sof,
138  cpl_frameset** raw,
139  const char* type);
140 
141 int sinfo_extract_raw_frames_type2(cpl_frameset * sof,
142  cpl_frameset** raw,
143  const char* type);
144 
145 int sinfo_extract_raw_frames_type1(cpl_frameset * sof,
146  cpl_frameset* raw,
147  const char* type);
148 
149 int sinfo_extract_frames_type(cpl_frameset * sof,
150  cpl_frameset * raw,
151  const char* type);
152 
153 int sinfo_remove_qc_frames(cpl_frameset* sof,cpl_frameset** raw);
154 /* ----------------------------------------------------------------------
155  single frames
156 ---------------------------------------------------------------------- */
157 double sinfo_get_mjd_obs(cpl_frame * frame);
158 int sinfo_frame_is_raw(char * tag);
159 int sinfoni_frame_is_pro(char * tag);
160 int sinfo_frame_is_cdb(char * tag);
161 int sinfo_frame_is_stk(char * tag);
162 int sinfo_frame_is_preoptic(cpl_frame*, const char* val);
163 
164 int sinfo_frame_is_pinhole_lamp(char * tag);
165 int sinfo_frame_is_raw_stack(char * tag);
166 int sinfo_frame_is_slit_lamp(char * tag);
167 
168 
169 int sinfo_is_flat_bp(char * tag);
170 int sinfo_is_flat_lindet(char * tag);
171 int sinfo_is_dark(char * tag);
172 int sinfoni_is_pinhole_lamp(char * tag) ;
173 int sinfoni_is_raw_stack(char * tag) ;
174 
175 int sinfoni_is_lamp_slit(char * tag) ;
176 int sinfo_is_sky_flat(char * tag) ;
177 
178 int sinfo_is_mflat(char * tag) ;
179 int sinfo_is_master_flat(char * tag) ;
180 int sinfo_is_master_flat_dither(char * tag) ;
181 
182 int sinfo_is_stack(char * tag) ;
183 int sinfo_is_lamp_wave_stacked(char * tag) ;
184 int sinfo_is_lamp_flux_stacked(char * tag) ;
185 int sinfo_is_psf_calibrator_stacked(char * tag) ;
186 int sinfo_is_focus_stacked(char * tag) ;
187 int sinfo_is_object_nodding_stacked(char * tag) ;
188 int sinfo_is_sky_nodding_stacked(char * tag) ;
189 int sinfo_is_object_skyspider_stacked(char * tag) ;
190 
191 
192 int sinfo_blank2dot(const char * in, char* ou) ;
193 int sinfo_is_bpmap(char *) ;
194 int sinfo_is_slitpos(char * tag) ;
195 int sinfo_is_wavemap(char * tag) ;
196 int sinfo_is_halosp(char * tag) ;
197 int sinfo_is_distlist(char * tag) ;
198 int sinfo_is_firstcol(char * tag) ;
199 int sinfo_is_fibres_on_off(cpl_frameset * sof,
200  cpl_frameset* raw);
201 /* ----------------------------------------------------------------------
202  Extra functionalities
203 ---------------------------------------------------------------------- */
204 int
205 sinfo_clean_nan(cpl_image** im);
206 
207 int sinfo_get_clean_mean_window(cpl_image* img,
208  int llx,
209  int lly,
210  int urx,
211  int ury,
212  const int kappa,
213  const int nclip,
214  double* sinfo_clean_mean,
215  double* clean_stdev);
216 
217 int sinfo_get_obsname(cpl_frame * ref_frame, const char* ob_name);
218 
219 
220  int sinfo_get_ron(cpl_frameset * framelist,
221  const int ron_xmin,
222  const int ron_xmax,
223  const int ron_ymin,
224  const int ron_ymax,
225  const int ron_hsize,
226  const int ron_nsamp,
227  double** ron);
228 int sinfo_stack_get_pro_tag(char * tag_in, char* tag_out) ;
229 int sinfo_compare_tags(const cpl_frame *, const cpl_frame *) ;
230 
231 int sinfo_get_spatial_res(cpl_frame * ref_frame,char * spat_res);
232 int sinfo_frame_is_dither(cpl_frame * ref_frame);
233 int sinfo_frame_is_sky(cpl_frame * ref_frame);
234 int sinfo_tag_is_obj(char * ref_frame);
235 int sinfo_tag_is_sky(char * ref_frame);
236 
237 int sinfo_frame_is_on(cpl_frame * ref_frame);
238 int sinfo_get_band(cpl_frame * ref_frame,char * band);
239 int sinfo_get_ins_set(char* band,int* ins_set);
240 int sinfoni_get_ins_setting(cpl_frame * ref_file,char * set_id);
241 int sinfo_pfits_add_qc(cpl_propertylist * plist,qc_log * qclog);
242 
243 
244 
245 
246 
247 
248 CPL_END_DECLS
249 
250 #endif