X-shooter Pipeline Reference Manual 3.8.15
xsh_parameters.h
Go to the documentation of this file.
1/* *
2 * This file is part of the ESO X-shooter Pipeline *
3 * Copyright (C) 2006 European Southern Observatory *
4 * *
5 * This library is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software *
17 * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *
18 * */
19
20/*
21 * $Author: amodigli $
22 * $Date: 2012-11-21 15:49:05 $
23 * $Revision: 1.151 $
24 * $Name: not supported by cvs2svn $
25 */
26
27#ifndef XSH_PARAMETERS_H
28#define XSH_PARAMETERS_H
29
30/*----------------------------------------------------------------------------
31 Includes
32 ----------------------------------------------------------------------------*/
33
34#include <cpl.h>
35#include <xsh_data_instrument.h>
36
37/*----------------------------------------------------------------------------
38 Typedefs
39 ----------------------------------------------------------------------------*/
40
41/*
42 Structure housing sigma clipping parameters.
43 The "diff" entry is not used in all the cases
44*/
45typedef struct {
46 /* < Sigma */
47 double sigma ;
48 /* < Number of iteration */
49 int niter ;
50 /* < Fraction of bad pixels */
51 double frac ;
52 /* < Only for NIR */
53 double diff ;
54 /* < Res max */
55 double res_max ;
57
58/*
59 Structure housing detect order parameters.
60*/
61typedef struct {
62 /* window size in pixels */
64 /* threshold */
66 /* min S/N */
67 double min_sn;
68 /* min order size x */
70 /* half size of a chunk */
72 /* IFU: lateral slitlet/central slitlet ratio (0.9) */
75 /* IFU : flag to used fixed slice */
77 /* IFU : method to trace IFU slices */
78 const char* method;
79 /* QC: this parameter allow to QC-Garching to skip edge detection for orders
80 having edges below min-sn. This allows the recipe to terminate
81 successfully and generate some required QC parameter.
82 Normal users should have this parameter set to FALSE and have
83 eventually a recipe failure if edge S/N is below a minimum tolerable
84 level
85 */
86 int qc_mode;
88
89/*
90 Structure housing d2 special detect order parameters.
91*/
92typedef struct {
93 /* min S/N */
94 double min_sn;
96
97/* Polynomial degree used in detect_continuum function (recipe xsh_orderpos) */
98#define DETECT_CONTINUUM_POLYNOMIAL_DEGREE 5
99
100typedef struct {
114
115/*
116 Structure housing background parameters.
117*/
118typedef struct {
119 /* number of points of the grid in y direction */
121 /* half size of the subwindow in x direction */
123 /* half size of the subwindow in x direction */
125
126 /* background extraction method: [median],minimum,no */
129 /* parameters controlling poly method */
133
134 /* debug mode: if TRUE generate a table with the grid sampling points */
135 int debug;
136
138
139/*
140 Structure housing xsh_wavecal:follow_arclines) parameters.
141*/
142#define WAVECAL_RANGE_DEFAULT 13
143#define WAVECAL_MARGIN_DEFAULT 3
144
145typedef struct {
146 int range ;
148 int margin ;
152 double s_n_min ;
154
155/*
156 Structure housing detect_arclines parameters
157*/
158#define DETECT_ARCLINES_POLYNOMIAL_DEGREE 5
159
160typedef enum {
164
165typedef struct {
166 /* half window size in pixels */
168 /* half window size in which search max */
170 /* half window size running median */
172 /* degrees of lambda in wave solution polynomial fit */
174 /* degrees of order in wave solution polynomial fit */
176 /* degrees of slit in wave solution polynomial fit */
178 /* Degree of y in orders poynomial fit */
180 /* minimum S/N to filter lines */
181 double min_sn;
182 /* method to find the center of the line */
186
187/*
188 Parameters for xsh_remove_crh_single function
189*/
190typedef struct {
191 double crh_frac_max ;
192 double sigma_lim;
193 double f_lim;
194 int nb_iter ;
196
197/*
198 Parameters for xsh_rectify function
199*/
200#define RECTIFY_KERNEL_PRINT(method)\
201 (method) == CPL_KERNEL_TANH ? "TANH" : \
202 (method) == CPL_KERNEL_SINC ? "SINC" : \
203 (method) == CPL_KERNEL_SINC2 ? "SINC2" : \
204 (method) == CPL_KERNEL_LANCZOS ? "LANCZOS" : \
205 (method) == CPL_KERNEL_HAMMING ? "HAMMING" : \
206 (method) == CPL_KERNEL_HANN ? "HANN" :"????"
207
208typedef struct {
209 char rectif_kernel[16] ;
218 cpl_kernel kernel_type ;
225 double slit_offset ;
229 /* int cut_edges; Not Used */
231
232/*
233 Parameters for xsh_localize_obj function
234*/
240#define LOCALIZE_METHOD_PRINT(method)\
241 (method) == LOC_MANUAL_METHOD ? "MANUAL" : \
242 (method) == LOC_MAXIMUM_METHOD ? "MAXIMUM" : \
243 (method) == LOC_GAUSSIAN_METHOD ? "GAUSSIAN" :"????"
244
245typedef struct {
247 double loc_thresh;
249 double nod_step ;
254 double kappa;
255 int niter;
259
260/*
261 Parameters for xsh_localize_ifu
262*/
263typedef struct {
277
278/* Parameters for xsh_extract function */
284};
285
286#define EXTRACT_METHOD_PRINT(method)\
287 (method) == LOCALIZATION_METHOD ? "LOCALIZATION" : \
288 (method) == FULL_METHOD ? "FULL" : \
289 (method) == CLEAN_METHOD ? "CLEAN" : \
290 (method) == NOD_METHOD ? "NOD" : "????"
291
292typedef struct {
295
296typedef struct {
299
300
301/* Parameters for xsh_merge_ord function */
306
307#define MERGE_METHOD_PRINT(merge_method)\
308 (merge_method) == WEIGHTED_MERGE_METHOD ? "WEIGHT" : \
309 (merge_method) == FULL_METHOD ? "MEAN" : "????"
310
311typedef struct {
314
315/* xsh_subtract_sky_single param */
316/* Nb of break points used in Bezier curve fitting */
317#define SUBTRACT_SKY_SINGLE_NBKPTS 1000
318
328
329
332 FINE
334
335
336#define SKY_METHOD_PRINT(method)\
337 (method) == BSPLINE_METHOD ? "BSPLINE" : \
338 (method) == BSPLINE_METHOD1 ? "BSPLINE1" : \
339 (method) == BSPLINE_METHOD2 ? "BSPLINE2" : \
340 (method) == BSPLINE_METHOD3 ? "BSPLINE3" : \
341 (method) == BSPLINE_METHOD4 ? "BSPLINE4" : \
342 (method) == BSPLINE_METHOD5 ? "BSPLINE5" : \
343 (method) == MEDIAN_METHOD ? "MEDIAN" : "????"
344
345
346#define BSPLINE_SAMPLING_PRINT(method)\
347 (method) == UNIFORM ? "UNIFORM" : \
348 (method) == FINE ? "FINE" : "????"
349
350/* xsh_subtract_sky_single_param sky subtraction parameters: */
351typedef struct {
352 int nbkpts1; /* Nb of break points for Bezier curve fitting
353 (without localization)" */
354 int nbkpts2; /* Nb of break points for Bezier curve fitting
355 (without localization)" */
356 int bezier_spline_order; /* Bezier Spline Order */
357 int niter; /* number of iterations */
358 double kappa;/* kappa value in kappa-sigma clip of object */
359 double ron; /* detector ron */
360 double gain; /* detector gain */
365 double pos1;
366 double hheight1;
367 double pos2;
368 double hheight2;
370
371
372
373/* xsh_dispersol_list_compute parameters:
374 degrees of polynomials (X and Y) */
375typedef struct {
376 int deg_x;
377 int deg_y;
379
380/* xsh_scired_slit_nod specific parameters */
385
386#define COMBINE_METHOD_PRINT(method)\
387 (method) == COMBINE_MEDIAN_METHOD ? "MEDIAN" : \
388 (method) == COMBINE_MEAN_METHOD ? "MEAN" : "????"
389
390
391typedef struct {
392 int nod_min ;
394 int nod_clip ;
398 char* throwname;
402
404
405typedef struct {
406 int sub_med ;
408 double sub_hsigma ;
410 double sub_diff ;
412
413
414/*
415 * Parameters for xsh_optextract function
416 * */
420};
421#define OPTEXTRACT_METHOD_PRINT(method)\
422 (method) == GAUSS_METHOD ? "GAUSSIAN" : \
423 (method) == GENERAL_METHOD ? "GENERAL" : "????"
424
425typedef struct {
429 double lambda_step;
430 double clip_kappa ;
431 double clip_frac;
433 int niter;
436
437
438typedef struct {
445
446typedef struct {
454
455typedef struct {
460
461
462typedef struct {
463 const char* ron_method;
485
486
487
488typedef struct {
489 const char* stack_method;
491 double klow;
492 double khigh;
495
496
497typedef struct {
504
505typedef struct {
512
513typedef struct {
520
521typedef struct {
522 int ref_x;
523 int ref_y;
526
527typedef struct {
536
537/* Actual slit limits used to localize and extract */
538typedef struct {
539 double min_slit ;
540 double max_slit ;
544
545/* Small binning used in compute response */
546typedef struct {
547 double lambda_bin ;
549
554};
555
556#define BARY_CORR_METHOD_PRINT(corr_method)\
557 (corr_method) == BARY_CORR_BARY ? "bary" : \
558 (corr_method) == BARY_CORR_HELIO ? "helio" : \
559 (corr_method) == BARY_CORR_NONE ? "none" : "????"
560
561typedef struct {
564
565#define DECODE_BP_FLAG_MAX 2147483647
566#define DECODE_BP_FLAG_ALL 2146435071
567//#define DECODE_BP_FLAG_DEF 2144337919 // Pre Mar 2023
568#define DECODE_BP_FLAG_DEF 2140143615 // PIPE-10663 update - MCW 23-03-30
569//#define DECODE_BP_FLAG_NOD 1875902463 // Pre Jan 2021
570//#define DECODE_BP_FLAG_NOD 1741684735 // PIPE-7965 update - MCW 21-01-19
571#define DECODE_BP_FLAG_NOD 1737490431 // PIPE-10663 update - MCW 23-03-30
572
573/*----------------------------------------------------------------------------
574 Prototypes
575 ----------------------------------------------------------------------------*/
576
577/*
578 Parameters common to all XSH recipes
579 "keep_temp" = "yes"/"no" (default is "no" ie Temp files are deleted in
580 function xsh_end(....)
581 "dbg-level" = "none", "low", "medium", "high"
582*/
583
584cpl_parameter*
585xsh_parameters_find( cpl_parameterlist* list,
586 const char* recipe_id, const char* name);
587
588
589void
590xsh_parameters_ron_dark_create(const char* recipe_id,cpl_parameterlist* list,
592
593void
594xsh_parameters_prescan_create(const char* recipe_id,cpl_parameterlist* list,
596void
597xsh_parameters_overscan_create(const char* recipe_id,cpl_parameterlist* list,
599void
600xsh_parameters_struct_create(const char* recipe_id,cpl_parameterlist* list,
602void
603xsh_parameters_ref1_create(const char* recipe_id,cpl_parameterlist* list,
604 xsh_ref_param p);
605void
606xsh_parameters_ref2_create(const char* recipe_id,cpl_parameterlist* list,
607 xsh_ref_param p);
608void
609xsh_parameters_ron_create(const char* recipe_id,cpl_parameterlist* list,
610 xsh_ron_param p);
611void
612xsh_parameters_pd_noise_create(const char* recipe_id,
613 cpl_parameterlist* list, xsh_pd_noise_param p);
614void
615xsh_parameters_fpn_create(const char* recipe_id,cpl_parameterlist* list,
616 xsh_fpn_param p);
617
618void
619xsh_parameters_hot_cold_pix_create(const char* recipe_id,
620 cpl_parameterlist* list,
622void
623xsh_parameters_new_int( cpl_parameterlist* list,
624 const char* recipe_id,
625 const char* name,
626 int value,
627 const char* comment);
628void
629xsh_parameters_new_double( cpl_parameterlist* list,
630 const char* recipe_id,
631 const char* name,
632 double value,
633 const char* comment);
634void
635xsh_parameters_new_string( cpl_parameterlist* list,
636 const char* recipe_id,
637 const char* name,
638 const char* value,
639 const char* comment);
640
641void xsh_parameters_new_boolean( cpl_parameterlist* list,
642 const char* recipe_id, const char* name,int value, const char* comment);
643int xsh_parameters_get_boolean( const cpl_parameterlist* list,
644 const char* recipe_id, const char* name);
645int xsh_parameters_get_int(const cpl_parameterlist* list,
646 const char* recipe_id, const char* name);
647double xsh_parameters_get_double(const cpl_parameterlist* list,
648 const char* recipe_id, const char* name);
649char * xsh_parameters_get_string( const cpl_parameterlist* list,
650 const char* recipe_id, const char* name);
651
652void xsh_parameters_generic( const char *recipe_id,
653 cpl_parameterlist * plist ) ;
654void xsh_parameters_pre_overscan( const char *recipe_id,
655 cpl_parameterlist * plist ) ;
656int xsh_parameters_get_temporary( const char* recipe_id,
657 const cpl_parameterlist* list ) ;
658int xsh_parameters_debug_level_get( const char* recipe_id,
659 const cpl_parameterlist* list ) ;
660char * xsh_parameters_test_mode_get( const char * recipe_id,
661 const cpl_parameterlist * list ) ;
662int xsh_parameters_time_stamp_get( const char * recipe_id,
663 const cpl_parameterlist * list ) ;
664
665int xsh_parameters_cut_uvb_spectrum_get( const char * recipe_id,
666 const cpl_parameterlist * list );
667
668XSH_ARM xsh_parameters_get_arm( const char * recipe_id,
669 const cpl_parameterlist * list );
670
671void xsh_parameters_use_model_create( const char * recipe_id,
672 cpl_parameterlist * list ) ;
673int xsh_parameters_use_model_get( const char * recipe_id,
674 const cpl_parameterlist * list ) ;
675
676
677/* compute noise map */
678void xsh_parameters_clipping_noise_create(const char* recipe_id,
679 cpl_parameterlist* list,
680 xsh_clipping_param noise_clip_param);
682 cpl_parameterlist* list);
683
684/* detect continuum */
685void xsh_parameters_clipping_dcn_create(const char* recipe_id,
686 cpl_parameterlist* list);
688 cpl_parameterlist* list);
689void xsh_parameters_detect_continuum_create( const char* recipe_id,
690 cpl_parameterlist* list,
694 const char* recipe_id,
695 cpl_parameterlist* list) ;
696
697
699 const char* recipe_id, cpl_parameterlist* list);
700
701/* remove crh multiple */
702void xsh_parameters_clipping_crh_create(const char* recipe_id,
703 cpl_parameterlist* list, xsh_clipping_param p);
705 cpl_parameterlist* list);
706
707/* detect order */
708void xsh_parameters_detect_order_create(const char* recipe_id,
709 cpl_parameterlist* list);
711 cpl_parameterlist* list,cpl_parameterlist* drs);
712void xsh_parameters_d2_detect_order_create(const char* recipe_id,
713 cpl_parameterlist* list);
715 const char* recipe_id, cpl_parameterlist* list);
716
717/* detect arclines */
718void xsh_parameters_clipping_detect_arclines_create(const char* recipe_id,
719 cpl_parameterlist* list, xsh_clipping_param p);
721 const char* recipe_id, cpl_parameterlist* list);
722void xsh_parameters_detect_arclines_create(const char* recipe_id,
723 cpl_parameterlist* list, xsh_detect_arclines_param p);
725 const char* recipe_id, cpl_parameterlist* list) ;
726
727/* subtract_background */
728void xsh_parameters_background_create(const char* recipe_id,
729 cpl_parameterlist* list);
731 const char* recipe_id, cpl_parameterlist* list);
732
733/* follow arclines */
734void xsh_parameters_clipping_tilt_create(const char* recipe_id,
735 cpl_parameterlist* list) ;
737 cpl_parameterlist* list) ;
738void xsh_parameters_clipping_specres_create(const char* recipe_id,
739 cpl_parameterlist* list) ;
741 cpl_parameterlist* list) ;
742
743void xsh_parameters_wavecal_range_create(const char* recipe_id,
744 cpl_parameterlist* list) ;
745int xsh_parameters_wavecal_range_get( const char* recipe_id,
746 cpl_parameterlist* list) ;
747int xsh_parameters_wavecal_margin_get( const char* recipe_id,
748 cpl_parameterlist* list) ;
749void xsh_parameters_wavecal_margin_create(const char* recipe_id,
750 cpl_parameterlist* list);
751void xsh_parameters_wavecal_s_n_create(const char* recipe_id,
752 cpl_parameterlist* list) ;
753double xsh_parameters_wavecal_s_n_get( const char* recipe_id,
754 cpl_parameterlist* list) ;
755/* remove_crh_single */
756void xsh_parameters_remove_crh_single_create( const char * recipe_id,
757 cpl_parameterlist * plist,
760 const char* recipe_id,
761 cpl_parameterlist* list);
762
763void
764xsh_parameters_stack_create(const char* recipe_id,
765 cpl_parameterlist* list, xsh_stack_param sp);
766/* xsh_rectify */
767void xsh_parameters_rectify_create( const char * recipe_id,
768 cpl_parameterlist * plist,
771 const char* recipe_id,
772 cpl_parameterlist* list);
773int xsh_parameters_rectify_fast_get( const char* recipe_id,
774 cpl_parameterlist* list);
775
776/* xsh_compute_response */
777void xsh_parameters_compute_response_create( const char * recipe_id,
778 cpl_parameterlist * plist,
781xsh_parameters_compute_response_get( const char * recipe_id,
782 cpl_parameterlist * list) ;
783
784/* xsh_localize_object */
785void xsh_parameters_localize_obj_create( const char * recipe_id,
786 cpl_parameterlist * plist, xsh_localize_obj_param p ) ;
788 const char* recipe_id, cpl_parameterlist* list);
789
790/* xsh_localize_ifu */
791void xsh_parameters_localize_ifu_create( const char * recipe_id,
792 cpl_parameterlist * plist, xsh_localize_ifu_param p ) ;
794 const char* recipe_id, cpl_parameterlist* list);
795
796/* xsh_extract */
797void xsh_parameters_extract_create( const char * recipe_id,
798 cpl_parameterlist * plist,
800 enum extract_method method) ;
801
802void xsh_parameters_interpolate_bp_create( const char * recipe_id,
803 cpl_parameterlist * plist,
806 const char* recipe_id, cpl_parameterlist* list);
807
808/* xsh_subtract_sky_single */
809void xsh_parameters_subtract_sky_single_create( const char * recipe_id,
810 cpl_parameterlist * plist, xsh_subtract_sky_single_param p);
812 const char* recipe_id, cpl_parameterlist* list);
813
814
815int xsh_parameters_subtract_sky_single_get_first( const char* recipe_id,
816 cpl_parameterlist* list) ;
817int xsh_parameters_subtract_sky_single_get_second( const char* recipe_id,
818 cpl_parameterlist* list) ;
819
820int xsh_parameters_subtract_sky_single_get_niter( const char* recipe_id,
821 cpl_parameterlist* list) ;
822
823
824double xsh_parameters_subtract_sky_single_get_kappa( const char* recipe_id,
825 cpl_parameterlist* list) ;
826
827
828int xsh_parameters_subtract_sky_single_get_true( const char* recipe_id,
829 cpl_parameterlist* list) ;
830
831void xsh_parameters_dosky_domap_get( const char *recipe_id,
832 cpl_parameterlist *list,
833 cpl_frame* wavemap_frame,
834 cpl_frame* slitmap_frame,
835 int* dosky, int* domap);
836
837
838/* xsh_merge_ord */
839void xsh_parameters_merge_ord_create( const char * recipe_id,
840 cpl_parameterlist * plist,
841 int p ) ;
842xsh_merge_param * xsh_parameters_merge_ord_get( const char* recipe_id,
843 cpl_parameterlist* list) ;
844
845/* xsh_optimal_extract */
846void xsh_parameters_optimal_extract_create( const char * recipe_id,
847 cpl_parameterlist * plist,
848 int p ) ;
849double xsh_parameters_optimal_extract_get_kappa( const char* recipe_id,
850 cpl_parameterlist* list) ;
851void xsh_parameters_dispersol_create(const char* recipe_id,
852 cpl_parameterlist* list, xsh_dispersol_param p) ;
854 cpl_parameterlist* list) ;
855
856void xsh_parameters_combine_nod_create( const char * recipe_id,
857 cpl_parameterlist* list,
860 cpl_parameterlist* list);
861
862// PIPE-10061
863void xsh_parameters_bary_corr_create(const char * recipe_id,
864 cpl_parameterlist * list,
867 cpl_parameterlist * list);
868
869
870void xsh_parameters_combine_nod_create( const char * recipe_id,
871 cpl_parameterlist* list,
874 cpl_parameterlist* list);
875
876void xsh_parameters_opt_extract_create( const char* recipe_id,
877 cpl_parameterlist* list, xsh_opt_extract_param opt_extract_par);
879 cpl_parameterlist* list);
880
881#if 0
882void xsh_parameters_subtract_nod_create( const char* recipe_id,
883 cpl_parameterlist* list,
885#endif
886
887void xsh_parameters_slit_limit_create( const char* recipe_id,
888 cpl_parameterlist* list,
891 cpl_parameterlist* list ) ;
892
893void xsh_parameters_geom_ifu_mode_create( const char* recipe_id,
894 cpl_parameterlist* list ) ;
895int xsh_parameters_geom_ifu_mode_get( const char * recipe_id,
896 cpl_parameterlist* list) ;
897cpl_parameterlist*
898xsh_parameters_create_from_drs_table(const cpl_table* tab);
899
900cpl_error_code
901xsh_recipe_params_check(cpl_parameterlist * parameters,xsh_instrument* instrument,const char* rec_id);
902
903cpl_error_code
904xsh_recipe_params_drs_check(cpl_parameterlist * parameters,xsh_instrument* instrument,const char* rec_id);
905
907xsh_stack_frames_get(const char* recipe_id, cpl_parameterlist* list);
908
909cpl_error_code
910xsh_parameters_decode_bp_set( const char *recipe_id,cpl_parameterlist * plist,const int ival);
911cpl_error_code
912xsh_parameters_decode_bp( const char *recipe_id,cpl_parameterlist * plist,const int ival );
913
914#endif
static xsh_instrument * instrument
enum bary_corr_method corr_method
enum combine_method method
xsh_find_center_method find_center_method
enum extract_method method
xsh_clipping_param * tilt_clipping
xsh_clipping_param * specres_clipping
enum localize_method method
enum merge_method method
enum optextract_method method
cpl_kernel kernel_type
const char * ron_method
const char * stack_method
enum bspline_sampling bspline_sampling
const char * method
Definition: xsh_detmon_lg.c:78
void xsh_parameters_prescan_create(const char *recipe_id, cpl_parameterlist *list, xsh_prescan_param p)
int xsh_parameters_time_stamp_get(const char *recipe_id, const cpl_parameterlist *list)
int xsh_parameters_rectify_fast_get(const char *recipe_id, cpl_parameterlist *list)
double xsh_parameters_wavecal_s_n_get(const char *recipe_id, cpl_parameterlist *list)
cpl_parameter * xsh_parameters_find(cpl_parameterlist *list, const char *recipe_id, const char *name)
find a parameter
xsh_detect_continuum_param * xsh_parameters_detect_continuum_get(const char *recipe_id, cpl_parameterlist *list)
Get the detect continuum parameters in a parameters list.
int xsh_parameters_get_temporary(const char *recipe_id, const cpl_parameterlist *list)
void xsh_parameters_ron_create(const char *recipe_id, cpl_parameterlist *list, xsh_ron_param p)
create the RON determination parameters in a parameters list
void xsh_parameters_subtract_sky_single_create(const char *recipe_id, cpl_parameterlist *plist, xsh_subtract_sky_single_param p)
double xsh_parameters_subtract_sky_single_get_kappa(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_geom_ifu_mode_create(const char *recipe_id, cpl_parameterlist *list)
bspline_sampling
@ UNIFORM
@ FINE
void xsh_parameters_pre_overscan(const char *recipe_id, cpl_parameterlist *plist)
int xsh_parameters_subtract_sky_single_get_true(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_new_boolean(cpl_parameterlist *list, const char *recipe_id, const char *name, int value, const char *comment)
void xsh_parameters_wavecal_s_n_create(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_clipping_detect_arclines_create(const char *recipe_id, cpl_parameterlist *list, xsh_clipping_param p)
Create the arclines clipping parameters in a parameters list.
void xsh_parameters_stack_create(const char *recipe_id, cpl_parameterlist *list, xsh_stack_param sp)
create the RON determination parameters in a parameters list
int xsh_parameters_get_boolean(const cpl_parameterlist *list, const char *recipe_id, const char *name)
void xsh_parameters_clipping_tilt_create(const char *recipe_id, cpl_parameterlist *list)
create the xsh_wavecal (function follow_arclines) clipping parameters in a parameters list
xsh_stack_param * xsh_stack_frames_get(const char *recipe_id, cpl_parameterlist *list)
get the detect arclines parameters in a parameters list
void xsh_parameters_clipping_noise_create(const char *recipe_id, cpl_parameterlist *list, xsh_clipping_param noise_clip_param)
create the crh noise clipping parameters in a parameters list
double xsh_parameters_get_double(const cpl_parameterlist *list, const char *recipe_id, const char *name)
cpl_error_code xsh_parameters_decode_bp(const char *recipe_id, cpl_parameterlist *plist, const int ival)
xsh_slit_limit_param * xsh_parameters_slit_limit_get(const char *recipe_id, cpl_parameterlist *list)
int xsh_parameters_geom_ifu_mode_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_combine_nod_create(const char *recipe_id, cpl_parameterlist *list, xsh_combine_nod_param p)
create the crh clipping parameters in a parameters list
void xsh_parameters_hot_cold_pix_create(const char *recipe_id, cpl_parameterlist *list, xsh_hot_cold_pix_param p)
create the crh clipping parameters in a parameters list
xsh_localize_obj_param * xsh_parameters_localize_obj_get(const char *recipe_id, cpl_parameterlist *list)
xsh_clipping_param * xsh_parameters_clipping_tilt_get(const char *recipe_id, cpl_parameterlist *list)
get the xsh_wavecal (follow_arclines) clipping parameters in a parameters list
optextract_method
@ GENERAL_METHOD
@ GAUSS_METHOD
void xsh_parameters_wavecal_range_create(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_new_double(cpl_parameterlist *list, const char *recipe_id, const char *name, double value, const char *comment)
sky_method
@ BSPLINE_METHOD4
@ MEDIAN_METHOD
@ BSPLINE_METHOD2
@ BSPLINE_METHOD
@ BSPLINE_METHOD5
@ BSPLINE_METHOD1
@ BSPLINE_METHOD3
int xsh_parameters_subtract_sky_single_get_second(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_localize_obj_create(const char *recipe_id, cpl_parameterlist *plist, xsh_localize_obj_param p)
combine_method
@ COMBINE_MEAN_METHOD
@ COMBINE_MEDIAN_METHOD
void xsh_parameters_localize_ifu_create(const char *recipe_id, cpl_parameterlist *plist, xsh_localize_ifu_param p)
void xsh_parameters_overscan_create(const char *recipe_id, cpl_parameterlist *list, xsh_overscan_param p)
void xsh_parameters_clipping_crh_create(const char *recipe_id, cpl_parameterlist *list, xsh_clipping_param p)
create the crh clipping parameters in a parameters list
xsh_extract_param * xsh_parameters_extract_get(const char *recipe_id, cpl_parameterlist *list)
xsh_clipping_param * xsh_parameters_clipping_specres_get(const char *recipe_id, cpl_parameterlist *list)
get the xsh_wavecal (follow_arclines) clipping parameters in a parameters list
void xsh_parameters_merge_ord_create(const char *recipe_id, cpl_parameterlist *plist, int p)
void xsh_parameters_slit_limit_create(const char *recipe_id, cpl_parameterlist *list, xsh_slit_limit_param p)
void xsh_parameters_opt_extract_create(const char *recipe_id, cpl_parameterlist *list, xsh_opt_extract_param opt_extract_par)
Create the optimal extraction parameters in a parameters list.
xsh_find_center_method
@ XSH_GAUSSIAN_METHOD
@ XSH_BARYCENTER_METHOD
xsh_detect_arclines_param * xsh_parameters_detect_arclines_get(const char *recipe_id, cpl_parameterlist *list)
get the detect arclines parameters in a parameters list
xsh_interpolate_bp_param * xsh_parameters_interpolate_bp_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_d2_detect_order_create(const char *recipe_id, cpl_parameterlist *list)
Create the d2 detect order parameters in a parameters list.
double xsh_parameters_optimal_extract_get_kappa(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_rectify_create(const char *recipe_id, cpl_parameterlist *plist, xsh_rectify_param p)
void xsh_parameters_ref2_create(const char *recipe_id, cpl_parameterlist *list, xsh_ref_param p)
create the reference region definition parameters in a parameters list
void xsh_parameters_background_create(const char *recipe_id, cpl_parameterlist *list)
create the subtract background parameters in a parameters list
void xsh_parameters_fpn_create(const char *recipe_id, cpl_parameterlist *list, xsh_fpn_param p)
create the FPN parameters in a parameters list
xsh_clipping_param * xsh_parameters_clipping_dcn_get(const char *recipe_id, cpl_parameterlist *list)
Get the detectcontinuum clipping parameters in a parameters list.
void xsh_parameters_dispersol_create(const char *recipe_id, cpl_parameterlist *list, xsh_dispersol_param p)
Create the dispersol compute parameters in a parameters list.
xsh_opt_extract_param * xsh_parameters_opt_extract_get(const char *recipe_id, cpl_parameterlist *list)
Get the optimal extraction parameters in a parameters list.
bary_corr_method
@ BARY_CORR_NONE
@ BARY_CORR_HELIO
@ BARY_CORR_BARY
void xsh_parameters_interpolate_bp_create(const char *recipe_id, cpl_parameterlist *plist, xsh_interpolate_bp_param p)
void xsh_parameters_extract_create(const char *recipe_id, cpl_parameterlist *plist, xsh_extract_param p, enum extract_method method)
void xsh_parameters_ron_dark_create(const char *recipe_id, cpl_parameterlist *list, xsh_ron_dark_param p)
create the RON determination parameters in a parameters list
int xsh_parameters_debug_level_get(const char *recipe_id, const cpl_parameterlist *list)
cpl_error_code xsh_parameters_decode_bp_set(const char *recipe_id, cpl_parameterlist *plist, const int ival)
void xsh_parameters_ref1_create(const char *recipe_id, cpl_parameterlist *list, xsh_ref_param p)
create the reference region definition parameters in a parameters list
xsh_bary_corr_param * xsh_parameters_bary_corr_get(const char *recipe_id, cpl_parameterlist *list)
get the barycentric correction parameters in a parameters list
xsh_rectify_param * xsh_parameters_rectify_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_bary_corr_create(const char *recipe_id, cpl_parameterlist *list, xsh_bary_corr_param p)
create the barycentric correction parameters in a parameters list
void xsh_parameters_pd_noise_create(const char *recipe_id, cpl_parameterlist *list, xsh_pd_noise_param p)
create the FPN parameters in a parameters list
char * xsh_parameters_test_mode_get(const char *recipe_id, const cpl_parameterlist *list)
xsh_clipping_param * xsh_parameters_clipping_detect_arclines_get(const char *recipe_id, cpl_parameterlist *list)
Get the arclines clipping parameters in a parameters list.
cpl_error_code xsh_recipe_params_drs_check(cpl_parameterlist *parameters, xsh_instrument *instrument, const char *rec_id)
void xsh_parameters_remove_crh_single_create(const char *recipe_id, cpl_parameterlist *plist, xsh_remove_crh_single_param p)
int xsh_parameters_subtract_sky_single_get_niter(const char *recipe_id, cpl_parameterlist *list)
int xsh_parameters_wavecal_range_get(const char *recipe_id, cpl_parameterlist *list)
int xsh_parameters_wavecal_margin_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_clipping_specres_create(const char *recipe_id, cpl_parameterlist *list)
create the xsh_wavecal (function follow_arclines) clipping parameters in a parameters list
int xsh_parameters_cut_uvb_spectrum_get(const char *recipe_id, const cpl_parameterlist *list)
xsh_remove_crh_single_param * xsh_parameters_remove_crh_single_get(const char *recipe_id, cpl_parameterlist *list)
int xsh_parameters_get_int(const cpl_parameterlist *list, const char *recipe_id, const char *name)
xsh_localize_ifu_param * xsh_parameters_localize_ifu_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_struct_create(const char *recipe_id, cpl_parameterlist *list, xsh_struct_param p)
create the structX/Y region definition parameters in a parameters list
xsh_clipping_param * xsh_parameters_clipping_noise_get(const char *recipe_id, cpl_parameterlist *list)
get the noise clipping parameters in a parameters list
void xsh_parameters_detect_continuum_create(const char *recipe_id, cpl_parameterlist *list, xsh_detect_continuum_param par)
create the detect continuum parameter "window" in a parameters list
xsh_combine_nod_param * xsh_parameters_combine_nod_get(const char *recipe_id, cpl_parameterlist *list)
get the combine nod parameters in a parameters list
xsh_clipping_param * xsh_parameters_clipping_crh_get(const char *recipe_id, cpl_parameterlist *list)
get the crh clipping parameters in a parameters list
xsh_subtract_sky_single_param * xsh_parameters_subtract_sky_single_get(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_optimal_extract_create(const char *recipe_id, cpl_parameterlist *plist, int p)
cpl_parameterlist * xsh_parameters_create_from_drs_table(const cpl_table *tab)
void xsh_parameters_generic(const char *recipe_id, cpl_parameterlist *plist)
localize_method
@ LOC_MAXIMUM_METHOD
@ LOC_GAUSSIAN_METHOD
@ LOC_MANUAL_METHOD
extract_method
@ FULL_METHOD
@ NOD_METHOD
@ LOCALIZATION_METHOD
@ CLEAN_METHOD
void xsh_parameters_detect_arclines_create(const char *recipe_id, cpl_parameterlist *list, xsh_detect_arclines_param p)
create the detect arclines parameters in a parameters list
merge_method
@ WEIGHTED_MERGE_METHOD
@ MEAN_MERGE_METHOD
cpl_error_code xsh_recipe_params_check(cpl_parameterlist *parameters, xsh_instrument *instrument, const char *rec_id)
int xsh_parameters_subtract_sky_single_get_first(const char *recipe_id, cpl_parameterlist *list)
int xsh_parameters_use_model_get(const char *recipe_id, const cpl_parameterlist *list)
void xsh_parameters_new_string(cpl_parameterlist *list, const char *recipe_id, const char *name, const char *value, const char *comment)
void xsh_parameters_new_int(cpl_parameterlist *list, const char *recipe_id, const char *name, int value, const char *comment)
xsh_detect_order_param * xsh_parameters_detect_order_get(const char *recipe_id, cpl_parameterlist *list, cpl_parameterlist *drs)
Get the detect orders parameters in a parameters list.
void xsh_parameters_use_model_create(const char *recipe_id, cpl_parameterlist *list)
void xsh_parameters_dosky_domap_get(const char *recipe_id, cpl_parameterlist *list, cpl_frame *wavemap_frame, cpl_frame *slitmap_frame, int *dosky, int *domap)
xsh_d2_detect_order_param * xsh_parameters_d2_detect_order_get(const char *recipe_id, cpl_parameterlist *list)
Get the d2 detect orders parameters in a parameters list.
xsh_compute_response_param * xsh_parameters_compute_response_get(const char *recipe_id, cpl_parameterlist *list)
xsh_merge_param * xsh_parameters_merge_ord_get(const char *recipe_id, cpl_parameterlist *list)
XSH_ARM xsh_parameters_get_arm(const char *recipe_id, const cpl_parameterlist *list)
xsh_dispersol_param * xsh_parameters_dispersol_get(const char *recipe_id, cpl_parameterlist *list)
Get the dispersion solution compute parameters in a parameters list.
void xsh_parameters_compute_response_create(const char *recipe_id, cpl_parameterlist *plist, xsh_compute_response_param p)
void xsh_parameters_detect_order_create(const char *recipe_id, cpl_parameterlist *list)
Create the detect order parameters in a parameters list.
xsh_background_param * xsh_parameters_background_get(const char *recipe_id, cpl_parameterlist *list)
get the background parameters in a parameters list
void xsh_parameters_clipping_dcn_create(const char *recipe_id, cpl_parameterlist *list)
create the DetectContiNuum clipping parameters in a parameters list
void xsh_parameters_wavecal_margin_create(const char *recipe_id, cpl_parameterlist *list)
char * xsh_parameters_get_string(const cpl_parameterlist *list, const char *recipe_id, const char *name)