29#include "moo_region.h"
33#define MOO_CRH_METHOD_MEDIAN "MEDIAN"
34#define MOO_CRH_METHOD_MEAN "MEAN"
35#define MOO_CRH_METHOD_SIGCLIP "SIGCLIP"
44 int ignore_detector[6];
54#define MOO_SATURATED_THRESHOLD 170000
57 double saturate_threshold;
58 double saturate_kappa[6];
63#define MOO_RON_ESTIMATION_METHOD_GLOBAL "GLOBAL"
64#define MOO_RON_ESTIMATION_METHOD_LOCAL "LOCAL"
68 const char *ron_estimation_method;
71#define MOO_CORRECT_BIAS_METHOD_MASTER "MASTER"
72#define MOO_CORRECT_BIAS_METHOD_MEDIAN "MEDIAN"
76 const char *subtract_bias_method;
77} moo_correct_bias_params;
97#define MOO_LOCALISE_METHOD_GAUSSIAN "GAUSSIAN"
98#define MOO_LOCALISE_METHOD_BARYCENTER "BARYCENTER"
99#define MOO_LOCALISE_BACKG_METHOD_POLYNOMIAL "POLYNOMIAL"
100#define MOO_LOCALISE_BACKG_METHOD_RUNNINGMIN "RUNNINGMIN"
105 const char *backg_method;
106 int backg_winhsize[6];
107 int backg_polydeg[6];
108 double backg_clip_kappaup[6];
109 double backg_clip_kappalow[6];
110 int backg_clip_niter[6];
113 double goodptsfrac_min[6];
117 double relativethresh;
122 double loc_xlim_fracmin;
123} moo_localise_params;
125#define MOO_EXTRACT_METHOD_SUM "SUM"
126#define MOO_EXTRACT_METHOD_OPTIMAL "OPTIMAL"
139} moo_model_flat_params;
144} moo_compute_fibtrans_params;
146#define MOO_WAVESOL_MODEL_1D "1D"
147#define MOO_WAVESOL_MODEL_2D "2D"
148#define MOO_WAVESOL_LINEFIT_GAUSSIAN "GAUSSIAN"
149#define MOO_WAVESOL_LINEFIT_BARYCENTER "BARYCENTER"
150#define MOO_WAVESOL_CONTROL_NONE "NONE"
151#define MOO_WAVESOL_CONTROL_CHECK "CHECK"
152#define MOO_WAVESOL_CONTROL_UPDATE "UPDATE"
160 const char *linefit_method;
161 int linefit_winhsize[6];
162 int linefit_recentre[6];
163 int linedetect_winhsize[6];
164 int linedetect_nlines[6];
165 int ppm_wavemap_degx[6];
166 int ppm_wavemap_degy;
179#define MOO_REBIN_METHOD_INTEGRATE "INTEGRATE"
180#define MOO_REBIN_METHOD_INTERPOLATE "INTERPOLATE"
188#define MOO_SUB_SKY_STARE_METHOD_SIMPLE "SIMPLE"
189#define MOO_SUB_SKY_STARE_METHOD_SKYCORR "SKYCORR"
190#define MOO_SUB_SKY_STARE_METHOD_NONE "NONE"
195 double min_line_dist_fac;
196 double min_line_flux_fac;
218 moo_skycorr_params *sk;
219} moo_sub_sky_stare_params;
222#define MOO_COADD_METHOD_MEDIAN "MEDIAN"
223#define MOO_COADD_METHOD_MEAN "MEAN"
224#define MOO_COADD_METHOD_SIGCLIP "SIGCLIP"
226#define MOO_COADD_WEIGHT_NONE "NONE"
227#define MOO_COADD_WEIGHT_EXPTIME "EXPTIME"
240} moo_target_table_params;
245} moo_combine_pair_params;
251} moo_compute_snr_params;
258} moo_compute_slitoffset_params;
262 int filter_winhsize[3];
268} moo_compute_resp_params;
272 double continuum_const;
273 cpl_boolean kern_mode;
275 cpl_boolean var_kern;
276} moo_molecfit_model_params;
282} moo_molecfit_calctrans_params;
287} moo_create_s1d_params;
292moo_params *
moo_params_new(
const char *pid,
const char *recipe_id);
301moo_prepare_params *moo_prepare_params_new(
void);
302void moo_prepare_params_delete(moo_prepare_params *self);
304moo_crh_params *moo_crh_params_new(
void);
305void moo_crh_params_delete(moo_crh_params *self);
307moo_linear_params *moo_linear_params_new(
void);
308void moo_linear_params_delete(moo_linear_params *self);
310moo_bias_params *moo_bias_params_new(
void);
311void moo_bias_params_delete(moo_bias_params *self);
313moo_correct_bias_params *moo_correct_bias_params_new(
void);
314void moo_correct_bias_params_delete(moo_correct_bias_params *self);
316moo_localise_params *moo_localise_params_new(
void);
317void moo_localise_params_delete(moo_localise_params *self);
319moo_extract_params *moo_extract_params_new(
void);
320void moo_extract_params_delete(moo_extract_params *self);
322moo_model_flat_params *moo_model_flat_params_new(
void);
323void moo_model_flat_params_delete(moo_model_flat_params *self);
334moo_compute_fibtrans_params *moo_compute_fibtrans_params_new(
void);
335void moo_compute_fibtrans_params_delete(moo_compute_fibtrans_params *self);
337moo_wavesol_params *moo_wavesol_params_new(
void);
338void moo_wavesol_params_delete(moo_wavesol_params *self);
340moo_rebin_params *moo_rebin_params_new(
void);
341void moo_rebin_params_delete(moo_rebin_params *self);
343moo_sub_sky_stare_params *moo_sub_sky_stare_params_new(
void);
344void moo_sub_sky_stare_params_delete(moo_sub_sky_stare_params *self);
346moo_skycorr_params *moo_skycorr_params_new(
void);
347void moo_skycorr_params_delete(moo_skycorr_params *self);
349moo_coadd_params *moo_coadd_params_new(
void);
350void moo_coadd_params_delete(moo_coadd_params *self);
352moo_target_table_params *moo_target_table_params_new(
void);
353void moo_target_table_params_delete(moo_target_table_params *self);
355moo_combine_pair_params *moo_combine_pair_params_new(
void);
356void moo_combine_pair_params_delete(moo_combine_pair_params *self);
358moo_compute_snr_params *moo_compute_snr_params_new(
void);
359void moo_compute_snr_params_delete(moo_compute_snr_params *self);
361moo_compute_slitoffset_params *moo_compute_slitoffset_params_new(
void);
362void moo_compute_slitoffset_params_delete(moo_compute_slitoffset_params *self);
364moo_compute_resp_params *moo_compute_resp_params_new(
void);
365void moo_compute_resp_params_delete(moo_compute_resp_params *self);
379 cpl_parameterlist *list,
384 cpl_parameterlist *list,
416 cpl_parameterlist *list,
419 cpl_parameterlist *list,
440moo_correct_bias_params *
442 const cpl_parameterlist *list);
448 const cpl_parameterlist *list);
449moo_molecfit_model_params *
451 const cpl_parameterlist *list);
452moo_molecfit_calctrans_params *
454 const cpl_parameterlist *list);
456 const cpl_parameterlist *list);
458moo_compute_fibtrans_params *
460 const cpl_parameterlist *list);
461moo_compute_resp_params *
463 const cpl_parameterlist *list);
468 const cpl_parameterlist *list);
471moo_sub_sky_stare_params *
473 const cpl_parameterlist *list);
474moo_sub_sky_stare_params *
476 const cpl_parameterlist *list);
479moo_combine_pair_params *
481 const cpl_parameterlist *list);
482moo_target_table_params *
484 const cpl_parameterlist *list);
485moo_compute_snr_params *
487 const cpl_parameterlist *list);
488moo_compute_slitoffset_params *
490 const cpl_parameterlist *list);
496 const cpl_parameterlist *list);
moo_coadd_params * moo_params_get_coadd(const moo_params *self, const cpl_parameterlist *list)
Get coadd parameters from moons parameters list.
cpl_error_code moo_params_add_compute_fibtrans(moo_params *self, cpl_parameterlist *list)
Add default parameters for compute_fibtrans.
cpl_error_code moo_params_add_create_s1d(moo_params *self, cpl_parameterlist *list)
Add default parameters for create_s1d.
void moo_create_s1d_params_delete(moo_create_s1d_params *self)
Delete a moo_create_s1d_params.
moo_nos_params * moo_nos_params_new(void)
Create a new empty compute noise map set of parameters.
cpl_array * moo_params_get_quicklook_fibre_list(const moo_params *self, const cpl_parameterlist *list)
Get quicklook_fibre_list parameter from moons parameters list.
moo_molecfit_calctrans_params * moo_molecfit_calctrans_params_new(void)
Create a new empty molecfit_calctrans set of parameters.
cpl_error_code moo_nos_params_dump(const moo_nos_params *self, FILE *stream)
Dump nos params.
cpl_error_code moo_params_add_skycorr(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_skycorr.
cpl_error_code moo_params_add_extract(moo_params *self, cpl_parameterlist *list)
Add default parameters for extraction.
cpl_error_code moo_params_add_sub_sky_stare(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_sub_sky_stare.
cpl_error_code moo_params_add_compute_snr(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_sci_compute_snr.
moo_create_s1d_params * moo_params_get_create_s1d(const moo_params *self, const cpl_parameterlist *list)
Get create s1d parameters from moons parameters list.
cpl_error_code moo_params_add_molecfit_calctrans(moo_params *self, cpl_parameterlist *list)
Add default parameters for molecfit_calctrans.
cpl_error_code moo_params_add_linear(moo_params *self, cpl_parameterlist *list)
Add default parameters for linear.
moo_prepare_params * moo_params_get_prepare(const moo_params *self, const cpl_parameterlist *list)
Get remove prepare parameters from moons parameters list.
cpl_error_code moo_params_add_nos(moo_params *self, cpl_parameterlist *list)
Add default parameters for compute noise map.
moo_sub_sky_stare_params * moo_params_get_sub_sky_stare(const moo_params *self, const cpl_parameterlist *list)
Get sub sky stare parameters from moons parameters list.
int moo_params_get_keep_temp(const moo_params *self, const cpl_parameterlist *list)
Get keep-temp parameter from moons parameters list.
moo_create_s1d_params * moo_create_s1d_params_new(void)
Create a new empty create_s1d set of parameters.
moo_molecfit_calctrans_params * moo_params_get_molecfit_calctrans(const moo_params *self, const cpl_parameterlist *list)
Get molecfit calctrans parameters from moons parameters list.
moo_localise_params * moo_params_get_localise(const moo_params *self, const cpl_parameterlist *list)
Get localisation parameters from moons parameters list.
moo_compute_resp_params * moo_params_get_compute_resp(const moo_params *self, const cpl_parameterlist *list)
Get compute response parameters from moons parameters list.
moo_wavesol_params * moo_params_get_wavesol(const moo_params *self, const cpl_parameterlist *list)
Get wavesol parameters from moons parameters list.
moo_skycorr_params * moo_params_get_skycorr(const moo_params *self, const cpl_parameterlist *list)
Get skycorr parameters from moons parameters list.
moo_bias_params * moo_params_get_bias(const moo_params *self, const cpl_parameterlist *list)
Get bias parameters from moons parameters list.
cpl_error_code moo_params_add_compute_slitoffset(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_sci_compute_slitoffset.
moo_compute_slitoffset_params * moo_params_get_compute_slitoffset(const moo_params *self, const cpl_parameterlist *list)
Get compute_slitoffset parameters from moons parameters list.
cpl_error_code moo_params_add_hot(moo_params *self, cpl_parameterlist *list)
Add default parameters for compute hot map.
moo_combine_pair_params * moo_params_get_combine_pair(const moo_params *self, const cpl_parameterlist *list)
Get combine_pair parameters from moons parameters list.
cpl_error_code moo_params_add_target_table(moo_params *self, cpl_parameterlist *list, int value)
Add default parameters for moo_create_target_table.
cpl_error_code moo_params_add_sub_sky_stare_simple(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_sub_sky_stare.
cpl_error_code moo_params_add_combine_pair(moo_params *self, cpl_parameterlist *list, int value)
Add default parameters for moo_combine_pair.
moo_target_table_params * moo_params_get_target_table(const moo_params *self, const cpl_parameterlist *list)
Get target_table parameters from moons parameters list.
moo_sub_sky_stare_params * moo_params_get_sub_sky_stare_simple(const moo_params *self, const cpl_parameterlist *list)
Get sub sky stare simple parameters from moons parameters list.
moo_model_flat_params * moo_params_get_model_flat(const moo_params *self, const cpl_parameterlist *list)
Get model flat parameters from moons parameters list.
void moo_nos_params_delete(moo_nos_params *self)
Delete a moo_nos_params.
cpl_error_code moo_params_add_science_wavesol(moo_params *self, cpl_parameterlist *list)
Add default science parameters for moo_wavesol.
cpl_error_code moo_params_add_quicklook_fibre_list(moo_params *self, cpl_parameterlist *list)
Add default parameters for quicklook.
moo_compute_fibtrans_params * moo_params_get_compute_fibtrans(const moo_params *self, const cpl_parameterlist *list)
Get compute fibtrans parameters from moons parameters list.
moo_linear_params * moo_params_get_linear(const moo_params *self, const cpl_parameterlist *list)
Get linear parameters from moons parameters list.
moo_correct_bias_params * moo_params_get_correct_bias(const moo_params *self, const cpl_parameterlist *list)
Get correct_bias parameters from moons parameters list.
void moo_molecfit_model_params_delete(moo_molecfit_model_params *self)
Delete a moo_molecfit_model_params.
cpl_error_code moo_params_add_crh(moo_params *self, cpl_parameterlist *list, const char *method)
Add default parameters for remove crh.
void moo_molecfit_calctrans_params_delete(moo_molecfit_calctrans_params *self)
Delete a moo_molecfit_calctrans_params.
moo_extract_params * moo_params_get_extract(const moo_params *self, const cpl_parameterlist *list)
Get extraction parameters from moons parameters list.
moo_wavesol_params * moo_params_get_science_wavesol(const moo_params *self, const cpl_parameterlist *list)
Get science_wavesol parameters from moons parameters list.
void moo_params_delete(moo_params *self)
Delete a moo_params.
moo_crh_params * moo_params_get_crh(const moo_params *self, const cpl_parameterlist *list)
Get remove crh parameters from moons parameters list.
cpl_error_code moo_params_add_sub_sky_stare_wnone(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_sub_sky_stare.
cpl_error_code moo_params_add_bias(moo_params *self, cpl_parameterlist *list)
Add default parameters for bias.
void moo_hot_params_delete(moo_hot_params *self)
Delete a moo_hot_params.
cpl_error_code moo_params_add_correct_bias(moo_params *self, cpl_parameterlist *list, const char *method)
Add default parameters for correct_bias.
cpl_error_code moo_params_add_molecfit_model(moo_params *self, cpl_parameterlist *list)
Add default parameters for molecfit_model.
cpl_error_code moo_params_add_compute_resp(moo_params *self, cpl_parameterlist *list)
Add default parameters for compute_resp.
moo_molecfit_model_params * moo_params_get_molecfit_model(const moo_params *self, const cpl_parameterlist *list)
Get molecfit model parameters from moons parameters list.
moo_nos_params * moo_params_get_nos(const moo_params *self, const cpl_parameterlist *list)
Get compute noise parameters from moons parameters list.
moo_hot_params * moo_params_get_hot(const moo_params *self, const cpl_parameterlist *list)
Get compute hot map parameters from moons parameters list.
cpl_error_code moo_params_add_keep_temp(moo_params *self, cpl_parameterlist *list)
Add default parameters for keep-temp.
cpl_error_code moo_params_add_localise(moo_params *self, cpl_parameterlist *list)
Add default parameters for localisation.
cpl_error_code moo_params_add_wavesol(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_wavesol.
cpl_error_code moo_params_add_prepare(moo_params *self, cpl_parameterlist *list)
Add default parameters for prepare.
cpl_error_code moo_params_add_model_flat(moo_params *self, cpl_parameterlist *list)
Add default parameters for model flat.
moo_rebin_params * moo_params_get_rebin(const moo_params *self, const cpl_parameterlist *list)
Get rebin parameters from moons parameters list.
cpl_error_code moo_params_add_coadd(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_coadd.
moo_params * moo_params_new(const char *pid, const char *recipe_id)
Create a new moo_params.
moo_molecfit_model_params * moo_molecfit_model_params_new(void)
Create a new empty molecfit_model set of parameters.
moo_compute_snr_params * moo_params_get_compute_snr(const moo_params *self, const cpl_parameterlist *list)
Get compute_snr parameters from moons parameters list.
moo_hot_params * moo_hot_params_new(void)
Create a new empty compute hot map set of parameters.
cpl_error_code moo_params_add_rebin(moo_params *self, cpl_parameterlist *list)
Add default parameters for moo_rebin.