54 #include <uves_wavecal_identify.h>
55 #include <uves_wavecal_utils.h>
56 #include <uves_utils_wrappers.h>
57 #include <uves_error.h>
89 const int norders = maxorder - minorder + 1;
92 cpl_table *linetable = cpl_table_new(norders * nlines);
93 cpl_table *line_refer = cpl_table_new(nlines);
95 cpl_table_new_column(line_refer,
"Wave", CPL_TYPE_DOUBLE);
97 for (i = 0; i < nlines; i++)
99 cpl_table_set_double(line_refer,
"Wave", i, 1000 + 500*sin(i));
102 cpl_test_eq( cpl_error_get_code(), CPL_ERROR_NONE );
104 cpl_table_new_column(linetable,
"X" , CPL_TYPE_DOUBLE);
105 cpl_table_new_column(linetable,
"Order" , CPL_TYPE_INT);
106 cpl_table_new_column(linetable, LINETAB_LAMBDAC , CPL_TYPE_DOUBLE);
107 cpl_table_new_column(linetable, LINETAB_PIXELSIZE, CPL_TYPE_DOUBLE);
109 for (order = minorder; order <= maxorder; order++)
111 for (i = 0; i < nlines; i++)
113 int row = (order-minorder)*nlines + i;
115 cpl_table_set_int(linetable,
"Order", row,
118 cpl_table_set_double(linetable, LINETAB_PIXELSIZE, row, 1);
121 cpl_table_set_double(linetable,
"X", row,
122 cpl_table_get_double(line_refer,
"Wave", i, NULL));
124 cpl_table_set_double(linetable, LINETAB_LAMBDAC, row,
125 cpl_table_get_double(line_refer,
"Wave", i, NULL));
129 cpl_test_eq( cpl_error_get_code(), CPL_ERROR_NONE );
140 cpl_test( cpl_table_has_column(linetable,
"Ident_ppm") );
142 uves_free_table(&linetable);
143 uves_free_table(&line_refer);
157 cpl_test_init(PACKAGE_BUGREPORT, CPL_MSG_WARNING);
158 cpl_errorstate initial_errorstate = cpl_errorstate_get();
161 if (cpl_error_get_code() != CPL_ERROR_NONE)
163 cpl_errorstate_dump(initial_errorstate,CPL_FALSE,NULL);
165 return cpl_test_end(0);
int uves_wavecal_identify_lines_ppm(cpl_table *linetable, const cpl_table *line_refer)
Identify lines using point pattern matching.
static void test_ppm(void)
test point pattern matching
int main(void)
Test of uves_wavecal.