37 #include "sinfo_badsky_ini_by_cpl.h"
38 #include "sinfo_raw_types.h"
39 #include "sinfo_pro_types.h"
40 #include "sinfo_hidden.h"
41 #include "sinfo_globals.h"
42 #include "sinfo_functions.h"
43 #include "sinfo_file_handling.h"
49 parse_section_frames(badsky_config * cfg, cpl_parameterlist* cpl_cfg,
50 cpl_frameset* sof, cpl_frameset** raw,
int* status);
52 parse_section_badpix(badsky_config * cfg, cpl_parameterlist* cpl_cfg);
54 parse_section_thresh(badsky_config * cfg, cpl_parameterlist* cpl_cfg);
76 sinfo_parse_cpl_input_badsky(cpl_parameterlist * cpl_cfg,
83 cfg = sinfo_badsky_cfg_create();
84 parse_section_badpix (cfg, cpl_cfg);
85 parse_section_thresh (cfg, cpl_cfg);
86 parse_section_frames (cfg, cpl_cfg, sof, raw,&status);
89 sinfo_badsky_cfg_destroy(cfg);
109 parse_section_frames(badsky_config * cfg,
110 cpl_parameterlist * cpl_cfg,
120 cpl_frame* frame=NULL;
122 char spat_res[FILE_NAME_SZ];
123 char lamp_status[FILE_NAME_SZ];
124 char band[FILE_NAME_SZ];
127 *raw=cpl_frameset_new();
130 sinfo_contains_frames_type(sof,raw,RAW_SKY);
131 nraw=cpl_frameset_get_size(*raw);
134 "frameset!Aborting...",nraw,RAW_SKY);
141 cfg->framelist = cpl_malloc(nraw *
sizeof(
char*));
144 for (i=0 ; i<nraw ; i++) {
145 frame = cpl_frameset_get_frame(*raw,i);
147 if(sinfo_file_exists((
char*) cpl_frame_get_filename(frame))==1)
150 cfg->framelist[i]=cpl_strdup(cpl_frame_get_filename(frame));
156 sinfo_msg_error(
"Error: no good raw frame in input, something wrong!");
162 if(NULL != cpl_frameset_find(sof,PRO_MASTER_DARK)) {
163 frame = cpl_frameset_find(sof,PRO_MASTER_DARK);
164 strcpy(cfg -> sinfo_dark,
165 cpl_strdup(cpl_frame_get_filename(frame)));
171 cfg->nframes = nraw_good ;
174 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.out_filename");
175 strcpy(cfg -> outName, cpl_parameter_get_string(p));
177 frame = cpl_frameset_get_frame(*raw,0);
178 sinfo_get_spatial_res(frame,spat_res);
181 switch(sinfo_frame_is_on(frame))
184 strcpy(lamp_status,
"on");
187 strcpy(lamp_status,
"off");
190 strcpy(lamp_status,
"undefined");
193 strcpy(lamp_status,
"undefined");
197 sinfo_get_band(frame,band);
198 sinfo_msg(
"Spatial resolution: %s lamp status: %s band: %s \n",
199 spat_res, lamp_status, band);
202 sinfo_get_ins_set(band,&ins_set);
216 parse_section_badpix(badsky_config * cfg, cpl_parameterlist * cpl_cfg)
220 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.sigma_factor");
221 cfg -> sigmaFactor = cpl_parameter_get_double(p);
223 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.method_index");
224 cfg -> methodInd = cpl_parameter_get_int(p);
226 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.factor");
227 cfg -> factor = cpl_parameter_get_double(p);
229 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.iterations");
230 cfg -> iterations = cpl_parameter_get_int(p);
232 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.low_rejection");
233 cfg -> loReject = cpl_parameter_get_double(p);
235 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.high_rejection");
236 cfg -> hiReject = cpl_parameter_get_double(p);
238 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.llx");
239 cfg -> llx = cpl_parameter_get_int(p);
241 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.lly");
242 cfg -> lly = cpl_parameter_get_int(p);
244 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.urx");
245 cfg -> urx = cpl_parameter_get_int(p);
247 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.ury");
248 cfg -> ury = cpl_parameter_get_int(p);
261 parse_section_thresh(badsky_config * cfg, cpl_parameterlist * cpl_cfg)
265 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.threshold_index");
266 cfg -> threshInd = cpl_parameter_get_bool(p);
268 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.mean_factor");
269 cfg -> meanfactor = cpl_parameter_get_double(p);
272 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.min_cut");
273 cfg -> mincut = cpl_parameter_get_double(p);
275 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_sky.max_cut");
276 cfg -> maxcut = cpl_parameter_get_double(p);
288 sinfo_badsky_free(badsky_config * cfg)
290 cpl_free(cfg->framelist);
291 sinfo_badsky_cfg_destroy(cfg);
#define sinfo_msg_error(...)
Print an error message.
#define sinfo_msg_warning(...)
Print an warning message.