26#ifndef XSH_DATA_DISPERSOL_H
27#define XSH_DATA_DISPERSOL_H
33#define XSH_DISPERSOL_TABLE_NBCOL 4
34#define XSH_DISPERSOL_TABLE_COLNAME_AXIS "AXIS"
35#define XSH_DISPERSOL_TABLE_COLNAME_ORDER "ORDER"
36#define XSH_DISPERSOL_TABLE_COLNAME_DEGX "DEGX"
37#define XSH_DISPERSOL_TABLE_COLNAME_DEGY "DEGY"
38#define XSH_DISPERSOL_AXIS_SLIT "SLIT"
39#define XSH_DISPERSOL_AXIS_LAMBDA "LAMBDA"
69 cpl_polynomial *lambda_poly,
70 cpl_polynomial *slit_poly);
74 cpl_frame *order_frame,
81 cpl_frame *order_frame,
87 cpl_polynomial *poly, cpl_vector *pos);
cpl_frame * xsh_dispersol_list_save(xsh_dispersol_list *list, const char *tag)
Save a dispersion list on the disk.
void xsh_dispersol_list_add(xsh_dispersol_list *list, int idx, int absorder, cpl_polynomial *lambda_poly, cpl_polynomial *slit_poly)
Add a dispersion solution in the list.
xsh_dispersol_list * xsh_dispersol_list_load(cpl_frame *frame, xsh_instrument *instr)
Load a dispersion list from a frame.
void xsh_dispersol_list_free(xsh_dispersol_list **list)
Free the dispersion list.
cpl_frame * xsh_dispersol_list_to_slitmap(xsh_dispersol_list *list, cpl_frame *order_frame, xsh_pre *pre, xsh_instrument *instr, const char *tag)
Save a SLIT MAP image.
double xsh_dispersol_list_eval(xsh_dispersol_list *list, cpl_polynomial *poly, cpl_vector *pos)
Evaluate the polynomial according the binning.
xsh_dispersol_list * xsh_dispersol_list_new(int size, int deg_x, int deg_y, xsh_instrument *instr)
Create a new dispersion solution list.
cpl_frame * xsh_dispersol_list_to_wavemap(xsh_dispersol_list *list, cpl_frame *order_frame, xsh_pre *pre, xsh_instrument *instr, const char *tag)
Save a WAVE MAP image.
cpl_propertylist * header
cpl_polynomial * slit_poly
cpl_polynomial * lambda_poly