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
00037 cpl_error_code
00038 xsh_stare_params_bin_scale(cpl_frameset* raws,
00039 xsh_background_param* backg,
00040 xsh_opt_extract_param *opt_extract_par,
00041 int* sub_sky_nbkpts1,
00042 int* sub_sky_nbkpts2);
00043
00044 cpl_frameset*
00045 xsh_scired_slit_nod_fast(
00046 cpl_frameset *nod_set,
00047 cpl_frame* spectral_format,
00048 cpl_frame* master_flat,
00049 cpl_frame* order_tab_edges,
00050 cpl_frame* wave_tab,
00051 cpl_frame* model_config_frame,
00052 cpl_frame* disp_tab_frame,
00053 cpl_frame* wavemap,
00054 xsh_instrument* instrument,
00055 xsh_remove_crh_single_param *crh_single_par,
00056 xsh_rectify_param *rectify_par,
00057 const int do_flatfield,
00058 const int corr_sky,
00059 const int compute_eff,
00060 const char* rec_prefix,
00061 cpl_frameset **comb_eff_set
00062 );
00063
00064
00065 cpl_frameset*
00066 xsh_scired_slit_nod_accurate(
00067 cpl_frameset *nod_set,
00068 cpl_frame* spectral_format,
00069 cpl_frame* master_flat,
00070 cpl_frame* order_tab_edges,
00071 cpl_frame* wave_tab,
00072 cpl_frame* model_config_frame,
00073 cpl_frame* disp_tab_frame,
00074 cpl_frame* wavemap,
00075 cpl_frame *skymask_frame,
00076 xsh_instrument* instrument,
00077 xsh_remove_crh_single_param *crh_single_par,
00078 xsh_rectify_param *rectify_par,
00079 xsh_localize_obj_param *loc_obj_par,
00080 const char *throw_name,
00081 const int do_flatfield,
00082 const char* rec_prefix
00083 );
00084
00085 cpl_error_code
00086 xsh_scired_slit_nod_get_calibs(cpl_frameset* raws,
00087 cpl_frameset* calib,
00088 xsh_instrument* instrument,
00089 cpl_frame** bpmap,
00090 cpl_frame** master_bias,
00091 cpl_frame** master_flat,
00092 cpl_frame** order_tab_edges,
00093 cpl_frame** wave_tab,
00094 cpl_frame** model_config_frame,
00095 cpl_frame** wavemap,
00096 cpl_frame** slitmap,
00097 cpl_frame** disp_tab_frame,
00098 cpl_frame** spectral_format,
00099 cpl_frame** skymask_frame,
00100 cpl_frame** response_ord_frame,
00101 cpl_frame** frm_atmext,
00102 int do_computemap,
00103 int use_skymask,
00104 int pscan,
00105 const char* rec_prefix,const char* rec_id);
00106
00107
00108 cpl_error_code
00109 xsh_scired_nod_get_parameters(cpl_parameterlist* parameters,
00110 xsh_instrument* instrument,
00111 xsh_remove_crh_single_param** crh_single_par,
00112 xsh_rectify_param** rectify_par,
00113 xsh_extract_param** extract_par,
00114 xsh_combine_nod_param** combine_nod_par,
00115 xsh_slit_limit_param** slit_limit_par,
00116 xsh_localize_obj_param** loc_obj_par,
00117 int* rectify_fast,int* pscan,
00118 const char* rec_id);
00119
00120
00121
00122 cpl_frameset*
00123 xsh_nod_group_by_reloff( cpl_frameset *ord_set,xsh_instrument *instrument,xsh_stack_param* stack_par);
00124
00125
00126 cpl_frameset*
00127 xsh_nod_group_by_reloff2( cpl_frameset *ord_set,xsh_instrument *instrument,xsh_stack_param* stack_par);
00128
00129 cpl_error_code
00130 xsh_flux_calibrate(cpl_frame* rect2D,
00131 cpl_frame* rect1D,
00132 cpl_frame* atmext,
00133 cpl_frame* response,
00134 int mpar,
00135 xsh_instrument* inst,
00136 const char* rec_prefix,
00137 cpl_frame** fcal_rect_2D,
00138 cpl_frame** fcal_rect_1D,
00139 cpl_frame** fcal_2D,
00140 cpl_frame** fcal_1D);
00141
00142 cpl_error_code
00143 xsh_flux_calibrate2D(cpl_frame* rect2D,
00144 cpl_frame* atmext,
00145 cpl_frame* response,
00146 int mpar,
00147 xsh_instrument* inst,
00148 const char* rec_prefix,
00149 cpl_frame** fcal_rect_2D,
00150 cpl_frame** fcal_2D);
00151
00152 cpl_error_code
00153 xsh_flux_calibrate1D(cpl_frame* rect1D,
00154 cpl_frame* atmext,
00155 cpl_frame* response,
00156 int mpar,
00157 xsh_instrument* inst,
00158 const char* rec_prefix,
00159 cpl_frame** fcal_rect_1D,
00160 cpl_frame** fcal_1D);
00161
00162 cpl_error_code
00163 xsh_slit_stare_get_calibs(cpl_frameset* calib,
00164 xsh_instrument* instrument,
00165 cpl_frame** spectralformat,
00166 cpl_frame** mbias,
00167 cpl_frame** mdark,
00168 cpl_frame** mflat,
00169 cpl_frame** otab_edges,
00170 cpl_frame** model_cfg,
00171 cpl_frame** wave_tab,
00172 cpl_frame** sky_list,
00173 cpl_frame** qc_sky,
00174 cpl_frame** bpmap,
00175 cpl_frame** sframe_sky_sub_tab,
00176 cpl_frame** wmap,
00177 cpl_frame** smap,
00178 const char* rec_id,
00179 int * recipe_use_model,
00180 int pscan);
00181
00182 cpl_error_code
00183 xsh_slit_offset_get_calibs(cpl_frameset* calib,xsh_instrument* instrument,
00184 cpl_frame** bpmap,cpl_frame** mbias,
00185 cpl_frame** mdark, cpl_frame** otab_edges,
00186 cpl_frame** model_cfg, cpl_frame** wave_tab,
00187 cpl_frame** mflat, cpl_frame** wmap, cpl_frame** smap,
00188 cpl_frame** spectral_format,const char* rec_id);
00189
00190
00191 cpl_error_code
00192 xsh_slit_stare_get_params(cpl_parameterlist* parameters,
00193 const char* rec_id,
00194 int* pre_overscan_corr,
00195 xsh_background_param** backg_par,
00196 xsh_localize_obj_param** loc_obj_par,
00197 xsh_rectify_param** rectify_par,
00198 xsh_remove_crh_single_param** crh_single_par,
00199 int* sub_sky_nbkpts1,
00200 int* do_flatfield,
00201 int* sub_sky_nbkpts2,
00202 xsh_subtract_sky_single_param** sky_par,
00203 int* do_optextract,
00204 xsh_opt_extract_param** opt_extract_par);
00205
00206 cpl_error_code
00207 xsh_slit_offset_get_params(cpl_parameterlist* parameters,
00208 const char* rec_id,
00209 xsh_localize_obj_param** loc_obj_par,
00210 xsh_rectify_param** rectify_par,
00211 xsh_remove_crh_single_param** crh_single_par,
00212 xsh_extract_param**extract_par,
00213 xsh_combine_nod_param** combine_nod_param,
00214 int* do_flatfield,
00215 int* gen_sky);
00216
00217 cpl_error_code
00218 xsh_slit_stare_correct_crh_and_sky(xsh_localize_obj_param * loc_obj_par,
00219 xsh_remove_crh_single_param* crh_single_par,
00220 xsh_rectify_param* rectify_par,
00221 int do_sub_sky,
00222 const char* rec_prefix,
00223 cpl_frame* rmbkg,
00224 cpl_frame* order_tab_edges,
00225 cpl_frame* slitmap,
00226 cpl_frame* wavemap,
00227 cpl_frame* model_config,
00228 cpl_frame* single_frame_sky_sub_tab,
00229 xsh_instrument* instrument,
00230 int sub_sky_nbkpts1,
00231 xsh_subtract_sky_single_param* sky_par,
00232 cpl_frame** sky,
00233 cpl_frame** sky_eso,
00234 cpl_frame** sky_ima,
00235 cpl_frame* wave_tab,
00236 cpl_frame* disp_tab,
00237 cpl_frame* spectral_format,
00238 int nb_raw_frames,
00239 cpl_frame** loc_table,
00240 cpl_frame** clean,
00241 cpl_frame** clean_obj,const int clean_tmp);
00242
00243 cpl_error_code
00244 xsh_slit_stare_get_maps(cpl_frameset* calib,
00245 int do_compute_map,int recipe_use_model,
00246 const char* rec_prefix,xsh_instrument* instrument,
00247 cpl_frame* model_config_frame,cpl_frame* crhm_frame,
00248 cpl_frame* disp_tab_frame, cpl_frame* order_tab_edges,
00249 cpl_frame** wavemap_frame, cpl_frame** slitmap_frame);
00250
00251 cpl_error_code
00252 xsh_scired_util_spectra_flux_calibrate(cpl_frame* res2D,cpl_frame* res1D,
00253 cpl_frame* response,cpl_frame* atmext,
00254 xsh_instrument* inst,
00255 const char* prefix,
00256 cpl_frame** fluxcal_2D,
00257 cpl_frame** fluxcal_1D);
00258
00259 cpl_frame* xsh_compute_efficiency(cpl_frame* mer1D, cpl_frame* std_cat,
00260 cpl_frame* atm_ext, cpl_frame* high_abs_win,
00261 xsh_instrument* instr);
00262
00263
00264 cpl_error_code
00265 xsh_compute_resampling_accuracy(cpl_frame* wavemap,
00266 cpl_frame* slitmap,
00267 cpl_frame* order_tab_edges,
00268 cpl_frame* model_config,
00269 cpl_frame* merged2D,
00270 xsh_instrument* instrument);
00271
00272 cpl_error_code
00273 xsh_compute_wavelength_resampling_accuracy(cpl_frame* wavemap,
00274 cpl_frame* order_tab_edges,
00275 cpl_frame* model_config,
00276 cpl_frame* merged1D,
00277 xsh_instrument* instrument);
00278 cpl_frameset*
00279 xsh_frameset_crh_single(cpl_frameset* raws,xsh_remove_crh_single_param * crh_single_par,
00280 xsh_instrument* instrument,const char* prefix,const char* spec);
00281
00282 cpl_frameset*
00283 xsh_frameset_mflat_divide(cpl_frameset* input, cpl_frame* mflat,
00284 xsh_instrument* instrument);
00285
00286
00287
00288
00289 #endif