Defines | |
#define | RECIPE_ID "xsh_flexcomp" |
#define | RECIPE_AUTHOR "P.Goldoni, L.Guglielmi, R. Haigron, F. Royer" |
#define | RECIPE_CONTACT "amodigli@eso.org" |
#define | XSH_AFC_UVB_XMIN 573 |
#define | XSH_AFC_UVB_YMIN 1501 |
#define | XSH_AFC_UVB_XMAX 1572 |
#define | XSH_AFC_UVB_YMAX 2500 |
#define | XSH_AFC_UVB_ORDER 18 |
#define | XSH_AFC_VIS_XMIN 534 |
#define | XSH_AFC_VIS_YMIN 2301 |
#define | XSH_AFC_VIS_XMAX 1533 |
#define | XSH_AFC_VIS_YMAX 3300 |
#define | XSH_AFC_VIS_ORDER 26 |
Functions | |
static int | xsh_flexcomp_create (cpl_plugin *plugin) |
Setup the recipe options. | |
static int | xsh_flexcomp_exec (cpl_plugin *plugin) |
Execute the plugin instance given by the interface. | |
static int | xsh_flexcomp_destroy (cpl_plugin *plugin) |
Destroy what has been created by the 'create' function. | |
static void | xsh_flexcomp (cpl_parameterlist *parameters, cpl_frameset *frameset) |
Interpret the command line options and execute the data processing. | |
int | cpl_plugin_get_info (cpl_pluginlist *list) |
Build the list of available plugins, for this module. | |
static cpl_error_code | xsh_params_set_defaults (cpl_parameterlist *pars, xsh_instrument *inst, xsh_detect_arclines_param *detect_arclines_p) |
static cpl_error_code | xsh_frame_check_is_right_afcatt (cpl_frame *afcatt_frame, xsh_instrument *instrument) |
cpl_frame * | xsh_flexcor (cpl_frame *afc_frame, cpl_frame *wave_tab_frame, cpl_frame *model_config_frame, cpl_frame *order_tab_frame, cpl_frame *attresidtab_frame, int afc_xmin, int afc_ymin, xsh_instrument *instr, cpl_frame **afc_order_tab_frame, cpl_frame **afc_model_config_frame) |
This function applies the computed shift betwwen AFC CAL and AFC ATT frame. | |
cpl_frame * | xsh_afcthetab_create (cpl_frame *wave_tab_frame, cpl_frame *model_config_frame, int order, cpl_frame *spectralformat_frame, cpl_frame *arclines_frame, int xmin, int ymin, xsh_instrument *instr) |
Create a The tab for AFC. | |
Variables | |
static char | xsh_flexcomp_description_short [] |
static char | xsh_flexcomp_description [] |
This recipe is used compute flexure compensation See man-page for details.
and ATT
#define RECIPE_AUTHOR "P.Goldoni, L.Guglielmi, R. Haigron, F. Royer" |
Definition at line 73 of file xsh_flexcomp.c.
#define RECIPE_CONTACT "amodigli@eso.org" |
Definition at line 74 of file xsh_flexcomp.c.
#define RECIPE_ID "xsh_flexcomp" |
Definition at line 72 of file xsh_flexcomp.c.
#define XSH_AFC_UVB_ORDER 18 |
Definition at line 80 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_UVB_XMAX 1572 |
Definition at line 78 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_UVB_XMIN 573 |
Definition at line 76 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_UVB_YMAX 2500 |
Definition at line 79 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_UVB_YMIN 1501 |
Definition at line 77 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_VIS_ORDER 26 |
Definition at line 86 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_VIS_XMAX 1533 |
Definition at line 84 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_VIS_XMIN 534 |
Definition at line 82 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_VIS_YMAX 3300 |
Definition at line 85 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
#define XSH_AFC_VIS_YMIN 2301 |
Definition at line 83 of file xsh_flexcomp.c.
Referenced by xsh_flexcomp().
int cpl_plugin_get_info | ( | cpl_pluginlist * | list | ) |
Build the list of available plugins, for this module.
list | the plugin list |
Create the recipe instance and make it available to the application using the interface. This function is exported.
Definition at line 143 of file xsh_flexcomp.c.
References RECIPE_AUTHOR, RECIPE_CONTACT, RECIPE_ID, xsh_flexcomp_create(), xsh_flexcomp_description, xsh_flexcomp_description_short, xsh_flexcomp_destroy(), xsh_flexcomp_exec(), and xsh_get_license().
cpl_frame* xsh_afcthetab_create | ( | cpl_frame * | wave_tab_frame, | |
cpl_frame * | model_config_frame, | |||
int | order, | |||
cpl_frame * | spectralformat_frame, | |||
cpl_frame * | arclines_frame, | |||
int | xmin, | |||
int | ymin, | |||
xsh_instrument * | instr | |||
) |
Create a The tab for AFC.
[in] | wave_tab_frame | wavelength table |
[in] | model_config_frame | model cfg frame |
[in] | order | order at which computations are done |
[in] | spectralformat_frame | spectral format frame |
[in] | arclines_frame | arc lines frame |
[in] | xmin | x min |
[in] | ymin | y min |
[in] | instr | Instrument containing the arm , mode and lamp in use |
Definition at line 310 of file xsh_flexcor.c.
References check, size, x, xsh_arclist_free(), xsh_arclist_get_size(), xsh_arclist_get_wavelength(), xsh_arclist_load(), XSH_ASSURE_NOT_NULL, xsh_free_frame(), xsh_free_vector(), xsh_instrument_arm_tostring(), xsh_model_config_load_best(), xsh_model_get_xy(), xsh_msg, XSH_REGDEBUG, xsh_spectralformat_list_free(), xsh_spectralformat_list_get_orders(), xsh_spectralformat_list_load(), xsh_the_map_create(), xsh_the_map_free(), xsh_the_map_save(), xsh_the_map_set_arcline(), xsh_wavesol_eval_polx(), xsh_wavesol_eval_poly(), xsh_wavesol_free(), xsh_wavesol_load(), and y.
Referenced by xsh_flexcomp().
static void xsh_flexcomp | ( | cpl_parameterlist * | parameters, | |
cpl_frameset * | frameset | |||
) | [static] |
Interpret the command line options and execute the data processing.
parameters | the parameters list | |
frameset | the frames list |
In case of failure the cpl_error_code is set.
Definition at line 413 of file xsh_flexcomp.c.
References xs_3::arm, check, instrument, RECIPE_ID, xsh_add_product_table_multi(), XSH_AFC_ATT, XSH_AFC_UVB_ORDER, XSH_AFC_UVB_XMAX, XSH_AFC_UVB_XMIN, XSH_AFC_UVB_YMAX, XSH_AFC_UVB_YMIN, XSH_AFC_VIS_ORDER, XSH_AFC_VIS_XMAX, XSH_AFC_VIS_XMIN, XSH_AFC_VIS_YMAX, XSH_AFC_VIS_YMIN, xsh_afcthetab_create(), XSH_ARC_LINE_LIST_AFC, XSH_ARM_NIR, XSH_ARM_UNDEFINED, XSH_ARM_VIS, XSH_ASSURE_NOT_NULL_MSG, xsh_begin(), xsh_create_dispersol_physmod(), xsh_create_model_map(), xsh_create_poly_wavemap(), xsh_detect_arclines(), XSH_DISP_TAB_AFC, xsh_end(), xsh_error_reset, xsh_find_frame_with_tag(), xsh_find_order_tab_edges(), xsh_find_wave_tab(), xsh_flexcomp_description_short, xsh_flexcor(), xsh_frame_check_is_right_afcatt(), XSH_FREE, xsh_free_frame(), xsh_free_frameset(), XSH_GET_TAG_FROM_ARM, xsh_instrument_arm_tostring(), xsh_instrument_free(), xsh_instrument_get_arm(), xsh_instrument_update_from_spectralformat(), XSH_MASTER_BIAS, XSH_MASTER_DARK, XSH_MOD_CFG_OPT_2D, XSH_MOD_CFG_TAB, xsh_msg, xsh_msg_error, xsh_msg_warning, xsh_parameters_clipping_detect_arclines_get(), xsh_parameters_detect_arclines_get(), xsh_parameters_dispersol_get(), xsh_parameters_get_boolean(), xsh_parameters_get_int(), xsh_params_set_defaults(), xsh_preframe_extract(), xsh_prepare(), XSH_SOLUTION_RELATIVE, XSH_SPECTRAL_FORMAT, xsh_subtract_bias(), xsh_subtract_dark(), and XSH_WAVE_TAB_2D.
Referenced by xsh_flexcomp_exec().
static int xsh_flexcomp_create | ( | cpl_plugin * | plugin | ) | [static] |
Setup the recipe options.
plugin | the plugin |
Create the recipe instance and make it available to the application using the interface.
Definition at line 185 of file xsh_flexcomp.c.
References assure, check, RECIPE_ID, xsh_error_dump, XSH_GAUSSIAN_METHOD, xsh_init(), xsh_parameters_clipping_detect_arclines_create(), xsh_parameters_detect_arclines_create(), xsh_parameters_dispersol_create(), xsh_parameters_generic(), xsh_parameters_new_boolean(), xsh_parameters_new_double(), xsh_parameters_new_int(), and xsh_parameters_pre_overscan().
Referenced by cpl_plugin_get_info().
static int xsh_flexcomp_destroy | ( | cpl_plugin * | plugin | ) | [static] |
Destroy what has been created by the 'create' function.
plugin | the plugin |
Definition at line 331 of file xsh_flexcomp.c.
References assure, and xsh_free_parameterlist().
Referenced by cpl_plugin_get_info().
static int xsh_flexcomp_exec | ( | cpl_plugin * | plugin | ) | [static] |
Execute the plugin instance given by the interface.
plugin | the plugin |
Definition at line 298 of file xsh_flexcomp.c.
References assure, xsh_error_dump, and xsh_flexcomp().
Referenced by cpl_plugin_get_info().
cpl_frame* xsh_flexcor | ( | cpl_frame * | afc_frame, | |
cpl_frame * | wave_tab_frame, | |||
cpl_frame * | model_config_frame, | |||
cpl_frame * | order_tab_frame, | |||
cpl_frame * | attresidtab_frame, | |||
int | afc_xmin, | |||
int | afc_ymin, | |||
xsh_instrument * | instr, | |||
cpl_frame ** | afc_order_tab_frame, | |||
cpl_frame ** | afc_model_config_frame | |||
) |
This function applies the computed shift betwwen AFC CAL and AFC ATT frame.
[in] | afc_frame | flexure compensation frame |
[in] | wave_tab_frame | wave tab frame |
[in] | model_config_frame | model cfg frame |
[in] | order_tab_frame | order tab frame |
[in] | attresidtab_frame | residual tables for attached AFC frame |
[in] | afc_xmin | AFC xmin |
[in] | afc_ymin | AFC ymin |
[in] | instr | Instrument containing the arm , mode and lamp in use |
[out] | afc_order_tab_frame | order table AFC corrected |
[out] | afc_model_config_frame | model cfg frame AFC corrected |
Definition at line 91 of file xsh_flexcor.c.
References check, xsh_resid_tab::lambda, XSH_INSTRCONFIG::ny, xsh_resid_tab::order, order, xsh_resid_tab::slit_index, xsh_resid_tab::thpre_x, xsh_resid_tab::thpre_y, xsh_resid_tab::xgauss, XSH_ARM_NIR, XSH_ARM_UNDEFINED, XSH_ASSURE_NOT_NULL, xsh_free_frame(), xsh_free_propertylist(), xsh_free_table(), xsh_free_vector(), XSH_GET_TAG_FROM_ARM, XSH_GET_TAG_FROM_MODE, xsh_instrument_get_arm(), xsh_instrument_get_config(), XSH_MOD_CFG_OPT_AFC, xsh_model_config_load_best(), xsh_model_get_xy(), xsh_model_io_output_cfg(), xsh_model_offset(), xsh_model_pipe_anneal(), xsh_model_temperature_update_frame(), xsh_msg, xsh_order_list_apply_shift(), xsh_order_list_free(), xsh_order_list_load(), xsh_order_list_save(), XSH_ORDER_TAB_AFC, xsh_pfits_set_pcatg(), XSH_REGDEBUG, xsh_resid_tab_free(), xsh_resid_tab_get_size(), xsh_resid_tab_load(), XSH_WAVE_TAB_AFC, xsh_wavesol_apply_shift(), xsh_wavesol_eval_polx(), xsh_wavesol_eval_poly(), xsh_wavesol_free(), xsh_wavesol_load(), xsh_wavesol_save(), xsh_wavesol_trace(), and xsh_resid_tab::ygauss.
Referenced by xsh_flexcomp().
static cpl_error_code xsh_frame_check_is_right_afcatt | ( | cpl_frame * | afcatt_frame, | |
xsh_instrument * | instrument | |||
) | [static] |
Definition at line 379 of file xsh_flexcomp.c.
References check, xsh_free_propertylist(), xsh_msg_error, and xsh_pfits_get_slit_value().
Referenced by xsh_flexcomp().
static cpl_error_code xsh_params_set_defaults | ( | cpl_parameterlist * | pars, | |
xsh_instrument * | inst, | |||
xsh_detect_arclines_param * | detect_arclines_p | |||
) | [static] |
Definition at line 358 of file xsh_flexcomp.c.
References check, xsh_detect_arclines_param::min_sn, RECIPE_ID, XSH_ARM_NIR, xsh_instrument_get_arm(), xsh_parameter_get_default_flag(), and xsh_parameters_find().
Referenced by xsh_flexcomp().
char xsh_flexcomp_description[] [static] |
"This recipe computes the flexure of the instrument and correct CAL files.\n\ Input Frames :\n\ - [UVB, VIS] One RAW frame (Format = RAW, Tag = AFF_ATT_arm)\n\ - [NIR] Two RAW frames ((Format = RAW, Tag = AFC_ATT_arm_ON,\ AFC_ATT_arm_OFF)\n\ - An arc line list (Format = TABLE, Tag = ARC_LINE_LIST_AFC_arm)\n\ - A spectral format table frame (Format = TABLE, Tag = SPECTRAL_FORMAT_TAB_arm)\n\ - [UVB,VIS] A master bias (Format = PRE, Tag = MASTER_BIAS_arm)\n\ - [UVB,VIS] A master dark (Format = PRE, Tag = MASTER_DARK_arm)\n\ - An order table frame (Format = TABLE, Tag = ORDER_TAB_EDGES_IFU_arm)\n\ - [OPTIONAL] A badpixel map (Format = QUP, Tag = BADPIXEL_MAP_arm)\n\ - [poly mode] A wave solution frame (Format = TABLE, Tag = WAVE_TAB_2D_arm)\n\ - [physical model mode] A model cfg table (Format = TABLE, Tag = XSH_MOD_CFG_OPT_2D_arm)\n\ Products : \n\ - [poly mode] An updated wave solution frame (Format = TABLE, Tag = WAVE_TAB_AFC_arm)\n\ - [physical model mode] An updated model cfg table (Format = TABLE, Tag = XSH_MOD_CFG_OPT_AFC_arm)\n\ - An updated order table frame (Format = TABLE, Tag = ORDER_TAB_AFC_IFU_arm)\n\ - [poly mode] A dispersion table frame (Format = TABLE, Tag = DISP_TAB_AFC_arm)\n"
Definition at line 109 of file xsh_flexcomp.c.
Referenced by cpl_plugin_get_info().
char xsh_flexcomp_description_short[] [static] |
"Compute the flexure of the instrument"
Definition at line 106 of file xsh_flexcomp.c.
Referenced by cpl_plugin_get_info(), and xsh_flexcomp().