dkist-processing-cryonirsp 1.3.4__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.

Potentially problematic release.


This version of dkist-processing-cryonirsp might be problematic. Click here for more details.

Files changed (111) hide show
  1. changelog/.gitempty +0 -0
  2. dkist_processing_cryonirsp/__init__.py +11 -0
  3. dkist_processing_cryonirsp/config.py +12 -0
  4. dkist_processing_cryonirsp/models/__init__.py +1 -0
  5. dkist_processing_cryonirsp/models/constants.py +248 -0
  6. dkist_processing_cryonirsp/models/exposure_conditions.py +26 -0
  7. dkist_processing_cryonirsp/models/parameters.py +296 -0
  8. dkist_processing_cryonirsp/models/tags.py +168 -0
  9. dkist_processing_cryonirsp/models/task_name.py +14 -0
  10. dkist_processing_cryonirsp/parsers/__init__.py +1 -0
  11. dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +111 -0
  12. dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +30 -0
  13. dkist_processing_cryonirsp/parsers/exposure_conditions.py +163 -0
  14. dkist_processing_cryonirsp/parsers/map_repeats.py +40 -0
  15. dkist_processing_cryonirsp/parsers/measurements.py +55 -0
  16. dkist_processing_cryonirsp/parsers/modstates.py +31 -0
  17. dkist_processing_cryonirsp/parsers/optical_density_filters.py +40 -0
  18. dkist_processing_cryonirsp/parsers/polarimetric_check.py +120 -0
  19. dkist_processing_cryonirsp/parsers/scan_step.py +412 -0
  20. dkist_processing_cryonirsp/parsers/time.py +80 -0
  21. dkist_processing_cryonirsp/parsers/wavelength.py +26 -0
  22. dkist_processing_cryonirsp/tasks/__init__.py +19 -0
  23. dkist_processing_cryonirsp/tasks/assemble_movie.py +202 -0
  24. dkist_processing_cryonirsp/tasks/bad_pixel_map.py +96 -0
  25. dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +279 -0
  26. dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +55 -0
  27. dkist_processing_cryonirsp/tasks/ci_science.py +169 -0
  28. dkist_processing_cryonirsp/tasks/cryonirsp_base.py +67 -0
  29. dkist_processing_cryonirsp/tasks/dark.py +98 -0
  30. dkist_processing_cryonirsp/tasks/gain.py +251 -0
  31. dkist_processing_cryonirsp/tasks/instrument_polarization.py +447 -0
  32. dkist_processing_cryonirsp/tasks/l1_output_data.py +44 -0
  33. dkist_processing_cryonirsp/tasks/linearity_correction.py +582 -0
  34. dkist_processing_cryonirsp/tasks/make_movie_frames.py +302 -0
  35. dkist_processing_cryonirsp/tasks/mixin/__init__.py +1 -0
  36. dkist_processing_cryonirsp/tasks/mixin/beam_access.py +52 -0
  37. dkist_processing_cryonirsp/tasks/mixin/corrections.py +177 -0
  38. dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +193 -0
  39. dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +309 -0
  40. dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +297 -0
  41. dkist_processing_cryonirsp/tasks/parse.py +281 -0
  42. dkist_processing_cryonirsp/tasks/quality_metrics.py +271 -0
  43. dkist_processing_cryonirsp/tasks/science_base.py +511 -0
  44. dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +270 -0
  45. dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +484 -0
  46. dkist_processing_cryonirsp/tasks/sp_geometric.py +585 -0
  47. dkist_processing_cryonirsp/tasks/sp_science.py +299 -0
  48. dkist_processing_cryonirsp/tasks/sp_solar_gain.py +475 -0
  49. dkist_processing_cryonirsp/tasks/trial_output_data.py +61 -0
  50. dkist_processing_cryonirsp/tasks/write_l1.py +1033 -0
  51. dkist_processing_cryonirsp/tests/__init__.py +1 -0
  52. dkist_processing_cryonirsp/tests/conftest.py +456 -0
  53. dkist_processing_cryonirsp/tests/header_models.py +592 -0
  54. dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  55. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +541 -0
  56. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +615 -0
  57. dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +96 -0
  58. dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +592 -0
  59. dkist_processing_cryonirsp/tests/test_assemble_movie.py +144 -0
  60. dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +517 -0
  61. dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +115 -0
  62. dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +106 -0
  63. dkist_processing_cryonirsp/tests/test_ci_science.py +355 -0
  64. dkist_processing_cryonirsp/tests/test_corrections.py +126 -0
  65. dkist_processing_cryonirsp/tests/test_cryo_base.py +202 -0
  66. dkist_processing_cryonirsp/tests/test_cryo_constants.py +76 -0
  67. dkist_processing_cryonirsp/tests/test_dark.py +287 -0
  68. dkist_processing_cryonirsp/tests/test_gain.py +278 -0
  69. dkist_processing_cryonirsp/tests/test_instrument_polarization.py +531 -0
  70. dkist_processing_cryonirsp/tests/test_linearity_correction.py +245 -0
  71. dkist_processing_cryonirsp/tests/test_make_movie_frames.py +111 -0
  72. dkist_processing_cryonirsp/tests/test_parameters.py +266 -0
  73. dkist_processing_cryonirsp/tests/test_parse.py +1439 -0
  74. dkist_processing_cryonirsp/tests/test_quality.py +203 -0
  75. dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +112 -0
  76. dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py +155 -0
  77. dkist_processing_cryonirsp/tests/test_sp_geometric.py +319 -0
  78. dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +121 -0
  79. dkist_processing_cryonirsp/tests/test_sp_science.py +483 -0
  80. dkist_processing_cryonirsp/tests/test_sp_solar.py +198 -0
  81. dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +79 -0
  82. dkist_processing_cryonirsp/tests/test_trial_output_data.py +251 -0
  83. dkist_processing_cryonirsp/tests/test_workflows.py +9 -0
  84. dkist_processing_cryonirsp/tests/test_write_l1.py +436 -0
  85. dkist_processing_cryonirsp/workflows/__init__.py +2 -0
  86. dkist_processing_cryonirsp/workflows/ci_l0_processing.py +77 -0
  87. dkist_processing_cryonirsp/workflows/sp_l0_processing.py +84 -0
  88. dkist_processing_cryonirsp/workflows/trial_workflows.py +190 -0
  89. dkist_processing_cryonirsp-1.3.4.dist-info/METADATA +194 -0
  90. dkist_processing_cryonirsp-1.3.4.dist-info/RECORD +111 -0
  91. dkist_processing_cryonirsp-1.3.4.dist-info/WHEEL +5 -0
  92. dkist_processing_cryonirsp-1.3.4.dist-info/top_level.txt +4 -0
  93. docs/Makefile +134 -0
  94. docs/bad_pixel_calibration.rst +47 -0
  95. docs/beam_angle_calculation.rst +53 -0
  96. docs/beam_boundary_computation.rst +88 -0
  97. docs/changelog.rst +7 -0
  98. docs/ci_science_calibration.rst +33 -0
  99. docs/conf.py +52 -0
  100. docs/index.rst +21 -0
  101. docs/l0_to_l1_cryonirsp_ci-full-trial.rst +10 -0
  102. docs/l0_to_l1_cryonirsp_ci.rst +10 -0
  103. docs/l0_to_l1_cryonirsp_sp-full-trial.rst +10 -0
  104. docs/l0_to_l1_cryonirsp_sp.rst +10 -0
  105. docs/linearization.rst +43 -0
  106. docs/make.bat +170 -0
  107. docs/requirements.txt +1 -0
  108. docs/requirements_table.rst +8 -0
  109. docs/scientific_changelog.rst +10 -0
  110. docs/sp_science_calibration.rst +59 -0
  111. licenses/LICENSE.rst +11 -0
