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
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348 #ifndef UVES_DFS_H
00349 #define UVES_DFS_H
00350
00351
00352
00353
00354
00355 #include <uves_propertylist.h>
00356 #include <uves_utils_polynomial.h>
00357 #include <uves_chip.h>
00358 #include <uves_utils.h>
00359 #include <cpl.h>
00360
00361 #include <stdbool.h>
00362 #include <math.h>
00363
00364
00365
00366
00367
00368
00369
00370 #define RAW_IMA "RAW_IMA"
00371 #define FLAMES_SCI_RED "FIB_SCI_RED"
00372 #define FLAMES_SCI_SIM_RED "FIB_SCI_SIM_RED"
00373 #define FLAMES_SCI_COM_RED "FIB_SCI_COM_RED"
00374 #define FLAMES_CORVEL_MASK "CORVEL_MASK"
00375
00376 #define FLAMES_INFO_TABLE(chip) ((chip) == UVES_CHIP_REDL ? "FIB_SCI_INFO_TAB_REDL" : \
00377 (chip) == UVES_CHIP_REDU ? "FIB_SCI_INFO_TAB_REDU" : "???")
00378
00379 #define FLAMES_LINE_TABLE(chip) ((chip) == UVES_CHIP_REDL ? "FIB_LINE_TABLE_REDL" : \
00380 (chip) == UVES_CHIP_REDU ? "FIB_LINE_TABLE_REDU" : "???")
00381
00382 #define FLAMES_LINE_TABLE_MIDAS(chip) ((chip) == UVES_CHIP_REDL ? "FIB_LINE_TABLE_REDL" : \
00383 (chip) == UVES_CHIP_REDU ? "FIB_LINE_TABLE_REDU" : "???")
00384
00385 #define FLAMES_SLIT_FF_DT1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT1_REDL" : \
00386 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT1_REDU" : "???")
00387
00388 #define FLAMES_SLIT_FF_DT2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT2_REDL" : \
00389 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT2_REDU" : "???")
00390
00391 #define FLAMES_SLIT_FF_DT3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DT3_REDL" : \
00392 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DT3_REDU" : "???")
00393
00394 #define FLAMES_SLIT_FF_DTC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_DTC_REDL" : \
00395 (chip) == UVES_CHIP_REDU ? "SLIT_FF_DTC_REDU" : "???")
00396
00397 #define FLAMES_SLIT_FF_DT(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_DT1(chip) : \
00398 (it) == 2 ? FLAMES_SLIT_FF_DT2(chip) : \
00399 (it) == 3 ? FLAMES_SLIT_FF_DT3(chip) : "???")
00400
00401 #define FLAMES_SLIT_FF_BP1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP1_REDL" : \
00402 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP1_REDU" : "???")
00403
00404 #define FLAMES_SLIT_FF_BP2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP2_REDL" : \
00405 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP2_REDU" : "???")
00406
00407 #define FLAMES_SLIT_FF_BP3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BP3_REDL" : \
00408 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BP3_REDU" : "???")
00409
00410 #define FLAMES_SLIT_FF_BPC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BPC_REDL" : \
00411 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BPC_REDU" : "???")
00412
00413 #define FLAMES_SLIT_FF_BP(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_BP1(chip) : \
00414 (it) == 2 ? FLAMES_SLIT_FF_BP2(chip) : \
00415 (it) == 3 ? FLAMES_SLIT_FF_BP3(chip) : "???")
00416
00417
00418 #define FLAMES_SLIT_FF_BN1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN1_REDL" : \
00419 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN1_REDU" : "???")
00420
00421 #define FLAMES_SLIT_FF_BN2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN2_REDL" : \
00422 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN2_REDU" : "???")
00423
00424 #define FLAMES_SLIT_FF_BN3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN3_REDL" : \
00425 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN3_REDU" : "???")
00426
00427 #define FLAMES_SLIT_FF_BN4(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BN4_REDL" : \
00428 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BN4_REDU" : "???")
00429
00430 #define FLAMES_SLIT_FF_BNC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_BNC_REDL" : \
00431 (chip) == UVES_CHIP_REDU ? "SLIT_FF_BNC_REDU" : "???")
00432
00433 #define FLAMES_SLIT_FF_BN(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_BN1(chip) : \
00434 (it) == 2 ? FLAMES_SLIT_FF_BN2(chip) : \
00435 (it) == 3 ? FLAMES_SLIT_FF_BN3(chip) : \
00436 (it) == 4 ? FLAMES_SLIT_FF_BN4(chip) : "???")
00437
00438
00439 #define FLAMES_SLIT_FF_SG1(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG1_REDL" : \
00440 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG1_REDU" : "???")
00441
00442 #define FLAMES_SLIT_FF_SG2(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG2_REDL" : \
00443 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG2_REDU" : "???")
00444
00445 #define FLAMES_SLIT_FF_SG3(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SG3_REDL" : \
00446 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SG3_REDU" : "???")
00447
00448 #define FLAMES_SLIT_FF_SGC(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_SGC_REDL" : \
00449 (chip) == UVES_CHIP_REDU ? "SLIT_FF_SGC_REDU" : "???")
00450
00451
00452 #define FLAMES_SLIT_FF_SG(it, chip) ((it) == 1 ? FLAMES_SLIT_FF_SG1(chip) : \
00453 (it) == 2 ? FLAMES_SLIT_FF_SG2(chip) : \
00454 (it) == 3 ? FLAMES_SLIT_FF_SG3(chip) : "???")
00455
00456 #define FLAMES_SLIT_FF_COM(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_COM_REDL" : \
00457 (chip) == UVES_CHIP_REDU ? "SLIT_FF_COM_REDU" : "???")
00458
00459 #define FLAMES_SLIT_FF_NOR(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_NOR_REDL" : \
00460 (chip) == UVES_CHIP_REDU ? "SLIT_FF_NOR_REDU" : "???")
00461
00462 #define FLAMES_SLIT_FF_NSG(chip) ((chip) == UVES_CHIP_REDL ? "SLIT_FF_NSG_REDL" : \
00463 (chip) == UVES_CHIP_REDU ? "SLIT_FF_NSG_REDU" : "???")
00464
00465
00466
00467 #define FLAMES_FIB_FF_DT1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT1_REDL" : \
00468 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT1_REDU" : "???")
00469
00470 #define FLAMES_FIB_FF_DT2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT2_REDL" : \
00471 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT2_REDU" : "???")
00472
00473 #define FLAMES_FIB_FF_DT3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DT3_REDL" : \
00474 (chip) == UVES_CHIP_REDU ? "FIB_FF_DT3_REDU" : "???")
00475
00476 #define FLAMES_FIB_FF_DTC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_DTC_REDL" : \
00477 (chip) == UVES_CHIP_REDU ? "FIB_FF_DTC_REDU" : "???")
00478
00479
00480 #define FLAMES_FIB_FF_DT(it, chip) ((it) == 1 ? FLAMES_FIB_FF_DT1(chip) : \
00481 (it) == 2 ? FLAMES_FIB_FF_DT2(chip) : \
00482 (it) == 3 ? FLAMES_FIB_FF_DT3(chip) : "???")
00483
00484
00485
00486 #define FLAMES_FIB_FF_BP1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP1_REDL" : \
00487 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP1_REDU" : "???")
00488
00489 #define FLAMES_FIB_FF_BP2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP2_REDL" : \
00490 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP2_REDU" : "???")
00491
00492 #define FLAMES_FIB_FF_BP3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BP3_REDL" : \
00493 (chip) == UVES_CHIP_REDU ? "FIB_FF_BP3_REDU" : "???")
00494
00495 #define FLAMES_FIB_FF_BPC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BPC_REDL" : \
00496 (chip) == UVES_CHIP_REDU ? "FIB_FF_BPC_REDU" : "???")
00497
00498 #define FLAMES_FIB_FF_BP(it, chip) ((it) == 1 ? FLAMES_FIB_FF_BP1(chip) : \
00499 (it) == 2 ? FLAMES_FIB_FF_BP2(chip) : \
00500 (it) == 3 ? FLAMES_FIB_FF_BP3(chip) : "???")
00501
00502
00503
00504 #define FLAMES_FIB_FF_BN1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN1_REDL" : \
00505 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN1_REDU" : "???")
00506
00507 #define FLAMES_FIB_FF_BN2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN2_REDL" : \
00508 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN2_REDU" : "???")
00509
00510 #define FLAMES_FIB_FF_BN3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BN3_REDL" : \
00511 (chip) == UVES_CHIP_REDU ? "FIB_FF_BN3_REDU" : "???")
00512 #define FLAMES_FIB_FF_BNC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_BNC_REDL" : \
00513 (chip) == UVES_CHIP_REDU ? "FIB_FF_BNC_REDU" : "???")
00514
00515
00516 #define FLAMES_FIB_FF_SG1(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG1_REDL" : \
00517 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG1_REDU" : "???")
00518
00519 #define FLAMES_FIB_FF_SG2(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG2_REDL" : \
00520 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG2_REDU" : "???")
00521
00522 #define FLAMES_FIB_FF_SG3(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SG3_REDL" : \
00523 (chip) == UVES_CHIP_REDU ? "FIB_FF_SG3_REDU" : "???")
00524
00525 #define FLAMES_FIB_FF_SGC(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_SGC_REDL" : \
00526 (chip) == UVES_CHIP_REDU ? "FIB_FF_SGC_REDU" : "???")
00527
00528 #define FLAMES_FIB_FF_SG(it, chip) ((it) == 1 ? FLAMES_FIB_FF_SG1(chip) : \
00529 (it) == 2 ? FLAMES_FIB_FF_SG2(chip) : \
00530 (it) == 3 ? FLAMES_FIB_FF_SG3(chip) : "???")
00531
00532
00533 #define FLAMES_FIB_FF_COM(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_COM_REDL" : \
00534 (chip) == UVES_CHIP_REDU ? "FIB_FF_COM_REDU" : "???")
00535
00536 #define FLAMES_FIB_FF_NOR(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_NOR_REDL" : \
00537 (chip) == UVES_CHIP_REDU ? "FIB_FF_NOR_REDU" : "???")
00538
00539 #define FLAMES_FIB_FF_NSG(chip) ((chip) == UVES_CHIP_REDL ? "FIB_FF_NSG_REDL" : \
00540 (chip) == UVES_CHIP_REDU ? "FIB_FF_NSG_REDU" : "???")
00541
00542
00543 #define FIB_FF_ODD_INFO_TAB "FIB_FF_ODD_INFO_TAB"
00544 #define FIB_FF_EVEN_INFO_TAB "FIB_FF_EVEN_INFO_TAB"
00545 #define FIB_FF_ALL_INFO_TAB "FIB_FF_ALL_INFO_TAB"
00546
00547
00548
00549
00550
00551 #define FLAMES_FIB_FF_ALL "FIB_FF_ALL_RED"
00552 #define FLAMES_FIB_FF_ODD "FIB_FF_ODD_RED"
00553 #define FLAMES_FIB_FF_EVEN "FIB_FF_EVEN_RED"
00554
00555 #define FLAMES_CORVEL(chip) ((chip) == UVES_CHIP_REDL ? "CORVEL_TAB_REDL" : \
00556 (chip) == UVES_CHIP_REDU ? "CORVEL_TAB_REDU" : "???")
00557
00558
00559
00560
00561 #define FLAMES_FIB_SCI_SIM "FIB_SCI_SIM_RED"
00562
00563
00564 #define FLAMES_ORDEF(flames, chip) ((flames) ? \
00565 (((chip) == UVES_CHIP_REDU) ? "FIB_ORDEF_REDU" : \
00566 ((chip) == UVES_CHIP_REDL) ? "FIB_ORDEF_REDL" : \
00567 "???") : "??UVES??")
00568 #define FLAMES_ORDEF_EXTENSION(flames, chip) 0
00569
00570
00571
00572
00573
00574 #define UVES_FORMATCHECK(flames,blue) ((flames) ? "FIB_ARC_LAMP_FORM_RED" : \
00575 ((blue) ? "ARC_LAMP_FORM_BLUE" : "ARC_LAMP_FORM_RED"))
00576
00577
00578 #define UVES_ORDER_FLAT(flames, blue) ((flames) ? "FIB_ORDEF_RED" : \
00579 ((blue) ? "ORDER_FLAT_BLUE" : "ORDER_FLAT_RED"))
00580
00581
00582 #define UVES_BIAS(blue) ((blue) ? "BIAS_BLUE" : "BIAS_RED")
00583
00584
00585 #define UVES_DARK(blue) ((blue) ? "DARK_BLUE" : "DARK_RED")
00586 #define UVES_PDARK(blue) ((blue) ? "PDARK_BLUE" : "PDARK_RED")
00587
00588
00589 #define UVES_FLAT(blue) ((blue) ? "FLAT_BLUE" : "FLAT_RED")
00590 #define UVES_IFLAT(blue) ((blue) ? "IFLAT_BLUE" : "IFLAT_RED")
00591 #define UVES_DFLAT(blue) ((blue) ? "DFLAT_BLUE" : "DFLAT_RED")
00592 #define UVES_SFLAT(blue) ((blue) ? "SFLAT_BLUE" : "SFLAT_RED")
00593 #define UVES_TFLAT(blue) ((blue) ? "TFLAT_BLUE" : "TFLAT_RED")
00594 #define UVES_SCREEN_FLAT(blue) ((blue) ? "SCREEN_FLAT_BLUE" : "SCREEN_FLAT_RED")
00595
00596
00597 #define UVES_ARC_LAMP(flames,blue) ((flames) ? "FIB_ARC_LAMP_RED" : \
00598 ((blue) ? "ARC_LAMP_BLUE" : "ARC_LAMP_RED"))
00599
00600 #define UVES_ECH_ARC_LAMP(blue) ((blue) ? "ECH_ARC_LAMP_BLUE" : "ECH_ARC_LAMP_RED")
00601
00602
00603 #define UVES_CD_ALIGN(blue) ((blue) ? "CD_ALIGN_BLUE" : "CD_ALIGN_RED")
00604
00605
00606 #define UVES_STD_STAR(blue) ((blue) ? "STANDARD_BLUE" : "STANDARD_RED")
00607
00608
00609 #define UVES_SCIENCE(blue) ((blue) ? "SCIENCE_BLUE" : "SCIENCE_RED")
00610 #define UVES_SCI_EXTND(blue) ((blue) ? "SCI_EXTND_BLUE" : "SCI_EXTND_RED")
00611 #define UVES_SCI_POINT(blue) ((blue) ? "SCI_POINT_BLUE" : "SCI_POINT_RED")
00612 #define UVES_SCI_SLICER(blue) ((blue) ? "SCI_SLICER_BLUE" : "SCI_SLICER_RED")
00613
00614
00615 #define UVES_DRS_SETUP(flames, chip) ((flames) ? \
00616 (((chip) == UVES_CHIP_REDU) ? "FIB_DRS_REDU" : \
00617 ((chip) == UVES_CHIP_REDL) ? "FIB_DRS_REDL" : "???") \
00618 : \
00619 (((chip) == UVES_CHIP_BLUE) ? "DRS_SETUP_BLUE" : \
00620 ((chip) == UVES_CHIP_REDU) ? "DRS_SETUP_REDU" : \
00621 ((chip) == UVES_CHIP_REDL) ? "DRS_SETUP_REDL" : "???"))
00622
00623 #define UVES_DRS_SETUP_EXTENSION(chip) 1
00624
00625
00626 #define UVES_GUESS_ORDER_TABLE(flames,chip) ((flames) ? \
00627 (((chip) == UVES_CHIP_REDU) ? "FIB_ORD_GUE_REDU" : \
00628 ((chip) == UVES_CHIP_REDL) ? "FIB_ORD_GUE_REDL" : "???")\
00629 : \
00630 (((chip) == UVES_CHIP_BLUE) ? "ORDER_GUESS_TAB_BLUE" : \
00631 ((chip) == UVES_CHIP_REDU) ? "ORDER_GUESS_TAB_REDU" : \
00632 ((chip) == UVES_CHIP_REDL) ? "ORDER_GUESS_TAB_REDL" : \
00633 "???"))
00634
00635
00636
00637 #define UVES_ORD_TAB(flames,chip) ((flames) ? \
00638 (((chip) == UVES_CHIP_REDU) ? "FIB_ORD_TAB_REDU" : \
00639 ((chip) == UVES_CHIP_REDL) ? "FIB_ORD_TAB_REDL" : "???")\
00640 : \
00641 (((chip) == UVES_CHIP_BLUE) ? "ORDER_TABLE_BLUE" : \
00642 ((chip) == UVES_CHIP_REDU) ? "ORDER_TABLE_REDU" : \
00643 ((chip) == UVES_CHIP_REDL) ? "ORDER_TABLE_REDL" : \
00644 "???"))
00645
00646 #define UVES_GUESS_ORDER_TABLE_EXTENSION(flames,chip) 1
00647
00648
00649
00650 #define UVES_ORDER_TABLE(flames,chip) ((flames) ? \
00651 (((chip) == UVES_CHIP_REDU) ? "FIB_ORDEF_TABLE_REDU" : \
00652 ((chip) == UVES_CHIP_REDL) ? "FIB_ORDEF_TABLE_REDL" : \
00653 "???") \
00654 : \
00655 (((chip) == UVES_CHIP_BLUE) ? "ORDER_TABLE_BLUE" : \
00656 ((chip) == UVES_CHIP_REDU) ? "ORDER_TABLE_REDU" : \
00657 ((chip) == UVES_CHIP_REDL) ? "ORDER_TABLE_REDL" : \
00658 "???"))
00659 #define UVES_ORDER_TABLE_EXTENSION 1
00660 #define UVES_ORDER_TABLE_EXTENSION_POLY 2
00661 #define UVES_ORDER_TABLE_EXTENSION_FIBRE 3
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681 #define FLAMES_SCI_INFO_TAB "FIB_SCI_INFO_TAB"
00682
00683 #define FLAMES_MWXB_SCI(chip) ( \
00684 ((chip) == UVES_CHIP_REDU) ? "MWXB_SCI_REDU" : \
00685 ((chip) == UVES_CHIP_REDL) ? "MWXB_SCI_REDL" : \
00686 "???")
00687
00688 #define FLAMES_ERR_MWXB_SCI(chip) ( \
00689 ((chip) == UVES_CHIP_REDU) ? "ERR_MWXB_SCI_REDU" : \
00690 ((chip) == UVES_CHIP_REDL) ? "ERR_MWXB_SCI_REDL" : \
00691 "???")
00692
00693
00694 #define FLAMES_XB_SCI(chip) ( \
00695 ((chip) == UVES_CHIP_REDU) ? "XB_SCI_REDU" : \
00696 ((chip) == UVES_CHIP_REDL) ? "XB_SCI_REDL" : \
00697 "???")
00698
00699 #define FLAMES_ERR_XB_SCI(chip) ( \
00700 ((chip) == UVES_CHIP_REDU) ? "ERR_XB_SCI_REDU" : \
00701 ((chip) == UVES_CHIP_REDL) ? "ERR_XB_SCI_REDL" : \
00702 "???")
00703
00704 #define FLAMES_WXB_SCI(chip) ( \
00705 ((chip) == UVES_CHIP_REDU) ? "WXB_SCI_REDU" : \
00706 ((chip) == UVES_CHIP_REDL) ? "WXB_SCI_REDL" : \
00707 "???")
00708
00709 #define FLAMES_ERR_WXB_SCI(chip) ( \
00710 ((chip) == UVES_CHIP_REDU) ? "ERR_WXB_SCI_REDU" : \
00711 ((chip) == UVES_CHIP_REDL) ? "ERR_WXB_SCI_REDL" : \
00712 "???")
00713
00714
00715 #define FLAMES_MWXB_SCI_RAW(chip) ( \
00716 ((chip) == UVES_CHIP_REDU) ? "MWXB_SCI_RAW_REDU" : \
00717 ((chip) == UVES_CHIP_REDL) ? "MWXB_SCI_RAW_REDL" : \
00718 "???")
00719
00720 #define FLAMES_ERR_MWXB_SCI_RAW(chip) ( \
00721 ((chip) == UVES_CHIP_REDU) ? "ERR_MWXB_SCI_RAW_REDU" : \
00722 ((chip) == UVES_CHIP_REDL) ? "ERR_MWXB_SCI_RAW_REDL" : \
00723 "???")
00724
00725
00726 #define FLAMES_WXB_SCI_RAW(chip) ( \
00727 ((chip) == UVES_CHIP_REDU) ? "WXB_SCI_RAW_REDU" : \
00728 ((chip) == UVES_CHIP_REDL) ? "WXB_SCI_RAW_REDL" : \
00729 "???")
00730
00731 #define FLAMES_ERR_WXB_SCI_RAW(chip) ( \
00732 ((chip) == UVES_CHIP_REDU) ? "ERR_WXB_SCI_RAW_REDU" : \
00733 ((chip) == UVES_CHIP_REDL) ? "ERR_WXB_SCI_RAW_REDL" : \
00734 "???")
00735
00736
00737 #define FLAMES_XB_SCI_RAW(chip) ( \
00738 ((chip) == UVES_CHIP_REDU) ? "XB_SCI_RAW_REDU" : \
00739 ((chip) == UVES_CHIP_REDL) ? "XB_SCI_RAW_REDL" : \
00740 "???")
00741
00742 #define FLAMES_ERR_XB_SCI_RAW(chip) ( \
00743 ((chip) == UVES_CHIP_REDU) ? "ERR_XB_SCI_RAW_REDU" : \
00744 ((chip) == UVES_CHIP_REDL) ? "ERR_XB_SCI_RAW_REDL" : \
00745 "???")
00746
00747
00748
00749
00750
00751 #define UVES_BACKGR_TABLE(chip) (((chip) == UVES_CHIP_BLUE) ? "BACKGR_TABLE_BLUE" : \
00752 ((chip) == UVES_CHIP_REDU) ? "BACKGR_TABLE_REDU" : \
00753 ((chip) == UVES_CHIP_REDL) ? "BACKGR_TABLE_REDL" : "???")
00754
00755
00756 #define UVES_MASTER_BIAS(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_BIAS_BLUE" : \
00757 ((chip) == UVES_CHIP_REDU) ? "MASTER_BIAS_REDU" : \
00758 ((chip) == UVES_CHIP_REDL) ? "MASTER_BIAS_REDL" : "???")
00759 #define UVES_MASTER_BIAS_EXTENSION(chip) 0
00760
00761
00762 #define UVES_MASTER_ARC_FORM(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_FORM_BLUE" : \
00763 ((chip) == UVES_CHIP_REDU) ? "MASTER_FORM_REDU" : \
00764 ((chip) == UVES_CHIP_REDL) ? "MASTER_FORM_REDL" : "???")
00765
00766 #define UVES_MASTER_ARC_FORM_EXTENSION(chip) 0
00767
00768
00769 #define UVES_MASTER_DARK(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_DARK_BLUE" : \
00770 ((chip) == UVES_CHIP_REDU) ? "MASTER_DARK_REDU" : \
00771 ((chip) == UVES_CHIP_REDL) ? "MASTER_DARK_REDL" : "???")
00772
00773 #define UVES_MASTER_PDARK(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_PDARK_BLUE": \
00774 ((chip) == UVES_CHIP_REDU) ? "MASTER_PDARK_REDU": \
00775 ((chip) == UVES_CHIP_REDL) ? "MASTER_PDARK_REDL": "???")
00776
00777 #define UVES_MASTER_DARK_EXTENSION(chip) 0
00778
00779
00780 #define UVES_MASTER_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_FLAT_BLUE" : \
00781 ((chip) == UVES_CHIP_REDU) ? "MASTER_FLAT_REDU" : \
00782 ((chip) == UVES_CHIP_REDL) ? "MASTER_FLAT_REDL" : "???")
00783 #define UVES_MASTER_DFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_DFLAT_BLUE" : \
00784 ((chip) == UVES_CHIP_REDU) ? "MASTER_DFLAT_REDU" : \
00785 ((chip) == UVES_CHIP_REDL) ? "MASTER_DFLAT_REDL" : "???")
00786 #define UVES_MASTER_SFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_SFLAT_BLUE" : \
00787 ((chip) == UVES_CHIP_REDU) ? "MASTER_SFLAT_REDU" : \
00788 ((chip) == UVES_CHIP_REDL) ? "MASTER_SFLAT_REDL" : "???")
00789 #define UVES_MASTER_IFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_IFLAT_BLUE" : \
00790 ((chip) == UVES_CHIP_REDU) ? "MASTER_IFLAT_REDU" : \
00791 ((chip) == UVES_CHIP_REDL) ? "MASTER_IFLAT_REDL" : "???")
00792 #define UVES_MASTER_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_TFLAT_BLUE" : \
00793 ((chip) == UVES_CHIP_REDU) ? "MASTER_TFLAT_REDU" : \
00794 ((chip) == UVES_CHIP_REDL) ? "MASTER_TFLAT_REDL" : "???")
00795 #define UVES_REF_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "REF_TFLAT_BLUE" : \
00796 ((chip) == UVES_CHIP_REDU) ? "REF_TFLAT_REDU" : \
00797 ((chip) == UVES_CHIP_REDL) ? "REF_TFLAT_REDL" : "???")
00798 #define UVES_MASTER_SCREEN_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_SCREEN_FLAT_BLUE" : \
00799 ((chip) == UVES_CHIP_REDU) ? "MASTER_SCREEN_FLAT_REDU" : \
00800 ((chip) == UVES_CHIP_REDL) ? "MASTER_SCREEN_FLAT_REDL" : \
00801 "???")
00802 #define UVES_MASTER_FLAT_EXTENSION(chip) 0
00803 #define UVES_BKG_FLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "BKG_FLAT_BLUE" : \
00804 ((chip) == UVES_CHIP_REDU) ? "BKG_FLAT_REDU" : \
00805 ((chip) == UVES_CHIP_REDL) ? "BKG_FLAT_REDL" : "???" )
00806 #define UVES_RATIO_TFLAT(chip) (((chip) == UVES_CHIP_BLUE) ? "RATIO_TFLAT_BLUE" : \
00807 ((chip) == UVES_CHIP_REDU) ? "RATIO_TFLAT_REDU" : \
00808 ((chip) == UVES_CHIP_REDL) ? "RATIO_TFLAT_REDL" : "???" )
00809
00810 #define UVES_WEIGHTS(chip) ((chip) == UVES_CHIP_REDU ? "WEIGHTS_REDU" : \
00811 (chip) == UVES_CHIP_REDL ? "WEIGHTS_REDL" : \
00812 (chip) == UVES_CHIP_BLUE ? "WEIGHTS_BLUE" : \
00813 "???")
00814
00815 #define UVES_LINE_TABLE(flames,chip) ((flames) ? \
00816 (((chip) == UVES_CHIP_REDU) ? "FIB_LINE_TABLE_REDU" : \
00817 ((chip) == UVES_CHIP_REDL) ? "FIB_LINE_TABLE_REDL" : "???")\
00818 : \
00819 (((chip) == UVES_CHIP_BLUE) ? "LINE_TABLE_BLUE" : \
00820 ((chip) == UVES_CHIP_REDU) ? "LINE_TABLE_REDU" : \
00821 ((chip) == UVES_CHIP_REDL) ? "LINE_TABLE_REDL" : "???"))
00822
00823
00824 #define UVES_GUESS_LINE_TABLE(flames,chip) ((flames) ? \
00825 (((chip) == UVES_CHIP_REDU) ? "FIB_LIN_GUE_REDU" : \
00826 ((chip) == UVES_CHIP_REDL) ? "FIB_LIN_GUE_REDL" : "???")\
00827 : \
00828 (((chip) == UVES_CHIP_BLUE) ? "LINE_GUESS_TAB_BLUE" : \
00829 ((chip) == UVES_CHIP_REDU) ? "LINE_GUESS_TAB_REDU" : \
00830 ((chip) == UVES_CHIP_REDL) ? "LINE_GUESS_TAB_REDL" : "???"))
00831
00832 #define UVES_LINE_TABLE_EXTENSION 1
00833 #define UVES_LINE_TABLE_EXTENSION_DISPERSION 2
00834 #define UVES_LINE_TABLE_EXTENSION_ABSORDER 3
00835
00836
00837 #define UVES_LINE_TABLE_MIDAS_BLUE(window) (((window)==1) ? "LINE_TABLE_BLUE1" : \
00838 ((window)==2) ? "LINE_TABLE_BLUE2" : \
00839 ((window)==3) ? "LINE_TABLE_BLUE3" : \
00840 "LINE_TABLE_BLUEx")
00841 #define UVES_LINE_TABLE_MIDAS_REDL(window) (((window)==1) ? "LINE_TABLE_REDL1" : \
00842 ((window)==2) ? "LINE_TABLE_REDL2" : \
00843 ((window)==3) ? "LINE_TABLE_REDL3" : \
00844 "LINE_TABLE_REDLx")
00845 #define UVES_LINE_TABLE_MIDAS_REDU(window) (((window)==1) ? "LINE_TABLE_REDU1" : \
00846 ((window)==2) ? "LINE_TABLE_REDU2" : \
00847 ((window)==3) ? "LINE_TABLE_REDU3" : \
00848 "LINE_TABLE_REDUx")
00849 #define UVES_LINE_TABLE_MIDAS(chip,window) ( ((chip) == UVES_CHIP_BLUE) ? \
00850 UVES_LINE_TABLE_MIDAS_BLUE(window) : \
00851 ((chip) == UVES_CHIP_REDU) ? \
00852 UVES_LINE_TABLE_MIDAS_REDU(window) : \
00853 ((chip) == UVES_CHIP_REDL) ? \
00854 UVES_LINE_TABLE_MIDAS_REDL(window) : "???")
00855
00856
00857 #define UVES_INSTR_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "INSTR_RESPONSE_BLUE" : \
00858 ((chip) == UVES_CHIP_REDU) ? "INSTR_RESPONSE_REDU" : \
00859 ((chip) == UVES_CHIP_REDL) ? "INSTR_RESPONSE_REDL" : "???")
00860 #define UVES_INSTR_RESPONSE_EXTENSION(chip) 0
00861
00862 #define UVES_MASTER_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "MASTER_RESPONSE_BLUE" : \
00863 ((chip) == UVES_CHIP_REDU) ? "MASTER_RESPONSE_REDU" : \
00864 ((chip) == UVES_CHIP_REDL) ? "MASTER_RESPONSE_REDL" : "???")
00865 #define UVES_MASTER_RESPONSE_EXTENSION(chip) 0
00866
00867 #define UVES_WCALIB_FF_RESPONSE(chip) (((chip) == UVES_CHIP_BLUE) ? "WCALIB_FF_RESPONSE_BLUE" : \
00868 ((chip) == UVES_CHIP_REDU) ? "WCALIB_FF_RESPONSE_REDU" : \
00869 ((chip) == UVES_CHIP_REDL) ? "WCALIB_FF_RESPONSE_REDL" : \
00870 "???")
00871 #define UVES_RED_STD(chip) (((chip) == UVES_CHIP_BLUE) ? "RED_STD_BLUE" : \
00872 ((chip) == UVES_CHIP_REDU) ? "RED_STD_REDU" : \
00873 ((chip) == UVES_CHIP_REDL) ? "RED_STD_REDL" : "???")
00874
00875 #define UVES_RED_NOAPPEND_STD(chip) (((chip) == UVES_CHIP_BLUE) ? "RED_NONMERGED_STD_BLUE" : \
00876 ((chip) == UVES_CHIP_REDU) ? "RED_NONMERGED_STD_REDU" : \
00877 ((chip) == UVES_CHIP_REDL) ? "RED_NONMERGED_STD_REDL" : "???")
00878
00879 #define UVES_BKG_STD(chip) (((chip) == UVES_CHIP_BLUE) ? "BKG_STD_BLUE" : \
00880 ((chip) == UVES_CHIP_REDU) ? "BKG_STD_REDU" : \
00881 ((chip) == UVES_CHIP_REDL) ? "BKG_STD_REDL" : "???")
00882
00883 #define UVES_ORDER_EXTRACT_QC(chip) (((chip) == UVES_CHIP_BLUE) ? "ORDER_EXTRACT_QC_BLUE" : \
00884 ((chip) == UVES_CHIP_REDU) ? "ORDER_EXTRACT_QC_REDU" : \
00885 ((chip) == UVES_CHIP_REDL) ? "ORDER_EXTRACT_QC_REDL" : "???")
00886
00887 #define UVES_EFFICIENCY_TABLE(chip) (((chip) == UVES_CHIP_BLUE) ? "EFFICIENCY_TABLE_BLUE" : \
00888 ((chip) == UVES_CHIP_REDU) ? "EFFICIENCY_TABLE_REDU" : \
00889 ((chip) == UVES_CHIP_REDL) ? "EFFICIENCY_TABLE_REDL" : "???")
00890
00891
00892 #define UVES_CD_ALIGN_TABLE(blue) ((blue) ? "CD_ALIGN_TABLE_BLUE" : "CD_ALIGN_TABLE_RED")
00893
00894
00895
00896
00897
00898
00899 #define UVES_LINE_REFER_TABLE "LINE_REFER_TABLE"
00900 #define UVES_LINE_REFER_TABLE_EXTENSION 1
00901
00902 #define UVES_LINE_INTMON_TABLE "LINE_INTMON_TABLE"
00903 #define UVES_LINE_INTMON_TABLE_EXTENSION 1
00904
00905
00906 #define UVES_FLUX_STD_TABLE "FLUX_STD_TABLE"
00907 #define UVES_FLUX_STD_TABLE_EXTENSION 1
00908
00909
00910 #define UVES_EXTCOEFF_TABLE "EXTCOEFF_TABLE"
00911 #define UVES_EXTCOEFF_TABLE_EXTENSION 1
00912
00913
00914
00915
00916
00917 #define UVES_ALL_STATS (CPL_STATS_MEAN | CPL_STATS_STDEV | CPL_STATS_MEDIAN | \
00918 CPL_STATS_MIN | CPL_STATS_MAX)
00919 #define DICTIONARY "PRO-1.15"
00920
00921
00922
00923
00924 int uves_contains_frames_kind(cpl_frameset * sof,
00925 cpl_frameset* raw,
00926 const char* type);
00927
00928 char *
00929 uves_local_filename(const char *prefix, enum uves_chip chip, int trace, int window);
00930
00931 void
00932 uves_copy_if_possible(uves_propertylist *to, const uves_propertylist *from,
00933 const char *name);
00934
00935 void
00936 uves_warn_if_chip_names_dont_match(const uves_propertylist *calib_header,
00937 const char *raw_chip_name, enum uves_chip chip);
00938
00939 cpl_error_code
00940 uves_extract_frames_group_type(const cpl_frameset * set, cpl_frameset** ext,
00941 cpl_frame_group type);
00942 cpl_error_code
00943 uves_frameset_merge(cpl_frameset * set1, const cpl_frameset* set2);
00944 cpl_error_code
00945 uves_sflats_get_encoder_steps(const cpl_frameset * set, cpl_table** encoder_tbl, int* nset);
00946
00947 cpl_error_code uves_dfs_set_groups(cpl_frameset *);
00948
00949 cpl_image *
00950 uves_crop_and_rotate(const cpl_image *image, const uves_propertylist *header,
00951 enum uves_chip chip,
00952 const uves_propertylist *redl_header,
00953 bool new_format, uves_propertylist **out_header);
00954
00955 void *uves_read_midas_array(const uves_propertylist *plist, const char *name, int *length,
00956 cpl_type *type, int *nkeys);
00957 polynomial *
00958 uves_polynomial_convert_from_plist_midas(const uves_propertylist *plist,
00959 const char *regression_name,
00960 const int index);
00961
00962
00963 void
00964 uves_dfs_write_statistics(const cpl_image *image, uves_propertylist *header,
00965 unsigned stats_mask);
00966
00967 cpl_error_code
00968 uves_frameset_insert(cpl_frameset *frames,
00969 void *object,
00970 cpl_frame_group group,
00971 cpl_frame_type type,
00972 cpl_frame_level level,
00973 const char *filename,
00974 const char *tag,
00975 const uves_propertylist *raw_header,
00976 const uves_propertylist *primary_header,
00977 const uves_propertylist *table_header,
00978 const cpl_parameterlist *parameters,
00979 const char *recipe,
00980 const char *pipeline,
00981 cpl_table **qc,
00982 const char *start_time,
00983 bool dump_paf,
00984 unsigned stats_mask);
00985
00986 int uves_check_rec_status(const int val) ;
00987
00988 cpl_error_code
00989 uves_save_image_local(const char *description, const char *filename_prefix,
00990 const cpl_image *image,
00991 enum uves_chip chip, int trace, int window,
00992 const uves_propertylist *plist,
00993 bool use_bitpix16_for_int);
00994
00995 cpl_error_code uves_save_table_local(const char *description, const char *filename_prefix,
00996 const cpl_table *table,
00997 enum uves_chip chip, int trace, int window,
00998 const uves_propertylist *pheader,
00999 const uves_propertylist *eheader);
01000 cpl_error_code uves_save_polynomial(polynomial *p, const char *filename,
01001 const uves_propertylist *header);
01002
01003 void uves_save_image(const cpl_image *image, const char *filename, const uves_propertylist *plist,
01004 bool use_bitpix16_for_int, bool save1d);
01005
01006 void uves_save_imagelist(const cpl_imagelist *iml, const char *filename, const uves_propertylist *plist);
01007
01008 cpl_image *uves_load_image(const cpl_frame *f,
01009 int plane,
01010 int extension,
01011 uves_propertylist **header);
01012
01013 cpl_image *uves_load_image_file(const char *filename,
01014 int plane,
01015 int extension,
01016 uves_propertylist **header);
01017
01018
01019
01020 cpl_error_code
01021 uves_load_master_formatcheck(const cpl_frameset *frames, const char *chip_name,
01022 const char **mform_filename,
01023 cpl_image **mform, uves_propertylist **mform_header, enum uves_chip chip);
01024
01025 cpl_error_code uves_load_formatcheck(const cpl_frameset *frames,
01026 bool flames,
01027 const char **raw_filename,
01028 cpl_image *raw_image[2],
01029 uves_propertylist *raw_header[2],
01030 uves_propertylist *rotated_header[2], bool *blue);
01031
01032 cpl_error_code uves_load_orderpos(const cpl_frameset *frames,
01033 bool flames,
01034 const char **raw_filename,
01035 cpl_image *raw_image[2],
01036 uves_propertylist *raw_header[2],
01037 uves_propertylist *rotated_header[2],
01038 bool *blue);
01039
01040 void uves_load_arclamp(const cpl_frameset *frames,
01041 bool flames,
01042 const char **raw_filename,
01043 cpl_image *raw_image[2], uves_propertylist *raw_header[2],
01044 uves_propertylist *rotated_header[2],
01045 bool *blue, bool *sim_cal);
01046
01047 cpl_error_code uves_load_science(const cpl_frameset *frames, const char **raw_filename,
01048 cpl_image *raw_image[2],
01049 uves_propertylist *raw_header[2],
01050 uves_propertylist *rotated_header[2],
01051 bool *blue,
01052 const char **sci_type);
01053 cpl_error_code uves_load_standard(const cpl_frameset *frames, const char **raw_filename,
01054 cpl_image *raw_image[2], uves_propertylist *raw_header[2],
01055 uves_propertylist *rotated_header[2], bool *blue);
01056 cpl_error_code uves_load_raw_imagelist(const cpl_frameset *frames,
01057 bool flames,
01058 const char *blue_tag,
01059 const char *red_tag, cpl_type type,
01060 cpl_imagelist *images[2], uves_propertylist **raw_headers[2],
01061 uves_propertylist *rotated_header[2],
01062 bool *blue);
01063
01064
01065 cpl_error_code uves_load_drs(const cpl_frameset *frames,
01066 bool flames,
01067 const char *chip_name,
01068 const char **drs_filename,
01069 uves_propertylist **drs_header,
01070 enum uves_chip chip);
01071 cpl_error_code uves_load_mbias(const cpl_frameset *frames, const char *chip_id,
01072 const char **mbias_filename,
01073 cpl_image **mbias, uves_propertylist **mbias_header,
01074 enum uves_chip chip);
01075 cpl_error_code uves_load_mdark(const cpl_frameset *frames, const char *chip_id,
01076 const char **mdark_filename,
01077 cpl_image **mdark, uves_propertylist **mdark_header,
01078 enum uves_chip chip);
01079 cpl_error_code uves_load_mflat_const(const cpl_frameset *frames, const char *chip_name,
01080 const char **mflat_filename,
01081 cpl_image **mflat, uves_propertylist **mflat_header,
01082 enum uves_chip chip,
01083 const cpl_frame **mflat_frame);
01084 cpl_error_code uves_load_mflat(cpl_frameset *frames, const char *chip_name,
01085 const char **mflat_filename,
01086 cpl_image **mflat, uves_propertylist **mflat_header,
01087 enum uves_chip chip,
01088 cpl_frame **mflat_frame);
01089 cpl_image *
01090 uves_load_weights(const cpl_frameset *frames, const char **weights_filename,
01091 enum uves_chip chip);
01092
01093 void uves_load_ref_flat(const cpl_frameset *frames, const char *chip_name,
01094 const char **filename, cpl_image **rflat,
01095 uves_propertylist **rflat_header, enum uves_chip chip);
01096
01097 cpl_error_code uves_load_ordertable(const cpl_frameset *frames,
01098 bool flames,
01099 const char *chip_id,
01100 const char **ordertable_filename,
01101 cpl_table **ordertable,
01102 uves_propertylist **ordertable_header,
01103 uves_propertylist **ordertable_xheader,
01104 polynomial **order_locations,
01105 cpl_table **traces,
01106 int *tab_in_out_oshift,
01107 double *tab_in_out_yshift,
01108 int ** fibre_mask,
01109 double ** fibre_pos,
01110 enum uves_chip chip,
01111 bool guess_table);
01112
01113 void uves_load_linetable_const(const cpl_frameset *frames,
01114 bool flames,
01115 const char *chip_name,
01116 const polynomial *order_locations,
01117 int minorder, int maxorder,
01118 const char **linetable_filename,
01119 const cpl_table **linetable,
01120 const uves_propertylist **linetable_header,
01121 const polynomial **dispersion_relation,
01122 polynomial **absolute_order,
01123 enum uves_chip chip, int trace_id, int window);
01124
01125 void uves_load_linetable(const cpl_frameset *frames,
01126 bool flames,
01127 const char *chip_name,
01128 const polynomial *order_locations,
01129 int minorder, int maxorder,
01130 const char **linetable_filename,
01131 cpl_table **linetable,
01132 uves_propertylist **linetable_header,
01133 polynomial **dispersion_relation,
01134 polynomial **absolute_order,
01135 enum uves_chip chip, int trace_id, int window);
01136
01137 cpl_error_code uves_load_response_curve(const cpl_frameset *frames, const char *chip_name,
01138 const char **response_filename,
01139 cpl_image **response_curve,
01140 cpl_table **master_response,
01141 uves_propertylist **response_header, enum uves_chip chip);
01142
01143 void uves_load_corvel(const cpl_frameset *frames,
01144 cpl_table **corvel,
01145 uves_propertylist **corvel_header,
01146 const char **corvel_filename);
01147
01148 void uves_load_cd_align(const cpl_frameset *frames,
01149 const char **raw_filename1,
01150 const char **raw_filename2,
01151 cpl_image *raw_image1[2],
01152 cpl_image *raw_image2[2],
01153 uves_propertylist *raw_header1[2],
01154 uves_propertylist *raw_header2[2],
01155 uves_propertylist *rotated_header1[2],
01156 uves_propertylist *rotated_header2[2],
01157 bool *blue);
01158
01159
01160 cpl_error_code uves_load_linerefertable(const cpl_frameset *frames,
01161 const char **line_refer_filename,
01162 cpl_table **line_refer,
01163 uves_propertylist **line_refer_header);
01164
01165 cpl_error_code uves_load_lineintmon(const cpl_frameset *frames,
01166 const char **line_intmonr_filename,
01167 cpl_table **line_intmon);
01168
01169 cpl_error_code uves_load_flux_table(const cpl_frameset *frames, const char **flux_table_filename,
01170 cpl_table **flux_table);
01171
01172 cpl_error_code uves_load_atmo_ext(const cpl_frameset *frames,
01173 const char **atmext_table_filename,
01174 cpl_table **atmext_table);
01175
01176
01177
01178
01179 char *uves_masterbias_filename(enum uves_chip chip);
01180
01181
01182 char *uves_masterdark_filename(enum uves_chip chip);
01183
01184
01185 char *uves_masterflat_filename(enum uves_chip chip);
01186 char *uves_masterflat_bkg_filename(enum uves_chip chip);
01187
01188
01189 char *uves_ordef_filename(enum uves_chip chip);
01190 char *uves_order_table_filename(enum uves_chip chip);
01191 char *uves_guess_order_table_filename(enum uves_chip chip);
01192 char *uves_guess_line_table_filename(enum uves_chip chip);
01193
01194
01195 char *uves_line_table_filename(enum uves_chip chip);
01196 char *uves_line_table_filename_paf(enum uves_chip chip);
01197
01198
01199 char *uves_response_curve_filename(enum uves_chip chip);
01200 char *uves_response_curve_2d_filename(enum uves_chip chip);
01201 char *uves_response_red_standard_filename(enum uves_chip chip);
01202 char *uves_response_red_noappend_standard_filename(enum uves_chip chip);
01203 char *uves_response_efficiency_filename(enum uves_chip chip);
01204 char *uves_response_bkg_standard_filename(enum uves_chip chip);
01205
01206 char *uves_order_extract_qc_standard_filename(enum uves_chip chip);
01207
01208
01209 char *uves_flat_ratio_filename(enum uves_chip chip);
01210
01211
01212 char *uves_cd_align_filename(enum uves_chip chip);
01213
01214
01215 char *uves_scired_red_science_filename(enum uves_chip chip);
01216 char *uves_scired_red_noappend_science_filename(enum uves_chip chip);
01217 char *uves_scired_red_2d_science_filename(enum uves_chip chip);
01218 char *uves_scired_red_error_filename(enum uves_chip chip);
01219 char *uves_scired_red_noappend_error_filename(enum uves_chip chip);
01220 char *uves_scired_red_2d_error_filename(enum uves_chip chip);
01221 char *uves_scired_fluxcal_science_filename(enum uves_chip chip);
01222 char *uves_scired_fluxcal_science_noappend_filename(enum uves_chip chip);
01223 char *uves_scired_fluxcal_science_2d_filename(enum uves_chip chip);
01224 char *uves_scired_fluxcal_error_filename(enum uves_chip chip);
01225 char *uves_scired_fluxcal_error_noappend_filename(enum uves_chip chip);
01226 char *uves_scired_fluxcal_error_2d_filename(enum uves_chip chip);
01227 char *uves_scired_ff_variance_filename(enum uves_chip chip);
01228 char *uves_scired_ff_variance_2d_filename(enum uves_chip chip);
01229 char *uves_scired_background_filename(enum uves_chip chip);
01230 char *uves_scired_merged_sky_filename(enum uves_chip chip);
01231 char *uves_scired_merged_science_filename(enum uves_chip chip);
01232 char *uves_scired_merged_2d_science_filename(enum uves_chip chip);
01233 char *uves_scired_resampled_filename(enum uves_chip chip);
01234 char *uves_scired_resampled_2d_filename(enum uves_chip chip);
01235 char *uves_scired_resampledmf_filename(enum uves_chip chip);
01236 char *uves_scired_rebinned_filename(enum uves_chip chip);
01237 char *uves_scired_rebinned_2d_filename(enum uves_chip chip);
01238 char *uves_scired_ordertrace_filename(enum uves_chip chip);
01239 char *uves_scired_wmap_filename(enum uves_chip chip);
01240 char *uves_scired_crmask_filename(enum uves_chip chip);
01241 char *uves_scired_ext2d_filename(enum uves_chip chip);
01242 char *uves_scired_ff2d_filename(enum uves_chip chip);
01243 cpl_image*
01244 uves_vector_to_image(const cpl_vector* vector,cpl_type type);
01245
01246
01247 cpl_error_code
01248 uves_check_if_format_is_midas(uves_propertylist* header, bool* format_is_midas);
01249
01250
01251 #endif