31#define CR2RES_COL_STDNAME "Std_Star_Name"
32#define CR2RES_COL_RA "Right_Ascension"
33#define CR2RES_COL_DEC "Declination"
34#define CR2RES_COL_PHOTOFLUX "Photospheric_Flux"
37#define CR2RES_COL_EMISSION "Emission"
39#define CR2RES_COL_WAVELENGTH "Wavelength"
41#define CR2RES_COL_WAVELENGTH_ERROR "Wavelength_Error"
43#define CR2RES_COL_UPPER "Upper"
44#define CR2RES_COL_LOWER "Lower"
45#define CR2RES_COL_ALL "All"
46#define CR2RES_COL_ORDER "Order"
47#define CR2RES_COL_TRACENB "TraceNb"
48#define CR2RES_COL_SLIT_CURV_A "SlitPolyA"
49#define CR2RES_COL_SLIT_CURV_B "SlitPolyB"
50#define CR2RES_COL_SLIT_CURV_C "SlitPolyC"
51#define CR2RES_COL_SLIT_FRACTION "SlitFraction"
54#define CR2RES_IDP_COL_FLUX "FLUX"
55#define CR2RES_IDP_COL_ERR "ERR"
56#define CR2RES_IDP_COL_WAVE "WAVE"
57#define CR2RES_IDP_COL_QUAL "QUAL"
58#define CR2RES_IDP_COL_ORDER "ORDER"
59#define CR2RES_IDP_COL_TRACE "TRACE"
60#define CR2RES_IDP_COL_DETEC "DETEC"
61#define CR2RES_IDP_COL_XPOS "XPOS"
62#define CR2RES_IDP_COL_YPOS "YPOS"
63#define CR2RES_IDP_COL_SLITFRAC "SLITFRAC"
64#define CR2RES_IDP_COL_STOKES "STOKES"
65#define CR2RES_IDP_COL_STOKESERR "STOKES_ERR"
68#define CR2RES_COL_MEASURED_LAMBDA "Measured_WL"
69#define CR2RES_COL_CATALOG_LAMBDA "Catalog_WL"
70#define CR2RES_COL_DELTA_LAMBDA "Delta_WL"
71#define CR2RES_COL_MEASURED_PIXEL "Measured_Pix"
72#define CR2RES_COL_LINE_WIDTH "Line_Width"
73#define CR2RES_COL_FIT_QUALITY "Fit_Quality"
74#define CR2RES_COL_INTENSITY "Line_Intensity"
75#define CR2RES_COL_FPET_M "FPET_Order"
78#define CR2RES_COL_XS "xs"
79#define CR2RES_COL_YS "ys"
80#define CR2RES_COL_CLUSTERS "clusters"
83#define CR2RES_COL_SLIT_FUNC_SUFFIX "SLIT_FUNC"
86#define CR2RES_COL_POL_STOKES_SUFFIX "STOKES"
87#define CR2RES_COL_POL_STOKES_ERROR_SUFFIX "STOKES_ERR"
88#define CR2RES_COL_POL_NULL_SUFFIX "NULL"
89#define CR2RES_COL_POL_NULL_ERROR_SUFFIX "NULL_ERR"
90#define CR2RES_COL_POL_INTENS_SUFFIX "INTENS"
91#define CR2RES_COL_POL_INTENS_ERROR_SUFFIX "INTENS_ERR"
94#define CR2RES_COL_SPEC_SUFFIX "SPEC"
95#define CR2RES_COL_ERROR_SUFFIX "ERR"
96#define CR2RES_COL_WL_SUFFIX "WL"
99#define CR2RES_COL_CONVERSION_SUFFIX "CONVERSION"
100#define CR2RES_COL_SENSITIVITY_SUFFIX "SENSITIVITY"
101#define CR2RES_COL_THROUGHPUT_SUFFIX "THROUGHPUT"
104#define CR2RES_COL_SPLICED_1D_SPEC "SPLICED_1D_SPEC"
105#define CR2RES_COL_SPLICED_1D_ERROR "SPLICED_1D_ERR"
106#define CR2RES_COL_SPLICED_1D_WL "SPLICED_1D_WL"
109#define CR2RES_COL_POSITIONX_SUFFIX "POSITIONX"
110#define CR2RES_COL_POSITIONY_SUFFIX "POSITIONY"
111#define CR2RES_COL_SLIT_FRACTION_SUFFIX "SLIT_FRACTION"
120#define CR2RES_DRSTYPE_CATALOG "CATALOG"
127#define CR2RES_PHOTO_FLUX_DRSTYPE "PHOTO_FLUX"
130#define CR2RES_DETLIN_COEFFS_DRSTYPE "DETLIN_COEFFS"
139#define CR2RES_BPM_DRSTYPE "BPM"
142#define CR2RES_MASTER_DARK_DRSTYPE "MASTER_DARK"
157#define CR2RES_EXTRACT_1D_DRSTYPE "EXTRACT_1D"
166#define CR2RES_EXTRACT_1D_IDP_DRSTYPE "EXTRACT_1D_IDP"
173#define CR2RES_THROUGHPUT_DRSTYPE "THROUGHPUT"
184#define CR2RES_POL_SPEC_DRSTYPE "POL_SPEC"
193#define CR2RES_EXTRACT_2D_DRSTYPE "EXTRACT_2D"
198#define CR2RES_COMBINED_DRSTYPE "COMBINED"
201#define CR2RES_SPLICED_1D_DRSTYPE "SPLICED_1D"
208#define CR2RES_SLIT_MODEL_DRSTYPE "SLIT_MODEL"
216#define CR2RES_SLIT_FUNC_DRSTYPE "SLIT_FUNC"
230#define CR2RES_TW_DRSTYPE "TW"
235#define CR2RES_MASTER_FLAT_DRSTYPE "MASTER_FLAT"
241#define CR2RES_CALIBRATED_DRSTYPE "CALIBRATED"
244#define CR2RES_CALIB_COLLAPSED_DRSTYPE "CALIB_COLLAPSED"
249#define CR2RES_WAVE_MAP_DRSTYPE "WAVE_MAP"
253#define CR2RES_SLIT_CURV_MAP_DRSTYPE "SLIT_CURV_MAP"
256#define CR2RES_TRACE_MAP_DRSTYPE "TRACE_MAP"
260#define CR2RES_LINES_DIAGNOSTICS_DRSTYPE "LINES_DIAGNOSTICS"
266#define CR2RES_CAL_DETLIN_COEFFS_PROCATG "CAL_DETLIN_COEFFS"
267#define CR2RES_CAL_DETLIN_BPM_PROCATG "CAL_DETLIN_BPM"
270#define CR2RES_CAL_DARK_MASTER_PROCATG "CAL_DARK_MASTER"
271#define CR2RES_CAL_DARK_BPM_PROCATG "CAL_DARK_BPM"
274#define CR2RES_CAL_FLAT_BPM_PROCATG "CAL_FLAT_BPM"
275#define CR2RES_CAL_FLAT_EXTRACT_1D_PROCATG "CAL_FLAT_EXTRACT_1D"
276#define CR2RES_CAL_FLAT_SLIT_MODEL_PROCATG "CAL_FLAT_SLIT_MODEL"
277#define CR2RES_CAL_FLAT_SLIT_FUNC_PROCATG "CAL_FLAT_SLIT_FUNC"
278#define CR2RES_CAL_FLAT_TW_PROCATG "CAL_FLAT_TW"
279#define CR2RES_CAL_FLAT_TW_MERGED_PROCATG "CAL_FLAT_TW_MERGED"
280#define CR2RES_CAL_FLAT_MASTER_PROCATG "CAL_FLAT_MASTER"
283#define CR2RES_CAL_WAVE_TW_PROCATG "CAL_WAVE_TW"
284#define CR2RES_CAL_WAVE_MAP_PROCATG "CAL_WAVE_MAP"
285#define CR2RES_CAL_WAVE_LINES_DIAGNOSTICS_PROCATG "CAL_WAVE_LINES_DIAGNOSTICS"
286#define CR2RES_CAL_WAVE_EXTRACT_1D_PROCATG "CAL_WAVE_EXTRACT_1D"
289#define CR2RES_OBS_NODDING_EXTRACTA_PROCATG "OBS_NODDING_EXTRACTA"
290#define CR2RES_OBS_NODDING_COMBINEDA_PROCATG "OBS_NODDING_COMBINEDA"
291#define CR2RES_OBS_NODDING_SLITFUNCA_PROCATG "OBS_NODDING_SLITFUNCA"
292#define CR2RES_OBS_NODDING_SLITMODELA_PROCATG "OBS_NODDING_SLITMODELA"
293#define CR2RES_OBS_NODDING_EXTRACTB_PROCATG "OBS_NODDING_EXTRACTB"
294#define CR2RES_OBS_NODDING_COMBINEDB_PROCATG "OBS_NODDING_COMBINEDB"
295#define CR2RES_OBS_NODDING_SLITFUNCB_PROCATG "OBS_NODDING_SLITFUNCB"
296#define CR2RES_OBS_NODDING_SLITMODELB_PROCATG "OBS_NODDING_SLITMODELB"
297#define CR2RES_OBS_NODDING_EXTRACTC_PROCATG "OBS_NODDING_EXTRACT_COMB"
298#define CR2RES_OBS_NODDING_THROUGHPUT_PROCATG "OBS_NODDING_THROUGHPUT"
299#define CR2RES_OBS_NODDING_TWA_PROCATG "OBS_NODDING_TWA"
300#define CR2RES_OBS_NODDING_TWB_PROCATG "OBS_NODDING_TWB"
301#define CR2RES_OBS_NODDING_EXTRACTA_IDP_PROCATG "OBS_NODDING_EXTRACTA_IDP"
302#define CR2RES_OBS_NODDING_EXTRACTB_IDP_PROCATG "OBS_NODDING_EXTRACTB_IDP"
303#define CR2RES_OBS_NODDING_EXTRACTC_IDP_PROCATG "OBS_NODDING_EXTRACTC_IDP"
306#define CR2RES_OBS_STARING_COMBINED_PROCATG "OBS_STARING_COMBINED"
307#define CR2RES_OBS_STARING_EXTRACT_PROCATG "OBS_STARING_EXTRACT"
308#define CR2RES_OBS_STARING_SLITFUNC_PROCATG "OBS_STARING_SLITFUNC"
309#define CR2RES_OBS_STARING_SLITMODEL_PROCATG "OBS_STARING_SLITMODEL"
310#define CR2RES_OBS_STARING_IDP_PROCATG "OBS_STARING_IDP"
314#define CR2RES_OBS_2D_EXTRACT_PROCATG "OBS_2D_EXTRACT"
315#define CR2RES_OBS_2D_CALIBRATED_PROCATG "OBS_2D_CALIBRATED"
316#define CR2RES_OBS_2D_IDP_PROCATG "OBS_2D_IDP"
319#define CR2RES_OBS_POL_EXTRACTA_PROCATG "OBS_POL_EXTRACTA"
320#define CR2RES_OBS_POL_EXTRACTB_PROCATG "OBS_POL_EXTRACTB"
321#define CR2RES_OBS_POL_TWA_PROCATG "OBS_POL_TWA"
322#define CR2RES_OBS_POL_TWB_PROCATG "OBS_POL_TWB"
323#define CR2RES_OBS_POL_SPECA_PROCATG "OBS_POL_SPECA"
324#define CR2RES_OBS_POL_SPECB_PROCATG "OBS_POL_SPECB"
325#define CR2RES_OBS_POL_CALIB_A_PROCATG "OBS_POL_CALIBA"
326#define CR2RES_OBS_POL_CALIB_B_PROCATG "OBS_POL_CALIBB"
327#define CR2RES_OBS_POL_EXTRACTA_IDP_PROCATG "OBS_POL_EXTRACTA_IDP"
328#define CR2RES_OBS_POL_EXTRACTB_IDP_PROCATG "OBS_POL_EXTRACTB_IDP"
331#define CR2RES_EMISSION_LINES_PROCATG "EMISSION_LINES"
334#define CR2RES_PHOTO_FLUX_PROCATG "PHOTO_FLUX"
337#define CR2RES_UTIL_CALIB_PROCATG "UTIL_CALIB"
340#define CR2RES_UTIL_BPM_MERGE_PROCATG "UTIL_BPM_MERGE"
343#define CR2RES_UTIL_BPM_SPLIT_PROCATG "UTIL_BPM_SPLIT"
346#define CR2RES_UTIL_TRACE_TW_PROCATG "UTIL_TRACE_TW"
349#define CR2RES_UTIL_SLIT_FUNC_PROCATG "UTIL_SLIT_FUNC"
350#define CR2RES_UTIL_SLIT_MODEL_PROCATG "UTIL_SLIT_MODEL"
351#define CR2RES_UTIL_EXTRACT_1D_PROCATG "UTIL_EXTRACT_1D"
354#define CR2RES_UTIL_MASTER_FLAT_PROCATG "UTIL_MASTER_FLAT"
355#define CR2RES_UTIL_NORM_BPM_PROCATG "UTIL_NORM_BPM"
358#define CR2RES_UTIL_SLIT_CURV_MAP_PROCATG "UTIL_SLIT_CURV_MAP"
359#define CR2RES_UTIL_SLIT_CURV_TW_PROCATG "UTIL_SLIT_CURV_TW"
362#define CR2RES_UTIL_WAVE_TW_PROCATG "UTIL_WAVE_TW"
363#define CR2RES_UTIL_WAVE_MAP_PROCATG "UTIL_WAVE_MAP"
364#define CR2RES_UTIL_WAVE_LINES_DIAGNOSTICS_PROCATG "UTIL_WAVE_LINES_DIAGNOSTICS"
365#define CR2RES_UTIL_WAVE_EXTRACT_1D_PROCATG "UTIL_WAVE_EXTRACT_1D"
368#define CR2RES_UTIL_TRACE_MAP_SLIT_CURVE_PROCATG "UTIL_TRACE_MAP_SLIT_CURVE"
369#define CR2RES_UTIL_TRACE_MAP_WL_PROCATG "UTIL_TRACE_MAP_WL"
370#define CR2RES_UTIL_TRACE_MAP_TRACE_PROCATG "UTIL_TRACE_MAP_TRACE"
373#define CR2RES_UTIL_SPLICE_SPLICED_1D_PROCATG "UTIL_SPLICE_SPLICED_1D"
376#define CR2RES_EMISSION_LINES_TXT_RAW "EMISSION_LINES_TXT"
377#define CR2RES_LINES_SELECTION_TXT_RAW "LINES_SELECTION_TXT"
378#define CR2RES_PHOTO_FLUX_TXT_RAW "PHOTO_FLUX_TXT"
379#define CR2RES_DETLIN_DARK_RAW "DETLIN_DARK"
380#define CR2RES_DETLIN_LAMP_RAW "DETLIN_LAMP"
381#define CR2RES_DARK_RAW "DARK"
382#define CR2RES_FLAT_RAW "FLAT"
383#define CR2RES_WAVE_FPET_RAW "WAVE_FPET"
384#define CR2RES_WAVE_UNE_RAW "WAVE_UNE"
385#define CR2RES_METROLOGY_RAW "METROLOGY"
386#define CR2RES_CAL_NODDING_OTHER_RAW "CAL_NODDING_OTHER"
387#define CR2RES_CAL_NODDING_JITTER_RAW "CAL_NODDING_JITTER"
388#define CR2RES_OBS_NODDING_OTHER_RAW "OBS_NODDING_OTHER"
389#define CR2RES_OBS_NODDING_JITTER_RAW "OBS_NODDING_JITTER"
390#define CR2RES_OBS_ASTROMETRY_OTHER_RAW "OBS_ASTROMETRY_OTHER"
391#define CR2RES_OBS_ASTROMETRY_JITTER_RAW "OBS_ASTROMETRY_JITTER"
392#define CR2RES_OBS_STARING_OTHER_RAW "OBS_STARING_OTHER"
393#define CR2RES_OBS_STARING_JITTER_RAW "OBS_STARING_JITTER"
394#define CR2RES_OBS_STARING_WAVE_SKY_RAW "OBS_WAVE_SKY"
395#define CR2RES_OBS_POLARIMETRY_OTHER_RAW "OBS_POLARIMETRY_OTHER"
396#define CR2RES_OBS_2D_OBJECT_RAW "OBS_2D_OBJECT"
397#define CR2RES_OBS_2D_SKY_RAW "OBS_2D_SKY"
422 const char * colname,
426 const char * colname,
char * cr2res_dfs_POL_colname_parse(const char *colname, int *order_idx)
Parse a column name ORDER_TYPE format.
char * cr2res_dfs_SLIT_FUNC_colname(int, int)
Get the SLIT_FUNC table column name for a given order/trace.
char * cr2res_dfs_POL_NULL_colname(int)
Get the POL_NULL column name for a given order.
char * cr2res_dfs_POL_STOKES_ERROR_colname(int)
Get the POL_STOKES_ERROR column name for a given order.
char * cr2res_dfs_CONVERSION_colname(int, int)
Get the CONVERSION column name for a given order/trace.
char * cr2res_dfs_SPEC_ERR_colname(int, int)
Get the ERR column name for a given order/trace.
char * cr2res_dfs_POL_INTENS_ERROR_colname(int)
Get the POL_INTENS_ERROR column name for a given order.
char * cr2res_dfs_SENSITIVITY_colname(int, int)
Get the SENSITIVITY column name for a given order/trace.
cpl_error_code cr2res_dfs_set_groups(cpl_frameset *)
Set the group as RAW or CALIB in a frameset.
int cr2res_dfs_check_traces_table(const cpl_table *traces)
Check completeness of trace table.
char * cr2res_dfs_WAVELENGTH_colname(int, int)
Get the WAVELENGTH column name for a given order/trace.
char * cr2res_dfs_POSITIONY_colname(int, int)
Get the POSITIONY table column name for a given order/trace.
char * cr2res_dfs_SLIT_FRACTION_colname(int, int)
Get the SLIT_FRACTION table column name for a given order/trace.
char * cr2res_dfs_POL_NULL_ERROR_colname(int)
Get the POL_NULL_ERROR column name for a given order.
char * cr2res_dfs_POL_STOKES_colname(int)
Get the POL_STOKES column name for a given order.
char * cr2res_dfs_SPEC_colname_parse(const char *colname, int *order_idx, int *trace)
Parse a column name ORDER_TRACE_TYPE format.
char * cr2res_dfs_THROUGHPUT_colname(int, int)
Get the THROUGHPUT column name for a given order/trace.
char * cr2res_dfs_POL_INTENS_colname(int)
Get the POL_INTENS column name for a given order.
char * cr2res_dfs_SPEC_colname(int, int)
Get the SPEC column name for a given order/trace.
char * cr2res_dfs_POL_WAVELENGTH_colname(int)
Get the POL_WAVELENGTH column name for a given order.
char * cr2res_dfs_POSITIONX_colname(int, int)
Get the POSITIONX table column name for a given order/trace.
cpl_table * cr2res_dfs_create_lines_diagnostics_table(int nrows)
Create an empty LINES DIAGNOSTICS table.