#include <cpl.h>
#include <xsh_parameters.h>
Go to the source code of this file.
Functions | |
void | xsh_edge_check (const int px, const int nx, const int rad_x, int *llx, int *urx) |
check edge values (llx,urx) fit in image size (1,nx) | |
void | xsh_convert_xy_to_ws (double x_centroid, double *p_obj_cen, double *p_slit, double *p_wave, const int lly, const int nx, const int row, double *p_obj_cen_s, double *p_obj_cen_w) |
convert X-Y coordinates to Wavelengt Slit space | |
cpl_error_code | xsh_table_edges_swap_low_upp (cpl_table **tab) |
swap lower and upper edge columns | |
cpl_table * | xsh_table_edge_prepare (const char *name) |
Add to edges table columns to store LOW/CEN/UPP object positions. | |
cpl_error_code | xsh_ifu_trace_object_calibrate (const char *ifu_object_ff_name, const char *order_tab_edges_ifu_name, const char *slit_map_name, const char *wave_map_name) |
Function to calibrate object traces in IFU mode. | |
cpl_frame * | xsh_build_ifu_map (cpl_frame *div_frame, cpl_frame *wavemap_frame, cpl_frame *slitmap_frame, cpl_frame *model_config_frame, xsh_instrument *instrument) |
Reconstruct IFU cube. | |
cpl_error_code | xsh_build_ifu_cube (cpl_frame *div_frame, cpl_frame *ifu_cfg_tab_frame, cpl_frame *ifu_cfg_cor_frame, cpl_frame *spectral_format_frame, cpl_frame *model_config_frame, cpl_frame *wavesol_frame, xsh_instrument *instrument, cpl_frameset *frameset, cpl_parameterlist *parameters, xsh_rectify_param *rectify_par, const char *recipe_id, const char *rec_prefix, const int frame_is_object) |
Reconstruct IFU cube. | |
cpl_error_code | xsh_frame_check_model_cfg_is_proper_for_sci (cpl_frame *model_config_frame, cpl_frame *sci_frame, xsh_instrument *instrument) |
Check if a model configuration frame has been corrected for flexures. | |
cpl_error_code | xsh_frame_check_model_cfg_is_afc_corrected (cpl_frame *model_config_frame) |
utility to check if a frame has been corrected for flexures | |
cpl_error_code | xsh_cube_set_wcs (cpl_propertylist *plist, float cenLambda, float disp_x, float disp_y, float disp_z, float center_x, float center_y, int center_z) |
cpl_matrix * | xsh_atrous (cpl_vector *spec, int nscales) |
Do a wavelet decomposition using atrous from IDL. | |
cpl_frameset * | xsh_shift_offsettab (cpl_frameset *shift_ifu_frameset, double offset_low, double offset_up) |
Do a wavelet decomposition using atrous from IDL. |
cpl_matrix* xsh_atrous | ( | cpl_vector * | spec, | |
int | nscales | |||
) |
Do a wavelet decomposition using atrous from IDL.
[in] | spec | spectrum |
[in] | nscales | number os scales |
Definition at line 2107 of file xsh_utils_ifu.c.
References check, filter, XSH_ASSURE_NOT_ILLEGAL, XSH_ASSURE_NOT_NULL, XSH_CALLOC, XSH_FREE, xsh_free_matrix(), xsh_free_vector(), xsh_msg_dbg_medium, and xsh_unwrap_vector().
Referenced by xsh_localize_ifu_slitlet().
cpl_error_code xsh_build_ifu_cube | ( | cpl_frame * | div_frame, | |
cpl_frame * | ifu_cfg_tab_frame, | |||
cpl_frame * | ifu_cfg_cor_frame, | |||
cpl_frame * | spectral_format_frame, | |||
cpl_frame * | model_config_frame, | |||
cpl_frame * | wavesol_frame, | |||
xsh_instrument * | instrument, | |||
cpl_frameset * | frameset, | |||
cpl_parameterlist * | parameters, | |||
xsh_rectify_param * | rectify_par, | |||
const char * | recipe_id, | |||
const char * | rec_prefix, | |||
const int | frame_is_object | |||
) |
Reconstruct IFU cube.
[in] | div_frame | input frame flat field corrected |
[in] | ifu_cfg_tab_frame | IFU configuration frame |
[in] | ifu_cfg_cor_frame | IFU configuration frame |
[in] | spectral_format_frame | spectral format frame |
[in] | model_config_frame | model configuration frame |
[in] | wavesol_frame | wavelength solution frame |
[in] | instrument | instrument (arm) setting |
[in] | frameset | input frame set |
[in] | parameters | input parameter list |
[in] | rectify_par | input parameters to specify rectification |
[in] | recipe_id | input recipe id |
[in] | rec_prefix | input recipe prefix |
[in] | frame_is_object | flag to specify if input frame is object or sky |
Definition at line 1353 of file xsh_utils_ifu.c.
References xsh_instrument::arm, binx, biny, check, xsh_rectify_param::kernel_type, method, xsh_rectify_param::rectif_bin_lambda, xsh_rectify_param::rectif_bin_space, xsh_rectify_param::rectif_radius, s, x, xsh_add_product_imagelist(), xsh_add_product_table(), xsh_add_temporary_file(), XSH_ARM_NIR, xsh_arm_tostring(), XSH_ARM_UVB, XSH_ARM_VIS, xsh_crea_correct_coeff(), xsh_cube_qc_trace_window(), xsh_cube_set_wcs(), xsh_frame_product(), xsh_free_frame(), xsh_free_image(), xsh_free_imagelist(), xsh_free_propertylist(), xsh_free_table(), xsh_free_vector(), xsh_iml_merge_avg(), xsh_model_binxy(), xsh_model_config_load_best(), xsh_model_get_xy(), xsh_msg, xsh_msg_debug, xsh_pfits_get_binx(), xsh_pfits_get_biny(), xsh_pfits_set_extname(), xsh_pfits_set_pcatg(), xsh_plist_set_extra_keys(), XSH_PRE_DATA_TYPE, XSH_PRE_ERRS_TYPE, XSH_PRE_QUAL_TYPE, xsh_rec_list_create(), xsh_rec_list_free(), XSH_SPECTRUM_DATA_BPP, XSH_SPECTRUM_ERRS_BPP, XSH_SPECTRUM_QUAL_BPP, xsh_wavesol_eval_polx(), xsh_wavesol_eval_poly(), xsh_wavesol_load(), and y.
Referenced by xsh_scired_ifu_offset(), and xsh_scired_ifu_stare().
cpl_frame* xsh_build_ifu_map | ( | cpl_frame * | div_frame, | |
cpl_frame * | wavemap_frame, | |||
cpl_frame * | slitmap_frame, | |||
cpl_frame * | model_config_frame, | |||
xsh_instrument * | instrument | |||
) |
Reconstruct IFU cube.
[in] | div_frame | input frame flat field corrected |
[in] | wavemap_frame | slit map frame |
[in] | slitmap_frame | wave map frame |
[in] | model_config_frame | model configuration frame |
[in] | instrument | instrument (arm) setting |
Definition at line 1246 of file xsh_utils_ifu.c.
References check, xsh_add_temporary_file(), xsh_frame_build_sky_area(), xsh_frame_build_sky_map(), xsh_frame_image_save2ext(), xsh_frame_product(), xsh_free_image(), xsh_free_propertylist(), xsh_hms2deg(), XSH_IFU_MAP_SKY, xsh_instrument_arm_tostring(), xsh_pfits_get_tel_targ_alpha(), xsh_pfits_get_tel_targ_delta(), and xsh_sess2deg().
Referenced by xsh_scired_ifu_offset(), and xsh_scired_ifu_stare().
void xsh_convert_xy_to_ws | ( | double | x_centroid, | |
double * | p_obj_cen, | |||
double * | p_slit, | |||
double * | p_wave, | |||
const int | lly, | |||
const int | nx, | |||
const int | row, | |||
double * | p_obj_cen_s, | |||
double * | p_obj_cen_w | |||
) |
convert X-Y coordinates to Wavelengt Slit space
x_centroid | centrod position on X axis | |
p_obj_cen | [IN] pointer to central object array | |
p_slit | [IN] pointer to slit array | |
p_wave | [IN] pointer to wave array | |
lly | [IN] Lower left X | |
nx | [IN] number of X points (vector size) l | |
row | [IN] detector row position(Y) | |
p_obj_cen_s | [OUT] pointer to object s position | |
p_obj_cen_w | [OUT] pointer to object s position |
Definition at line 458 of file xsh_utils_ifu.c.
References xsh_interpol().
Referenced by xsh_ifu_trace_object_calibrate().
cpl_error_code xsh_cube_set_wcs | ( | cpl_propertylist * | plist, | |
float | cenLambda, | |||
float | disp_x, | |||
float | disp_y, | |||
float | disp_z, | |||
float | center_x, | |||
float | center_y, | |||
int | center_z | |||
) |
Definition at line 329 of file xsh_utils_ifu.c.
References PI_NUMB, xsh_hms2deg(), xsh_pfits_get_dec(), xsh_pfits_get_posangle(), xsh_pfits_get_ra(), xsh_pfits_get_tel_targ_alpha(), xsh_pfits_get_tel_targ_delta(), xsh_plist_set_cd_matrix2(), xsh_plist_set_cd_matrix3(), xsh_plist_set_coord1(), xsh_plist_set_coord2(), xsh_plist_set_coord3(), and xsh_sess2deg().
Referenced by xsh_build_ifu_cube().
void xsh_edge_check | ( | const int | px, | |
const int | nx, | |||
const int | rad_x, | |||
int * | llx, | |||
int * | urx | |||
) |
check edge values (llx,urx) fit in image size (1,nx)
px | [IN] point position | |
nx | [IN] x image size | |
rad_x | [IN] x radii | |
llx | [OUT] lower left X | |
urx | [OUT] upper right X |
Definition at line 426 of file xsh_utils_ifu.c.
Referenced by xsh_ifu_trace_object_calibrate().
cpl_error_code xsh_frame_check_model_cfg_is_afc_corrected | ( | cpl_frame * | model_config_frame | ) |
utility to check if a frame has been corrected for flexures
model_config_frame | input frame |
Definition at line 1051 of file xsh_utils_ifu.c.
References check, xsh_free_propertylist(), xsh_msg_error, and xsh_pfits_get_raw1catg().
Referenced by xsh_check_afc(), and xsh_scired_ifu_stare().
cpl_error_code xsh_frame_check_model_cfg_is_proper_for_sci | ( | cpl_frame * | model_config_frame, | |
cpl_frame * | sci_frame, | |||
xsh_instrument * | instrument | |||
) |
Check if a model configuration frame has been corrected for flexures.
model_config_frame | model configuration frame | |
sci_frame | science frame | |
instrument | instrument setting |
Definition at line 982 of file xsh_utils_ifu.c.
References check, xsh_free_propertylist(), xsh_msg_error, xsh_pfits_get_obs_id(), xsh_pfits_get_obs_targ_name(), and xsh_pfits_get_slit_value().
Referenced by xsh_check_afc(), and xsh_scired_ifu_stare().
cpl_error_code xsh_ifu_trace_object_calibrate | ( | const char * | ifu_object_ff_name, | |
const char * | order_tab_edges_ifu_name, | |||
const char * | slit_map_name, | |||
const char * | wave_map_name | |||
) |
Function to calibrate object traces in IFU mode.
ifu_object_ff_name | name of input object frame (flat field corrected) | |
order_tab_edges_ifu_name | name of input edge order table | |
slit_map_name | slit map filename | |
wave_map_name | wave map filename |
Definition at line 699 of file xsh_utils_ifu.c.
References biny, check, llx, lly, nx, ny, urx, ury, XSH_ARM_NIR, xsh_arm_tostring(), XSH_ARM_UNDEFINED, XSH_ARM_UVB, XSH_ARM_VIS, xsh_convert_xy_to_ws(), xsh_edge_check(), xsh_free_image(), xsh_free_propertylist(), xsh_image_fit_gaussian_max_pos_x_window(), xsh_msg, xsh_pfits_get_biny(), xsh_pfits_get_pcatg(), xsh_pfits_set_pcatg(), xsh_table_edge_prepare(), and xsh_table_edges_swap_low_upp().
Referenced by xsh_scired_ifu_stare().
cpl_frameset* xsh_shift_offsettab | ( | cpl_frameset * | shiftifu_frameset, | |
double | offset_low, | |||
double | offset_up | |||
) |
Do a wavelet decomposition using atrous from IDL.
[in] | spec | spectrum |
[in] | nscales | number os scales |
Definition at line 2195 of file xsh_utils_ifu.c.
References check, size, xsh_frame_product(), xsh_free_frameset(), xsh_free_propertylist(), xsh_msg, XSH_SHIFTIFU_COLNAME_SHIFTSLIT, XSH_TABLE_FREE, and XSH_TABLE_LOAD.
cpl_table* xsh_table_edge_prepare | ( | const char * | name | ) |
Add to edges table columns to store LOW/CEN/UPP object positions.
name | [IN] input file name |
Definition at line 545 of file xsh_utils_ifu.c.
References check.
Referenced by xsh_ifu_trace_object_calibrate().
cpl_error_code xsh_table_edges_swap_low_upp | ( | cpl_table ** | tab | ) |
swap lower and upper edge columns
tab | [INOUT] pointer to input/output table |
Definition at line 502 of file xsh_utils_ifu.c.
Referenced by xsh_ifu_trace_object_calibrate().