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