dkist-processing-cryonirsp 1.4.20__py3-none-any.whl → 1.14.9rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. changelog/232.misc.rst +1 -0
  2. dkist_processing_cryonirsp/__init__.py +1 -0
  3. dkist_processing_cryonirsp/codecs/fits.py +1 -0
  4. dkist_processing_cryonirsp/config.py +5 -1
  5. dkist_processing_cryonirsp/models/beam_boundaries.py +1 -0
  6. dkist_processing_cryonirsp/models/constants.py +31 -30
  7. dkist_processing_cryonirsp/models/exposure_conditions.py +6 -5
  8. dkist_processing_cryonirsp/models/fits_access.py +40 -0
  9. dkist_processing_cryonirsp/models/parameters.py +14 -26
  10. dkist_processing_cryonirsp/models/tags.py +1 -0
  11. dkist_processing_cryonirsp/models/task_name.py +1 -0
  12. dkist_processing_cryonirsp/parsers/check_for_gains.py +1 -0
  13. dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +40 -47
  14. dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +1 -0
  15. dkist_processing_cryonirsp/parsers/exposure_conditions.py +14 -13
  16. dkist_processing_cryonirsp/parsers/map_repeats.py +1 -0
  17. dkist_processing_cryonirsp/parsers/measurements.py +29 -16
  18. dkist_processing_cryonirsp/parsers/modstates.py +5 -1
  19. dkist_processing_cryonirsp/parsers/optical_density_filters.py +1 -0
  20. dkist_processing_cryonirsp/parsers/polarimetric_check.py +18 -7
  21. dkist_processing_cryonirsp/parsers/scan_step.py +12 -4
  22. dkist_processing_cryonirsp/parsers/time.py +7 -7
  23. dkist_processing_cryonirsp/parsers/wavelength.py +6 -1
  24. dkist_processing_cryonirsp/tasks/__init__.py +2 -1
  25. dkist_processing_cryonirsp/tasks/assemble_movie.py +1 -0
  26. dkist_processing_cryonirsp/tasks/bad_pixel_map.py +6 -5
  27. dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +12 -11
  28. dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +1 -0
  29. dkist_processing_cryonirsp/tasks/ci_science.py +1 -0
  30. dkist_processing_cryonirsp/tasks/cryonirsp_base.py +2 -3
  31. dkist_processing_cryonirsp/tasks/dark.py +5 -4
  32. dkist_processing_cryonirsp/tasks/gain.py +7 -6
  33. dkist_processing_cryonirsp/tasks/instrument_polarization.py +17 -16
  34. dkist_processing_cryonirsp/tasks/l1_output_data.py +1 -0
  35. dkist_processing_cryonirsp/tasks/linearity_correction.py +1 -0
  36. dkist_processing_cryonirsp/tasks/make_movie_frames.py +3 -2
  37. dkist_processing_cryonirsp/tasks/mixin/corrections.py +1 -0
  38. dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +9 -2
  39. dkist_processing_cryonirsp/tasks/parse.py +70 -52
  40. dkist_processing_cryonirsp/tasks/quality_metrics.py +15 -14
  41. dkist_processing_cryonirsp/tasks/science_base.py +8 -6
  42. dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +2 -1
  43. dkist_processing_cryonirsp/tasks/sp_geometric.py +11 -10
  44. dkist_processing_cryonirsp/tasks/sp_science.py +1 -0
  45. dkist_processing_cryonirsp/tasks/sp_solar_gain.py +15 -12
  46. dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +300 -0
  47. dkist_processing_cryonirsp/tasks/write_l1.py +59 -38
  48. dkist_processing_cryonirsp/tests/conftest.py +75 -53
  49. dkist_processing_cryonirsp/tests/header_models.py +62 -11
  50. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +26 -46
  51. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +26 -47
  52. dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +3 -3
  53. dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +57 -26
  54. dkist_processing_cryonirsp/tests/test_assemble_movie.py +4 -5
  55. dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +5 -1
  56. dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +4 -5
  57. dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +4 -5
  58. dkist_processing_cryonirsp/tests/test_ci_science.py +4 -5
  59. dkist_processing_cryonirsp/tests/test_corrections.py +5 -6
  60. dkist_processing_cryonirsp/tests/test_cryo_base.py +4 -6
  61. dkist_processing_cryonirsp/tests/test_cryo_constants.py +7 -3
  62. dkist_processing_cryonirsp/tests/test_dark.py +7 -8
  63. dkist_processing_cryonirsp/tests/test_fits_access.py +44 -0
  64. dkist_processing_cryonirsp/tests/test_gain.py +7 -8
  65. dkist_processing_cryonirsp/tests/test_instrument_polarization.py +19 -10
  66. dkist_processing_cryonirsp/tests/test_linearity_correction.py +5 -4
  67. dkist_processing_cryonirsp/tests/test_make_movie_frames.py +2 -3
  68. dkist_processing_cryonirsp/tests/test_parameters.py +23 -28
  69. dkist_processing_cryonirsp/tests/test_parse.py +48 -12
  70. dkist_processing_cryonirsp/tests/test_quality.py +2 -3
  71. dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +5 -5
  72. dkist_processing_cryonirsp/tests/test_sp_geometric.py +5 -6
  73. dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +2 -3
  74. dkist_processing_cryonirsp/tests/test_sp_science.py +4 -5
  75. dkist_processing_cryonirsp/tests/test_sp_solar.py +6 -5
  76. dkist_processing_cryonirsp/tests/{test_sp_dispersion_axis_correction.py → test_sp_wavelength_calibration.py} +11 -29
  77. dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +1 -1
  78. dkist_processing_cryonirsp/tests/test_workflows.py +1 -0
  79. dkist_processing_cryonirsp/tests/test_write_l1.py +29 -31
  80. dkist_processing_cryonirsp/workflows/__init__.py +1 -0
  81. dkist_processing_cryonirsp/workflows/ci_l0_processing.py +9 -5
  82. dkist_processing_cryonirsp/workflows/sp_l0_processing.py +12 -8
  83. dkist_processing_cryonirsp/workflows/trial_workflows.py +12 -11
  84. dkist_processing_cryonirsp-1.14.9rc1.dist-info/METADATA +552 -0
  85. dkist_processing_cryonirsp-1.14.9rc1.dist-info/RECORD +115 -0
  86. {dkist_processing_cryonirsp-1.4.20.dist-info → dkist_processing_cryonirsp-1.14.9rc1.dist-info}/WHEEL +1 -1
  87. docs/ci_science_calibration.rst +10 -0
  88. docs/conf.py +1 -0
  89. docs/index.rst +1 -0
  90. docs/sp_science_calibration.rst +7 -0
  91. docs/wavelength_calibration.rst +62 -0
  92. dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +0 -492
  93. dkist_processing_cryonirsp-1.4.20.dist-info/METADATA +0 -452
  94. dkist_processing_cryonirsp-1.4.20.dist-info/RECORD +0 -111
  95. {dkist_processing_cryonirsp-1.4.20.dist-info → dkist_processing_cryonirsp-1.14.9rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,115 @@
1
+ changelog/.gitempty,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ changelog/232.misc.rst,sha256=Z7XnszE_cQA-ltS51apsqXlDE2ZTTDU_J2skIitxpOE,92
3
+ dkist_processing_cryonirsp/__init__.py,sha256=L9tNDcyFnHkx7DWTXAbchOb8ok7TRi80wrrEXY99_2g,351
4
+ dkist_processing_cryonirsp/config.py,sha256=D57uhnlP6NLTxDI5G_DDbEb0ZpMUfcNJivqDIXfGQRw,642
5
+ dkist_processing_cryonirsp/codecs/__init__.py,sha256=du1iitvsudSSOMENSywXmXSLOlvIocJsPbvfEcyqFNc,159
6
+ dkist_processing_cryonirsp/codecs/fits.py,sha256=36QuV8UQzxOljg3AVFGjEZv4iII4Sacwj-fPWcosWyA,1719
7
+ dkist_processing_cryonirsp/models/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
8
+ dkist_processing_cryonirsp/models/beam_boundaries.py,sha256=aKsFzYxCImE7VPB73a1u4fz1LEz4j38DJO-IO7iYzJQ,1160
9
+ dkist_processing_cryonirsp/models/constants.py,sha256=du7jIY2gaptK9V5vuGy9STA_wDQ8mGB4U6nEfYqhCOA,10757
10
+ dkist_processing_cryonirsp/models/exposure_conditions.py,sha256=tfrQo1U5cqPjSfBZML3-QWRXs9pnuP52v7NbkT8_Ijo,694
11
+ dkist_processing_cryonirsp/models/fits_access.py,sha256=RYulcAvYuwVRZYvo3cnDpwRWs1REzfwKoxD3LJvibS4,1176
12
+ dkist_processing_cryonirsp/models/parameters.py,sha256=kfNpxsfidgfrma1ZEjG1qMp6NwbtliJdx8DZ6Whm-C0,13145
13
+ dkist_processing_cryonirsp/models/tags.py,sha256=OrAyJoJd4snhDtPNGovlfhvVjiFoSXs4R2aNZNpGbgo,5744
14
+ dkist_processing_cryonirsp/models/task_name.py,sha256=cI6f01HF_W9RWcwMwv1cDvlusIlNcBQHQwy93MGin64,440
15
+ dkist_processing_cryonirsp/parsers/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
16
+ dkist_processing_cryonirsp/parsers/check_for_gains.py,sha256=_pF82ZXyHJizTYvi0UUpeqwCwbQEKXeC7q_TVd5Nf80,2342
17
+ dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py,sha256=F6c40DLCDV18PZqx_r62udjYotoZttw1nj-YcMM0fis,6058
18
+ dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py,sha256=YBbeUOk3bbpIQd9z8stm3K2qcjTaI9B2WVAHeVfQ1po,887
19
+ dkist_processing_cryonirsp/parsers/exposure_conditions.py,sha256=jIEuXze8XFQMG9Zbok_LlNW3aDRDKuA_PG925uavMJM,8333
20
+ dkist_processing_cryonirsp/parsers/map_repeats.py,sha256=ooX7JrZpUfEVVZe442BwO_zPtK1Dc7inFA5uk548cPw,1567
21
+ dkist_processing_cryonirsp/parsers/measurements.py,sha256=Hp69EqRLgLHZi-pjXmEY3OthtTF2JhVxiQRIjH0txc0,2908
22
+ dkist_processing_cryonirsp/parsers/modstates.py,sha256=OX1GD4n2Sz5U1L2Qi6Yf-728ScWHrOuJVFHGZRKv6eI,1214
23
+ dkist_processing_cryonirsp/parsers/optical_density_filters.py,sha256=C3BtcZqEY0iS0uGTboNDgFUAZg5ql7yic4QpM2PU7-o,1532
24
+ dkist_processing_cryonirsp/parsers/polarimetric_check.py,sha256=gsACTz6b-3n_PbkvFYb3EP2nV0L8eOjWjUNSkebnruE,5041
25
+ dkist_processing_cryonirsp/parsers/scan_step.py,sha256=HbrDPdveZjfCRxzAfm_nNLaKNb1uL-zTe3S72X8aTW0,19178
26
+ dkist_processing_cryonirsp/parsers/time.py,sha256=mDsZ9uGsDV7y7EiXElMB5RQgILoASMwTTQ9KpbspgEg,2510
27
+ dkist_processing_cryonirsp/parsers/wavelength.py,sha256=LThJh12y0QUerObsqYjDef-BuAe2lPsQzblH6Zbz2m4,996
28
+ dkist_processing_cryonirsp/tasks/__init__.py,sha256=QgwrMnIRPc3jUWKw8XgSpRHH9jWGhwcKAVdASoEvfY0,1058
29
+ dkist_processing_cryonirsp/tasks/assemble_movie.py,sha256=wVPC_NuC7fEKXegYl_4ayV22JBbeWv8sRHMB0WU7WXI,7351
30
+ dkist_processing_cryonirsp/tasks/bad_pixel_map.py,sha256=xb6TZb6kpQvrB-oGj528DybG45_SXMW4hj6b90sbMjQ,3952
31
+ dkist_processing_cryonirsp/tasks/beam_boundaries_base.py,sha256=DkyN8xnFFV5838JXSRWrEpG-HMR3hj1tpQRU-8UJIKM,9636
32
+ dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py,sha256=Pb_Yuh4yjhCNO_12DgWmmSj69yXeR7M2k4aikJ4OoM4,1890
33
+ dkist_processing_cryonirsp/tasks/ci_science.py,sha256=Jjx2_GOn27iK5VU7XWMulKfqGvmcpwSX1llf6L2rvhI,7367
34
+ dkist_processing_cryonirsp/tasks/cryonirsp_base.py,sha256=Ldbsa8Kkj_XGm7ocx_BJq9xkGG0QSVflsXdex6nzgMU,1703
35
+ dkist_processing_cryonirsp/tasks/dark.py,sha256=MRO8R1TeNstCfsaYAnGzMLBnhDwNURNbJsxB89Y4lIU,4926
36
+ dkist_processing_cryonirsp/tasks/gain.py,sha256=QVQKH1s-mMD71zrmVsmyR-CwqGZN4BpO7jXQUS4wALc,10418
37
+ dkist_processing_cryonirsp/tasks/instrument_polarization.py,sha256=1y0M-GeuZmNLWCehsiEC7-09EvU-u5LlQxGlRjnqHjw,23240
38
+ dkist_processing_cryonirsp/tasks/l1_output_data.py,sha256=ug5pVz99jXDP9z9Ptht61pe07glLR_WLEAnKBLKjYDY,1555
39
+ dkist_processing_cryonirsp/tasks/linearity_correction.py,sha256=HX6nVglVttYbH8jt-FZUtX9C8-TURfb4NvQRYrXWQlY,24200
40
+ dkist_processing_cryonirsp/tasks/make_movie_frames.py,sha256=VcvMV48LnE32NKWnpiV_vSjLc2_EdDFokwVrYjBLPBM,13931
41
+ dkist_processing_cryonirsp/tasks/parse.py,sha256=DDsii5wjAA8NMJEhIpEM09akDjzCGpPkbVkX1Or-Q-k,13746
42
+ dkist_processing_cryonirsp/tasks/quality_metrics.py,sha256=KNCse_1DbIr45mVtDJV4ueFepQl3ECeyHJbYBXVFGq8,11412
43
+ dkist_processing_cryonirsp/tasks/science_base.py,sha256=_IT52THWkZl5RW7cPtHBmCLcFjUiLaQJpWiP0yiZCGU,18702
44
+ dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py,sha256=7xyQ4MieQDYDI01YO24hkfPQ21dAfk9BUyagtnzqYVg,10297
45
+ dkist_processing_cryonirsp/tasks/sp_geometric.py,sha256=PO1PQGhm-P_VL96tQTfh5Cgz0mR_wzffxUBW2XHH-0s,24352
46
+ dkist_processing_cryonirsp/tasks/sp_science.py,sha256=gzVI6e3WY6zrqfjuQ9TNhl7f9s1myWSdRyZ7OMuwaOw,13644
47
+ dkist_processing_cryonirsp/tasks/sp_solar_gain.py,sha256=s5KSCukzeSYuYDIFg1Wo2pyjf__EWrTusNfUsewuq18,21001
48
+ dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py,sha256=DG3fygAScjeOIhQyud0vHzWwgK_cKVq83QrrIGZvzbM,12757
49
+ dkist_processing_cryonirsp/tasks/write_l1.py,sha256=WQ6ed-589drCXg0CHPZFm-rUpr_yiKYln84qs4yjG4M,42651
50
+ dkist_processing_cryonirsp/tasks/mixin/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
51
+ dkist_processing_cryonirsp/tasks/mixin/corrections.py,sha256=BxPV4sqV6s79JpvkXJFH0r5g0zwe1fkp0cqIlI5B5vA,6567
52
+ dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py,sha256=31DqF39bClHhq6NiAsLwP8huebS6F-J5AvAJIYvYp04,11621
53
+ dkist_processing_cryonirsp/tests/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
54
+ dkist_processing_cryonirsp/tests/conftest.py,sha256=PIgiG-05U0VuhDZE2irqUWaUsUiIGv7FrRbnen8rJZU,18108
55
+ dkist_processing_cryonirsp/tests/header_models.py,sha256=S_ULSMGeacinuFgj4CzBOp8SuM_1lIxE1nVYhiz15yA,22965
56
+ dkist_processing_cryonirsp/tests/test_assemble_movie.py,sha256=fvdvyPabFky_0YqJMPs4g78oCQLSrRPYkddFzzXIbVo,6195
57
+ dkist_processing_cryonirsp/tests/test_assemble_qualilty.py,sha256=RcN-h_9NwHrG_KU2G1I0N5XmUN03I87IOwfq-E8CzHo,16936
58
+ dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py,sha256=aaxuEcEynYIMrdO_oyQAjt3JAxpf54gFRcHYGZg3xbE,4809
59
+ dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py,sha256=tHFcFQW8UTAJQgRmvwoDyYD1xBHL4pFebTH8naY8prM,4512
60
+ dkist_processing_cryonirsp/tests/test_ci_science.py,sha256=aQYDyeIqeZNMNBn3Vr1paiRiD7OqvCdj-f5oJzlavR8,14357
61
+ dkist_processing_cryonirsp/tests/test_corrections.py,sha256=lHn9EWBJO02oiRJbkWVrvIoMImgmofSbEkAc2Iugses,4494
62
+ dkist_processing_cryonirsp/tests/test_cryo_base.py,sha256=hC0Hl95K1Zcu75qaOxaBRgzCEoxTN2oMJyHh9pdYdFs,6623
63
+ dkist_processing_cryonirsp/tests/test_cryo_constants.py,sha256=MXa-Z_GsL8EmgBJNTPy5xM9Vpj6N_sq6X_aLHFcToMk,2996
64
+ dkist_processing_cryonirsp/tests/test_dark.py,sha256=9W2jCyT-LaakFHTToJRv6InOoLmwtoM3-iSt0TEO6LY,11642
65
+ dkist_processing_cryonirsp/tests/test_fits_access.py,sha256=ZWfwOOKAWoNOC2F2H0yieL9djhXfH8cb85y-G8N0atE,2297
66
+ dkist_processing_cryonirsp/tests/test_gain.py,sha256=T4Vp6XisAMnOwFEMagJGeh8RvTGA-GL7oE9v_kcsgcw,11233
67
+ dkist_processing_cryonirsp/tests/test_instrument_polarization.py,sha256=RU9VVNoi-4FYiakhMmzHSmWJHXdINDoCmSagnIBLOgc,19702
68
+ dkist_processing_cryonirsp/tests/test_linearity_correction.py,sha256=xYwfEAiNSleCAxpLH7amC5gQh8QHYBuzghd7ETYro7M,9309
69
+ dkist_processing_cryonirsp/tests/test_make_movie_frames.py,sha256=oQnUmb9IxkRG7NrY00oS1g42L_LP941vdYdbEbI47gE,4858
70
+ dkist_processing_cryonirsp/tests/test_parameters.py,sha256=neREZBFK7ylXe5FiLj6u-2EZZtuKencK55fj3mx6qo4,11089
71
+ dkist_processing_cryonirsp/tests/test_parse.py,sha256=qGzqqhIm5KeEaisRAexxkAWVEwZnqkh39k7bZm62P3c,57507
72
+ dkist_processing_cryonirsp/tests/test_quality.py,sha256=DrlHre7thON2x4QzWdupuqKT_WoPtW43Jnjb7lLnp3I,8083
73
+ dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py,sha256=ppk8B8CvRiIuxJkzH2bEbS1H9TndADU-ABwocZaKIpk,4904
74
+ dkist_processing_cryonirsp/tests/test_sp_geometric.py,sha256=THrVlmd8K44zMtYWKenZDLpUO7yDnZoaUWQwLcqE9U0,15645
75
+ dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py,sha256=HcsNcIW_4qK4VYztbKjQI7PyuqDtqP17usHwnbKYlRk,5276
76
+ dkist_processing_cryonirsp/tests/test_sp_science.py,sha256=QevEgHWmgLyCAM4dKAm-AsvHxNjVk0SVXxORUFbBOts,19789
77
+ dkist_processing_cryonirsp/tests/test_sp_solar.py,sha256=_gIaF0O6cUfUHb9NA_EVoVS4ojHNTuwQ-MTcA9m8rEA,9968
78
+ dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py,sha256=1bTifNU_3ON-Jj0LiRL3U9xe9Wxu3C58PO_6khCt-p8,5617
79
+ dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py,sha256=0hK2_VpTbsDdGqdb-vumdLGvjT4udWKhEGgwqOjquO4,2830
80
+ dkist_processing_cryonirsp/tests/test_workflows.py,sha256=m8PcnZqwbsedNptuSZIjaZ3tt_IzgSv2FiO-Aw2G-i0,292
81
+ dkist_processing_cryonirsp/tests/test_write_l1.py,sha256=7mDycKre4AxCkwZITPsrIFvLwlPMxLItG5QbqVNPok8,17458
82
+ dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py,sha256=n3wj29HOpiOHB8Ddli8Ghkq8xSBlVeTSGfY4eY3XNMI,19354
84
+ dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py,sha256=XlV6v4xhpVxY24Ste4gAYUnBIionuHeU78dkEDlltlI,23187
85
+ dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py,sha256=mVP9eB90lquvXfGrICBocYqoBLPg6nQGjZLB3LvqLCs,3280
86
+ dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py,sha256=1YXVEXtMMfs4ZtR6oqtxblgWBAz5Oaq4WBgNkxjxbg8,20980
87
+ dkist_processing_cryonirsp/workflows/__init__.py,sha256=BODFooDHWvwHfr3TZUOuQiSk0MLqbAD9APk7u_Ihmqo,113
88
+ dkist_processing_cryonirsp/workflows/ci_l0_processing.py,sha256=zKswlfaDSyMqs8tOYtI0TP5408N4oS6k1MMTgw4fCUY,3821
89
+ dkist_processing_cryonirsp/workflows/sp_l0_processing.py,sha256=fF6xWq4wZik1f8Wtzo9xcDuFbMBnUsQWBuDCPIFVjys,4243
90
+ dkist_processing_cryonirsp/workflows/trial_workflows.py,sha256=nycgUwV0GpaKxWV6e7Me7GCDYyrBlX3SM0Hpdtu4HJQ,8106
91
+ docs/Makefile,sha256=qnlVz6PuBqE39NfHWuUnHhNEA-EFgT2-WJNNNy9ttfk,4598
92
+ docs/bad_pixel_calibration.rst,sha256=bHRclUItBA1QbGlek36B1yN5WHN53WkfjKUvZaq_j2I,2452
93
+ docs/beam_angle_calculation.rst,sha256=-yUPFRl6SbPBIj-wOwylEymQDMQnkay7kAIAiubpQT8,2941
94
+ docs/beam_boundary_computation.rst,sha256=khyc_uW5zII6c0vN1lOvrwMAr5WO1XFFIou3QBJCzQ0,5541
95
+ docs/changelog.rst,sha256=S2jPASsWlQxSlAPqdvNrYvhk9k3FcFWNXFNDYXBSjl4,120
96
+ docs/ci_science_calibration.rst,sha256=6HLt4ljL49sYH_iFU-Nz8KSWLyS8h_SSkzgUv-LsfqM,1704
97
+ docs/conf.py,sha256=49FLQtixFpGh0ksrzVeQqUfPtpXks95wnqnhQTCS6uM,2039
98
+ docs/index.rst,sha256=l6vH2FhWpuz0X1SbgfaMBoCACMPRuhHCs9dTxW1Hcaw,472
99
+ docs/l0_to_l1_cryonirsp_ci-full-trial.rst,sha256=-uhtnd51ttJYw9T5hs5A9HQWpXJkOJmvfXf1INFT3MI,582
100
+ docs/l0_to_l1_cryonirsp_ci.rst,sha256=OhGTy9CBTqQJ04XhThTws8KBnGLFiP5vBX0DlX6NXKA,458
101
+ docs/l0_to_l1_cryonirsp_sp-full-trial.rst,sha256=cKdRI7qVEVYsqqgYuL9nzqFP3uTR4cu305WfjmmyetY,582
102
+ docs/l0_to_l1_cryonirsp_sp.rst,sha256=4sCQwx4oHoDurWUO7bL_jRjeRd8Cy8_oUgRXrMp2AWg,463
103
+ docs/landing_page.rst,sha256=-RnhwWhecVtl-pn8sjXfMj3qrzod37jz6rSA5WZTcrk,1204
104
+ docs/linearization.rst,sha256=C1MXjE0rYKBaC6dFP75ZfP02ziubSCtcS4DUVU9DZk8,2549
105
+ docs/make.bat,sha256=mBAhtURwhQ7yc95pqwJzlhqBSvRknr1aqZ5s8NKvdKs,4513
106
+ docs/requirements.txt,sha256=Kbl_X4c7RQZw035YTeNB63We6I7pvXFU4T0Uflp2yDY,29
107
+ docs/requirements_table.rst,sha256=FaqSag9kPi77gWPhzeo_tFEhRFjb3qUuNqqQe1K76NM,297
108
+ docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
109
+ docs/sp_science_calibration.rst,sha256=XL-H_hyzqwPHYNW3j-muItX_hGqMi-gjFRQbHp60LlU,2997
110
+ docs/wavelength_calibration.rst,sha256=Umb122qoThNnaCtNDZ6vQlIvg_Mx5v0IsRg5Bqfh9RU,3480
111
+ licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
112
+ dkist_processing_cryonirsp-1.14.9rc1.dist-info/METADATA,sha256=ziryOTGaVv_cV8NKhJFg1k1Tag1aK4ved_nMC8mizhU,30079
113
+ dkist_processing_cryonirsp-1.14.9rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
114
+ dkist_processing_cryonirsp-1.14.9rc1.dist-info/top_level.txt,sha256=Sm9b1ddKnsF9Bh3mqDOct1Sm7k8I9aN7vGHgpmu-MlQ,51
115
+ dkist_processing_cryonirsp-1.14.9rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -8,6 +8,16 @@ The `~dkist_processing_cryonirsp.tasks.ci_science` module takes L0 input science
8
8
  them into L1 science products. This page describes the basic steps in this processes as well as important
9
9
  features of the Cryo-NIRSP Context Imager (CI) algorithm that may not be obvious.
10
10
 
11
+ Important Features
12
+ ------------------
13
+
14
+ Pixel Units
15
+ ^^^^^^^^^^^
16
+
17
+ The gain arrays used to correct science data are *not* normalized; they retain their original input values.
18
+ As a result, pixel values in the L1 data will be normalized to the average solar signal at disk center on the day calibrations
19
+ were acquired (usually the same day as science acquisition). Note that this is **NOT** intended to be an accurate photometric calibration.
20
+
11
21
  L1 Coordinate System
12
22
  ^^^^^^^^^^^^^^^^^^^^
13
23
 
docs/conf.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """Configuration file for the Sphinx documentation builder."""
2
+
2
3
  # -- stdlib imports ------------------------------------------------------------
3
4
  import importlib
4
5
  import sys
docs/index.rst CHANGED
@@ -14,6 +14,7 @@
14
14
  bad_pixel_calibration
15
15
  beam_boundary_computation
16
16
  beam_angle_calculation
17
+ wavelength_calibration
17
18
  ci_science_calibration
18
19
  sp_science_calibration
19
20
  autoapi/index
@@ -11,6 +11,13 @@ features of the Cryo-NIRSP Spectropolarimetric (SP) algorithm that may not be ob
11
11
  Important Features
12
12
  ------------------
13
13
 
14
+ Pixel Units
15
+ ^^^^^^^^^^^
16
+
17
+ The gain arrays used to correct science data are *not* normalized; they retain their original input values.
18
+ As a result, pixel values in the L1 data will be normalized to the average solar signal at disk center on the day calibrations
19
+ were acquired (usually the same day as science acquisition). Note that this is **NOT** intended to be an accurate photometric calibration.
20
+
14
21
  Beam Combination
15
22
  ^^^^^^^^^^^^^^^^
16
23
 
@@ -0,0 +1,62 @@
1
+ Wavelength Calibration
2
+ ============================
3
+
4
+ Overview
5
+ --------
6
+
7
+ The `~dkist_processing_cryonirsp.tasks.sp_wavelength_calibration` task provides an absolute wavelength calibration of
8
+ Cryo-NIRSP solar spectra by using the routines provided by the
9
+ `solar-wavelength-calibration <https://docs.dkist.nso.edu/projects/solar-wavelength-calibration/en/latest/>`_ library.
10
+
11
+ Workflow
12
+ --------
13
+
14
+ #. **Input Spectrum**: Compute a spatially averaged input spectrum from solar gain images.
15
+ #. **Spectrograph Setup**: Use Level 0 headers to describe the spectrograph setup used during data acquisition.
16
+ #. **Fitting**: Fit the representative spectrum using the `solar-wavelength-calibration <https://docs.dkist.nso.edu/projects/solar-wavelength-calibration/en/latest/>`_ library, refining the wavelength solution.
17
+ #. **Header Encoding**: Save the fit results as FITS header keywords, parameterizing the solution for downstream use.
18
+
19
+ Wavelength Solution Encoding
20
+ ----------------------------
21
+
22
+ The wavelength solution is stored in FITS headers using the following keywords (see `Greisen et al (2006) <https://ui.adsabs.harvard.edu/abs/2006A%26A...446..747G/abstract>`_, Section 5 and Table 6):
23
+
24
+ +---------+--------------------------+----------------+
25
+ | Keyword | Description | Units |
26
+ +=========+==========================+================+
27
+ | `CTYPE1`| Spectral coordinate type | "AWAV-GRA" |
28
+ +---------+--------------------------+----------------+
29
+ | `CUNIT1`| Wavelength unit | "nm" |
30
+ +---------+--------------------------+----------------+
31
+ | `CRPIX1`| Reference pixel | |
32
+ +---------+--------------------------+----------------+
33
+ | `CRVAL1`| Reference wavelength | nm |
34
+ +---------+--------------------------+----------------+
35
+ | `CDELT1`| Linear dispersion | nm / px |
36
+ +---------+--------------------------+----------------+
37
+ | `PV1_0` | Grating constant | 1 / m |
38
+ +---------+--------------------------+----------------+
39
+ | `PV1_1` | Spectral order | |
40
+ +---------+--------------------------+----------------+
41
+ | `PV1_1` | Incident light angle | deg |
42
+ +---------+--------------------------+----------------+
43
+
44
+ Note: The units of `PV1_0` are always 1 / m.
45
+
46
+ Fitted Parameters
47
+ -----------------
48
+
49
+ The fitting process can optimize several parameters. The parameters that are free in Cryo-NIRSP fits are:
50
+
51
+ - **crval**: Wavelength zero-point.
52
+ - **dispersion**: Linear dispersion, allowed to vary within a few percent of the nominal value.
53
+ - **opacity_factor**: Atmospheric absorption scaling, to match telluric line strengths.
54
+ - **continuum_level**: Overall spectrum scaling, to match the observed continuum.
55
+ - **straylight_fraction**: Fraction of stray or scattered light added to the observed spectrum, affecting line depths and continuum.
56
+ - **resolving_power**: Spectral resolving power (:math:`R = \frac{\lambda}{\Delta\lambda}`), characterizing the instrument's ability to distinguish close spectral features.
57
+ - **incident_light_angle**: Angle at which light enters the grating, influencing the wavelength solution through the grating equation.
58
+
59
+
60
+ For more details on the fitting algorithms and parameterization, see the
61
+ `solar-wavelength-calibration documentation <https://docs.dkist.nso.edu/projects/solar-wavelength-calibration/en/latest/>`_
62
+ and `Greisen et al. (2006) <https://ui.adsabs.harvard.edu/abs/2006A%26A...446..747G/abstract>`_.