X-shooter Pipeline Reference Manual 3.8.15
xsh_utils_ifu.h
Go to the documentation of this file.
1/* a
2 * This file is part of the ESO X-shooter Pipeline *
3 * Copyright (C) 2006 European Southern Observatory *
4 * *
5 * This library is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software *
17 * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA *
18 * */
19
20
21/*
22 * $Author: amodigli $
23 * $Date: 2011-12-02 14:15:28 $
24 * $Revision: 1.10 $
25 * $Name: not supported by cvs2svn $
26 */
27#ifndef XSH_UTILS_IFU_H
28#define XSH_UTILS_IFU_H
29/*----------------------------------------------------------------------------
30 Includes
31 ----------------------------------------------------------------------------*/
32#include <cpl.h>
33#include <xsh_parameters.h>
34
35
36void
37xsh_edge_check(const int px,const int nx,const int rad_x,
38 int* llx,int* urx);
39void
40xsh_convert_xy_to_ws(double x_centroid,
41 double* p_obj_cen,
42 double* p_slit,
43 double* p_wave,
44 const int lly,
45 const int nx,
46 const int row,
47 double* p_obj_cen_s,
48 double* p_obj_cen_w);
49
50cpl_error_code
51xsh_table_edges_swap_low_upp(cpl_table** tab);
52
53cpl_table*
54xsh_table_edge_prepare(const char* name);
55cpl_error_code
56xsh_ifu_trace_object_calibrate(const char* ifu_object_ff_name,
57 const char* order_tab_edges_ifu_name,
58 const char* slit_map_name,
59 const char* wave_map_name);
60
61cpl_frame*
62xsh_build_ifu_map(cpl_frame* div_frame,
63 cpl_frame* wavemap_frame,
64 cpl_frame* slitmap_frame,
66
67cpl_error_code
68xsh_build_ifu_cube(cpl_frame* div_frame,
69 cpl_frame* ifu_cfg_tab_frame,
70 cpl_frame* ifu_cfg_cor_frame,
71 cpl_frame* spectral_format_frame,
72 cpl_frame* model_config_frame,
73 cpl_frame* wavesol_frame,
75 cpl_frameset* frameset,
76 cpl_parameterlist* parameters,
77 xsh_rectify_param * rectify_par,
78 const char* recipe_id,
79 const char* rec_prefix,
80 const int frame_is_object);
81cpl_error_code
82xsh_frame_check_model_cfg_is_proper_for_sci(cpl_frame* model_config_frame,
83 cpl_frame* sci_frame,
85
86cpl_error_code
87xsh_frame_check_model_cfg_is_afc_corrected(cpl_frame* model_config_frame);
88
89cpl_error_code
90xsh_cube_set_wcs(cpl_propertylist * plist,
91 float cenLambda,
92 float disp_x,
93 float disp_y,
94 float disp_z,
95 float center_x,
96 float center_y,
97 int center_z);
98
99cpl_matrix * xsh_atrous( cpl_vector *spec, int nscales);
100
101cpl_frameset * xsh_shift_offsettab( cpl_frameset *shift_ifu_frameset,
102 double offset_low, double offset_up);
103
104#endif
static xsh_instrument * instrument
int nx
int lly
Definition: xsh_detmon_lg.c:86
int llx
Definition: xsh_detmon_lg.c:85
int urx
Definition: xsh_detmon_lg.c:87
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_error_code xsh_table_edges_swap_low_upp(cpl_table **tab)
swap lower and upper edge columns
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.
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)
cpl_matrix * xsh_atrous(cpl_vector *spec, int nscales)
Do a wavelet decomposition using atrous from IDL.
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_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_frame * xsh_build_ifu_map(cpl_frame *div_frame, cpl_frame *wavemap_frame, cpl_frame *slitmap_frame, xsh_instrument *instrument)
Reconstruct IFU cube.
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_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.
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