00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306 #ifndef UVES_DFS_H
00307 #define UVES_DFS_H
00308
00309
00310
00311
00312
00313 #include <uves_propertylist.h>
00314 #include <uves_utils_polynomial.h>
00315 #include <uves_chip.h>
00316 #include <uves_utils.h>
00317 #include <cpl.h>
00318
00319 #include <stdbool.h>
00320 #include <math.h>
00321
00322
00323
00324
00325
00326
00327
00328 #define FLAMES_SCI_RED "FIB_SCI_RED"
00329 #define FLAMES_SCI_SIM_RED "FIB_SCI_SIM_RED"
00330 #define FLAMES_SCI_COM_RED "FIB_SCI_COM_RED"
00331 #define FLAMES_CORVEL_MASK "CORVEL_MASK"
00332
00333
00334
00335 #define FLAMES_LINE_TABLE(chip) ((chip) == UVES_CHIP_REDL ? "FIB_LINE_TABLE_REDL" : \
00336 (chip) == UVES_CHIP_REDU ? "FIB_LINE_TABLE_REDU" : "???")
00337
00338 #define FLAMES_LINE_TABLE_MIDAS(chip) ((chip) == UVES_CHIP_REDL ? "FIB_LINE_TABLE_REDL" : \
00339 (chip) == UVES_CHIP_REDU ? "FIB_LINE_TABLE_REDU" : "???")
00340
00341 #define FLAMES_SLIT_FF_DT1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT1_REDL" : \
00342 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT1_REDU" : "???")
00343
00344 #define FLAMES_SLIT_FF_DT2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT2_REDL" : \
00345 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT2_REDU" : "???")
00346
00347 #define FLAMES_SLIT_FF_DT3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT3_REDL" : \
00348 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT3_REDU" : "???")
00349
00350 #define FLAMES_SLIT_FF_DTC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DTC_REDL" : \
00351 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DTC_REDU" : "???")
00352
00353 #define FLAMES_SLIT_FF_DT(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_DT1(chip) : \
00354 (it) == 2 ? FLAMES_SLIT_FF_DT2(chip) : \
00355 (it) == 3 ? FLAMES_SLIT_FF_DT3(chip) : "???")
00356
00357 #define FLAMES_SLIT_FF_BP1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP1_REDL" : \
00358 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP1_REDU" : "???")
00359
00360 #define FLAMES_SLIT_FF_BP2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP2_REDL" : \
00361 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP2_REDU" : "???")
00362
00363 #define FLAMES_SLIT_FF_BP3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP3_REDL" : \
00364 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP3_REDU" : "???")
00365
00366 #define FLAMES_SLIT_FF_BPC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BPC_REDL" : \
00367 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BPC_REDU" : "???")
00368
00369 #define FLAMES_SLIT_FF_BP(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_BP1(chip) : \
00370 (it) == 2 ? FLAMES_SLIT_FF_BP2(chip) : \
00371 (it) == 3 ? FLAMES_SLIT_FF_BP3(chip) : "???")
00372
00373
00374 #define FLAMES_SLIT_FF_BN1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN1_REDL" : \
00375 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN1_REDU" : "???")
00376
00377 #define FLAMES_SLIT_FF_BN2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN2_REDL" : \
00378 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN2_REDU" : "???")
00379
00380 #define FLAMES_SLIT_FF_BN3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN3_REDL" : \
00381 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN3_REDU" : "???")
00382
00383 #define FLAMES_SLIT_FF_BN4(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN4_REDL" : \
00384 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN4_REDU" : "???")
00385
00386 #define FLAMES_SLIT_FF_BNC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BNC_REDL" : \
00387 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BNC_REDU" : "???")
00388
00389 #define FLAMES_SLIT_FF_BN(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_BN1(chip) : \
00390 (it) == 2 ? FLAMES_SLIT_FF_BN2(chip) : \
00391 (it) == 3 ? FLAMES_SLIT_FF_BN3(chip) : \
00392 (it) == 4 ? FLAMES_SLIT_FF_BN4(chip) : "???")
00393
00394
00395 #define FLAMES_SLIT_FF_SG1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG1_REDL" : \
00396 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG1_REDU" : "???")
00397
00398 #define FLAMES_SLIT_FF_SG2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG2_REDL" : \
00399 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG2_REDU" : "???")
00400
00401 #define FLAMES_SLIT_FF_SG3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG3_REDL" : \
00402 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG3_REDU" : "???")
00403
00404 #define FLAMES_SLIT_FF_SGC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SGC_REDL" : \
00405 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SGC_REDU" : "???")
00406
00407
00408 #define FLAMES_SLIT_FF_SG(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_SG1(chip) : \
00409 (it) == 2 ? FLAMES_SLIT_FF_SG2(chip) : \
00410 (it) == 3 ? FLAMES_SLIT_FF_SG3(chip) : "???")
00411
00412 #define FLAMES_SLIT_FF_COM(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_COM_REDL" : \
00413 (chip) == UVES_CHIP_REDU ? "SLIT_FF_COM_REDU" : "???")
00414
00415 #define FLAMES_SLIT_FF_NOR(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_NOR_REDL" : \
00416 (chip) == UVES_CHIP_REDU ? "SLIT_FF_NOR_REDU" : "???")
00417
00418 #define FLAMES_SLIT_FF_NSG(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_NSG_REDL" : \
00419 (chip) == UVES_CHIP_REDU ? "SLIT_FF_NSG_REDU" : "???")
00420
00421
00422
00423 #define FLAMES_FIB_FF_DT1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT1_REDL" : \
00424 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT1_REDU" : "???")
00425
00426 #define FLAMES_FIB_FF_DT2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT2_REDL" : \
00427 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT2_REDU" : "???")
00428
00429 #define FLAMES_FIB_FF_DT3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT3_REDL" : \
00430 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT3_REDU" : "???")
00431
00432 #define FLAMES_FIB_FF_DTC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DTC_REDL" : \
00433 (chip) == UVES_CHIP_REDU ? "FIB_FF_DTC_REDU" : "???")
00434
00435
00436 #define FLAMES_FIB_FF_DT(it, chip) ((it) == 1 ? FLAMES_FIB_FF_DT1(chip) : \
00437 (it) == 2 ? FLAMES_FIB_FF_DT2(chip) : \
00438 (it) == 3 ? FLAMES_FIB_FF_DT3(chip) : "???")
00439
00440
00441
00442 #define FLAMES_FIB_FF_BP1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP1_REDL" : \
00443 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP1_REDU" : "???")
00444
00445 #define FLAMES_FIB_FF_BP2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP2_REDL" : \
00446 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP2_REDU" : "???")
00447
00448 #define FLAMES_FIB_FF_BP3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP3_REDL" : \
00449 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP3_REDU" : "???")
00450
00451 #define FLAMES_FIB_FF_BPC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BPC_REDL" : \
00452 (chip) == UVES_CHIP_REDU ? "FIB_FF_BPC_REDU" : "???")
00453
00454 #define FLAMES_FIB_FF_BP(it, chip) ((it) == 1 ? FLAMES_FIB_FF_BP1(chip) : \
00455 (it) == 2 ? FLAMES_FIB_FF_BP2(chip) : \
00456 (it) == 3 ? FLAMES_FIB_FF_BP3(chip) : "???")
00457
00458
00459
00460 #define FLAMES_FIB_FF_BN1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN1_REDL" : \
00461 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN1_REDU" : "???")
00462
00463 #define FLAMES_FIB_FF_BN2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN2_REDL" : \
00464 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN2_REDU" : "???")
00465
00466 #define FLAMES_FIB_FF_BN3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN3_REDL" : \
00467 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN3_REDU" : "???")
00468 #define FLAMES_FIB_FF_BNC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BNC_REDL" : \
00469 (chip) == UVES_CHIP_REDU ? "FIB_FF_BNC_REDU" : "???")
00470
00471
00472 #define FLAMES_FIB_FF_SG1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG1_REDL" : \
00473 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG1_REDU" : "???")
00474
00475 #define FLAMES_FIB_FF_SG2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG2_REDL" : \
00476 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG2_REDU" : "???")
00477
00478 #define FLAMES_FIB_FF_SG3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG3_REDL" : \
00479 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG3_REDU" : "???")
00480
00481 #define FLAMES_FIB_FF_SGC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SGC_REDL" : \
00482 (chip) == UVES_CHIP_REDU ? "FIB_FF_SGC_REDU" : "???")
00483
00484 #define FLAMES_FIB_FF_SG(it, chip) ((it) == 1 ? FLAMES_FIB_FF_SG1(chip) : \
00485 (it) == 2 ? FLAMES_FIB_FF_SG2(chip) : \
00486 (it) == 3 ? FLAMES_FIB_FF_SG3(chip) : "???")
00487
00488
00489 #define FLAMES_FIB_FF_COM(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_COM_REDL" : \
00490 (chip) == UVES_CHIP_REDU ? "FIB_FF_COM_REDU" : "???")
00491
00492 #define FLAMES_FIB_FF_NOR(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_NOR_REDL" : \
00493 (chip) == UVES_CHIP_REDU ? "FIB_FF_NOR_REDU" : "???")
00494
00495 #define FLAMES_FIB_FF_NSG(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_NSG_REDL" : \
00496 (chip) == UVES_CHIP_REDU ? "FIB_FF_NSG_REDU" : "???")
00497
00498
00499 #define FIB_FF_ODD_INFO_TAB "FIB_FF_ODD_INFO_TAB"
00500 #define FIB_FF_EVEN_INFO_TAB "FIB_FF_EVEN_INFO_TAB"
00501 #define FIB_FF_ALL_INFO_TAB "FIB_FF_ALL_INFO_TAB"
00502
00503
00504
00505
00506
00507 #define FLAMES_FIB_FF_ALL "FIB_FF_ALL_RED"
00508 #define FLAMES_FIB_FF_ODD "FIB_FF_ODD_RED"
00509 #define FLAMES_FIB_FF_EVEN "FIB_FF_EVEN_RED"
00510
00511 #define FLAMES_CORVEL(chip) ((chip) == UVES_CHIP_REDL ? "CORVEL_TAB_REDL" : \
00512 (chip) == UVES_CHIP_REDU ? "CORVEL_TAB_REDU" : "???")
00513
00514
00515
00516
00517 #define FLAMES_FIB_SCI_SIM "FIB_SCI_SIM_RED"
00518
00519
00520 #define FLAMES_ORDEF(flames, chip) ((flames) ? \
00521 (((chip) == UVES_CHIP_REDU) ? "FIB_ORDEF_REDU" : \
00522 ((chip) == UVES_CHIP_REDL) ? "FIB_ORDEF_REDL" : \
00523 "???") : "??UVES??")
00524 #define FLAMES_ORDEF_EXTENSION(flames, chip) 0
00525
00526
00527
00528
00529
00530 #define UVES_FORMATCHECK(flames,blue) ((flames) ? "FIB_ARC_LAMP_FORM_RED" : \
00531 ((blue) ? "ARC_LAMP_FORM_BLUE" : "ARC_LAMP_FORM_RED"))
00532
00533
00534 #define UVES_ORDER_FLAT(flames, blue) ((flames) ? "FIB_ORDEF_RED" : \
00535 ((blue) ? "ORDER_FLAT_BLUE" : "ORDER_FLAT_RED"))
00536
00537
00538 #define UVES_BIAS(blue) ((blue) ? "BIAS_BLUE" : "BIAS_RED")
00539
00540
00541 #define UVES_DARK(blue) ((blue) ? "DARK_BLUE" : "DARK_RED")
00542 #define UVES_PDARK(blue) ((blue) ? "PDARK_BLUE" : "PDARK_RED")
00543
00544
00545 #define UVES_FLAT(blue) ((blue) ? "FLAT_BLUE" : "FLAT_RED")
00546 #define UVES_IFLAT(blue) ((blue) ? "IFLAT_BLUE" : "IFLAT_RED")
00547 #define UVES_DFLAT(blue) ((blue) ? "DFLAT_BLUE" : "DFLAT_RED")
00548 #define UVES_SFLAT(blue) ((blue) ? "SFLAT_BLUE" : "SFLAT_RED")
00549 #define UVES_TFLAT(blue) ((blue) ? "TFLAT_BLUE" : "TFLAT_RED")
00550 #define UVES_SCREEN_FLAT(blue) ((blue) ? "SCREEN_FLAT_BLUE" : "SCREEN_FLAT_RED")
00551
00552
00553 #define UVES_ARC_LAMP(flames,blue) ((flames) ? "FIB_ARC_LAMP_RED" : \
00554 ((blue) ? "ARC_LAMP_BLUE" : "ARC_LAMP_RED"))
00555
00556 #define UVES_ECH_ARC_LAMP(blue) ((blue) ? "ECH_ARC_LAMP_BLUE" : "ECH_ARC_LAMP_RED")
00557
00558
00559 #define UVES_CD_ALIGN(blue) ((blue) ? "CD_ALIGN_BLUE" : "CD_ALIGN_RED")
00560
00561
00562 #define UVES_STD_STAR(blue) ((blue) ? "STANDARD_BLUE" : "STANDARD_RED")
00563
00564
00565 #define UVES_SCIENCE(blue) ((blue) ? "SCIENCE_BLUE" : "SCIENCE_RED")
00566 #define UVES_SCI_EXTND(blue) ((blue) ? "SCI_EXTND_BLUE" : "SCI_EXTND_RED")
00567 #define UVES_SCI_POINT(blue) ((blue) ? "SCI_POINT_BLUE" : "SCI_POINT_RED")
00568 #define UVES_SCI_SLICER(blue) ((blue) ? "SCI_SLICER_BLUE" : "SCI_SLICER_RED")
00569
00570
00571 #define UVES_DRS_SETUP(flames, chip) ((flames) ? \
00572 (((chip) == UVES_CHIP_REDU) ? "FIB_DRS_REDU" : \
00573 ((chip) == UVES_CHIP_REDL) ? "FIB_DRS_REDL" : "???") \
00574 : \
00575 (((chip) == UVES_CHIP_BLUE) ? "DRS_SETUP_BLUE" : \
00576 ((chip) == UVES_CHIP_REDU) ? "DRS_SETUP_REDU" : \
00577 ((chip) == UVES_CHIP_REDL) ? "DRS_SETUP_REDL" : "???"))
00578
00579 #define UVES_DRS_SETUP_EXTENSION(chip) 1
00580
00581
00582 #define UVES_GUESS_ORDER_TABLE(flames,chip) ((flames) ? \
00583 (((chip) == UVES_CHIP_REDU) ? "FIB_ORD_GUE_REDU" : \
00584 ((chip) == UVES_CHIP_REDL) ? "FIB_ORD_GUE_REDL" : "???")\
00585 : \
00586 (((chip) == UVES_CHIP_BLUE) ? "ORDER_GUESS_TAB_BLUE" : \
00587 ((chip) == UVES_CHIP_REDU) ? "ORDER_GUESS_TAB_REDU" : \
00588 ((chip) == UVES_CHIP_REDL) ? "ORDER_GUESS_TAB_REDL" : \
00589 "???"))
00590
00591
00592
00593 #define UVES_ORD_TAB(flames,chip) ((flames) ? \
00594 (((chip) == UVES_CHIP_REDU) ? "FIB_ORD_TAB_REDU" : \
00595 ((chip) == UVES_CHIP_REDL) ? "FIB_ORD_TAB_REDL" : "???")\
00596 : \
00597 (((chip) == UVES_CHIP_BLUE) ? "ORDER_TABLE_BLUE" : \
00598 ((chip) == UVES_CHIP_REDU) ? "ORDER_TABLE_REDU" : \
00599 ((chip) == UVES_CHIP_REDL) ? "ORDER_TABLE_REDL" : \
00600 "???"))
00601
00602 #define UVES_GUESS_ORDER_TABLE_EXTENSION(flames,chip) 1
00603
00604
00605
00606 #define UVES_ORDER_TABLE(flames,chip) ((flames) ? \
00607 (((chip) == UVES_CHIP_REDU) ? "FIB_ORDEF_TABLE_REDU" : \
00608 ((chip) == UVES_CHIP_REDL) ? "FIB_ORDEF_TABLE_REDL" : \
00609 "???") \
00610 : \
00611 (((chip) == UVES_CHIP_BLUE) ? "ORDER_TABLE_BLUE" : \
00612 ((chip) == UVES_CHIP_REDU) ? "ORDER_TABLE_REDU" : \
00613 ((chip) == UVES_CHIP_REDL) ? "ORDER_TABLE_REDL" : \
00614 "???"))
00615 #define UVES_ORDER_TABLE_EXTENSION 1
00616 #define UVES_ORDER_TABLE_EXTENSION_POLY 2
00617 #define UVES_ORDER_TABLE_EXTENSION_FIBRE 3
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637 #define FLAMES_SCI_INFO_TAB "FIB_SCI_INFO_TAB"
00638
00639 #define FLAMES_MWXB_SCI(chip) ( \
00640 ((chip) == UVES_CHIP_REDU) ? "MWXB_SCI_REDU" : \
00641 ((chip) == UVES_CHIP_REDL) ? "MWXB_SCI_REDL" : \
00642 "???")
00643
00644 #define FLAMES_ERR_MWXB_SCI(chip) ( \
00645 ((chip) == UVES_CHIP_REDU) ? "ERR_MWXB_SCI_REDU" : \
00646 ((chip) == UVES_CHIP_REDL) ? "ERR_MWXB_SCI_REDL" : \
00647 "???")
00648
00649
00650 #define FLAMES_XB_SCI(chip) ( \
00651 ((chip) == UVES_CHIP_REDU) ? "XB_SCI_REDU" : \
00652 ((chip) == UVES_CHIP_REDL) ? "XB_SCI_REDL" : \
00653 "???")
00654
00655 #define FLAMES_ERR_XB_SCI(chip) ( \
00656 ((chip) == UVES_CHIP_REDU) ? "ERR_XB_SCI_REDU" : \
00657 ((chip) == UVES_CHIP_REDL) ? "ERR_XB_SCI_REDL" : \
00658 "???")
00659
00660 #define FLAMES_WXB_SCI(chip) ( \
00661 ((chip) == UVES_CHIP_REDU) ? "WXB_SCI_REDU" : \
00662 ((chip) == UVES_CHIP_REDL) ? "WXB_SCI_REDL" : \
00663 "???")
00664
00665 #define FLAMES_ERR_WXB_SCI(chip) ( \
00666 ((chip) == UVES_CHIP_REDU) ? "ERR_WXB_SCI_REDU" : \
00667 ((chip) == UVES_CHIP_REDL) ? "ERR_WXB_SCI_REDL" : \
00668 "???")
00669
00670
00671 #define FLAMES_MWXB_SCI_RAW(chip) ( \
00672 ((chip) == UVES_CHIP_REDU) ? "MWXB_SCI_RAW_REDU" : \
00673 ((chip) == UVES_CHIP_REDL) ? "MWXB_SCI_RAW_REDL" : \
00674 "???")
00675
00676 #define FLAMES_ERR_MWXB_SCI_RAW(chip) ( \
00677 ((chip) == UVES_CHIP_REDU) ? "ERR_MWXB_SCI_RAW_REDU" : \
00678 ((chip) == UVES_CHIP_REDL) ? "ERR_MWXB_SCI_RAW_REDL" : \
00679 "???")
00680
00681
00682 #define FLAMES_WXB_SCI_RAW(chip) ( \
00683 ((chip) == UVES_CHIP_REDU) ? "WXB_SCI_REDU" : \
00684 ((chip) == UVES_CHIP_REDL) ? "WXB_SCI_REDL" : \
00685 "???")
00686
00687 #define FLAMES_ERR_WXB_SCI_RAW(chip) ( \
00688 ((chip) == UVES_CHIP_REDU) ? "ERR_WXB_SCI_REDU" : \
00689 ((chip) == UVES_CHIP_REDL) ? "ERR_WXB_SCI_REDL" : \
00690 "???")
00691
00692
00693 #define FLAMES_XB_SCI_RAW(chip) ( \
00694 ((chip) == UVES_CHIP_REDU) ? "XB_SCI_REDU" : \
00695 ((chip) == UVES_CHIP_REDL) ? "XB_SCI_REDL" : \
00696 "???")
00697
00698 #define FLAMES_ERR_XB_SCI_RAW(chip) ( \
00699 ((chip) == UVES_CHIP_REDU) ? "ERR_XB_SCI_REDU" : \
00700 ((chip) == UVES_CHIP_REDL) ? "ERR_XB_SCI_REDL" : \
00701 "???")
00702
00703
00704
00705
00706
00707 #define UVES_BACKGR_TABLE(chip) (((chip) == UVES_CHIP_BLUE) ? "BACKGR_TABLE_BLUE" : \
00708 ((chip) == UVES_CHIP_REDU) ? "BACKGR_TABLE_REDU" : \
00709 ((chip) == UVES_CHIP_REDL) ? "BACKGR_TABLE_REDL" : "???")
00710
00711
00712 #define UVES_MASTER_BIAS(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_BIAS_BLUE" : \
00713 ((chip) == UVES_CHIP_REDU) ? "MASTER_BIAS_REDU" : \
00714 ((chip) == UVES_CHIP_REDL) ? "MASTER_BIAS_REDL" : "???")
00715 #define UVES_MASTER_BIAS_EXTENSION(chip) 0
00716
00717
00718 #define UVES_MASTER_ARC_FORM(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_FORM_BLUE" : \
00719 ((chip) == UVES_CHIP_REDU) ? "MASTER_FORM_REDU" : \
00720 ((chip) == UVES_CHIP_REDL) ? "MASTER_FORM_REDL" : "???")
00721
00722 #define UVES_MASTER_ARC_FORM_EXTENSION(chip) 0
00723
00724
00725 #define UVES_MASTER_DARK(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_DARK_BLUE" : \
00726 ((chip) == UVES_CHIP_REDU) ? "MASTER_DARK_REDU" : \
00727 ((chip) == UVES_CHIP_REDL) ? "MASTER_DARK_REDL" : "???")
00728
00729 #define UVES_MASTER_PDARK(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_PDARK_BLUE": \
00730 ((chip) == UVES_CHIP_REDU) ? "MASTER_PDARK_REDU": \
00731 ((chip) == UVES_CHIP_REDL) ? "MASTER_PDARK_REDL": "???")
00732
00733 #define UVES_MASTER_DARK_EXTENSION(chip) 0
00734
00735
00736 #define UVES_MASTER_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_FLAT_BLUE" : \
00737 ((chip) == UVES_CHIP_REDU) ? "MASTER_FLAT_REDU" : \
00738 ((chip) == UVES_CHIP_REDL) ? "MASTER_FLAT_REDL" : "???")
00739 #define UVES_MASTER_DFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_DFLAT_BLUE" : \
00740 ((chip) == UVES_CHIP_REDU) ? "MASTER_DFLAT_REDU" : \
00741 ((chip) == UVES_CHIP_REDL) ? "MASTER_DFLAT_REDL" : "???")
00742 #define UVES_MASTER_SFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_SFLAT_BLUE" : \
00743 ((chip) == UVES_CHIP_REDU) ? "MASTER_SFLAT_REDU" : \
00744 ((chip) == UVES_CHIP_REDL) ? "MASTER_SFLAT_REDL" : "???")
00745 #define UVES_MASTER_IFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_IFLAT_BLUE" : \
00746 ((chip) == UVES_CHIP_REDU) ? "MASTER_IFLAT_REDU" : \
00747 ((chip) == UVES_CHIP_REDL) ? "MASTER_IFLAT_REDL" : "???")
00748 #define UVES_MASTER_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_TFLAT_BLUE" : \
00749 ((chip) == UVES_CHIP_REDU) ? "MASTER_TFLAT_REDU" : \
00750 ((chip) == UVES_CHIP_REDL) ? "MASTER_TFLAT_REDL" : "???")
00751 #define UVES_REF_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "REF_TFLAT_BLUE" : \
00752 ((chip) == UVES_CHIP_REDU) ? "REF_TFLAT_REDU" : \
00753 ((chip) == UVES_CHIP_REDL) ? "REF_TFLAT_REDL" : "???")
00754 #define UVES_MASTER_SCREEN_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_SCREEN_FLAT_BLUE" : \
00755 ((chip) == UVES_CHIP_REDU) ? "MASTER_SCREEN_FLAT_REDU" : \
00756 ((chip) == UVES_CHIP_REDL) ? "MASTER_SCREEN_FLAT_REDL" : \
00757 "???")
00758 #define UVES_MASTER_FLAT_EXTENSION(chip) 0
00759 #define UVES_BKG_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "BKG_FLAT_BLUE" : \
00760 ((chip) == UVES_CHIP_REDU) ? "BKG_FLAT_REDU" : \
00761 ((chip) == UVES_CHIP_REDL) ? "BKG_FLAT_REDL" : "???" )
00762 #define UVES_RATIO_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "RATIO_TFLAT_BLUE" : \
00763 ((chip) == UVES_CHIP_REDU) ? "RATIO_TFLAT_REDU" : \
00764 ((chip) == UVES_CHIP_REDL) ? "RATIO_TFLAT_REDL" : "???" )
00765
00766 #define UVES_WEIGHTS(chip) ((chip) == UVES_CHIP_REDU ? "WEIGHTS_REDU" : \
00767 (chip) == UVES_CHIP_REDL ? "WEIGHTS_REDL" : \
00768 (chip) == UVES_CHIP_BLUE ? "WEIGHTS_BLUE" : \
00769 "???")
00770
00771 #define UVES_LINE_TABLE(flames,chip) ((flames) ? \
00772 (((chip) == UVES_CHIP_REDU) ? "FIB_LINE_TABLE_REDU" : \
00773 ((chip) == UVES_CHIP_REDL) ? "FIB_LINE_TABLE_REDL" : "???")\
00774 : \
00775 (((chip) == UVES_CHIP_BLUE) ? "LINE_TABLE_BLUE" : \
00776 ((chip) == UVES_CHIP_REDU) ? "LINE_TABLE_REDU" : \
00777 ((chip) == UVES_CHIP_REDL) ? "LINE_TABLE_REDL" : "???"))
00778
00779
00780 #define UVES_GUESS_LINE_TABLE(flames,chip) ((flames) ? \
00781 (((chip) == UVES_CHIP_REDU) ? "FIB_LIN_GUE_REDU" : \
00782 ((chip) == UVES_CHIP_REDL) ? "FIB_LIN_GUE_REDL" : "???")\
00783 : \
00784 (((chip) == UVES_CHIP_BLUE) ? "LINE_GUESS_TAB_BLUE" : \
00785 ((chip) == UVES_CHIP_REDU) ? "LINE_GUESS_TAB_REDU" : \
00786 ((chip) == UVES_CHIP_REDL) ? "LINE_GUESS_TAB_REDL" : "???"))
00787
00788 #define UVES_LINE_TABLE_EXTENSION 1
00789 #define UVES_LINE_TABLE_EXTENSION_DISPERSION 2
00790 #define UVES_LINE_TABLE_EXTENSION_ABSORDER 3
00791
00792
00793 #define UVES_LINE_TABLE_MIDAS_BLUE(window) (((window)==1) ? "LINE_TABLE_BLUE1" : \
00794 ((window)==2) ? "LINE_TABLE_BLUE2" : \
00795 ((window)==3) ? "LINE_TABLE_BLUE3" : \
00796 "LINE_TABLE_BLUEx")
00797 #define UVES_LINE_TABLE_MIDAS_REDL(window) (((window)==1) ? "LINE_TABLE_REDL1" : \
00798 ((window)==2) ? "LINE_TABLE_REDL2" : \
00799 ((window)==3) ? "LINE_TABLE_REDL3" : \
00800 "LINE_TABLE_REDLx")
00801 #define UVES_LINE_TABLE_MIDAS_REDU(window) (((window)==1) ? "LINE_TABLE_REDU1" : \
00802 ((window)==2) ? "LINE_TABLE_REDU2" : \
00803 ((window)==3) ? "LINE_TABLE_REDU3" : \
00804 "LINE_TABLE_REDUx")
00805 #define UVES_LINE_TABLE_MIDAS(chip,window) ( ((chip) == UVES_CHIP_BLUE) ? \
00806 UVES_LINE_TABLE_MIDAS_BLUE(window) : \
00807 ((chip) == UVES_CHIP_REDU) ? \
00808 UVES_LINE_TABLE_MIDAS_REDU(window) : \
00809 ((chip) == UVES_CHIP_REDL) ? \
00810 UVES_LINE_TABLE_MIDAS_REDL(window) : "???")
00811
00812
00813 #define UVES_INSTR_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "INSTR_RESPONSE_BLUE" : \
00814 ((chip) == UVES_CHIP_REDU) ? "INSTR_RESPONSE_REDU" : \
00815 ((chip) == UVES_CHIP_REDL) ? "INSTR_RESPONSE_REDL" : "???")
00816 #define UVES_INSTR_RESPONSE_EXTENSION(chip) 0
00817
00818 #define UVES_MASTER_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_RESPONSE_BLUE" : \
00819 ((chip) == UVES_CHIP_REDU) ? "MASTER_RESPONSE_REDU" : \
00820 ((chip) == UVES_CHIP_REDL) ? "MASTER_RESPONSE_REDL" : "???")
00821 #define UVES_MASTER_RESPONSE_EXTENSION(chip) 0
00822
00823 #define UVES_WCALIB_FF_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "WCALIB_FF_RESPONSE_BLUE" : \
00824 ((chip) == UVES_CHIP_REDU) ? "WCALIB_FF_RESPONSE_REDU" : \
00825 ((chip) == UVES_CHIP_REDL) ? "WCALIB_FF_RESPONSE_REDL" : \
00826 "???")
00827 #define UVES_RED_STD(chip) (((chip) == UVES_CHIP_BLUE) ? "RED_STD_BLUE" : \
00828 ((chip) == UVES_CHIP_REDU) ? "RED_STD_REDU" : \
00829 ((chip) == UVES_CHIP_REDL) ? "RED_STD_REDL" : "???")
00830 #define UVES_BKG_STD(chip) (((chip) == UVES_CHIP_BLUE) ? "BKG_STD_BLUE" : \
00831 ((chip) == UVES_CHIP_REDU) ? "BKG_STD_REDU" : \
00832 ((chip) == UVES_CHIP_REDL) ? "BKG_STD_REDL" : "???")
00833 #define UVES_EFFICIENCY_TABLE(chip) (((chip) == UVES_CHIP_BLUE) ? "EFFICIENCY_TABLE_BLUE" : \
00834 ((chip) == UVES_CHIP_REDU) ? "EFFICIENCY_TABLE_REDU" : \
00835 ((chip) == UVES_CHIP_REDL) ? "EFFICIENCY_TABLE_REDL" : "???")
00836
00837
00838 #define UVES_CD_ALIGN_TABLE(blue) ((blue) ? "CD_ALIGN_TABLE_BLUE" : "CD_ALIGN_TABLE_RED")
00839
00840
00841
00842
00843
00844
00845 #define UVES_LINE_REFER_TABLE "LINE_REFER_TABLE"
00846 #define UVES_LINE_REFER_TABLE_EXTENSION 1
00847
00848 #define UVES_LINE_INTMON_TABLE "LINE_INTMON_TABLE"
00849 #define UVES_LINE_INTMON_TABLE_EXTENSION 1
00850
00851
00852 #define UVES_FLUX_STD_TABLE "FLUX_STD_TABLE"
00853 #define UVES_FLUX_STD_TABLE_EXTENSION 1
00854
00855
00856 #define UVES_EXTCOEFF_TABLE "EXTCOEFF_TABLE"
00857 #define UVES_EXTCOEFF_TABLE_EXTENSION 1
00858
00859
00860
00861
00862
00863 #define UVES_ALL_STATS (CPL_STATS_MEAN | CPL_STATS_STDEV | CPL_STATS_MEDIAN | \
00864 CPL_STATS_MIN | CPL_STATS_MAX)
00865
00866
00867
00868
00869 void
00870 uves_copy_if_possible(uves_propertylist *to, const uves_propertylist *from,
00871 const char *name);
00872
00873 void
00874 uves_warn_if_chip_names_dont_match(const uves_propertylist *calib_header,
00875 const char *raw_chip_name, enum uves_chip chip);
00876
00877 cpl_error_code
00878 uves_extract_frames_group_type(const cpl_frameset * set, cpl_frameset** ext,
00879 cpl_frame_group type);
00880 cpl_error_code
00881 uves_frameset_merge(cpl_frameset * set1, const cpl_frameset* set2);
00882 cpl_error_code
00883 uves_sflats_get_encoder_steps(const cpl_frameset * set, cpl_table** encoder_tbl, int* nset);
00884
00885 cpl_error_code uves_dfs_set_groups(cpl_frameset *);
00886
00887 cpl_image *
00888 uves_crop_and_rotate(const cpl_image *image, const uves_propertylist *header,
00889 enum uves_chip chip,
00890 const uves_propertylist *redl_header,
00891 bool new_format, uves_propertylist **out_header);
00892
00893 void *uves_read_midas_array(const uves_propertylist *plist, const char *name, int *length,
00894 cpl_type *type, int *nkeys);
00895 polynomial *
00896 uves_polynomial_convert_from_plist_midas(const uves_propertylist *plist,
00897 const char *regression_name,
00898 const int index);
00899
00900
00901 void
00902 uves_dfs_write_statistics(const cpl_image *image, uves_propertylist *header,
00903 unsigned stats_mask);
00904
00905 cpl_error_code
00906 uves_frameset_insert(cpl_frameset *frames,
00907 void *object,
00908 cpl_frame_group group,
00909 cpl_frame_type type,
00910 cpl_frame_level level,
00911 const char *filename,
00912 const char *tag,
00913 const uves_propertylist *raw_header,
00914 const uves_propertylist *primary_header,
00915 const uves_propertylist *table_header,
00916 const cpl_parameterlist *parameters,
00917 const char *recipe,
00918 const char *pipeline,
00919 cpl_table **qc,
00920 const char *start_time,
00921 bool dump_paf,
00922 unsigned stats_mask);
00923
00924 int uves_check_rec_status(const int val) ;
00925
00926 cpl_error_code
00927 uves_save_image_local(const char *description, const char *filename_prefix,
00928 const cpl_image *image,
00929 enum uves_chip chip, int trace, int window,
00930 const uves_propertylist *plist,
00931 bool use_bitpix16_for_int);
00932
00933 cpl_error_code uves_save_table_local(const char *description, const char *filename_prefix,
00934 const cpl_table *table,
00935 enum uves_chip chip, int trace, int window,
00936 const uves_propertylist *pheader,
00937 const uves_propertylist *eheader);
00938 cpl_error_code uves_save_polynomial(polynomial *p, const char *filename,
00939 const uves_propertylist *header);
00940
00941 void uves_save_image(const cpl_image *image, const char *filename, const uves_propertylist *plist,
00942 bool use_bitpix16_for_int, bool save1d);
00943
00944 void uves_save_imagelist(const cpl_imagelist *iml, const char *filename, const uves_propertylist *plist);
00945
00946 cpl_image *uves_load_image(const cpl_frame *f,
00947 int plane,
00948 int extension,
00949 uves_propertylist **header);
00950
00951 cpl_image *uves_load_image_file(const char *filename,
00952 int plane,
00953 int extension,
00954 uves_propertylist **header);
00955
00956
00957
00958 cpl_error_code
00959 uves_load_master_formatcheck(const cpl_frameset *frames, const char *chip_name,
00960 const char **mform_filename,
00961 cpl_image **mform, uves_propertylist **mform_header, enum uves_chip chip);
00962
00963 cpl_error_code uves_load_formatcheck(const cpl_frameset *frames,
00964 bool flames,
00965 const char **raw_filename,
00966 cpl_image *raw_image[2],
00967 uves_propertylist *raw_header[2],
00968 uves_propertylist *rotated_header[2], bool *blue);
00969
00970 cpl_error_code uves_load_orderpos(const cpl_frameset *frames,
00971 bool flames,
00972 const char **raw_filename,
00973 cpl_image *raw_image[2],
00974 uves_propertylist *raw_header[2],
00975 uves_propertylist *rotated_header[2],
00976 bool *blue);
00977
00978 void uves_load_arclamp(const cpl_frameset *frames,
00979 bool flames,
00980 const char **raw_filename,
00981 cpl_image *raw_image[2], uves_propertylist *raw_header[2],
00982 uves_propertylist *rotated_header[2],
00983 bool *blue, bool *sim_cal);
00984
00985 cpl_error_code uves_load_science(const cpl_frameset *frames, const char **raw_filename,
00986 cpl_image *raw_image[2],
00987 uves_propertylist *raw_header[2],
00988 uves_propertylist *rotated_header[2],
00989 bool *blue,
00990 const char **sci_type);
00991 cpl_error_code uves_load_standard(const cpl_frameset *frames, const char **raw_filename,
00992 cpl_image *raw_image[2], uves_propertylist *raw_header[2],
00993 uves_propertylist *rotated_header[2], bool *blue);
00994 cpl_error_code uves_load_raw_imagelist(const cpl_frameset *frames,
00995 bool flames,
00996 const char *blue_tag,
00997 const char *red_tag, cpl_type type,
00998 cpl_imagelist *images[2], uves_propertylist **raw_headers[2],
00999 uves_propertylist *rotated_header[2],
01000 bool *blue);
01001
01002
01003 cpl_error_code uves_load_drs(const cpl_frameset *frames,
01004 bool flames,
01005 const char *chip_name,
01006 const char **drs_filename,
01007 uves_propertylist **drs_header,
01008 enum uves_chip chip);
01009 cpl_error_code uves_load_mbias(const cpl_frameset *frames, const char *chip_id,
01010 const char **mbias_filename,
01011 cpl_image **mbias, uves_propertylist **mbias_header,
01012 enum uves_chip chip);
01013 cpl_error_code uves_load_mdark(const cpl_frameset *frames, const char *chip_id,
01014 const char **mdark_filename,
01015 cpl_image **mdark, uves_propertylist **mdark_header,
01016 enum uves_chip chip);
01017 cpl_error_code uves_load_mflat_const(const cpl_frameset *frames, const char *chip_name,
01018 const char **mflat_filename,
01019 cpl_image **mflat, uves_propertylist **mflat_header,
01020 enum uves_chip chip,
01021 const cpl_frame **mflat_frame);
01022 cpl_error_code uves_load_mflat(cpl_frameset *frames, const char *chip_name,
01023 const char **mflat_filename,
01024 cpl_image **mflat, uves_propertylist **mflat_header,
01025 enum uves_chip chip,
01026 cpl_frame **mflat_frame);
01027 cpl_image *
01028 uves_load_weights(const cpl_frameset *frames, const char **weights_filename,
01029 enum uves_chip chip);
01030
01031 void uves_load_ref_flat(const cpl_frameset *frames, const char *chip_name,
01032 const char **filename, cpl_image **rflat,
01033 uves_propertylist **rflat_header, enum uves_chip chip);
01034
01035 cpl_error_code uves_load_ordertable(const cpl_frameset *frames,
01036 bool flames,
01037 const char *chip_id,
01038 const char **ordertable_filename,
01039 cpl_table **ordertable,
01040 uves_propertylist **ordertable_header,
01041 uves_propertylist **ordertable_xheader,
01042 polynomial **order_locations,
01043 cpl_table **traces,
01044 int *tab_in_out_oshift,
01045 double *tab_in_out_yshift,
01046 int ** fibre_mask,
01047 double ** fibre_pos,
01048 enum uves_chip chip,
01049 bool guess_table);
01050
01051 void uves_load_linetable_const(const cpl_frameset *frames,
01052 bool flames,
01053 const char *chip_name,
01054 const polynomial *order_locations,
01055 int minorder, int maxorder,
01056 const char **linetable_filename,
01057 const cpl_table **linetable,
01058 const uves_propertylist **linetable_header,
01059 const polynomial **dispersion_relation,
01060 polynomial **absolute_order,
01061 enum uves_chip chip, int trace_id, int window);
01062
01063 void uves_load_linetable(const cpl_frameset *frames,
01064 bool flames,
01065 const char *chip_name,
01066 const polynomial *order_locations,
01067 int minorder, int maxorder,
01068 const char **linetable_filename,
01069 cpl_table **linetable,
01070 uves_propertylist **linetable_header,
01071 polynomial **dispersion_relation,
01072 polynomial **absolute_order,
01073 enum uves_chip chip, int trace_id, int window);
01074
01075 cpl_error_code uves_load_response_curve(const cpl_frameset *frames, const char *chip_name,
01076 const char **response_filename,
01077 cpl_image **response_curve,
01078 cpl_table **master_response,
01079 uves_propertylist **response_header, enum uves_chip chip);
01080
01081 void uves_load_corvel(const cpl_frameset *frames,
01082 enum uves_chip chip,
01083 cpl_table **corvel,
01084 uves_propertylist **corvel_header,
01085 const char **corvel_filename);
01086
01087 void uves_load_cd_align(const cpl_frameset *frames,
01088 const char **raw_filename1,
01089 const char **raw_filename2,
01090 cpl_image *raw_image1[2],
01091 cpl_image *raw_image2[2],
01092 uves_propertylist *raw_header1[2],
01093 uves_propertylist *raw_header2[2],
01094 uves_propertylist *rotated_header1[2],
01095 uves_propertylist *rotated_header2[2],
01096 bool *blue);
01097
01098
01099 cpl_error_code uves_load_linerefertable(const cpl_frameset *frames,
01100 const char **line_refer_filename,
01101 cpl_table **line_refer,
01102 uves_propertylist **line_refer_header);
01103
01104 cpl_error_code uves_load_lineintmon(const cpl_frameset *frames,
01105 const char **line_intmonr_filename,
01106 cpl_table **line_intmon);
01107
01108 cpl_error_code uves_load_flux_table(const cpl_frameset *frames, const char **flux_table_filename,
01109 cpl_table **flux_table);
01110
01111 cpl_error_code uves_load_atmo_ext(const cpl_frameset *frames,
01112 const char **atmext_table_filename,
01113 cpl_table **atmext_table);
01114
01115
01116
01117
01118 char *uves_masterbias_filename(enum uves_chip chip);
01119
01120
01121 char *uves_masterdark_filename(enum uves_chip chip);
01122
01123
01124 char *uves_masterflat_filename(enum uves_chip chip);
01125 char *uves_masterflat_bkg_filename(enum uves_chip chip);
01126
01127
01128 char *uves_ordef_filename(enum uves_chip chip);
01129 char *uves_order_table_filename(enum uves_chip chip);
01130 char *uves_guess_order_table_filename(enum uves_chip chip);
01131 char *uves_guess_line_table_filename(enum uves_chip chip);
01132
01133
01134 char *uves_line_table_filename(enum uves_chip chip);
01135 char *uves_line_table_filename_paf(enum uves_chip chip);
01136
01137
01138 char *uves_response_curve_filename(enum uves_chip chip);
01139 char *uves_response_curve_2d_filename(enum uves_chip chip);
01140 char *uves_response_red_standard_filename(enum uves_chip chip);
01141 char *uves_response_efficiency_filename(enum uves_chip chip);
01142 char *uves_response_bkg_standard_filename(enum uves_chip chip);
01143
01144
01145 char *uves_flat_ratio_filename(enum uves_chip chip);
01146
01147
01148 char *uves_cd_align_filename(enum uves_chip chip);
01149
01150
01151 char *uves_scired_red_science_filename(enum uves_chip chip);
01152 char *uves_scired_red_2d_science_filename(enum uves_chip chip);
01153 char *uves_scired_red_error_filename(enum uves_chip chip);
01154 char *uves_scired_red_2d_error_filename(enum uves_chip chip);
01155 char *uves_scired_fluxcal_science_filename(enum uves_chip chip);
01156 char *uves_scired_fluxcal_science_2d_filename(enum uves_chip chip);
01157 char *uves_scired_fluxcal_error_filename(enum uves_chip chip);
01158 char *uves_scired_fluxcal_error_2d_filename(enum uves_chip chip);
01159 char *uves_scired_ff_variance_filename(enum uves_chip chip);
01160 char *uves_scired_ff_variance_2d_filename(enum uves_chip chip);
01161 char *uves_scired_background_filename(enum uves_chip chip);
01162 char *uves_scired_merged_sky_filename(enum uves_chip chip);
01163 char *uves_scired_merged_science_filename(enum uves_chip chip);
01164 char *uves_scired_merged_2d_science_filename(enum uves_chip chip);
01165 char *uves_scired_resampled_filename(enum uves_chip chip);
01166 char *uves_scired_resampled_2d_filename(enum uves_chip chip);
01167 char *uves_scired_resampledmf_filename(enum uves_chip chip);
01168 char *uves_scired_rebinned_filename(enum uves_chip chip);
01169 char *uves_scired_rebinned_2d_filename(enum uves_chip chip);
01170 char *uves_scired_ordertrace_filename(enum uves_chip chip);
01171 char *uves_scired_crmask_filename(enum uves_chip chip);
01172 char *uves_scired_ext2d_filename(enum uves_chip chip);
01173 char *uves_scired_ff2d_filename(enum uves_chip chip);
01174 cpl_image*
01175 uves_vector_to_image(const cpl_vector* vector,cpl_type type);
01176
01177
01178 cpl_error_code
01179 uves_check_if_format_is_midas(uves_propertylist* header, bool* format_is_midas);
01180
01181
01182 #endif