25#ifndef XSH_DATA_ORDER_RESID_TAB_H
26#define XSH_DATA_ORDER_RESID_TAB_H
31#define XSH_RESID_ORDER_TABLE_NB_COL 4
33#define XSH_RESID_ORDER_TABLE_COLNAME_ORDER "Order"
34#define XSH_RESID_ORDER_TABLE_UNIT_ORDER "none"
36#define XSH_RESID_ORDER_TABLE_COLNAME_POSX "X"
37#define XSH_RESID_ORDER_TABLE_UNIT_POSX "pixel"
38#define XSH_RESID_ORDER_TABLE_COLNAME_POSY "Y"
39#define XSH_RESID_ORDER_TABLE_UNIT_POSY "pixel"
41#define XSH_RESID_ORDER_TABLE_COLNAME_RESX "RESX"
42#define XSH_RESID_ORDER_TABLE_UNIT_RESX "pixel"
44#define XSH_RESID_ORDER_TABLE_COLNAME_POLX "POLX"
45#define XSH_RESID_ORDER_TABLE_UNIT_POLX "pixel"
48#define PROPERTY_GET( OBJECT, PROPERTY, TYPE, DEFAULT)\
49TYPE OBJECT##_get_##PROPERTY( OBJECT* obj)\
51 TYPE result = DEFAULT;\
53 XSH_ASSURE_NOT_NULL( obj);\
54 result = obj->PROPERTY;\
61#define RESID_ORDER_PROPERTY_GET( PROPERTY, TYPE, DEFAULT)\
62 PROPERTY_GET( xsh_resid_tab, PROPERTY, TYPE, DEFAULT)
86 double * posx,
double * posy,
87 double * resx,
double* polx ) ;
static xsh_instrument * instrument
xsh_resid_order_tab * xsh_resid_order_create(int size, int *orders, double *posx, double *posy, double *resx, double *polx)
Create a residual tab structure.
void xsh_resid_order_free(xsh_resid_order_tab **resid)
Free memory associated to a resid_tab.
cpl_table * xsh_resid_order_2tab(xsh_resid_order_tab *resid, xsh_instrument *instrument, ORDERPOS_QC_PARAM *ord_qc_param)
convert a residual tab structure to a cpl_table
xsh_resid_order_tab * xsh_resid_order_load(cpl_frame *resid_tab_frame)
Load a residual tab from a frame.
cpl_frame * xsh_resid_order_save(xsh_resid_order_tab *resid, const char *filename, xsh_instrument *instrument, ORDERPOS_QC_PARAM *ord_qc_param, const char *tag)
Save a residual tab to a frame.
cpl_propertylist * header