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