24 #include "muse_cplwrappers.h" 25 #include "muse_data_format_z.h" 67 {
"SPEC_ID", CPL_TYPE_INT, NULL,
"%5d",
68 "Spectrum identifier", CPL_TRUE},
69 {
"SELECTED", CPL_TYPE_INT, NULL,
"%1d",
70 "Selection flag", CPL_TRUE},
71 {
"NSPAX", CPL_TYPE_INT, NULL,
"%d",
72 "Number of instrument spaxels composing the spectrum", CPL_TRUE},
73 {
"SPEC_LEN", CPL_TYPE_INT,
"pixel",
"%ld",
74 "Useful number of spectral elements", CPL_TRUE},
75 {
"SPEC_STA", CPL_TYPE_INT,
"pixel",
"%7d",
76 "Starting wavelength of spectrum", CPL_TRUE},
77 {
"XPOS", CPL_TYPE_DOUBLE,
"pix",
"%f",
78 "Horizontal position", CPL_TRUE},
79 {
"YPOS", CPL_TYPE_DOUBLE,
"pix",
"%f",
80 "Vertical position", CPL_TRUE},
81 {
"GROUP_N", CPL_TYPE_INT, NULL,
"%d",
82 "Group number", CPL_TRUE},
83 {
"SPAX_ID", CPL_TYPE_STRING, NULL,
"%s",
84 "Spaxel identifier", CPL_TRUE},
85 {
"DATA_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL,
"%1.5e",
86 "Data spectrum", CPL_TRUE},
87 {
"QUAL_SPE", CPL_TYPE_INT | CPL_TYPE_POINTER, NULL,
"%010x",
88 "Data quality spectrum", CPL_TRUE},
89 {
"STAT_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL,
"%1.5e",
90 "Associated statistical error spectrum", CPL_TRUE},
91 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
125 {
"GROUP_N", CPL_TYPE_INT, NULL,
"%1d",
126 "Group number", CPL_TRUE},
127 {
"G_SHAPE", CPL_TYPE_STRING, NULL,
"%s",
128 "Spaxel shape keyword", CPL_TRUE},
129 {
"G_SIZE1", CPL_TYPE_FLOAT,
"arcsec",
"%1.5e",
130 "Horizontal size per spaxel", CPL_TRUE},
131 {
"G_ANGLE", CPL_TYPE_FLOAT,
"deg",
"%1.5e",
132 "Angle of spaxel on the sky", CPL_TRUE},
133 {
"G_SIZE2", CPL_TYPE_FLOAT,
"arcsec",
"%1.5e",
134 "Vertical size per spaxel", CPL_TRUE},
135 {
"G_POSWAV", CPL_TYPE_FLOAT,
"Angstrom",
"%1.5e",
136 "Wavelength for which the WCS is valid", CPL_TRUE},
137 {
"G_AIRMAS", CPL_TYPE_FLOAT, NULL,
"%1.5e",
138 "Airmass", CPL_TRUE},
139 {
"G_PARANG", CPL_TYPE_FLOAT,
"deg",
"%1.5e",
140 "Parallactic angle", CPL_TRUE},
141 {
"G_PRESSU", CPL_TYPE_FLOAT,
"hPa",
"%1.5e",
142 "Pressure", CPL_TRUE},
143 {
"G_TEMPER", CPL_TYPE_FLOAT,
"K",
"%1.5e",
144 "Temperature", CPL_TRUE},
145 {
"G_HUMID", CPL_TYPE_FLOAT, NULL,
"%1.5e",
146 "Humidity", CPL_TRUE},
147 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
165 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
166 "Wavelength", CPL_TRUE},
167 {
"data", CPL_TYPE_DOUBLE,
"count",
"%1.5e",
168 "Data values", CPL_TRUE},
169 {
"stat", CPL_TYPE_DOUBLE,
"count",
"%1.5e",
170 "Data variance", CPL_TRUE},
171 {
"dq", CPL_TYPE_INT, NULL,
"%#x",
172 "Quality flag of data values", CPL_TRUE},
173 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
177 #ifdef XML_TABLEDEF_TRACE_TABLE 199 {
"SliceNo", CPL_TYPE_INT, NULL,
"%7d",
200 "Slice number", CPL_TRUE},
201 {
"Width", CPL_TYPE_FLOAT, NULL,
"%1.5e",
202 "Average slice width", CPL_TRUE},
203 {
"tc0_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
204 "polynomial coefficients for the central trace solution", CPL_TRUE},
205 {
"MSE0", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
206 "mean squared error of fit (central solution)", CPL_TRUE},
207 {
"tc1_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
208 "polynomial coefficients for the left-edge trace solution", CPL_TRUE},
209 {
"MSE1", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
210 "mean squared error of fit (left-edge solution)", CPL_TRUE},
211 {
"tc2_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
212 "polynomial coefficients for the right-edge trace solution", CPL_TRUE},
213 {
"MSE2", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
214 "mean squared error of fit (right-edge solution)", CPL_TRUE},
215 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
220 #ifdef XML_TABLEDEF_TRACE_SAMPLES 240 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
241 "Slice number", CPL_TRUE},
242 {
"y", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
243 "y position on the CCD", CPL_TRUE},
244 {
"mid", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
245 "Midpoint of the slice at this y position", CPL_TRUE},
246 {
"left", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
247 "Left edge of the slice at this y position", CPL_TRUE},
248 {
"right", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
249 "Right edge of the slice at this y position", CPL_TRUE},
250 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
255 #ifdef XML_TABLEDEF_WAVECAL_TABLE 271 {
"SliceNo", CPL_TYPE_INT, NULL,
"%7d",
272 "Slice number", CPL_TRUE},
273 {
"wlcIJ", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
274 "Polynomial coefficients for the wavelength solution", CPL_TRUE},
275 {
"MSE", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
276 "Mean squared error of fit", CPL_TRUE},
277 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
282 #ifdef XML_TABLEDEF_WAVECAL_RESIDUALS 303 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
304 "Slice number", CPL_TRUE},
305 {
"iteration", CPL_TYPE_INT, NULL,
"%7d",
306 "Iteration", CPL_TRUE},
307 {
"x", CPL_TYPE_INT,
"pix",
"%7d",
308 "x position on the CCD", CPL_TRUE},
309 {
"y", CPL_TYPE_INT,
"pix",
"%7d",
310 "y position on the CCD", CPL_TRUE},
311 {
"lambda", CPL_TYPE_FLOAT,
"Angstrom",
"%1.5e",
312 "Wavelength", CPL_TRUE},
313 {
"residual", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
314 "Residual at this point", CPL_TRUE},
315 {
"rejlimit", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
316 "Rejection limit for this iteration", CPL_TRUE},
317 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
351 {
"ifu", CPL_TYPE_INT, NULL,
"%7d",
352 "IFU number", CPL_TRUE},
353 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
354 "Slice number within the IFU", CPL_TRUE},
355 {
"sensitivity", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
356 "Detector sensitivity, relative to the reference", CPL_TRUE},
357 {
"offset", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
358 "Wavelength calibration offset", CPL_TRUE},
359 {
"refraction", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
360 "Relative refraction index", CPL_TRUE},
361 {
"slit_width", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
362 "Slit width", CPL_TRUE},
363 {
"bin_width", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
364 "Bin width", CPL_TRUE},
365 {
"lsf_width", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
366 "LSF gauss-hermitean width", CPL_TRUE},
367 {
"hermit3", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
368 "3th order hermitean coefficient", CPL_TRUE},
369 {
"hermit4", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
370 "4th order hermitean coefficient", CPL_TRUE},
371 {
"hermit5", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
372 "5th order hermitean coefficient", CPL_TRUE},
373 {
"hermit6", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
374 "6th order hermitean coefficient", CPL_TRUE},
375 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
379 #ifdef XML_TABLEDEF_GEOMETRY_TABLE 404 {
"SubField", CPL_TYPE_INT, NULL,
"%02d",
405 "sub-field (IFU / channel) number", CPL_TRUE},
406 {
"SliceCCD", CPL_TYPE_INT, NULL,
"%02d",
407 "Slice number on the CCD, counted from left to right", CPL_TRUE},
408 {
"SliceSky", CPL_TYPE_INT, NULL,
"%02d",
409 "Slice number on the sky", CPL_TRUE},
410 {
"x", CPL_TYPE_DOUBLE,
"pix",
"%9.4f",
411 "x position within field of view", CPL_TRUE},
412 {
"y", CPL_TYPE_DOUBLE,
"pix",
"%9.4f",
413 "y position within field of view", CPL_TRUE},
414 {
"angle", CPL_TYPE_DOUBLE,
"deg",
"%6.3f",
415 "Rotation angle of slice", CPL_TRUE},
416 {
"width", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
417 "Width of slice within field of view", CPL_TRUE},
418 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
423 #ifdef XML_TABLEDEF_SPOTS_TABLE 460 {
"filename", CPL_TYPE_STRING, NULL,
"%s",
461 "(Raw) filename from which this measurement originates", CPL_TRUE},
462 {
"image", CPL_TYPE_INT, NULL,
"%03d",
463 "Number of the image in the series", CPL_TRUE},
464 {
"POSENC2", CPL_TYPE_INT, NULL,
"%7d",
465 "X position of the mask in encoder steps", CPL_TRUE},
466 {
"POSPOS2", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
467 "X position of the mask", CPL_TRUE},
468 {
"POSENC3", CPL_TYPE_INT, NULL,
"%7d",
469 "Y position of the mask in encoder steps", CPL_TRUE},
470 {
"POSPOS3", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
471 "Y position of the mask", CPL_TRUE},
472 {
"POSENC4", CPL_TYPE_INT, NULL,
"%7d",
473 "Z position of the mask in encoder steps", CPL_TRUE},
474 {
"POSPOS4", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
475 "Z position of the mask", CPL_TRUE},
476 {
"VPOS", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
477 "Real vertical position of the mask", CPL_TRUE},
478 {
"ScaleFOV", CPL_TYPE_DOUBLE,
"arcsec/mm",
"%.3f",
479 "Focus scale in VLT focal plane (from the FITS header)", CPL_TRUE},
480 {
"SubField", CPL_TYPE_INT, NULL,
"%02d",
481 "Sub-field number", CPL_TRUE},
482 {
"SliceCCD", CPL_TYPE_INT, NULL,
"%02d",
483 "Slice number as counted on the CCD", CPL_TRUE},
484 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%.3f",
485 "Wavelength", CPL_TRUE},
486 {
"SpotNo", CPL_TYPE_INT, NULL,
"%04d",
487 "Number of this spot within the slice (1 is left, 2 is the central one, 3 is right within the slice)", CPL_TRUE},
488 {
"xc", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
489 "x center of this spot on the CCD", CPL_TRUE},
490 {
"yc", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
491 "y center of this spot on the CCD", CPL_TRUE},
492 {
"xfwhm", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
493 "FWHM in x-direction on the CCD", CPL_TRUE},
494 {
"yfwhm", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
495 "FWHM in y-direction on the CCD", CPL_TRUE},
496 {
"flux", CPL_TYPE_DOUBLE, NULL,
"%.1f",
497 "Flux of the spot as integrated on the CCD image", CPL_TRUE},
498 {
"bg", CPL_TYPE_DOUBLE, NULL,
"%f",
499 "Background level around the spot", CPL_TRUE},
500 {
"dxcen", CPL_TYPE_DOUBLE,
"pix",
"%f",
501 "distance to center of slice at vertical position yc (positive: right of center)", CPL_TRUE},
502 {
"twidth", CPL_TYPE_DOUBLE,
"pix",
"%f",
503 "trace width of the slice at the vertical CCD position of the spot", CPL_TRUE},
504 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
527 {
"name", CPL_TYPE_STRING, NULL,
"%s",
528 "Line name", CPL_TRUE},
529 {
"group", CPL_TYPE_INT, NULL,
"%2d",
530 "Line group id", CPL_TRUE},
531 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
532 "Air wavelength", CPL_TRUE},
533 {
"flux", CPL_TYPE_DOUBLE,
"10**(-20)*erg/(s cm^2 arcsec^2)",
"%1.5e",
534 "Line flux", CPL_TRUE},
535 {
"dq", CPL_TYPE_INT, NULL,
"%#x",
536 "Quality of the entry (>0: dont use)", CPL_TRUE},
537 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
562 {
"name", CPL_TYPE_STRING, NULL,
"%s",
563 "Transition name; like \"OH 8-3 P1e(22.5) 2\"", CPL_TRUE},
564 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
565 "Air wavelength", CPL_TRUE},
566 {
"v_u", CPL_TYPE_INT, NULL,
"%7d",
567 "Upper transition level", CPL_TRUE},
568 {
"v_l", CPL_TYPE_INT, NULL,
"%7d",
569 "Lower transition level", CPL_TRUE},
570 {
"nu", CPL_TYPE_INT, NULL,
"%7d",
571 "Vibrational momentum", CPL_TRUE},
572 {
"E_u", CPL_TYPE_DOUBLE,
"J",
"%1.5e",
573 "Upper energy", CPL_TRUE},
574 {
"J_u", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
575 "Upper momentum", CPL_TRUE},
576 {
"A", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
577 "Transition probability", CPL_TRUE},
578 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
582 #ifdef XML_TABLEDEF_FLUX_TABLE 598 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
599 "Wavelength", CPL_TRUE},
600 {
"flux", CPL_TYPE_DOUBLE,
"erg/(s cm^2 arcsec^2)",
"%1.5e",
602 {
"fluxerr", CPL_TYPE_DOUBLE,
"erg/(s cm^2 arcsec^2)",
"%1.5e",
603 "Error of the flux", CPL_FALSE},
604 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
609 #ifdef XML_TABLEDEF_STD_FLUX_TABLE 632 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
633 "Wavelength", CPL_TRUE},
634 {
"flux", CPL_TYPE_DOUBLE,
"erg/s/cm**2/Angstrom",
"%1.5e",
635 "The standard star flux", CPL_TRUE},
636 {
"fluxerr", CPL_TYPE_DOUBLE,
"erg/s/cm**2/Angstrom",
"%1.5e",
637 "Error of the standard star flux, optional", CPL_FALSE},
638 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
643 #ifdef XML_TABLEDEF_STD_RESPONSE 663 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
664 "wavelength", CPL_TRUE},
665 {
"response", CPL_TYPE_DOUBLE,
"2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))",
"%.4e",
666 "instrument response derived from standard star", CPL_TRUE},
667 {
"resperr", CPL_TYPE_DOUBLE,
"2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))",
"%.4e",
668 "instrument response error derived from standard star", CPL_TRUE},
669 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
674 #ifdef XML_TABLEDEF_STD_TELLURIC 689 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
690 "wavelength", CPL_TRUE},
691 {
"ftelluric", CPL_TYPE_DOUBLE, NULL,
"%.5f",
692 "the telluric correction factor, normalized to an airmass of 1", CPL_TRUE},
693 {
"ftellerr", CPL_TYPE_DOUBLE, NULL,
"%.5f",
694 "the error of the telluric correction factor", CPL_TRUE},
695 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
700 #ifdef XML_TABLEDEF_EXTINCT_TABLE 719 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
720 "Wavelength", CPL_TRUE},
721 {
"extinction", CPL_TYPE_DOUBLE,
"mag/airmass",
"%1.5e",
722 "Extinction", CPL_TRUE},
723 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
728 #ifdef XML_TABLEDEF_TELLURIC_REGIONS 746 {
"lmin", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
747 "Lower limit of the telluric region", CPL_TRUE},
748 {
"lmax", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
749 "Upper limit of the telluric region", CPL_TRUE},
750 {
"bgmin", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
751 "Lower limit of the background region", CPL_TRUE},
752 {
"bgmax", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
753 "Upper limit of the background region", CPL_TRUE},
754 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
786 { MUSE_LINE_CATALOG_LAMBDA, CPL_TYPE_FLOAT,
"Angstrom",
"%1.5e",
787 "Wavelength", CPL_TRUE},
788 { MUSE_LINE_CATALOG_FLUX, CPL_TYPE_FLOAT, NULL,
"%1.5e",
789 "Relative flux", CPL_TRUE},
790 { MUSE_LINE_CATALOG_ION, CPL_TYPE_STRING, NULL,
"%s",
791 "Ion from which the line originates", CPL_TRUE},
792 { MUSE_LINE_CATALOG_QUALITY, CPL_TYPE_INT, NULL,
"%7d",
793 "Quality flag (0: undetected line, 1: line used for pattern matching, 2: line that is part of a multiplet, 3: good line, fully used, 5: bright and isolated line, use as FWHM reference", CPL_TRUE},
794 {
"comment", CPL_TYPE_STRING, NULL,
"%s",
795 "Optional comment", CPL_FALSE},
796 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
816 { MUSE_BADPIX_X, CPL_TYPE_INT,
"pix",
"%4d",
817 "X position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
818 { MUSE_BADPIX_Y, CPL_TYPE_INT,
"pix",
"%4d",
819 "Y position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
820 { MUSE_BADPIX_DQ, CPL_TYPE_INT, NULL,
"%#010x",
821 "32bit bad pixel mask as defined by Euro3D", CPL_TRUE},
822 { MUSE_BADPIX_VALUE, CPL_TYPE_FLOAT,
"count",
"%7.4f",
823 "Extra value, e.g. depth for traps", CPL_TRUE},
824 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
828 #ifdef XML_TABLEDEF_ASTROMETRY_REFERENCE 853 {
"SourceID", CPL_TYPE_STRING, NULL,
"%s",
854 "Source identification", CPL_TRUE},
855 {
"RA", CPL_TYPE_DOUBLE,
"deg",
"%1.5e",
856 "Right ascension", CPL_TRUE},
857 {
"DEC", CPL_TYPE_DOUBLE,
"deg",
"%1.5e",
858 "Declination", CPL_TRUE},
859 {
"filter", CPL_TYPE_STRING, NULL,
"%s",
860 "Filter name used for column mag", CPL_TRUE},
861 {
"mag", CPL_TYPE_DOUBLE,
"mag",
"%1.5e",
862 "Object (Vega) magnitude", CPL_TRUE},
863 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
868 #ifdef XML_TABLEDEF_FILTER_LIST 884 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
885 "Wavelength", CPL_TRUE},
886 {
"throughput", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
887 "Filter throughput (in fractions of 1)", CPL_TRUE},
888 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
926 { MUSE_OFFSETS_DATEOBS, CPL_TYPE_STRING, NULL,
"%s",
927 "Date and time at the start of the exposure", CPL_TRUE},
928 { MUSE_OFFSETS_MJDOBS, CPL_TYPE_DOUBLE,
"s",
"%.8f",
929 "MJD at the start of the exposure", CPL_FALSE},
930 { MUSE_OFFSETS_DRA, CPL_TYPE_DOUBLE,
"deg",
"%.6e",
931 "Right ascension offset in degrees", CPL_TRUE},
932 { MUSE_OFFSETS_DDEC, CPL_TYPE_DOUBLE,
"deg",
"%.6e",
933 "Declination offset in degrees", CPL_TRUE},
934 { MUSE_OFFSETS_FSCALE, CPL_TYPE_DOUBLE, NULL,
"%.5f",
935 "(Relative) flux scaling of the given exposure", CPL_FALSE},
936 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
Definition of a cpl table structure.