34 #include "sinfo_distortion_config.h"
35 #include "sinfo_globals.h"
44 sinfo_distortion_config_add(cpl_parameterlist *list)
59 p = cpl_parameter_new_value(
"sinfoni.distortion.calib_indicator",
62 "FALSE: if the dispersion relation is already "
63 "known, the routine can jump to the waveMap "
65 "TRUE: if the dispersion relation "
66 "must first be determined",
70 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-calib_indicator");
71 cpl_parameterlist_append(list, p);
75 p = cpl_parameter_new_value(
"sinfoni.distortion.min_diff_mean_med_col_int",
77 "Minimum Of Difference: "
78 "minimum difference of mean and median column "
79 "intensity to carry out the cross correlation",
83 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
84 "dist-min_diff_mean_med_col_int");
85 cpl_parameterlist_append(list, p);
88 p = cpl_parameter_new_value(
"sinfoni.distortion.half_width",
91 "half width of a box within which the line "
96 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-hw");
97 cpl_parameterlist_append(list, p);
100 p = cpl_parameter_new_value(
"sinfoni.distortion.sigma",
102 "Sigma: sigma of Gaussian which is convolved "
103 "with the artificial spectrum generated using "
105 "sinfoni.distortion",
108 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-sigma");
109 cpl_parameterlist_append(list, p);
113 p = cpl_parameter_new_value(
"sinfoni.distortion.fwhm",
115 "FWHM: initial guess value for the fwhm of "
116 "the Gaussian used for the line fit",
117 "sinfoni.distortion",
120 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-fwhm");
121 cpl_parameterlist_append(list, p);
124 p = cpl_parameter_new_value(
"sinfoni.distortion.min_amplitude",
126 "Minimum Of Amplitude: "
127 "of the Gaussian to do the fit",
128 "sinfoni.distortion",
131 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-min_amplitude");
132 cpl_parameterlist_append(list, p);
135 p = cpl_parameter_new_value(
"sinfoni.distortion.max_residual",
137 "Maximum Residuals value: "
138 "beyond this value the fit is rejected",
139 "sinfoni.distortion",
142 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-max_residual");
143 cpl_parameterlist_append(list, p);
146 p = cpl_parameter_new_value(
"sinfoni.distortion.n_a_coefficients",
148 "Number of A coefficients: number of "
149 "polynomial coefficients for the "
150 "dispersion relation",
151 "sinfoni.distortion",
154 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-n_a_coeffs");
155 cpl_parameterlist_append(list, p);
159 p = cpl_parameter_new_value(
"sinfoni.distortion.n_b_coefficients",
161 "Number of B coefficients: "
162 "number of polynomial coefficients for the "
163 "polynomial fit of the dispersion coefficients",
164 "sinfoni.distortion",
167 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-n_b_coeffs");
168 cpl_parameterlist_append(list, p);
171 p = cpl_parameter_new_value(
"sinfoni.distortion.sigma_factor",
174 "Factor of the standard deviation of the "
175 "polynomial coefficients of the dispersion "
176 "relation beyond which the coefficients are "
177 "not used for the fit",
178 "sinfoni.distortion",
181 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-sigma_factor");
182 cpl_parameterlist_append(list, p);
186 p = cpl_parameter_new_value(
"sinfoni.distortion.write_coeffs_ind",
188 "Write Coefficients Index: "
189 "indicates if the coefficients should "
190 "be written into a file or not",
191 "sinfoni.distortion",
194 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-wcoeff_ind");
195 cpl_parameterlist_append(list, p);
198 p = cpl_parameter_new_value(
"sinfoni.distortion.write_par_ind",
200 "Write Parameter Index: "
201 "indicates if the fit parameters should "
202 "be written into a file or not ",
203 "sinfoni.distortion",
206 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-par_ind");
207 cpl_parameterlist_append(list, p);
211 p = cpl_parameter_new_value(
"sinfoni.distortion.pixel_dist",
213 "Minimal Slitlets's Distance in spectral direction",
214 "sinfoni.distortion",
217 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-pixel_dist");
218 cpl_parameterlist_append(list, p);
225 p = cpl_parameter_new_value(
"sinfoni.distortion.pixel_tol",
227 "Pixel Tolerance: allowed pixel position "
228 "tolerance between estimated and fitted "
230 "sinfoni.distortion",
233 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-pixel_tol");
234 cpl_parameterlist_append(list, p);
238 p = cpl_parameter_new_value(
"sinfoni.distortion.wave_map_ind",
240 "Wavelength Map Indicator: "
241 "indicates if the wavelength calibration map "
242 "should be generated (TRUE) or not (FALSE)",
243 "sinfoni.distortion",
246 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-wave_map_ind");
247 cpl_parameterlist_append(list, p);
250 p = cpl_parameter_new_value(
"sinfoni.distortion.mag_factor",
252 "Magnificator Factor: "
253 "magnifying factor for the number of pixels "
254 "in the columns needed for FFT",
255 "sinfoni.distortion",
258 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-mag_factor");
259 cpl_parameterlist_append(list, p);
263 p = cpl_parameter_new_value(
"sinfoni.distortion.slit_pos_indicator",
265 "Slit Position Indicator: "
266 "indicates if the fits of the slitlet "
267 "edge positions should be carried "
269 "sinfoni.distortion",
272 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-slit_pos_ind");
273 cpl_parameterlist_append(list, p);
276 p = cpl_parameter_new_value(
"sinfoni.distortion.fit_boltz_indicator",
278 "Fit Boltzmann Indicator: "
279 "indicates if the fits of the slitlet edge "
280 "positions is carried trough by using a "
281 "Boltzmann function as model function",
282 "sinfoni.distortion",
285 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-fit_boltz_ind");
286 cpl_parameterlist_append(list, p);
289 p = cpl_parameter_new_value(
"sinfoni.distortion.fit_edge_indicator",
291 "Fit Edge Indicator: "
292 "indicates if the fits of the slitlet edge "
293 "positions is carried through by using a "
294 "simple edge function as model function",
295 "sinfoni.distortion",
298 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-fit_edge_ind");
299 cpl_parameterlist_append(list, p);
304 p = cpl_parameter_new_value(
"sinfoni.distortion.estimate_indicator",
306 "Estimate Indicator: "
307 "indicates if the fits of the slitlet edge "
308 "positions is carried through by using a list "
309 "of estimated guess positions in a file (TRUE)"
310 "or if the initial positions are calculated "
311 "automatically (FALSE). The estimation case "
313 "sinfoni.distortion",
316 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-estimate_ind");
317 cpl_parameterlist_append(list, p);
322 p = cpl_parameter_new_value(
"sinfoni.distortion.box_length",
325 "pixel length of the row box within "
326 "which the fit is carried out",
327 "sinfoni.distortion",
330 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-box_len");
331 cpl_parameterlist_append(list, p);
334 p = cpl_parameter_new_value(
"sinfoni.distortion.y_box",
336 "Y Box: half width of a small box in "
337 "spectral direction within which the "
338 "maximal intensity pixel is searched",
339 "sinfoni.distortion",
342 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-y_box");
343 cpl_parameterlist_append(list, p);
346 p = cpl_parameter_new_value(
"sinfoni.distortion.diff_tol",
348 "Difference Tolearance: "
349 "maximal tolerable difference of the "
350 "resulting fit positions of the slitlet "
351 "edges with respect to the expected positions",
352 "sinfoni.distortion",
355 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-diff_toll");
356 cpl_parameterlist_append(list, p);
359 p = cpl_parameter_new_value(
"sinfoni.distortion.qc_thresh_min",
362 "sinfoni.distortion",
365 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-qc_thresh_min");
366 cpl_parameterlist_append(list, p);
369 p = cpl_parameter_new_value(
"sinfoni.distortion.qc_thresh_max",
372 "sinfoni.distortion",
375 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"dist-qc_thresh_max");
376 cpl_parameterlist_append(list, p);
388 p = cpl_parameter_new_range(
"sinfoni.distortion.lower_rejection",
391 "percentage of rejected low intensity pixels "
393 "sinfoni.distortion",
396 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-lo_rejection");
397 cpl_parameterlist_append(list, p);
399 p = cpl_parameter_new_range(
"sinfoni.distortion.higher_rejection",
402 "percentage of rejected high intensity pixels "
404 "sinfoni.distortion",
407 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-hi_rejection");
408 cpl_parameterlist_append(list, p);
411 p = cpl_parameter_new_value(
"sinfoni.distortion.mask_ind",
414 "indicator if a bad pixel mask is applied or not",
415 "sinfoni.distortion",
418 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-mask_ind");
419 cpl_parameterlist_append(list, p);
423 p = cpl_parameter_new_value(
"sinfoni.distortion.gauss_ind",
426 "sinfoni.distortion",
429 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-gauss_ind");
430 cpl_parameterlist_append(list, p);
432 p = cpl_parameter_new_value(
"sinfoni.distortion.kernel_half_width",
435 "kernel half width of the Gaussian "
437 "sinfoni.distortion",
440 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-khw");
441 cpl_parameterlist_append(list, p);
449 p = cpl_parameter_new_value(
"sinfoni.distortion.ns_half_width",
452 "sinfoni.distortion",
455 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-hw");
456 cpl_parameterlist_append(list, p);
458 p = cpl_parameter_new_value(
"sinfoni.distortion.ns_fwhm",
461 "sinfoni.distortion",
464 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-fwhm");
465 cpl_parameterlist_append(list, p);
468 p = cpl_parameter_new_value(
"sinfoni.distortion.min_diff",
470 "Minimum of Difference",
471 "sinfoni.distortion",
474 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-min_diff");
475 cpl_parameterlist_append(list, p);
478 p = cpl_parameter_new_value(
"sinfoni.distortion.dev_tol",
481 "sinfoni.distortion",
485 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"ns-dev_tol");
486 cpl_parameterlist_append(list, p);
489 p = cpl_parameter_new_value(
"sinfoni.distortion.arcs_thresh_factor",
491 "arcs threshold factor. "
492 "median_value(image)+ kappa*sigma is the "
493 "minimum intensity threshold of accepted image"
495 "sinfoni.distortion",
499 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"arcs_thresh_factor");
500 cpl_parameterlist_append(list, p);
504 p = cpl_parameter_new_value(
"sinfoni.distortion.arcs_min_arclen_factor",
506 "factor which sets minimum arc length (1.0-2)",
507 "sinfoni.distortion",
511 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"arcs_min_arclen_factor");
512 cpl_parameterlist_append(list, p);
515 p = cpl_parameter_new_value(
"sinfoni.distortion.arcs_window_size",
517 "Size of window for low pass fileter used in"
518 "an horizzontal low pass filter to remove "
519 "unwanted arcs (5-64)",
520 "sinfoni.distortion",
524 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"arcs_window_size");
525 cpl_parameterlist_append(list, p);
528 p = cpl_parameter_new_value(
"sinfoni.distortion.smooth_rad",
530 "Size of smoothing factor (1-11) used to "
531 "prevent for possible intensity drops from "
532 "detector electronics on fibre illuminated "
534 "sinfoni.distortion",
538 cpl_parameter_set_alias(p, CPL_PARAMETER_MODE_CLI,
"smooth_rad");
539 cpl_parameterlist_append(list, p);