34 #include "sinfo_detnoise_ini_by_cpl.h"
35 #include "sinfo_raw_types.h"
36 #include "sinfo_globals.h"
37 #include "sinfo_hidden.h"
38 #include "sinfo_functions.h"
44 parse_section_frames(detnoise_config * cfg, cpl_frameset* sof,
45 cpl_frameset** raw,
int* status);
47 parse_section_badsearch(detnoise_config * cfg, cpl_parameterlist* cpl_cfg);
69 sinfo_parse_cpl_input_detnoise(cpl_parameterlist * cpl_cfg, cpl_frameset* sof,
73 detnoise_config * cfg;
78 cfg = sinfo_detnoise_cfg_create();
84 parse_section_badsearch(cfg, cpl_cfg);
85 parse_section_frames(cfg, sof, raw, &status);
89 sinfo_detnoise_free(cfg);
107 parse_section_frames(detnoise_config * cfg, cpl_frameset * sof,
108 cpl_frameset** raw,
int* status)
113 cpl_frame* frame = NULL;
115 char spat_res[FILE_NAME_SZ];
116 char lamp_status[FILE_NAME_SZ];
117 char band[FILE_NAME_SZ];
120 sinfo_extract_raw_frames_type2(sof, raw, RAW_DARK);
122 nraw = cpl_frameset_get_size(*raw);
125 "frameset!Aborting...", nraw, RAW_DARK);
134 cfg->framelist = cpl_malloc(nraw *
sizeof(
char*));
136 for (i = 0; i < nraw; i++) {
137 frame = cpl_frameset_get_frame(*raw, i);
139 cfg->framelist[i] = cpl_strdup(cpl_frame_get_filename(frame));
142 strcpy(cfg->outName, BP_NOISE_OUT_FILENAME);
144 frame = cpl_frameset_get_frame(*raw, 0);
145 sinfo_get_spatial_res(frame, spat_res);
146 switch (sinfo_frame_is_on(frame))
149 strcpy(lamp_status,
"on");
152 strcpy(lamp_status,
"off");
155 strcpy(lamp_status,
"undefined");
158 strcpy(lamp_status,
"undefined");
162 sinfo_get_band(frame, band);
163 sinfo_msg(
"Spatial resolution: %s lamp status: %s band: %s \n", spat_res,
166 sinfo_get_ins_set(band, &ins_set);
179 parse_section_badsearch(detnoise_config * cfg, cpl_parameterlist * cpl_cfg)
183 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_noise.low_rejection");
184 cfg->loReject = cpl_parameter_get_double(p);
186 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_noise.high_rejection");
187 cfg->hiReject = cpl_parameter_get_double(p);
189 p = cpl_parameterlist_find(cpl_cfg,
"sinfoni.bp_noise.thresh_sigma_factor");
190 cfg->threshSigmaFactor = cpl_parameter_get_double(p);
201 sinfo_detnoise_free(detnoise_config * cfg)
206 for (i = 0; i < cfg->nframes; i++) {
207 if (cfg->framelist[i] != NULL )
208 cpl_free(cfg->framelist[i]);
210 if (cfg->framelist) {
211 if (cfg->framelist != NULL )
212 cpl_free(cfg->framelist);
214 sinfo_detnoise_cfg_destroy(cfg);
#define sinfo_msg_error(...)
Print an error message.