00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef XSH_UTILS_SCIRED_SLIT_H
00029 #define XSH_UTILS_SCIRED_SLIT_H
00030
00031 #include <cpl.h>
00032 #include <xsh_data_instrument.h>
00033 #include <xsh_utils_scired_slit.h>
00034 #include <xsh_parameters.h>
00035
00036 cpl_error_code
00037 xsh_scired_slit_nod_fast(
00038 cpl_frameset *nod_set,
00039 cpl_frame* spectral_format,
00040 cpl_frame* master_flat,
00041 cpl_frame* order_tab_edges,
00042 cpl_frame* wave_tab,
00043 cpl_frame* model_config_frame,
00044 cpl_frame* disp_tab_frame,
00045 cpl_frame* wavemap,
00046 cpl_frame* slitmap,
00047 xsh_instrument* instrument,
00048 xsh_remove_crh_single_param *crh_single_par,
00049 xsh_rectify_param *rectify_par,
00050 const int do_flatfield,
00051 const int compute_eff,
00052 const char* rec_prefix,
00053 cpl_frameset **comb_set,
00054 cpl_frameset **comb_eff_set
00055 );
00056
00057
00058 cpl_frameset*
00059 xsh_scired_slit_nod_accurate(
00060 cpl_frameset *nod_set,
00061 cpl_frame* spectral_format,
00062 cpl_frame* master_flat,
00063 cpl_frame* order_tab_edges,
00064 cpl_frame* wave_tab,
00065 cpl_frame* model_config_frame,
00066 cpl_frame* disp_tab_frame,
00067 cpl_frame* wavemap,
00068 cpl_frame* slitmap,
00069 cpl_frame *skymask_frame,
00070 xsh_instrument* instrument,
00071 xsh_remove_crh_single_param *crh_single_par,
00072 xsh_rectify_param *rectify_par,
00073 xsh_localize_obj_param *loc_obj_par,
00074 xsh_slit_limit_param *slit_limit_par,
00075 const char *throw_name,
00076 const int do_flatfield,
00077 const char* rec_prefix
00078 );
00079
00080 void
00081 xsh_scired_slit_nod_get_calibs(cpl_frameset* raws,
00082 cpl_frameset* calib,
00083 xsh_instrument* instrument,
00084 cpl_frame** bpmap,
00085 cpl_frame** master_bias,
00086 cpl_frame** master_flat,
00087 cpl_frame** order_tab_edges,
00088 cpl_frame** wave_tab,
00089 cpl_frame** model_config_frame,
00090 cpl_frame** wavemap,
00091 cpl_frame** slitmap,
00092 cpl_frame** disp_tab_frame,
00093 cpl_frame** spectral_format,
00094 cpl_frame** skymask_frame,
00095 cpl_frame** response_ord_frame,
00096 cpl_frame** frm_atmext,
00097 int do_computemap,
00098 int use_skymask,
00099 const char* rec_prefix);
00100
00101
00102 cpl_error_code
00103 xsh_scired_nod_get_parameters(cpl_parameterlist* parameters,
00104 xsh_instrument* instrument,
00105 xsh_remove_crh_single_param** crh_single_par,
00106 xsh_rectify_param** rectify_par,
00107 xsh_merge_param** merge_par,
00108 xsh_extract_param** extract_par,
00109 xsh_combine_nod_param** combine_nod_par,
00110 xsh_slit_limit_param** slit_limit_par,
00111 xsh_localize_obj_param** loc_obj_par,
00112 int* rectify_fast,
00113 int binx,
00114 int biny,
00115 const char* rec_id);
00116
00117
00118
00119 cpl_frameset*
00120 xsh_nod_group_by_reloff( cpl_frameset *ord_set,
00121 xsh_instrument *instrument,
00122 xsh_clipping_param *crh_clipping_par);
00123
00124 cpl_error_code
00125 xsh_flux_calibrate(cpl_frame* rect2D,
00126 cpl_frame* rect1D,
00127 cpl_frame* atmext,
00128 cpl_frame* response,
00129 xsh_merge_param * mpar,
00130 xsh_instrument* inst,
00131 const char* rec_prefix,
00132 cpl_frame** fcal_rect_2D,
00133 cpl_frame** fcal_rect_1D,
00134 cpl_frame** fcal_2D,
00135 cpl_frame** fcal_1D);
00136
00137 cpl_error_code
00138 xsh_slit_stare_get_calibs(cpl_frameset* calib,
00139 xsh_instrument* instrument,
00140 cpl_frame** spectralformat,
00141 cpl_frame** mbias,
00142 cpl_frame** mdark,
00143 cpl_frame** mflat,
00144 cpl_frame** otab_edges,
00145 cpl_frame** model_cfg,
00146 cpl_frame** wave_tab,
00147 cpl_frame** sky_list,
00148 cpl_frame** qc_sky,
00149 cpl_frame** bpmap,
00150 cpl_frame** sframe_sky_sub_tab,
00151 cpl_frame** wmap,
00152 cpl_frame** smap,
00153 int * recipe_use_model);
00154
00155 cpl_error_code
00156 xsh_slit_offset_get_calibs(cpl_frameset* calib,xsh_instrument* instrument,
00157 cpl_frame** bpmap,cpl_frame** mbias,
00158 cpl_frame** mdark, cpl_frame** otab_edges,
00159 cpl_frame** model_cfg, cpl_frame** wave_tab,
00160 cpl_frame** mflat, cpl_frame** wmap,
00161 cpl_frame** spectral_format);
00162
00163
00164 cpl_error_code
00165 xsh_slit_stare_get_params(cpl_parameterlist* parameters,
00166 const char* rec_id,
00167 int* pre_overscan_corr,
00168 xsh_clipping_param** crh_clipping_par,
00169 xsh_background_param** backg_par,
00170 xsh_localize_obj_param** loc_obj_par,
00171 xsh_rectify_param** rectify_par,
00172 xsh_remove_crh_single_param** crh_single_par,
00173 int* sub_sky_nbkpts1,
00174 int* do_flatfield,
00175 int* sub_sky_nbkpts2,
00176 xsh_subtract_sky_single_param** sky_par,
00177 xsh_extract_param** extract_par,
00178 int* do_optextract,
00179 xsh_merge_param** merge_par,
00180 xsh_opt_extract_param** opt_extract_par,
00181 int* do_trace_obj);
00182
00183 cpl_error_code
00184 xsh_slit_offset_get_params(cpl_parameterlist* parameters,
00185 const char* rec_id,
00186 xsh_clipping_param** crh_clipping_par,
00187 xsh_background_param** backg_par,
00188 xsh_localize_obj_param** loc_obj_par,
00189 xsh_rectify_param** rectify_par,
00190 xsh_remove_crh_single_param** crh_single_par,
00191 double* opt_kappa,
00192 xsh_merge_param** merge_par,
00193 xsh_extract_param**extract_par,
00194 xsh_combine_nod_param** combine_nod_param,
00195 int* do_flatfield,
00196 int* gen_sky);
00197
00198 cpl_error_code
00199 xsh_slit_stare_correct_crh_and_sky(xsh_localize_obj_param * loc_obj_par,
00200 xsh_remove_crh_single_param* crh_single_par,
00201 xsh_rectify_param* rectify_par,
00202 int do_sub_sky,
00203 const char* rec_prefix,
00204 cpl_frame* rmbkg,
00205 cpl_frame* order_tab_edges,
00206 cpl_frame* slitmap,
00207 cpl_frame* wavemap,
00208 cpl_frame* model_config,
00209 cpl_frame* single_frame_sky_sub_tab,
00210 xsh_instrument* instrument,
00211 int sub_sky_nbkpts1,
00212 xsh_subtract_sky_single_param* sky_par,
00213 cpl_frame** sky,
00214 cpl_frame** sky_eso,
00215 cpl_frame** sky_ima,
00216 cpl_frame* wave_tab,
00217 cpl_frame* disp_tab,
00218 cpl_frame* spectral_format,
00219 int nb_raw_frames,
00220 cpl_frame** loc_table,
00221 cpl_frame** clean,
00222 cpl_frame** clean_obj);
00223
00224 cpl_error_code
00225 xsh_slit_stare_get_maps(cpl_frameset* calib,
00226 int do_compute_map,int recipe_use_model,
00227 const char* rec_prefix,xsh_instrument* instrument,
00228 cpl_frame* model_config_frame,cpl_frame* crhm_frame,
00229 cpl_frame* disp_tab_frame, cpl_frame* order_tab_edges,
00230 cpl_frame** wavemap_frame, cpl_frame** slitmap_frame);
00231
00232 cpl_error_code
00233 xsh_scired_util_spectra_flux_calibrate(cpl_frame* res2D,cpl_frame* res1D,
00234 cpl_frame* response,cpl_frame* atmext,
00235 xsh_instrument* inst,
00236 const char* prefix,
00237 cpl_frame** fluxcal_2D,
00238 cpl_frame** fluxcal_1D);
00239
00240 #endif