65#define MODULE_ID "XSH_FLAT_MERGE"
67#define SYNTAX "Test the flat merge function\n"\
68 "use : ./test_xsh_flat_merge QTH_FRAME QTH_ORDER_TAB D2_FRAME D2_ORDER_TAB"\
70 "QTH_FRAME => the qth flat frame\n"\
71 "QTH_ORDER_TAB => the qth order table\n"\
72 "D2_FRAME => the d2 flat frame\n"\
73 "D2_ORDER_TAB => the d2 order table\n"\
86int main(
int argc,
char **argv)
92 char* qth_name = NULL;
93 cpl_frame* qth_frame = NULL;
94 char* qth_order_tab_name = NULL;
95 cpl_frame* qth_order_tab_frame = NULL;
97 char* d2_bkg_name = NULL;
98 char* qth_bkg_name = NULL;
99 cpl_frame* d2_frame = NULL;
100 cpl_frame* d2_bkg_frame = NULL;
101 cpl_frame* qth_bkg_frame = NULL;
103 char* d2_order_tab_name = NULL;
104 cpl_frame* d2_order_tab_frame = NULL;
106 cpl_frame *qth_d2_flat_frame = NULL;
107 cpl_frame *qth_d2_bkg_frame = NULL;
108 cpl_frame *qth_d2_order_tab_frame = NULL;
113 cpl_msg_set_level( CPL_MSG_DEBUG);
120 qth_bkg_name = argv[2];
121 qth_order_tab_name = argv[3];
123 d2_bkg_name = argv[5];
124 d2_order_tab_name = argv[6];
126 qth_name,qth_bkg_name,qth_order_tab_name,
127 d2_name, d2_bkg_name, d2_order_tab_name);
134 qth_frame = cpl_frame_new();
135 cpl_frame_set_filename( qth_frame, qth_name) ;
136 cpl_frame_set_level( qth_frame, CPL_FRAME_LEVEL_TEMPORARY);
137 cpl_frame_set_group( qth_frame, CPL_FRAME_GROUP_RAW ) ;
138 cpl_frame_set_tag( qth_frame,
"MASTER_FLAT_SLIT_UVB_QTH");
142 qth_bkg_frame = cpl_frame_new();
143 cpl_frame_set_filename( qth_bkg_frame, qth_name) ;
144 cpl_frame_set_level( qth_bkg_frame, CPL_FRAME_LEVEL_TEMPORARY);
145 cpl_frame_set_group( qth_bkg_frame, CPL_FRAME_GROUP_RAW ) ;
146 cpl_frame_set_tag( qth_bkg_frame,
"BKG_FLAT_SLIT_UVB_QTH");
148 qth_order_tab_frame = cpl_frame_new();
149 cpl_frame_set_filename( qth_order_tab_frame, qth_order_tab_name) ;
150 cpl_frame_set_level( qth_order_tab_frame, CPL_FRAME_LEVEL_TEMPORARY);
151 cpl_frame_set_group( qth_order_tab_frame, CPL_FRAME_GROUP_RAW ) ;
153 d2_frame = cpl_frame_new();
154 cpl_frame_set_filename( d2_frame, d2_name) ;
155 cpl_frame_set_level( d2_frame, CPL_FRAME_LEVEL_TEMPORARY);
156 cpl_frame_set_group( d2_frame, CPL_FRAME_GROUP_RAW ) ;
157 cpl_frame_set_tag( d2_frame,
"MASTER_FLAT_SLIT_UVB_D2");
160 d2_bkg_frame = cpl_frame_new();
161 cpl_frame_set_filename( d2_bkg_frame, qth_name) ;
162 cpl_frame_set_level( d2_bkg_frame, CPL_FRAME_LEVEL_TEMPORARY);
163 cpl_frame_set_group( d2_bkg_frame, CPL_FRAME_GROUP_RAW ) ;
164 cpl_frame_set_tag( d2_bkg_frame,
"BKG_FLAT_SLIT_UVB_D2");
167 d2_order_tab_frame = cpl_frame_new();
168 cpl_frame_set_filename( d2_order_tab_frame, d2_order_tab_name) ;
169 cpl_frame_set_level( d2_order_tab_frame, CPL_FRAME_LEVEL_TEMPORARY);
170 cpl_frame_set_group( d2_order_tab_frame, CPL_FRAME_GROUP_RAW ) ;
182 d2_frame,d2_order_tab_frame,
183 qth_bkg_frame,d2_bkg_frame,
184 &qth_d2_flat_frame,&qth_d2_bkg_frame,
188 if (cpl_error_get_code() != CPL_ERROR_NONE) {
int main()
Unit test of xsh_bspline_interpol.
static xsh_instrument * instrument
#define xsh_error_dump(level)
void xsh_flat_merge_qth_d2(cpl_frame *qth_frame, cpl_frame *qth_order_tab_frame, cpl_frame *d2_frame, cpl_frame *d2_order_tab_frame, cpl_frame *qth_bkg_frame, cpl_frame *d2_bkg_frame, cpl_frame **qth_d2_flat_frame, cpl_frame **qth_d2_bkg_frame, cpl_frame **qth_d2_order_tab_frame, xsh_instrument *instrument)
Merge two master flat fields and order tables according the spectral format.
void xsh_instrument_set_mode(xsh_instrument *i, XSH_MODE mode)
Set a mode on instrument structure.
void xsh_instrument_set_arm(xsh_instrument *i, XSH_ARM arm)
Set an arm on instrument structure.
void xsh_instrument_set_lamp(xsh_instrument *i, XSH_LAMP lamp)
Set a lamp on instrument structure.
xsh_instrument * xsh_instrument_new(void)
create new instrument structure
#define xsh_msg(...)
Print a message on info level.
int xsh_debug_level_set(int level)
set debug level
#define TESTS_INIT(DRL_ID)