@@ -0,0 +1,190 @@
1
+ """Workflows for trial runs (i.e., not Production)."""
2
+ from dkist_processing_common.tasks import CreateTrialAsdf
3
+ from dkist_processing_common.tasks import CreateTrialDatasetInventory
4
+ from dkist_processing_common.tasks import CreateTrialQualityReport
5
+ from dkist_processing_common.tasks import QualityL1Metrics
6
+ from dkist_processing_common.tasks import TransferL0Data
7
+ from dkist_processing_common.tasks import TrialTeardown
8
+ from dkist_processing_core import ResourceQueue
9
+ from dkist_processing_core import Workflow
10
+
11
+ from dkist_processing_cryonirsp.tasks import AssembleCryonirspMovie
12
+ from dkist_processing_cryonirsp.tasks import BadPixelMapCalibration
13
+ from dkist_processing_cryonirsp.tasks import CIBeamBoundariesCalibration
14
+ from dkist_processing_cryonirsp.tasks import (
15
+ CIInstrumentPolarizationCalibration,
16
+ )
17
+ from dkist_processing_cryonirsp.tasks import CIScienceCalibration
18
+ from dkist_processing_cryonirsp.tasks import CISolarGainCalibration
19
+ from dkist_processing_cryonirsp.tasks import CIWriteL1Frame
20
+ from dkist_processing_cryonirsp.tasks import CryonirspL0QualityMetrics
21
+ from dkist_processing_cryonirsp.tasks import CryonirspL1QualityMetrics
22
+ from dkist_processing_cryonirsp.tasks import DarkCalibration
23
+ from dkist_processing_cryonirsp.tasks import LampGainCalibration
24
+ from dkist_processing_cryonirsp.tasks import LinearityCorrection
25
+ from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
26
+ from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
27
+ from dkist_processing_cryonirsp.tasks import SPBeamBoundariesCalibration
28
+ from dkist_processing_cryonirsp.tasks import SPDispersionAxisCorrection
29
+ from dkist_processing_cryonirsp.tasks import SPGeometricCalibration
30
+ from dkist_processing_cryonirsp.tasks import (
31
+ SPInstrumentPolarizationCalibration,
32
+ )
33
+ from dkist_processing_cryonirsp.tasks import SPScienceCalibration
34
+ from dkist_processing_cryonirsp.tasks import SPSolarGainCalibration
35
+ from dkist_processing_cryonirsp.tasks import SPWriteL1Frame
36
+ from dkist_processing_cryonirsp.tasks import TransferCryoTrialData
37
+ from dkist_processing_cryonirsp.tasks.l1_output_data import CIAssembleQualityData
38
+ from dkist_processing_cryonirsp.tasks.l1_output_data import SPAssembleQualityData
39
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspCILinearizedData
40
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspSPLinearizedData
41
+
42
+ full_trial_ci_pipeline = Workflow(
43
+ category="cryonirsp",
44
+ input_data="l0",
45
+ output_data="l1",
46
+ detail="ci-full-trial",
47
+ workflow_package=__package__,
48
+ )
49
+ full_trial_ci_pipeline.add_node(task=TransferL0Data, upstreams=None)
50
+
51
+ # Science flow
52
+ full_trial_ci_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
53
+ full_trial_ci_pipeline.add_node(
54
+ task=LinearityCorrection,
55
+ resource_queue=ResourceQueue.HIGH_MEMORY,
56
+ upstreams=ParseL0CryonirspRampData,
57
+ )
58
+ full_trial_ci_pipeline.add_node(
59
+ task=ParseL0CryonirspCILinearizedData, upstreams=LinearityCorrection
60
+ )
61
+ full_trial_ci_pipeline.add_node(
62
+ task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData
63
+ )
64
+ full_trial_ci_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
65
+ full_trial_ci_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
66
+ full_trial_ci_pipeline.add_node(task=LampGainCalibration, upstreams=DarkCalibration)
67
+ full_trial_ci_pipeline.add_node(task=CISolarGainCalibration, upstreams=LampGainCalibration)
68
+ full_trial_ci_pipeline.add_node(
69
+ task=CIInstrumentPolarizationCalibration, upstreams=CISolarGainCalibration
70
+ )
71
+ full_trial_ci_pipeline.add_node(
72
+ task=CIScienceCalibration, upstreams=CIInstrumentPolarizationCalibration
73
+ )
74
+ full_trial_ci_pipeline.add_node(task=CIWriteL1Frame, upstreams=CIScienceCalibration)
75
+
76
+ # Movie flow
77
+ full_trial_ci_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=CIScienceCalibration)
78
+ full_trial_ci_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
79
+
80
+ # Quality flow
81
+ full_trial_ci_pipeline.add_node(
82
+ task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData
83
+ )
84
+ full_trial_ci_pipeline.add_node(task=QualityL1Metrics, upstreams=CIScienceCalibration)
85
+ full_trial_ci_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=CIScienceCalibration)
86
+ full_trial_ci_pipeline.add_node(
87
+ task=CIAssembleQualityData,
88
+ upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
89
+ )
90
+
91
+ # Trial data generation
92
+ full_trial_ci_pipeline.add_node(
93
+ task=CreateTrialDatasetInventory, upstreams=CIWriteL1Frame, pip_extras=["inventory"]
94
+ )
95
+ full_trial_ci_pipeline.add_node(task=CreateTrialAsdf, upstreams=CIWriteL1Frame, pip_extras=["asdf"])
96
+ full_trial_ci_pipeline.add_node(
97
+ task=CreateTrialQualityReport, upstreams=CIAssembleQualityData, pip_extras=["quality"]
98
+ )
99
+
100
+ # Output flow
101
+ full_trial_ci_pipeline.add_node(
102
+ task=TransferCryoTrialData,
103
+ upstreams=[
104
+ CreateTrialDatasetInventory,
105
+ CreateTrialAsdf,
106
+ CreateTrialQualityReport,
107
+ AssembleCryonirspMovie,
108
+ ],
109
+ )
110
+
111
+ # goodbye
112
+ full_trial_ci_pipeline.add_node(task=TrialTeardown, upstreams=TransferCryoTrialData)
113
+
114
+ #######################
115
+ #######################
116
+ full_trial_sp_pipeline = Workflow(
117
+ category="cryonirsp",
118
+ input_data="l0",
119
+ output_data="l1",
120
+ detail="sp-full-trial",
121
+ workflow_package=__package__,
122
+ )
123
+ full_trial_sp_pipeline.add_node(task=TransferL0Data, upstreams=None)
124
+
125
+ # Science flow
126
+ full_trial_sp_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
127
+ full_trial_sp_pipeline.add_node(
128
+ task=LinearityCorrection,
129
+ resource_queue=ResourceQueue.HIGH_MEMORY,
130
+ upstreams=ParseL0CryonirspRampData,
131
+ )
132
+ full_trial_sp_pipeline.add_node(
133
+ task=ParseL0CryonirspSPLinearizedData, upstreams=LinearityCorrection
134
+ )
135
+ full_trial_sp_pipeline.add_node(
136
+ task=BadPixelMapCalibration, upstreams=ParseL0CryonirspSPLinearizedData
137
+ )
138
+ full_trial_sp_pipeline.add_node(task=SPBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
139
+ full_trial_sp_pipeline.add_node(task=DarkCalibration, upstreams=SPBeamBoundariesCalibration)
140
+ full_trial_sp_pipeline.add_node(task=LampGainCalibration, upstreams=DarkCalibration)
141
+ full_trial_sp_pipeline.add_node(task=SPGeometricCalibration, upstreams=LampGainCalibration)
142
+ full_trial_sp_pipeline.add_node(task=SPSolarGainCalibration, upstreams=SPGeometricCalibration)
143
+ full_trial_sp_pipeline.add_node(task=SPDispersionAxisCorrection, upstreams=SPSolarGainCalibration)
144
+
145
+ full_trial_sp_pipeline.add_node(
146
+ task=SPInstrumentPolarizationCalibration, upstreams=SPSolarGainCalibration
147
+ )
148
+ full_trial_sp_pipeline.add_node(
149
+ task=SPScienceCalibration,
150
+ upstreams=[SPInstrumentPolarizationCalibration, SPDispersionAxisCorrection],
151
+ )
152
+ full_trial_sp_pipeline.add_node(task=SPWriteL1Frame, upstreams=SPScienceCalibration)
153
+
154
+ # Movie flow
155
+ full_trial_sp_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=SPScienceCalibration)
156
+ full_trial_sp_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
157
+
158
+ # Quality flow
159
+ full_trial_sp_pipeline.add_node(
160
+ task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData
161
+ )
162
+ full_trial_sp_pipeline.add_node(task=QualityL1Metrics, upstreams=SPScienceCalibration)
163
+ full_trial_sp_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=SPScienceCalibration)
164
+ full_trial_sp_pipeline.add_node(
165
+ task=SPAssembleQualityData,
166
+ upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
167
+ )
168
+
169
+ # Trial data generation
170
+ full_trial_sp_pipeline.add_node(
171
+ task=CreateTrialDatasetInventory, upstreams=SPWriteL1Frame, pip_extras=["inventory"]
172
+ )
173
+ full_trial_sp_pipeline.add_node(task=CreateTrialAsdf, upstreams=SPWriteL1Frame, pip_extras=["asdf"])
174
+ full_trial_sp_pipeline.add_node(
175
+ task=CreateTrialQualityReport, upstreams=SPAssembleQualityData, pip_extras=["quality"]
176
+ )
177
+
178
+ # Output flow
179
+ full_trial_sp_pipeline.add_node(
180
+ task=TransferCryoTrialData,
181
+ upstreams=[
182
+ CreateTrialDatasetInventory,
183
+ CreateTrialAsdf,
184
+ CreateTrialQualityReport,
185
+ AssembleCryonirspMovie,
186
+ ],
187
+ )
188
+
189
+ # goodbye
190
+ full_trial_sp_pipeline.add_node(task=TrialTeardown, upstreams=TransferCryoTrialData)
@@ -0,0 +1,194 @@
1
+ Metadata-Version: 2.1
2
+ Name: dkist-processing-cryonirsp
3
+ Version: 1.3.4
4
+ Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
+ Author-email: NSO / AURA <dkistdc@nso.edu>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://nso.edu/dkist/data-center/
8
+ Project-URL: Repository, https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/
9
+ Project-URL: Documentation, https://docs.dkist.nso.edu/projects/cryo-nirsp
10
+ Project-URL: Help, https://nso.atlassian.net/servicedesk/customer/portal/5
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Requires-Python: >=3.11
15
+ Description-Content-Type: text/x-rst
16
+ Requires-Dist: Pillow ==10.3.0
17
+ Requires-Dist: astropy ==6.1.0
18
+ Requires-Dist: dkist-fits-specifications ==4.7.0
19
+ Requires-Dist: dkist-header-validator ==5.1.1
20
+ Requires-Dist: dkist-processing-common ==10.2.2
21
+ Requires-Dist: dkist-processing-math ==2.1.1
22
+ Requires-Dist: dkist-processing-pac ==3.0.3
23
+ Requires-Dist: dkist-spectral-lines ==3.0.0
24
+ Requires-Dist: largestinteriorrectangle ==0.2.0
25
+ Requires-Dist: dkist-service-configuration ==2.2
26
+ Requires-Dist: moviepy ==1.0.3
27
+ Requires-Dist: numba ==0.59.1
28
+ Requires-Dist: numpy ==1.26.4
29
+ Requires-Dist: peakutils ==1.3.4
30
+ Requires-Dist: scikit-image ==0.23.2
31
+ Requires-Dist: scipy ==1.13.1
32
+ Requires-Dist: sunpy ==5.1.3
33
+ Provides-Extra: asdf
34
+ Requires-Dist: dkist-processing-common[asdf] ; extra == 'asdf'
35
+ Requires-Dist: dkist-inventory[asdf] ==1.4.0 ; extra == 'asdf'
36
+ Provides-Extra: docs
37
+ Requires-Dist: sphinx ; extra == 'docs'
38
+ Requires-Dist: sphinx-astropy ; extra == 'docs'
39
+ Requires-Dist: sphinx-changelog ; extra == 'docs'
40
+ Requires-Dist: sphinx-autoapi ; extra == 'docs'
41
+ Requires-Dist: pytest ; extra == 'docs'
42
+ Requires-Dist: towncrier ; extra == 'docs'
43
+ Requires-Dist: dkist-sphinx-theme ; extra == 'docs'
44
+ Provides-Extra: grogu
45
+ Requires-Dist: dkist ; extra == 'grogu'
46
+ Requires-Dist: pyparsing ; extra == 'grogu'
47
+ Requires-Dist: dkist-inventory >=1.4.0 ; extra == 'grogu'
48
+ Provides-Extra: inventory
49
+ Requires-Dist: dkist-processing-common[inventory] ; extra == 'inventory'
50
+ Requires-Dist: dkist-inventory ==1.4.0 ; extra == 'inventory'
51
+ Provides-Extra: quality
52
+ Requires-Dist: dkist-quality ==1.1.1 ; extra == 'quality'
53
+ Provides-Extra: test
54
+ Requires-Dist: pytest ; extra == 'test'
55
+ Requires-Dist: pytest-cov ; extra == 'test'
56
+ Requires-Dist: pytest-xdist ; extra == 'test'
57
+ Requires-Dist: pytest-mock ; extra == 'test'
58
+ Requires-Dist: hypothesis ; extra == 'test'
59
+ Requires-Dist: towncrier ; extra == 'test'
60
+ Requires-Dist: dkist-data-simulator >=5.2.0 ; extra == 'test'
61
+ Requires-Dist: dkist-processing-cryonirsp[inventory] ; extra == 'test'
62
+ Requires-Dist: dkist-processing-cryonirsp[asdf] ; extra == 'test'
63
+ Requires-Dist: dkist-processing-cryonirsp[quality] ; extra == 'test'
64
+
65
+ dkist-processing-cryonirsp
66
+ ==========================
67
+
68
+ Overview
69
+ --------
70
+ The dkist-processing-cryonirsp library contains the implementation of the cryonirsp pipelines as a collection of the
71
+ `dkist-processing-core <https://pypi.org/project/dkist-processing-core/>`_ framework and
72
+ `dkist-processing-common <https://pypi.org/project/dkist-processing-common/>`_ Tasks.
73
+
74
+ The recommended project structure is to separate tasks and workflows into separate packages. Having the workflows
75
+ in their own package facilitates using the build_utils to test the integrity of those workflows in the unit test.
76
+
77
+ Calibration Pipeline
78
+ ------------------------
79
+
80
+ Build
81
+ -----
82
+ Artifacts are built through Bitbucket Pipelines.
83
+
84
+ The pipeline can be used in other repos with a modification of the package and artifact locations
85
+ to use the names relevant to the target repo.
86
+
87
+ e.g. dkist-processing-test -> dkist-processing-vbi and dkist_processing_test -> dkist_processing_vbi
88
+
89
+ Deployment
90
+ ----------
91
+ Deployment is done with `turtlebot <https://bitbucket.org/dkistdc/turtlebot/src/master/>`_ and follows
92
+ the process detailed in `dkist-processing-core <https://pypi.org/project/dkist-processing-core/>`_
93
+
94
+ Environment Variables
95
+ ---------------------
96
+ Only those specified by `dkist-processing-core <https://pypi.org/project/dkist-processing-core/>`_ and `dkist-processing-common <https://pypi.org/project/dkist-processing-common/>`_.
97
+
98
+ Development
99
+ -----------
100
+ .. code-block:: bash
101
+
102
+ git clone git@bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
103
+ cd dkist-processing-cryonirsp
104
+ pre-commit install
105
+ pip install -e .[test]
106
+ pytest -v --cov dkist_processing_cryonirsp
107
+
108
+ Changelog
109
+ #########
110
+
111
+ When you make **any** change to this repository it **MUST** be accompanied by a changelog file.
112
+ The changelog for this repository uses the `towncrier <https://github.com/twisted/towncrier>`__ package.
113
+ Entries in the changelog for the next release are added as individual files (one per change) to the ``changelog/`` directory.
114
+
115
+ Writing a Changelog Entry
116
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
117
+
118
+ A changelog entry accompanying a change should be added to the ``changelog/`` directory.
119
+ The name of a file in this directory follows a specific template::
120
+
121
+ <PULL REQUEST NUMBER>.<TYPE>[.<COUNTER>].rst
122
+
123
+ The fields have the following meanings:
124
+
125
+ * ``<PULL REQUEST NUMBER>``: This is the number of the pull request, so people can jump from the changelog entry to the diff on BitBucket.
126
+ * ``<TYPE>``: This is the type of the change and must be one of the values described below.
127
+ * ``<COUNTER>``: This is an optional field, if you make more than one change of the same type you can append a counter to the subsequent changes, i.e. ``100.bugfix.rst`` and ``100.bugfix.1.rst`` for two bugfix changes in the same PR.
128
+
129
+ The list of possible types is defined in the towncrier section of ``pyproject.toml``, the types are:
130
+
131
+ * ``feature``: This change is a new code feature.
132
+ * ``bugfix``: This is a change which fixes a bug.
133
+ * ``doc``: A documentation change.
134
+ * ``removal``: A deprecation or removal of public API.
135
+ * ``misc``: Any small change which doesn't fit anywhere else, such as a change to the package infrastructure.
136
+
137
+
138
+ Rendering the Changelog at Release Time
139
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140
+
141
+ When you are about to tag a release first you must run ``towncrier`` to render the changelog.
142
+ The steps for this are as follows:
143
+
144
+ * Run `towncrier build --version vx.y.z` using the version number you want to tag.
145
+ * Agree to have towncrier remove the fragments.
146
+ * Add and commit your changes.
147
+ * Tag the release.
148
+
149
+ **NOTE:** If you forget to add a Changelog entry to a tagged release (either manually or automatically with ``towncrier``)
150
+ then the Bitbucket pipeline will fail. To be able to use the same tag you must delete it locally and on the remote branch:
151
+
152
+ .. code-block:: bash
153
+
154
+ # First, actually update the CHANGELOG and commit the update
155
+ git commit
156
+
157
+ # Delete tags
158
+ git tag -d vWHATEVER.THE.VERSION
159
+ git push --delete origin vWHATEVER.THE.VERSION
160
+
161
+ # Re-tag with the same version
162
+ git tag vWHATEVER.THE.VERSION
163
+ git push --tags origin main
164
+
165
+ Science Changelog
166
+ ^^^^^^^^^^^^^^^^^
167
+
168
+ Whenever a release involves changes to the scientific quality of L1 data, additional changelog fragment(s) should be
169
+ created. These fragments are intended to be as verbose as is needed to accurately capture the scope of the change(s),
170
+ so feel free to use all the fancy RST you want. Science fragments are placed in the same ``changelog/`` directory
171
+ as other fragments, but are always called::
172
+
173
+ <PR NUMBER | +>.science[.<COUNTER>].rst
174
+
175
+ In the case that a single pull request encapsulates the entirety of the scientific change then the first field should
176
+ be that PR number (same as the normal CHANGELOG). If, however, there is not a simple mapping from a single PR to a scientific
177
+ change then use the character "+" instead; this will create a changelog entry with no associated PR. For example:
178
+
179
+ .. code-block:: bash
180
+
181
+ $ ls changelog/
182
+ 99.bugfix.rst # This is a normal changelog fragment associated with a bugfix in PR 99
183
+ 99.science.rst # Apparently that bugfix also changed the scientific results, so that PR also gets a science fragment
184
+ +.science.rst # This fragment is not associated with a PR
185
+
186
+
187
+ When it comes time to build the SCIENCE_CHANGELOG, use the ``science_towncrier.sh`` script in this repo to do so.
188
+ This script accepts all the same arguments as the default `towncrier`. For example:
189
+
190
+ .. code-block:: bash
191
+
192
+ ./science_towncrier.sh build --version vx.y.z
193
+
194
+ This will update the SCIENCE_CHANGELOG and remove any science fragments from the changelog directory.
@@ -0,0 +1,111 @@
1
+ changelog/.gitempty,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ dkist_processing_cryonirsp/__init__.py,sha256=Z6-kB7fXXUI-F7Vz1HnEaja2h8qgH9IZExRl1lUxvZg,350
3
+ dkist_processing_cryonirsp/config.py,sha256=xNkUNJ1BeBxJX881mTCIEbirZlD5_5txpV1QqkbfRM0,507
4
+ dkist_processing_cryonirsp/models/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
5
+ dkist_processing_cryonirsp/models/constants.py,sha256=1R3rWj__ay6lHZJpXBaSdfSozmi7K6ceU2U9PkdIJwc,9360
6
+ dkist_processing_cryonirsp/models/exposure_conditions.py,sha256=slFq5-Qz4fRpJKDBabbm4evPWLQVYmT-Uf9rk7nI734,813
7
+ dkist_processing_cryonirsp/models/parameters.py,sha256=oAB_68AY2HdxK8IkvzisPKDI-c2agZeKiE5VIkHkkRI,13422
8
+ dkist_processing_cryonirsp/models/tags.py,sha256=1Q2ag0ud9gx3su-XUqa--gwSnf5di7CGnlkyiEFreRs,4388
9
+ dkist_processing_cryonirsp/models/task_name.py,sha256=xK4AKwgOx2uANbjhr0Q5Q3R9iPxLfkVKxWYY8wWjKhE,439
10
+ dkist_processing_cryonirsp/parsers/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
11
+ dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py,sha256=e4vDjsG5ye6N8cSg6WCJDHmlGAgM_2w1DRpp_KSddJw,4453
12
+ dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py,sha256=sc8MzxYMc8E1eFrL5KguAGHViCMJhaDfiBtZPml4ELg,886
13
+ dkist_processing_cryonirsp/parsers/exposure_conditions.py,sha256=Xj466IJyaMXUCudrdTOUFmjsOr_CYENI7BegwwmEjoA,6098
14
+ dkist_processing_cryonirsp/parsers/map_repeats.py,sha256=PjZ986bqkCdii-EOzU045cWqadxQC_nyyqwWYIpYdls,1566
15
+ dkist_processing_cryonirsp/parsers/measurements.py,sha256=6IqqrVbXVnUxYUXnQF-WlJSEP-eSffr2Gx6Kj0bjxhc,1872
16
+ dkist_processing_cryonirsp/parsers/modstates.py,sha256=00a4kCiwgioTpMkYY9ouFuiEsoQHcD-sJOM95qI9Fhc,1093
17
+ dkist_processing_cryonirsp/parsers/optical_density_filters.py,sha256=NURdMnNVu_nV7IfabyYynAoLe4xZ5iLbs6VU_lHmBA4,1531
18
+ dkist_processing_cryonirsp/parsers/polarimetric_check.py,sha256=HBzg9Zi9-M1M2jh4J7LoNd3OSn8MmU9TcujyhD788Lo,4746
19
+ dkist_processing_cryonirsp/parsers/scan_step.py,sha256=7XNUq48qbdpV8GeaBeG9XFRDkYlgw8Fjd6ByFZ24OAc,18972
20
+ dkist_processing_cryonirsp/parsers/time.py,sha256=dpajm3tfrih-8pjlOWOvZVJVP2FihR87HFQSjR_KPYI,2543
21
+ dkist_processing_cryonirsp/parsers/wavelength.py,sha256=Ay5hZiDNV25-N_QXZINTCgn1ToiP2jvwumkbirBiJGk,883
22
+ dkist_processing_cryonirsp/tasks/__init__.py,sha256=VmCozaqDBf521Ppj-o_K9Vog_BwEJCBZ16pTzP0aEO8,1126
23
+ dkist_processing_cryonirsp/tasks/assemble_movie.py,sha256=Brj3zdTKQiwgclIKoW2TSxuEHlkST8WjxvtBZONyGKM,7337
24
+ dkist_processing_cryonirsp/tasks/bad_pixel_map.py,sha256=QZzCngleitLDjq_2zRBuUorMMkmzMEo11Xwvu6dEudc,3713
25
+ dkist_processing_cryonirsp/tasks/beam_boundaries_base.py,sha256=N3zk08sRcczoNGIqRd8vzGtYLQUUiH52-WOc7fIw7t4,9960
26
+ dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py,sha256=N-LDXCzI0JJLvhTM69W0zW6moAPaVzl96h41RTn0wNE,1893
27
+ dkist_processing_cryonirsp/tasks/ci_science.py,sha256=Qa-qSx_TxtXzGGjgN73TDbO1kqxBNlkt2zaBBB43erM,6693
28
+ dkist_processing_cryonirsp/tasks/cryonirsp_base.py,sha256=rVy7vV4il0_B5KXenmCYEcYLNaIQ8_MDiKKn8X6v8yw,2168
29
+ dkist_processing_cryonirsp/tasks/dark.py,sha256=tKzbQoVMe-NdETxY2VIwBxMXCuc1afCTpxpbKiKPf8I,3864
30
+ dkist_processing_cryonirsp/tasks/gain.py,sha256=adrYXgCg0gmDsiczFhyU8kBQsVXj15IEfGrRE2TqVdw,8537
31
+ dkist_processing_cryonirsp/tasks/instrument_polarization.py,sha256=uaQWIcQkw61azIA8J1GaRHegFrpZmjWT4wER3iaRmWE,19526
32
+ dkist_processing_cryonirsp/tasks/l1_output_data.py,sha256=FdL_Dv-YTLgT-xH_uOOUjk4GUYMjbaSDPIg1rIQu_iY,1621
33
+ dkist_processing_cryonirsp/tasks/linearity_correction.py,sha256=-R0iBJDNF9o57GUd5C8YlOL6wyVUzKf5rSDFgu0kpgA,24310
34
+ dkist_processing_cryonirsp/tasks/make_movie_frames.py,sha256=Ql_bg1r1W1m-tTOParAdkllFJEJFdNoE16GgHyhDgdw,13900
35
+ dkist_processing_cryonirsp/tasks/parse.py,sha256=4qHU_Zy0gfoRBDY94jZhkRqKXwz-QPM42eUY9Db7e5Y,12326
36
+ dkist_processing_cryonirsp/tasks/quality_metrics.py,sha256=r4mS1Qp88tHlbNKsqed-MOsFT_6Zbhr5H8-4hrx9OGw,11424
37
+ dkist_processing_cryonirsp/tasks/science_base.py,sha256=-BjPNPI5jjiBR7K8p_9fa4vYCEUEdOFx7c2AC5EmFoE,17619
38
+ dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py,sha256=3bdj6W2H_UiOhmj2xHvADwOzojteLsTL9RkTwvzB6_M,10300
39
+ dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py,sha256=y9TKJCtpnc2zA9UsohHDZjCpUPsigs_aXVsO_zh3CK0,19045
40
+ dkist_processing_cryonirsp/tasks/sp_geometric.py,sha256=Ym5M1DJR_ZYGqjD1Cy5IQiult3GN5dp0hnJ9sLfMDQM,21860
41
+ dkist_processing_cryonirsp/tasks/sp_science.py,sha256=FubmQSg_ZrVy08TcT6dRK2nuA2cmGMrMYMmjT6_bYQM,12091
42
+ dkist_processing_cryonirsp/tasks/sp_solar_gain.py,sha256=WJKenRlqFlsP3zb3IPqRFdxCGcmJZMVlM9Me-myyvn0,18541
43
+ dkist_processing_cryonirsp/tasks/trial_output_data.py,sha256=wQP-zHxw_gJ3KKOF_9AZ_nTyRRdsaM4Ekv0JeXwxxJg,2481
44
+ dkist_processing_cryonirsp/tasks/write_l1.py,sha256=7xM4Uy66BCZzFhNPNHkiov6zIcfkZH45SadsJJr6QKc,41023
45
+ dkist_processing_cryonirsp/tasks/mixin/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
46
+ dkist_processing_cryonirsp/tasks/mixin/beam_access.py,sha256=DiPRbsAyfhX-juHL0slypcXi5C8PJT-DNMX6ck1IH1w,1627
47
+ dkist_processing_cryonirsp/tasks/mixin/corrections.py,sha256=rcKmckBJkoExcX0XW1i3OZzuMu1i7tX5Hgwy15chU50,6566
48
+ dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py,sha256=fFeIvuA4AtkQTt9hOFHUYolrSYPtjUGZU4g5f7JKj5Y,7911
49
+ dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py,sha256=oyiMA_rzBUYtlmh1ilfE5DkuIe4FFiyptaYjcU8-joA,10176
50
+ dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py,sha256=7ToSy9uOJ_JrFfd-X225wqW_laq4xoRJkBiAPanfb_g,11225
51
+ dkist_processing_cryonirsp/tests/__init__.py,sha256=m6UekKftTahNJ3W5K3mZSz4Y4ZZpHRxF_ZAxuaKYL7o,12
52
+ dkist_processing_cryonirsp/tests/conftest.py,sha256=SiE_QHRy5IQ5SNOjBYdm9OhZBFqCB7Lx_FrTELqYS4M,17103
53
+ dkist_processing_cryonirsp/tests/header_models.py,sha256=Ny4h5lS54bGRPDo4nOzvJgNWMzFY9DDs1IQorr_r3s8,20591
54
+ dkist_processing_cryonirsp/tests/test_assemble_movie.py,sha256=YNZINIFXR9kZBlE1AIvjlVmwwhZJeVYOOPk7Q8IVkcI,6222
55
+ dkist_processing_cryonirsp/tests/test_assemble_qualilty.py,sha256=KNEsB8PQ4ciuwrv-JVuXemV_C65u0Eue3fNKvgPXEg4,16751
56
+ dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py,sha256=O3_GiGmc2le4TwiXZXEv4cjx-vE_oV9QrNsAc4L-Ufs,4906
57
+ dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py,sha256=4Im8TB9iIqHep7H3P0VCfEmPAzdDOZH3MfIJdMyiHvE,4493
58
+ dkist_processing_cryonirsp/tests/test_ci_science.py,sha256=GdzUR5csW2uoJBc_y5gYEpUxB8Qqlc8d0qhrZRjhYds,14401
59
+ dkist_processing_cryonirsp/tests/test_corrections.py,sha256=5nY8MccZcNDyQYV8IEokqtY_YrP08TZ-H7WQNioK-A0,4650
60
+ dkist_processing_cryonirsp/tests/test_cryo_base.py,sha256=lF27S1aBmMc5wRWNPKjkXZTyGDPvLo59IubYAb1McsU,7172
61
+ dkist_processing_cryonirsp/tests/test_cryo_constants.py,sha256=VbjM1vZYRa_057yK_aP2ta6JyT7Ob1ou4SbGEVIIKH0,2715
62
+ dkist_processing_cryonirsp/tests/test_dark.py,sha256=n1DYuzM4iFOSHsC8GxAeQcQItj2mFH9WkUT0KZDyM2A,11953
63
+ dkist_processing_cryonirsp/tests/test_gain.py,sha256=YUgcGFh325TZBT9BbkzlkbapVJL4skTE1FVhsFNhUc8,10854
64
+ dkist_processing_cryonirsp/tests/test_instrument_polarization.py,sha256=uJaKwCLmzQABzp5TLYKCZI0f40-aGg6Q0lDj6zIQWEA,19151
65
+ dkist_processing_cryonirsp/tests/test_linearity_correction.py,sha256=y9gDWlHsOaTMP7K5-lIIVmboa6nd0ozaqEtl6Fvt5T0,9406
66
+ dkist_processing_cryonirsp/tests/test_make_movie_frames.py,sha256=WznHp9dV2-jbJYzRniCAIbSHCGNc0SpSzyVDSrZkYd4,4904
67
+ dkist_processing_cryonirsp/tests/test_parameters.py,sha256=CbaEnxx3HGZmqZJbNzQ2IJpIg6AKlK26BT3TXUMGYAE,11438
68
+ dkist_processing_cryonirsp/tests/test_parse.py,sha256=8SN3Dw3OE50nORZelRM7epznz6CGiNL0cPkziM4kVto,51693
69
+ dkist_processing_cryonirsp/tests/test_quality.py,sha256=DWuL7q8x2RtPz3LN9-KEw541sv6Law9WyVQKaamkOmE,8169
70
+ dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py,sha256=4hONuVLQAqkQjNtpNzvmqEWLg3LI1XJLWaekkeS3SJo,4815
71
+ dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py,sha256=lhwT_I0HQuH66I0TRvARfuNnWWjxeAvQ4fEEVmbhp_E,6098
72
+ dkist_processing_cryonirsp/tests/test_sp_geometric.py,sha256=xlfmE6xfHDIJqKdXjJ_fj1ADaufg2MnkTtH11_vIxWQ,13927
73
+ dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py,sha256=Kn8U_HzaaHW2bHmBxsotdjmpBhd_Ft6pLWhVsMWIJE8,5322
74
+ dkist_processing_cryonirsp/tests/test_sp_science.py,sha256=bjUtZNlRiCaDK0ql0iMdZ6YF8f1dGAhz5HmOxWX1XBE,19416
75
+ dkist_processing_cryonirsp/tests/test_sp_solar.py,sha256=NHHE-PPa2bU0JK0fuezZakFvAi1f_2z7AHM9vxInF-U,8913
76
+ dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py,sha256=x8dRAMyawQVYZQGsuO36DMZxK4L13hZBUn86qbhJiNk,2805
77
+ dkist_processing_cryonirsp/tests/test_trial_output_data.py,sha256=BTjBK4nHtOK_c5yQf9r4VbDqt1jyaWzdO0rxRccPeFc,9105
78
+ dkist_processing_cryonirsp/tests/test_workflows.py,sha256=2a-TUMbVEyNjHYNyzo2UQMLg5PSaEx6iV9hOsGp-Mck,291
79
+ dkist_processing_cryonirsp/tests/test_write_l1.py,sha256=TIizk5mViC6Km8Ee-CfHwRFTqJmSa3Ey_GfM09iGBRc,17597
80
+ dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py,sha256=jJ9g2muTBfSHP-RgUInnMzsfqmMY9O0Qu_N9SVH0nq4,20420
82
+ dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py,sha256=f00YZl9ew1IX5p-a6hisXjOcA8WvM6cJ_h_jKXCFZb8,24061
83
+ dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py,sha256=kl9yrE1EbgxNn__x4q0WYoZIvS8zefcOPbQQdxB4_ZE,3280
84
+ dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py,sha256=sPgiAZOnT-Xf0WfP7uoP_K6r3ogfDt7_47PTYBP6t7E,19754
85
+ dkist_processing_cryonirsp/workflows/__init__.py,sha256=iEbV3oiKmkfmdZjeNJxqw08IIZnYSroq-2b-ARpkLFQ,112
86
+ dkist_processing_cryonirsp/workflows/ci_l0_processing.py,sha256=6yw_mn8mxZ551ubJSHUyWd8l_Nwx1uL6yW1y_qBL5a8,3866
87
+ dkist_processing_cryonirsp/workflows/sp_l0_processing.py,sha256=A74av8E8mL9WzI4vWI2GbhVrRFQ7JCMlGAioEjXkkCU,4219
88
+ dkist_processing_cryonirsp/workflows/trial_workflows.py,sha256=zbuCW9g3gu-S2cohaFG_11j9cY6Z8-7j7GIkri5AjmY,8200
89
+ docs/Makefile,sha256=qnlVz6PuBqE39NfHWuUnHhNEA-EFgT2-WJNNNy9ttfk,4598
90
+ docs/bad_pixel_calibration.rst,sha256=bHRclUItBA1QbGlek36B1yN5WHN53WkfjKUvZaq_j2I,2452
91
+ docs/beam_angle_calculation.rst,sha256=-yUPFRl6SbPBIj-wOwylEymQDMQnkay7kAIAiubpQT8,2941
92
+ docs/beam_boundary_computation.rst,sha256=khyc_uW5zII6c0vN1lOvrwMAr5WO1XFFIou3QBJCzQ0,5541
93
+ docs/changelog.rst,sha256=S2jPASsWlQxSlAPqdvNrYvhk9k3FcFWNXFNDYXBSjl4,120
94
+ docs/ci_science_calibration.rst,sha256=V5JouSw31Yff5t2LIDHl3NCfqKtAwmk0P3iZpJi1toc,1265
95
+ docs/conf.py,sha256=cv1Gct6NbY_kxJEKqw-mMIoauxtWVZeNzRLFqX1_GUw,2038
96
+ docs/index.rst,sha256=FYjkvmzh4fo-LQ16_GzR6X-iWIc1JOpx9Reh6WUF6n0,442
97
+ docs/l0_to_l1_cryonirsp_ci-full-trial.rst,sha256=-uhtnd51ttJYw9T5hs5A9HQWpXJkOJmvfXf1INFT3MI,582
98
+ docs/l0_to_l1_cryonirsp_ci.rst,sha256=OhGTy9CBTqQJ04XhThTws8KBnGLFiP5vBX0DlX6NXKA,458
99
+ docs/l0_to_l1_cryonirsp_sp-full-trial.rst,sha256=cKdRI7qVEVYsqqgYuL9nzqFP3uTR4cu305WfjmmyetY,582
100
+ docs/l0_to_l1_cryonirsp_sp.rst,sha256=4sCQwx4oHoDurWUO7bL_jRjeRd8Cy8_oUgRXrMp2AWg,463
101
+ docs/linearization.rst,sha256=C1MXjE0rYKBaC6dFP75ZfP02ziubSCtcS4DUVU9DZk8,2549
102
+ docs/make.bat,sha256=mBAhtURwhQ7yc95pqwJzlhqBSvRknr1aqZ5s8NKvdKs,4513
103
+ docs/requirements.txt,sha256=Kbl_X4c7RQZw035YTeNB63We6I7pvXFU4T0Uflp2yDY,29
104
+ docs/requirements_table.rst,sha256=FaqSag9kPi77gWPhzeo_tFEhRFjb3qUuNqqQe1K76NM,297
105
+ docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
106
+ docs/sp_science_calibration.rst,sha256=fHBOZ2cqySxLjNi737KfynlmHZy9W4EwvuzxnyjDNvk,2597
107
+ licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
108
+ dkist_processing_cryonirsp-1.3.4.dist-info/METADATA,sha256=y13n4Ga2TRsapgm6UCpPbahH6zEmjTYlpagcqGW3-yE,8450
109
+ dkist_processing_cryonirsp-1.3.4.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
110
+ dkist_processing_cryonirsp-1.3.4.dist-info/top_level.txt,sha256=Sm9b1ddKnsF9Bh3mqDOct1Sm7k8I9aN7vGHgpmu-MlQ,51
111
+ dkist_processing_cryonirsp-1.3.4.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.1.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,4 @@
1
+ changelog
2
+ dkist_processing_cryonirsp
3
+ docs
4
+ licenses
docs/Makefile ADDED
@@ -0,0 +1,134 @@
1
+ # Makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ PAPER =
8
+ BUILDDIR = _build
9
+
10
+ # Internal variables.
11
+ PAPEROPT_a4 = -D latex_paper_size=a4
12
+ PAPEROPT_letter = -D latex_paper_size=letter
13
+ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14
+
15
+ .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
16
+
17
+ #This is needed with git because git doesn't create a dir if it's empty
18
+ $(shell [ -d "_static" ] || mkdir -p _static)
19
+
20
+ help:
21
+ @echo "Please use \`make <target>' where <target> is one of"
22
+ @echo " html to make standalone HTML files"
23
+ @echo " dirhtml to make HTML files named index.html in directories"
24
+ @echo " singlehtml to make a single large HTML file"
25
+ @echo " pickle to make pickle files"
26
+ @echo " json to make JSON files"
27
+ @echo " htmlhelp to make HTML files and a HTML help project"
28
+ @echo " qthelp to make HTML files and a qthelp project"
29
+ @echo " devhelp to make HTML files and a Devhelp project"
30
+ @echo " epub to make an epub"
31
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
32
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
33
+ @echo " text to make text files"
34
+ @echo " man to make manual pages"
35
+ @echo " changes to make an overview of all changed/added/deprecated items"
36
+ @echo " linkcheck to check all external links for integrity"
37
+
38
+ clean:
39
+ -rm -rf $(BUILDDIR)
40
+ -rm -rf api
41
+ -rm -rf generated
42
+ -rm -rf autoapi
43
+
44
+ html:
45
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
46
+ @echo
47
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
48
+
49
+ dirhtml:
50
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
51
+ @echo
52
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
53
+
54
+ singlehtml:
55
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
56
+ @echo
57
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
58
+
59
+ pickle:
60
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
61
+ @echo
62
+ @echo "Build finished; now you can process the pickle files."
63
+
64
+ json:
65
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
66
+ @echo
67
+ @echo "Build finished; now you can process the JSON files."
68
+
69
+ htmlhelp:
70
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
71
+ @echo
72
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
73
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
74
+
75
+ qthelp:
76
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
77
+ @echo
78
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
79
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
80
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Astropy.qhcp"
81
+ @echo "To view the help file:"
82
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Astropy.qhc"
83
+
84
+ devhelp:
85
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
86
+ @echo
87
+ @echo "Build finished."
88
+ @echo "To view the help file:"
89
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/Astropy"
90
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Astropy"
91
+ @echo "# devhelp"
92
+
93
+ epub:
94
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
95
+ @echo
96
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
97
+
98
+ latex:
99
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
100
+ @echo
101
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
102
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
103
+ "(use \`make latexpdf' here to do that automatically)."
104
+
105
+ latexpdf:
106
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
107
+ @echo "Running LaTeX files through pdflatex..."
108
+ make -C $(BUILDDIR)/latex all-pdf
109
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
110
+
111
+ text:
112
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
113
+ @echo
114
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
115
+
116
+ man:
117
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
118
+ @echo
119
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
120
+
121
+ changes:
122
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
123
+ @echo
124
+ @echo "The overview file is in $(BUILDDIR)/changes."
125
+
126
+ linkcheck:
127
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
128
+ @echo
129
+ @echo "Link check complete; look for any errors in the above output " \
130
+ "or in $(BUILDDIR)/linkcheck/output.txt."
131
+
132
+ doctest:
133
+ @echo "Run 'python setup.py test' in the root directory to run doctests " \
134
+ @echo "in the documentation."