dkist-processing-dlnirsp 0.31.1__py3-none-any.whl → 0.32.0__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.
- dkist_processing_dlnirsp/tasks/bad_pixel_map.py +6 -6
- dkist_processing_dlnirsp/tasks/dark.py +4 -4
- dkist_processing_dlnirsp/tasks/geometric.py +5 -5
- dkist_processing_dlnirsp/tasks/ifu_drift.py +5 -5
- dkist_processing_dlnirsp/tasks/instrument_polarization.py +14 -14
- dkist_processing_dlnirsp/tasks/lamp.py +3 -3
- dkist_processing_dlnirsp/tasks/linearity_correction.py +2 -2
- dkist_processing_dlnirsp/tasks/quality_metrics.py +4 -4
- dkist_processing_dlnirsp/tasks/science.py +5 -5
- dkist_processing_dlnirsp/tasks/solar.py +6 -6
- dkist_processing_dlnirsp/tasks/wavelength_calibration.py +5 -5
- dkist_processing_dlnirsp/tests/local_trial_workflows/l0_linearize_only.py +0 -20
- dkist_processing_dlnirsp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -20
- dkist_processing_dlnirsp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -20
- dkist_processing_dlnirsp/tests/local_trial_workflows/l0_to_l1.py +0 -21
- {dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/METADATA +123 -32
- {dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/RECORD +20 -20
- {dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/WHEEL +0 -0
- {dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/entry_points.txt +0 -0
- {dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/top_level.txt +0 -0
|
@@ -70,7 +70,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
70
70
|
logger.info("VIS data detected. Setting dynamic bad pixel map to empty.")
|
|
71
71
|
dynamic_bad_pixel_map = np.zeros_like(static_bad_pixel_map)
|
|
72
72
|
|
|
73
|
-
with self.
|
|
73
|
+
with self.telemetry_span("Combine dynamic and static maps and write"):
|
|
74
74
|
logger.info("Combining dynamic and static bad pixel maps")
|
|
75
75
|
logger.info(f"Static map has {int(np.sum(static_bad_pixel_map))} bad pixels")
|
|
76
76
|
logger.info(f"Dynamic map has {int(np.sum(dynamic_bad_pixel_map))} bad pixels")
|
|
@@ -99,7 +99,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
99
99
|
(a settable pipeline parameter) are flagged as bad pixels. Prior to computing the standard deviation of the
|
|
100
100
|
difference image the illuminated array mask is applied so non-illuminated regions don't impact the results.
|
|
101
101
|
"""
|
|
102
|
-
with self.
|
|
102
|
+
with self.telemetry_span("Smooth average lamp gain image"):
|
|
103
103
|
avg_lamp_gain = next(
|
|
104
104
|
self.read(
|
|
105
105
|
tags=[
|
|
@@ -117,7 +117,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
117
117
|
mode="constant",
|
|
118
118
|
cval=np.nanmedian(avg_lamp_gain),
|
|
119
119
|
)
|
|
120
|
-
with self.
|
|
120
|
+
with self.telemetry_span("Compute gain dynamic bad pixel map"):
|
|
121
121
|
logger.info("Finding bad pixel locations in lamp gain")
|
|
122
122
|
diff = smoothed_array - avg_lamp_gain
|
|
123
123
|
diff[~self.group_id_illuminated_idx] = np.nan
|
|
@@ -146,7 +146,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
146
146
|
is then subtracted from the original array. Pixels in this difference array that are deviant by a large amount
|
|
147
147
|
(a settable pipeline parameter) are flagged as bad pixels.
|
|
148
148
|
"""
|
|
149
|
-
with self.
|
|
149
|
+
with self.telemetry_span("Compute lamp dark sigma image"):
|
|
150
150
|
smallest_lamp_exp_time = sorted(self.constants.lamp_gain_exposure_times)[0]
|
|
151
151
|
logger.info(f"Using darks from exposure time = {smallest_lamp_exp_time}")
|
|
152
152
|
lamp_darks = self.read(
|
|
@@ -159,7 +159,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
159
159
|
)
|
|
160
160
|
dark_sigma = stddev_numpy_arrays(lamp_darks)
|
|
161
161
|
|
|
162
|
-
with self.
|
|
162
|
+
with self.telemetry_span("Smooth dark sigma array"):
|
|
163
163
|
logger.info("Smoothing dark sigma array")
|
|
164
164
|
smoothed_array = spnd.median_filter(
|
|
165
165
|
dark_sigma,
|
|
@@ -168,7 +168,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
168
168
|
cval=np.nanmedian(dark_sigma),
|
|
169
169
|
)
|
|
170
170
|
|
|
171
|
-
with self.
|
|
171
|
+
with self.telemetry_span("Compute dark dynamic bad pixel map"):
|
|
172
172
|
logger.info("Finding bad pixel locations in dark sigma")
|
|
173
173
|
diff = smoothed_array - dark_sigma
|
|
174
174
|
|
|
@@ -45,7 +45,7 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
45
45
|
"""
|
|
46
46
|
target_exp_times = self.constants.non_dark_task_exposure_times
|
|
47
47
|
logger.info(f"{target_exp_times = }")
|
|
48
|
-
with self.
|
|
48
|
+
with self.telemetry_span(
|
|
49
49
|
f"Calculating dark frames for {self.constants.num_beams} beams and {len(target_exp_times)} exp times"
|
|
50
50
|
):
|
|
51
51
|
total_dark_frames_used = 0
|
|
@@ -62,11 +62,11 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
62
62
|
total_dark_frames_used += current_exp_dark_count
|
|
63
63
|
input_dark_arrays = self.read(tags=dark_tags, decoder=fits_array_decoder)
|
|
64
64
|
|
|
65
|
-
with self.
|
|
65
|
+
with self.telemetry_span(f"Calculating dark for {exp_time = }"):
|
|
66
66
|
logger.info(f"Calculating dark for {exp_time = }")
|
|
67
67
|
averaged_dark_array = average_numpy_arrays(input_dark_arrays)
|
|
68
68
|
|
|
69
|
-
with self.
|
|
69
|
+
with self.telemetry_span(f"Writing dark for {exp_time = }"):
|
|
70
70
|
logger.info(f"Writing dark for {exp_time = }")
|
|
71
71
|
self.write(
|
|
72
72
|
data=averaged_dark_array,
|
|
@@ -74,7 +74,7 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
74
74
|
encoder=fits_array_encoder,
|
|
75
75
|
)
|
|
76
76
|
|
|
77
|
-
with self.
|
|
77
|
+
with self.telemetry_span("Computing and logger quality metrics"):
|
|
78
78
|
no_of_raw_dark_frames: int = self.scratch.count_all(
|
|
79
79
|
tags=[
|
|
80
80
|
DlnirspTag.linearized_frame(),
|
|
@@ -57,25 +57,25 @@ class GeometricCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
57
57
|
|
|
58
58
|
6. Write shifts, scales, and reference wavelength axis to a file
|
|
59
59
|
"""
|
|
60
|
-
with self.
|
|
60
|
+
with self.telemetry_span("Apply dark and lamp corrections"):
|
|
61
61
|
logger.info("Computing average dark/lamp corrected gain image")
|
|
62
62
|
self.compute_average_corrected_gain()
|
|
63
63
|
|
|
64
|
-
with self.
|
|
64
|
+
with self.telemetry_span("Compute spectral curvature"):
|
|
65
65
|
logger.info("Computing spectral curvature")
|
|
66
66
|
shift_dict, scale_dict = self.compute_spectral_curvature_and_dispersion()
|
|
67
67
|
|
|
68
|
-
with self.
|
|
68
|
+
with self.telemetry_span("Compute reference wavelength grid"):
|
|
69
69
|
logger.info("Computing reference wavelength grid")
|
|
70
70
|
reference_wavelength_axis = self.compute_reference_wavelength_axis(
|
|
71
71
|
shift_dict, scale_dict
|
|
72
72
|
)
|
|
73
73
|
|
|
74
|
-
with self.
|
|
74
|
+
with self.telemetry_span("Write geometric calibration calibration"):
|
|
75
75
|
logger.info("Writing geometric calibration")
|
|
76
76
|
self.write_geometric_calibration(shift_dict, scale_dict, reference_wavelength_axis)
|
|
77
77
|
|
|
78
|
-
with self.
|
|
78
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
79
79
|
no_of_raw_solar_frames: int = self.scratch.count_all(
|
|
80
80
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_solar_gain()],
|
|
81
81
|
)
|
|
@@ -50,7 +50,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
50
50
|
|
|
51
51
|
4. Apply this shift to the IFU metrology files and save for use in the downstream pipeline.
|
|
52
52
|
"""
|
|
53
|
-
with self.
|
|
53
|
+
with self.telemetry_span("Average solar gain images"):
|
|
54
54
|
logger.info("Computing average solar gain array")
|
|
55
55
|
solar_gain_data = self.get_avg_solar_gain()
|
|
56
56
|
|
|
@@ -60,7 +60,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
60
60
|
encoder=fits_array_encoder,
|
|
61
61
|
)
|
|
62
62
|
|
|
63
|
-
with self.
|
|
63
|
+
with self.telemetry_span("Compute binary arrays"):
|
|
64
64
|
logger.info("Computing solar binary image")
|
|
65
65
|
solar_binary = self.compute_solar_binary(solar_gain_data)
|
|
66
66
|
|
|
@@ -79,12 +79,12 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
79
79
|
encoder=fits_array_encoder,
|
|
80
80
|
)
|
|
81
81
|
|
|
82
|
-
with self.
|
|
82
|
+
with self.telemetry_span("Compute IFU drift"):
|
|
83
83
|
logger.info("Computing IFU drift amount")
|
|
84
84
|
drift = self.compute_ifu_drift(solar_binary, ifu_binary)
|
|
85
85
|
logger.info(f"IFU drift = {drift}")
|
|
86
86
|
|
|
87
|
-
with self.
|
|
87
|
+
with self.telemetry_span("Drift IFU metrology arrays"):
|
|
88
88
|
logger.info("Drifting IFU group ID array")
|
|
89
89
|
drifted_ifu_id_array = self.apply_drift_to_array(raw_ifu_id_array, drift)
|
|
90
90
|
|
|
@@ -121,7 +121,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
121
121
|
)
|
|
122
122
|
drifted_arrays_dict[tag] = drifted_array * beam_correction_array
|
|
123
123
|
|
|
124
|
-
with self.
|
|
124
|
+
with self.telemetry_span("Write drifted IFU metrology arrays"):
|
|
125
125
|
logger.info("Writing drifted IFU metrology arrays")
|
|
126
126
|
self.write_drifted_metrology_arrays(drifted_arrays_dict)
|
|
127
127
|
|
|
@@ -70,21 +70,21 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
70
70
|
)
|
|
71
71
|
logger.info(f"{polcal_exposure_times = }")
|
|
72
72
|
|
|
73
|
-
with self.
|
|
73
|
+
with self.telemetry_span("Generate polcal DARK frame"):
|
|
74
74
|
logger.info("Generating polcal dark frame")
|
|
75
75
|
self.generate_polcal_dark_calibration(exp_times=polcal_exposure_times)
|
|
76
76
|
|
|
77
|
-
with self.
|
|
77
|
+
with self.telemetry_span("Generate polcal GAIN frame"):
|
|
78
78
|
logger.info("Generating polcal gain frame")
|
|
79
79
|
self.generate_polcal_gain_calibration(exp_times=polcal_exposure_times)
|
|
80
80
|
|
|
81
|
-
with self.
|
|
81
|
+
with self.telemetry_span("Process CS steps"):
|
|
82
82
|
logger.info("Processing CS steps")
|
|
83
83
|
local_data_dict, global_data_dict = self.process_cs_steps()
|
|
84
84
|
|
|
85
85
|
beam_results_dict = dict()
|
|
86
86
|
for beam in [1, 2]:
|
|
87
|
-
with self.
|
|
87
|
+
with self.telemetry_span(f"Fit CU parameters for beam {beam}"):
|
|
88
88
|
logger.info(f"Fitting CU parameters for {beam = }")
|
|
89
89
|
|
|
90
90
|
remove_I_trend = self.parameters.pac_remove_linear_I_trend
|
|
@@ -110,7 +110,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
110
110
|
self.save_intermediate_polcal_files(polcal_fitter=pac_fitter, beam=beam)
|
|
111
111
|
beam_results_dict[beam] = pac_fitter
|
|
112
112
|
|
|
113
|
-
with self.
|
|
113
|
+
with self.telemetry_span("Resample demodulation matrices"):
|
|
114
114
|
raw_demod_dict = {
|
|
115
115
|
beam: beam_results.demodulation_matrices
|
|
116
116
|
for beam, beam_results in beam_results_dict.items()
|
|
@@ -141,7 +141,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
141
141
|
beam_group_fit_demod_dict, full_array_shape
|
|
142
142
|
)
|
|
143
143
|
|
|
144
|
-
with self.
|
|
144
|
+
with self.telemetry_span("Write full-frame demodulation matrices"):
|
|
145
145
|
logger.info("Writing full-frame demodulation matrices")
|
|
146
146
|
self.write(
|
|
147
147
|
data=final_demod,
|
|
@@ -152,10 +152,10 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
152
152
|
],
|
|
153
153
|
)
|
|
154
154
|
|
|
155
|
-
with self.
|
|
155
|
+
with self.telemetry_span("Computing and recording polcal quality metrics"):
|
|
156
156
|
self.record_polcal_quality_metrics(polcal_fitter_dict=beam_results_dict)
|
|
157
157
|
|
|
158
|
-
with self.
|
|
158
|
+
with self.telemetry_span("Computing and recording frame count quality metrics"):
|
|
159
159
|
no_of_raw_lamp_frames: int = self.scratch.count_all(
|
|
160
160
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_polcal()],
|
|
161
161
|
)
|
|
@@ -249,7 +249,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
249
249
|
global_dict = {1: defaultdict(list), 2: defaultdict(list)}
|
|
250
250
|
local_dict = {1: defaultdict(list), 2: defaultdict(list)}
|
|
251
251
|
|
|
252
|
-
with self.
|
|
252
|
+
with self.telemetry_span("Collect dark, gain, and bad pixel arrays"):
|
|
253
253
|
dark_array_dict = self.collect_polcal_calibrations_by_exp_time(
|
|
254
254
|
TaskName.polcal_dark.value
|
|
255
255
|
)
|
|
@@ -266,7 +266,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
266
266
|
)
|
|
267
267
|
)
|
|
268
268
|
|
|
269
|
-
with self.
|
|
269
|
+
with self.telemetry_span("Correct and extract polcal data"):
|
|
270
270
|
for cs_step in range(self.constants.num_cs_steps):
|
|
271
271
|
for modstate in range(1, self.constants.num_modstates + 1):
|
|
272
272
|
log_str = f"{cs_step = }, {modstate = }"
|
|
@@ -569,7 +569,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
569
569
|
I_cal, _ = dresser[idx]
|
|
570
570
|
input_flux[idx] = I_cal.T.reshape(socc_shape)
|
|
571
571
|
|
|
572
|
-
with self.
|
|
572
|
+
with self.telemetry_span("Writing input flux"):
|
|
573
573
|
path = self.write(data=input_flux, tags=input_flux_tags, encoder=fits_array_encoder)
|
|
574
574
|
logger.info(f"Wrote input flux with tags {input_flux_tags = } to {str(path)}")
|
|
575
575
|
|
|
@@ -581,7 +581,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
581
581
|
DlnirspTag.beam(beam),
|
|
582
582
|
DlnirspTag.task("CU_FIT_PARS"),
|
|
583
583
|
]
|
|
584
|
-
with self.
|
|
584
|
+
with self.telemetry_span("Writing CU fit parameters"):
|
|
585
585
|
cu_dict = defaultdict(lambda: np.zeros(fov_shape) * np.nan)
|
|
586
586
|
for i in range(np.prod(fov_shape)):
|
|
587
587
|
idx = np.unravel_index(i, fov_shape)
|
|
@@ -600,10 +600,10 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
600
600
|
DlnirspTag.beam(beam),
|
|
601
601
|
DlnirspTag.task("BEST_FIT_FLUX"),
|
|
602
602
|
]
|
|
603
|
-
with self.
|
|
603
|
+
with self.telemetry_span("Computing best-fit flux"):
|
|
604
604
|
best_fit_flux = self.compute_best_fit_flux(polcal_fitter)
|
|
605
605
|
|
|
606
|
-
with self.
|
|
606
|
+
with self.telemetry_span("Writing best-fit flux"):
|
|
607
607
|
path = self.write(data=best_fit_flux, tags=fit_flux_tags, encoder=fits_array_encoder)
|
|
608
608
|
logger.info(f"Wrote best-fit flux with {fit_flux_tags = } to {str(path)}")
|
|
609
609
|
|
|
@@ -51,7 +51,7 @@ class LampCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
51
51
|
None
|
|
52
52
|
|
|
53
53
|
"""
|
|
54
|
-
with self.
|
|
54
|
+
with self.telemetry_span(
|
|
55
55
|
f"Generate lamp gains for {len(self.constants.lamp_gain_exposure_times)} exposure times"
|
|
56
56
|
):
|
|
57
57
|
all_exp_time_gains = []
|
|
@@ -86,7 +86,7 @@ class LampCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
86
86
|
)
|
|
87
87
|
final_gain_array = average_numpy_arrays(all_exp_time_gains)
|
|
88
88
|
|
|
89
|
-
with self.
|
|
89
|
+
with self.telemetry_span(f"Writing lamp gain"):
|
|
90
90
|
logger.info(f"Writing lamp gain")
|
|
91
91
|
self.write(
|
|
92
92
|
data=final_gain_array,
|
|
@@ -94,7 +94,7 @@ class LampCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
94
94
|
encoder=fits_array_encoder,
|
|
95
95
|
)
|
|
96
96
|
|
|
97
|
-
with self.
|
|
97
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
98
98
|
no_of_raw_lamp_frames: int = self.scratch.count_all(
|
|
99
99
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_lamp_gain()],
|
|
100
100
|
)
|
|
@@ -45,11 +45,11 @@ class LinearityCorrection(DlnirspTaskBase):
|
|
|
45
45
|
None
|
|
46
46
|
"""
|
|
47
47
|
if self.constants.is_ir_data:
|
|
48
|
-
with self.
|
|
48
|
+
with self.telemetry_span("Linearizing input IR frames"):
|
|
49
49
|
self.linearize_IR_data()
|
|
50
50
|
return
|
|
51
51
|
|
|
52
|
-
with self.
|
|
52
|
+
with self.telemetry_span("Tagging non-IR frames as LINEARIZED"):
|
|
53
53
|
self.tag_VIS_data_as_linearized()
|
|
54
54
|
|
|
55
55
|
def tag_VIS_data_as_linearized(self):
|
|
@@ -106,20 +106,20 @@ class DlnirspL1QualityMetrics(DlnirspTaskBase, QualityMixin):
|
|
|
106
106
|
stokes_params = self.constants.stokes_params[:1]
|
|
107
107
|
|
|
108
108
|
for stokes in stokes_params:
|
|
109
|
-
with self.
|
|
110
|
-
with self.
|
|
109
|
+
with self.telemetry_span(f"Computing L1 quality metrics for Stokes {stokes}"):
|
|
110
|
+
with self.telemetry_span("Computing noise and sensitivity"):
|
|
111
111
|
sensitivity_data, noise_data = self.compile_sensitivity_and_noise_data(
|
|
112
112
|
stokes=stokes
|
|
113
113
|
)
|
|
114
114
|
|
|
115
|
-
with self.
|
|
115
|
+
with self.telemetry_span(f"Writing sensitivity"):
|
|
116
116
|
self.quality_store_sensitivity(
|
|
117
117
|
datetimes=sensitivity_data.datetimes,
|
|
118
118
|
values=sensitivity_data.values,
|
|
119
119
|
stokes=stokes,
|
|
120
120
|
)
|
|
121
121
|
|
|
122
|
-
with self.
|
|
122
|
+
with self.telemetry_span(f"Writing noise"):
|
|
123
123
|
self.quality_store_noise(
|
|
124
124
|
datetimes=noise_data.datetimes, values=noise_data.values, stokes=stokes
|
|
125
125
|
)
|
|
@@ -146,19 +146,19 @@ class ScienceCalibration(
|
|
|
146
146
|
- Collect all calibration objects needed
|
|
147
147
|
- Process all science frames
|
|
148
148
|
"""
|
|
149
|
-
with self.
|
|
149
|
+
with self.telemetry_span("Load calibration objects"):
|
|
150
150
|
logger.info("Loading calibration objects")
|
|
151
151
|
calibrations = self.collect_calibration_objects()
|
|
152
152
|
|
|
153
|
-
with self.
|
|
153
|
+
with self.telemetry_span("Generate remapped bad pixel mask"):
|
|
154
154
|
logger.info("Generating remapped bad pixel mask")
|
|
155
155
|
self.save_bad_pixel_cube(calibrations)
|
|
156
156
|
|
|
157
|
-
with self.
|
|
157
|
+
with self.telemetry_span("Process science frames"):
|
|
158
158
|
logger.info("Processing science frames")
|
|
159
159
|
self.process_science_frames(calibrations=calibrations)
|
|
160
160
|
|
|
161
|
-
with self.
|
|
161
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
162
162
|
no_of_raw_science_frames: int = self.scratch.count_all(
|
|
163
163
|
tags=[
|
|
164
164
|
DlnirspTag.linearized_frame(),
|
|
@@ -218,7 +218,7 @@ class ScienceCalibration(
|
|
|
218
218
|
spec_scales = geometric_correction["spectral_scales"]
|
|
219
219
|
reference_wavelength_axis = geometric_correction["reference_wavelength_axis"]
|
|
220
220
|
|
|
221
|
-
with self.
|
|
221
|
+
with self.telemetry_span("Prepare IFU remapping information"):
|
|
222
222
|
logger.info("Prepping IFU remapping data.")
|
|
223
223
|
ifu_x_points, ifu_y_points = self.apply_geometry_to_ifu_files(
|
|
224
224
|
spec_shifts=spec_shifts,
|
|
@@ -45,11 +45,11 @@ class SolarCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
45
45
|
|
|
46
46
|
6. Write the final, solar-spectrum-removed, solar gain image.
|
|
47
47
|
"""
|
|
48
|
-
with self.
|
|
48
|
+
with self.telemetry_span("Apply dark and lamp corrections"):
|
|
49
49
|
logger.info("Computing average dark/lamp corrected gains")
|
|
50
50
|
self.compute_average_corrected_gains()
|
|
51
51
|
|
|
52
|
-
with self.
|
|
52
|
+
with self.telemetry_span("Compute characteristic spectra"):
|
|
53
53
|
logger.info("Computing characteristic spectra")
|
|
54
54
|
characteristic_spectra = self.compute_characteristic_spectra()
|
|
55
55
|
|
|
@@ -59,7 +59,7 @@ class SolarCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
59
59
|
encoder=fits_array_encoder,
|
|
60
60
|
)
|
|
61
61
|
|
|
62
|
-
with self.
|
|
62
|
+
with self.telemetry_span("Re-distort characteristic spectra"):
|
|
63
63
|
logger.info("Re-distorting characteristic spectra")
|
|
64
64
|
distorted_char_spectra = self.redistort_characteristic_spectra(characteristic_spectra)
|
|
65
65
|
|
|
@@ -75,11 +75,11 @@ class SolarCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
75
75
|
encoder=fits_array_encoder,
|
|
76
76
|
)
|
|
77
77
|
|
|
78
|
-
with self.
|
|
78
|
+
with self.telemetry_span("Remove characteristic spectra"):
|
|
79
79
|
logger.info("Removing characteristic spectra")
|
|
80
80
|
cleaned_gain = self.remove_solar_signal(distorted_char_spectra)
|
|
81
81
|
|
|
82
|
-
with self.
|
|
82
|
+
with self.telemetry_span("Write solar flat calibration"):
|
|
83
83
|
logger.info("Writing solar flat calibration")
|
|
84
84
|
self.write(
|
|
85
85
|
data=cleaned_gain,
|
|
@@ -87,7 +87,7 @@ class SolarCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
87
87
|
encoder=fits_array_encoder,
|
|
88
88
|
)
|
|
89
89
|
|
|
90
|
-
with self.
|
|
90
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
91
91
|
no_of_raw_solar_frames: int = self.scratch.count_all(
|
|
92
92
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_solar_gain()],
|
|
93
93
|
)
|
|
@@ -73,7 +73,7 @@ class WavelengthCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
73
73
|
-------
|
|
74
74
|
None
|
|
75
75
|
"""
|
|
76
|
-
with self.
|
|
76
|
+
with self.telemetry_span("Compute input spectrum and wavelength"):
|
|
77
77
|
dispersion = (
|
|
78
78
|
next(
|
|
79
79
|
self.read(
|
|
@@ -114,7 +114,7 @@ class WavelengthCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
114
114
|
incident_light_angle=incident_light_angle,
|
|
115
115
|
)
|
|
116
116
|
|
|
117
|
-
with self.
|
|
117
|
+
with self.telemetry_span("Compute brute-force CRVAL initial guess"):
|
|
118
118
|
atlas = Atlas(config=self.parameters.wavecal_atlas_download_config)
|
|
119
119
|
wavelength_range = input_wavelength_vector.max() - input_wavelength_vector.min()
|
|
120
120
|
crval_init = calculate_initial_crval_guess(
|
|
@@ -130,7 +130,7 @@ class WavelengthCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
130
130
|
doppler_velocity = self.compute_doppler_velocity()
|
|
131
131
|
logger.info(f"{doppler_velocity = !s}")
|
|
132
132
|
|
|
133
|
-
with self.
|
|
133
|
+
with self.telemetry_span("Set up wavelength fit"):
|
|
134
134
|
bounds = BoundsModel(
|
|
135
135
|
# This is basically saying "we think the correct CRVAL is *somewhere* in our input vector"
|
|
136
136
|
# and lines up with the range of values considered when computing the brute-force initial guess above
|
|
@@ -176,14 +176,14 @@ class WavelengthCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
176
176
|
)
|
|
177
177
|
logger.info(f"Input parameters: {input_parameters.lmfit_parameters.pretty_repr()}")
|
|
178
178
|
|
|
179
|
-
with self.
|
|
179
|
+
with self.telemetry_span("Run wavelength solution fit"):
|
|
180
180
|
fit_result = fitter(
|
|
181
181
|
input_wavelength_vector=input_wavelength_vector,
|
|
182
182
|
input_spectrum=input_spectrum,
|
|
183
183
|
method="leastsq",
|
|
184
184
|
)
|
|
185
185
|
|
|
186
|
-
with self.
|
|
186
|
+
with self.telemetry_span("Save wavelength solution and quality metrics"):
|
|
187
187
|
self.write_fit_results(fit_result, nan_chop_amount)
|
|
188
188
|
self.quality_store_wavecal_results(
|
|
189
189
|
input_wavelength=input_wavelength_vector,
|
|
@@ -85,21 +85,6 @@ def tag_inputs_task(suffix: str):
|
|
|
85
85
|
return TagInputs
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
def setup_APM_config() -> None:
|
|
89
|
-
mesh_config = {
|
|
90
|
-
"system-monitoring-log-apm": {
|
|
91
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
92
|
-
"mesh_port": 8200,
|
|
93
|
-
},
|
|
94
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
95
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
96
|
-
}
|
|
97
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
98
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
99
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
100
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
101
|
-
|
|
102
|
-
|
|
103
88
|
def main(
|
|
104
89
|
scratch_path: str,
|
|
105
90
|
suffix: str = "FITS",
|
|
@@ -109,10 +94,7 @@ def main(
|
|
|
109
94
|
only_translate: bool = False,
|
|
110
95
|
load_input_parsing: bool = False,
|
|
111
96
|
cals_only: bool = False,
|
|
112
|
-
use_apm: bool = False,
|
|
113
97
|
):
|
|
114
|
-
if use_apm:
|
|
115
|
-
setup_APM_config()
|
|
116
98
|
with ManualProcessing(
|
|
117
99
|
workflow_path=Path(scratch_path),
|
|
118
100
|
recipe_run_id=recipe_run_id,
|
|
@@ -181,7 +163,6 @@ if __name__ == "__main__":
|
|
|
181
163
|
help="Load tags and constants on input files",
|
|
182
164
|
action="store_true",
|
|
183
165
|
)
|
|
184
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
185
166
|
parser.add_argument(
|
|
186
167
|
"-p",
|
|
187
168
|
"--param-dir",
|
|
@@ -201,6 +182,5 @@ if __name__ == "__main__":
|
|
|
201
182
|
only_translate=args.only_translate,
|
|
202
183
|
load_input_parsing=args.load_input_parsing,
|
|
203
184
|
cals_only=args.cals_only,
|
|
204
|
-
use_apm=args.use_apm,
|
|
205
185
|
)
|
|
206
186
|
)
|
|
@@ -181,21 +181,6 @@ def tag_linearized_task(suffix: str):
|
|
|
181
181
|
return TagLinearized
|
|
182
182
|
|
|
183
183
|
|
|
184
|
-
def setup_APM_config() -> None:
|
|
185
|
-
mesh_config = {
|
|
186
|
-
"system-monitoring-log-apm": {
|
|
187
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
188
|
-
"mesh_port": 8200,
|
|
189
|
-
},
|
|
190
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
191
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
192
|
-
}
|
|
193
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
194
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
195
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
196
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
197
|
-
|
|
198
|
-
|
|
199
184
|
def main(
|
|
200
185
|
scratch_path: str,
|
|
201
186
|
suffix: str = "FITS",
|
|
@@ -217,10 +202,7 @@ def main(
|
|
|
217
202
|
load_polcals_as_science: bool = False,
|
|
218
203
|
load_calibrated_data: bool = False,
|
|
219
204
|
transfer_trial_data: str | None = None,
|
|
220
|
-
use_apm: bool = False,
|
|
221
205
|
):
|
|
222
|
-
if use_apm:
|
|
223
|
-
setup_APM_config()
|
|
224
206
|
with ManualProcessing(
|
|
225
207
|
workflow_path=Path(scratch_path),
|
|
226
208
|
recipe_run_id=recipe_run_id,
|
|
@@ -464,7 +446,6 @@ if __name__ == "__main__":
|
|
|
464
446
|
parser.add_argument(
|
|
465
447
|
"-C", "--load-calibrated-data", help="Load CALIBRATED 'science' frames", action="store_true"
|
|
466
448
|
)
|
|
467
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
468
449
|
parser.add_argument(
|
|
469
450
|
"-p",
|
|
470
451
|
"--param-dir",
|
|
@@ -496,6 +477,5 @@ if __name__ == "__main__":
|
|
|
496
477
|
load_polcals_as_science=args.load_polcals_as_science,
|
|
497
478
|
load_calibrated_data=args.load_calibrated_data,
|
|
498
479
|
transfer_trial_data=args.transfer_trial_data,
|
|
499
|
-
use_apm=args.use_apm,
|
|
500
480
|
)
|
|
501
481
|
)
|
|
@@ -187,21 +187,6 @@ def tag_linearized_task(suffix: str):
|
|
|
187
187
|
return TagLinearized
|
|
188
188
|
|
|
189
189
|
|
|
190
|
-
def setup_APM_config() -> None:
|
|
191
|
-
mesh_config = {
|
|
192
|
-
"system-monitoring-log-apm": {
|
|
193
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
194
|
-
"mesh_port": 8200,
|
|
195
|
-
},
|
|
196
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
197
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
198
|
-
}
|
|
199
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
200
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
201
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
202
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
203
|
-
|
|
204
|
-
|
|
205
190
|
def main(
|
|
206
191
|
scratch_path: str,
|
|
207
192
|
suffix: str = "FITS",
|
|
@@ -224,10 +209,7 @@ def main(
|
|
|
224
209
|
load_calibrated_data: bool = False,
|
|
225
210
|
force_intensity_only: bool = False,
|
|
226
211
|
transfer_trial_data: str | None = None,
|
|
227
|
-
use_apm: bool = False,
|
|
228
212
|
):
|
|
229
|
-
if use_apm:
|
|
230
|
-
setup_APM_config()
|
|
231
213
|
with ManualProcessing(
|
|
232
214
|
workflow_path=Path(scratch_path),
|
|
233
215
|
recipe_run_id=recipe_run_id,
|
|
@@ -483,7 +465,6 @@ if __name__ == "__main__":
|
|
|
483
465
|
parser.add_argument(
|
|
484
466
|
"-C", "--load-calibrated-data", help="Load CALIBRATED 'science' frames", action="store_true"
|
|
485
467
|
)
|
|
486
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
487
468
|
parser.add_argument(
|
|
488
469
|
"-p",
|
|
489
470
|
"--param-dir",
|
|
@@ -516,6 +497,5 @@ if __name__ == "__main__":
|
|
|
516
497
|
load_calibrated_data=args.load_calibrated_data,
|
|
517
498
|
force_intensity_only=args.force_I_only,
|
|
518
499
|
transfer_trial_data=args.transfer_trial_data,
|
|
519
|
-
use_apm=args.use_apm,
|
|
520
500
|
)
|
|
521
501
|
)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import argparse
|
|
2
|
-
import json
|
|
3
2
|
import os
|
|
4
3
|
import sys
|
|
5
4
|
from pathlib import Path
|
|
@@ -156,21 +155,6 @@ def tag_linearized_task(suffix: str):
|
|
|
156
155
|
return TagLinearized
|
|
157
156
|
|
|
158
157
|
|
|
159
|
-
def setup_APM_config() -> None:
|
|
160
|
-
mesh_config = {
|
|
161
|
-
"system-monitoring-log-apm": {
|
|
162
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
163
|
-
"mesh_port": 8200,
|
|
164
|
-
},
|
|
165
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
166
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
167
|
-
}
|
|
168
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
169
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
170
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
171
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
172
|
-
|
|
173
|
-
|
|
174
158
|
def main(
|
|
175
159
|
scratch_path: str,
|
|
176
160
|
suffix: str = "FITS",
|
|
@@ -191,10 +175,7 @@ def main(
|
|
|
191
175
|
load_inst_polcal: bool = False,
|
|
192
176
|
load_calibrated_data: bool = False,
|
|
193
177
|
transfer_trial_data: str | None = None,
|
|
194
|
-
use_apm: bool = False,
|
|
195
178
|
):
|
|
196
|
-
if use_apm:
|
|
197
|
-
setup_APM_config()
|
|
198
179
|
with ManualProcessing(
|
|
199
180
|
workflow_path=Path(scratch_path),
|
|
200
181
|
recipe_run_id=recipe_run_id,
|
|
@@ -425,7 +406,6 @@ if __name__ == "__main__":
|
|
|
425
406
|
parser.add_argument(
|
|
426
407
|
"-C", "--load-calibrated-data", help="Load CALIBRATED science frames", action="store_true"
|
|
427
408
|
)
|
|
428
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
429
409
|
parser.add_argument(
|
|
430
410
|
"-p",
|
|
431
411
|
"--param-dir",
|
|
@@ -456,6 +436,5 @@ if __name__ == "__main__":
|
|
|
456
436
|
load_inst_polcal=args.load_inst_polcal,
|
|
457
437
|
load_calibrated_data=args.load_calibrated_data,
|
|
458
438
|
transfer_trial_data=args.transfer_trial_data,
|
|
459
|
-
use_apm=args.use_apm,
|
|
460
439
|
)
|
|
461
440
|
)
|
{dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-dlnirsp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.32.0
|
|
4
4
|
Summary: Science processing code for the DLNIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,13 +13,13 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Requires-Python: >=3.12
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: dkist-processing-common==11.
|
|
16
|
+
Requires-Dist: dkist-processing-common==11.6.0
|
|
17
17
|
Requires-Dist: dkist-processing-math==2.2.1
|
|
18
18
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.2.1
|
|
20
20
|
Requires-Dist: dkist-fits-specifications==4.17.0
|
|
21
21
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
22
|
-
Requires-Dist: dkist-service-configuration==
|
|
22
|
+
Requires-Dist: dkist-service-configuration==4.1.7
|
|
23
23
|
Requires-Dist: astropy==7.0.2
|
|
24
24
|
Requires-Dist: numpy==2.2.5
|
|
25
25
|
Requires-Dist: numba==0.61.2
|
|
@@ -81,55 +81,56 @@ Requires-Dist: Mako==1.3.10; extra == "frozen"
|
|
|
81
81
|
Requires-Dist: MarkupSafe==3.0.2; extra == "frozen"
|
|
82
82
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
83
83
|
Requires-Dist: PyJWT==2.10.1; extra == "frozen"
|
|
84
|
-
Requires-Dist: PyYAML==6.0.
|
|
84
|
+
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
85
85
|
Requires-Dist: Pygments==2.19.2; extra == "frozen"
|
|
86
86
|
Requires-Dist: SQLAlchemy==1.4.54; extra == "frozen"
|
|
87
87
|
Requires-Dist: SQLAlchemy-JSONField==1.0.2; extra == "frozen"
|
|
88
88
|
Requires-Dist: SQLAlchemy-Utils==0.42.0; extra == "frozen"
|
|
89
89
|
Requires-Dist: WTForms==3.2.1; extra == "frozen"
|
|
90
90
|
Requires-Dist: Werkzeug==2.2.3; extra == "frozen"
|
|
91
|
-
Requires-Dist: aioftp==0.
|
|
91
|
+
Requires-Dist: aioftp==0.27.2; extra == "frozen"
|
|
92
92
|
Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
|
|
93
93
|
Requires-Dist: aiohttp==3.12.15; extra == "frozen"
|
|
94
94
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
95
|
+
Requires-Dist: aiosmtplib==4.0.2; extra == "frozen"
|
|
95
96
|
Requires-Dist: alembic==1.16.5; extra == "frozen"
|
|
96
97
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
97
98
|
Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
98
|
-
Requires-Dist: anyio==4.
|
|
99
|
+
Requires-Dist: anyio==4.11.0; extra == "frozen"
|
|
99
100
|
Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
|
|
100
101
|
Requires-Dist: apache-airflow-providers-celery==3.10.0; extra == "frozen"
|
|
101
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.7.
|
|
102
|
-
Requires-Dist: apache-airflow-providers-common-io==1.6.
|
|
103
|
-
Requires-Dist: apache-airflow-providers-common-sql==1.28.
|
|
102
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.7.4; extra == "frozen"
|
|
103
|
+
Requires-Dist: apache-airflow-providers-common-io==1.6.3; extra == "frozen"
|
|
104
|
+
Requires-Dist: apache-airflow-providers-common-sql==1.28.1; extra == "frozen"
|
|
104
105
|
Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
|
|
105
106
|
Requires-Dist: apache-airflow-providers-ftp==3.13.2; extra == "frozen"
|
|
106
107
|
Requires-Dist: apache-airflow-providers-http==5.3.4; extra == "frozen"
|
|
107
108
|
Requires-Dist: apache-airflow-providers-imap==3.9.2; extra == "frozen"
|
|
108
109
|
Requires-Dist: apache-airflow-providers-postgres==6.3.0; extra == "frozen"
|
|
109
|
-
Requires-Dist: apache-airflow-providers-smtp==2.
|
|
110
|
+
Requires-Dist: apache-airflow-providers-smtp==2.3.0; extra == "frozen"
|
|
110
111
|
Requires-Dist: apache-airflow-providers-sqlite==4.1.2; extra == "frozen"
|
|
111
|
-
Requires-Dist: apispec==6.8.
|
|
112
|
+
Requires-Dist: apispec==6.8.4; extra == "frozen"
|
|
112
113
|
Requires-Dist: argcomplete==3.6.2; extra == "frozen"
|
|
113
114
|
Requires-Dist: asdf==3.5.0; extra == "frozen"
|
|
114
115
|
Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
|
|
115
116
|
Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
116
|
-
Requires-Dist: asgiref==3.9.
|
|
117
|
+
Requires-Dist: asgiref==3.9.2; extra == "frozen"
|
|
117
118
|
Requires-Dist: asteval==1.0.6; extra == "frozen"
|
|
118
119
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
119
|
-
Requires-Dist: astropy-iers-data==0.2025.9.
|
|
120
|
+
Requires-Dist: astropy-iers-data==0.2025.9.22.0.37.25; extra == "frozen"
|
|
120
121
|
Requires-Dist: asyncpg==0.30.0; extra == "frozen"
|
|
121
122
|
Requires-Dist: attrs==25.3.0; extra == "frozen"
|
|
122
123
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
123
|
-
Requires-Dist: billiard==4.2.
|
|
124
|
+
Requires-Dist: billiard==4.2.2; extra == "frozen"
|
|
124
125
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
125
|
-
Requires-Dist: boto3==1.40.
|
|
126
|
-
Requires-Dist: botocore==1.40.
|
|
126
|
+
Requires-Dist: boto3==1.40.39; extra == "frozen"
|
|
127
|
+
Requires-Dist: botocore==1.40.39; extra == "frozen"
|
|
127
128
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
128
129
|
Requires-Dist: celery==5.3.1; extra == "frozen"
|
|
129
130
|
Requires-Dist: certifi==2025.8.3; extra == "frozen"
|
|
130
131
|
Requires-Dist: cffi==2.0.0; extra == "frozen"
|
|
131
132
|
Requires-Dist: charset-normalizer==3.4.3; extra == "frozen"
|
|
132
|
-
Requires-Dist: click==8.
|
|
133
|
+
Requires-Dist: click==8.3.0; extra == "frozen"
|
|
133
134
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
134
135
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
135
136
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -146,28 +147,26 @@ Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
|
146
147
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
147
148
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
148
149
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
149
|
-
Requires-Dist: dkist-processing-common==11.
|
|
150
|
-
Requires-Dist: dkist-processing-core==
|
|
151
|
-
Requires-Dist: dkist-processing-dlnirsp==0.
|
|
150
|
+
Requires-Dist: dkist-processing-common==11.6.0; extra == "frozen"
|
|
151
|
+
Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
|
|
152
|
+
Requires-Dist: dkist-processing-dlnirsp==0.32.0; extra == "frozen"
|
|
152
153
|
Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
|
|
153
154
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
154
|
-
Requires-Dist: dkist-service-configuration==
|
|
155
|
+
Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
|
|
155
156
|
Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
|
|
156
157
|
Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
|
|
157
158
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
158
|
-
Requires-Dist: ecs-logging==2.2.0; extra == "frozen"
|
|
159
|
-
Requires-Dist: elastic-apm==6.24.0; extra == "frozen"
|
|
160
159
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
161
160
|
Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
162
161
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
163
162
|
Requires-Dist: fonttools==4.60.0; extra == "frozen"
|
|
164
163
|
Requires-Dist: frozenlist==1.7.0; extra == "frozen"
|
|
165
164
|
Requires-Dist: fsspec==2025.9.0; extra == "frozen"
|
|
166
|
-
Requires-Dist: globus-sdk==3.
|
|
165
|
+
Requires-Dist: globus-sdk==3.64.0; extra == "frozen"
|
|
167
166
|
Requires-Dist: google-re2==1.1.20250805; extra == "frozen"
|
|
168
167
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
|
|
169
168
|
Requires-Dist: gqlclient==1.2.3; extra == "frozen"
|
|
170
|
-
Requires-Dist: grpcio==1.75.
|
|
169
|
+
Requires-Dist: grpcio==1.75.1; extra == "frozen"
|
|
171
170
|
Requires-Dist: gunicorn==23.0.0; extra == "frozen"
|
|
172
171
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
173
172
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
@@ -214,9 +213,25 @@ Requires-Dist: opentelemetry-exporter-otlp==1.37.0; extra == "frozen"
|
|
|
214
213
|
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.37.0; extra == "frozen"
|
|
215
214
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.37.0; extra == "frozen"
|
|
216
215
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.37.0; extra == "frozen"
|
|
216
|
+
Requires-Dist: opentelemetry-instrumentation==0.58b0; extra == "frozen"
|
|
217
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.58b0; extra == "frozen"
|
|
218
|
+
Requires-Dist: opentelemetry-instrumentation-asgi==0.58b0; extra == "frozen"
|
|
219
|
+
Requires-Dist: opentelemetry-instrumentation-botocore==0.58b0; extra == "frozen"
|
|
220
|
+
Requires-Dist: opentelemetry-instrumentation-celery==0.58b0; extra == "frozen"
|
|
221
|
+
Requires-Dist: opentelemetry-instrumentation-dbapi==0.58b0; extra == "frozen"
|
|
222
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.58b0; extra == "frozen"
|
|
223
|
+
Requires-Dist: opentelemetry-instrumentation-pika==0.58b0; extra == "frozen"
|
|
224
|
+
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.58b0; extra == "frozen"
|
|
225
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo==0.58b0; extra == "frozen"
|
|
226
|
+
Requires-Dist: opentelemetry-instrumentation-redis==0.58b0; extra == "frozen"
|
|
227
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.58b0; extra == "frozen"
|
|
228
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.58b0; extra == "frozen"
|
|
229
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.58b0; extra == "frozen"
|
|
230
|
+
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
|
|
217
231
|
Requires-Dist: opentelemetry-proto==1.37.0; extra == "frozen"
|
|
218
232
|
Requires-Dist: opentelemetry-sdk==1.37.0; extra == "frozen"
|
|
219
233
|
Requires-Dist: opentelemetry-semantic-conventions==0.58b0; extra == "frozen"
|
|
234
|
+
Requires-Dist: opentelemetry-util-http==0.58b0; extra == "frozen"
|
|
220
235
|
Requires-Dist: ordered-set==4.1.0; extra == "frozen"
|
|
221
236
|
Requires-Dist: packaging==25.0; extra == "frozen"
|
|
222
237
|
Requires-Dist: pandas==2.3.2; extra == "frozen"
|
|
@@ -231,18 +246,18 @@ Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
|
231
246
|
Requires-Dist: pooch==1.8.2; extra == "frozen"
|
|
232
247
|
Requires-Dist: prison==0.2.1; extra == "frozen"
|
|
233
248
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
234
|
-
Requires-Dist: prometheus_client==0.
|
|
249
|
+
Requires-Dist: prometheus_client==0.23.1; extra == "frozen"
|
|
235
250
|
Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
|
|
236
251
|
Requires-Dist: propcache==0.3.2; extra == "frozen"
|
|
237
252
|
Requires-Dist: protobuf==6.32.1; extra == "frozen"
|
|
238
|
-
Requires-Dist: psutil==7.
|
|
253
|
+
Requires-Dist: psutil==7.1.0; extra == "frozen"
|
|
239
254
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "frozen"
|
|
240
255
|
Requires-Dist: pycparser==2.23; extra == "frozen"
|
|
241
256
|
Requires-Dist: pydantic==2.11.9; extra == "frozen"
|
|
242
|
-
Requires-Dist: pydantic-settings==2.
|
|
257
|
+
Requires-Dist: pydantic-settings==2.11.0; extra == "frozen"
|
|
243
258
|
Requires-Dist: pydantic_core==2.33.2; extra == "frozen"
|
|
244
259
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
245
|
-
Requires-Dist: pyparsing==3.2.
|
|
260
|
+
Requires-Dist: pyparsing==3.2.5; extra == "frozen"
|
|
246
261
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
247
262
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
248
263
|
Requires-Dist: python-dotenv==1.1.1; extra == "frozen"
|
|
@@ -273,7 +288,7 @@ Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
|
273
288
|
Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
274
289
|
Requires-Dist: termcolor==3.1.0; extra == "frozen"
|
|
275
290
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
276
|
-
Requires-Dist: tifffile==2025.9.
|
|
291
|
+
Requires-Dist: tifffile==2025.9.20; extra == "frozen"
|
|
277
292
|
Requires-Dist: tornado==6.5.2; extra == "frozen"
|
|
278
293
|
Requires-Dist: tqdm==4.67.1; extra == "frozen"
|
|
279
294
|
Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
@@ -286,7 +301,7 @@ Requires-Dist: universal_pathlib==0.2.6; extra == "frozen"
|
|
|
286
301
|
Requires-Dist: urllib3==2.5.0; extra == "frozen"
|
|
287
302
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
288
303
|
Requires-Dist: voluptuous==0.15.2; extra == "frozen"
|
|
289
|
-
Requires-Dist: wcwidth==0.2.
|
|
304
|
+
Requires-Dist: wcwidth==0.2.14; extra == "frozen"
|
|
290
305
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
291
306
|
Requires-Dist: wrapt==1.17.3; extra == "frozen"
|
|
292
307
|
Requires-Dist: yamale==6.0.0; extra == "frozen"
|
|
@@ -309,7 +324,83 @@ in their own package facilitates using the build_utils to test the integrity of
|
|
|
309
324
|
|
|
310
325
|
Environment Variables
|
|
311
326
|
---------------------
|
|
312
|
-
|
|
327
|
+
|
|
328
|
+
.. list-table::
|
|
329
|
+
:widths: 10 90
|
|
330
|
+
:header-rows: 1
|
|
331
|
+
|
|
332
|
+
* - Variable
|
|
333
|
+
- Field Info
|
|
334
|
+
* - LOGURU_LEVEL
|
|
335
|
+
- annotation=str required=False default='INFO' alias_priority=2 validation_alias='LOGURU_LEVEL' description='Log level for the application'
|
|
336
|
+
* - MESH_CONFIG
|
|
337
|
+
- annotation=dict[str, MeshService] required=False default_factory=dict alias_priority=2 validation_alias='MESH_CONFIG' description='Service mesh configuration' examples=[{'upstream_service_name': {'mesh_address': 'localhost', 'mesh_port': 6742}}]
|
|
338
|
+
* - RETRY_CONFIG
|
|
339
|
+
- annotation=RetryConfig required=False default_factory=RetryConfig description='Retry configuration for the service'
|
|
340
|
+
* - OTEL_SERVICE_NAME
|
|
341
|
+
- annotation=str required=False default='unknown-service-name' alias_priority=2 validation_alias='OTEL_SERVICE_NAME' description='Service name for OpenTelemetry'
|
|
342
|
+
* - DKIST_SERVICE_VERSION
|
|
343
|
+
- annotation=str required=False default='unknown-service-version' alias_priority=2 validation_alias='DKIST_SERVICE_VERSION' description='Service version for OpenTelemetry'
|
|
344
|
+
* - NOMAD_ALLOC_ID
|
|
345
|
+
- annotation=str required=False default='unknown-allocation-id' alias_priority=2 validation_alias='NOMAD_ALLOC_ID' description='Nomad allocation ID for OpenTelemetry'
|
|
346
|
+
* - OTEL_EXPORTER_OTLP_TRACES_INSECURE
|
|
347
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP traces'
|
|
348
|
+
* - OTEL_EXPORTER_OTLP_METRICS_INSECURE
|
|
349
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP metrics'
|
|
350
|
+
* - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
351
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP traces endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
352
|
+
* - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
353
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP metrics endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
354
|
+
* - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
|
|
355
|
+
- annotation=list[str] required=False default_factory=list description='List of instrumentations to disable. https://opentelemetry.io/docs/zero-code/python/configuration/' examples=[['pika', 'requests']]
|
|
356
|
+
* - OTEL_PYTHON_FASTAPI_EXCLUDED_URLS
|
|
357
|
+
- annotation=str required=False default='health' description='Comma separated list of URLs to exclude from OpenTelemetry instrumentation in FastAPI.' examples=['client/.*/info,healthcheck']
|
|
358
|
+
* - SYSTEM_METRIC_INSTRUMENTATION_CONFIG
|
|
359
|
+
- annotation=Union[dict[str, bool], NoneType] required=False default=None description='Configuration for system metric instrumentation. https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/system_metrics/system_metrics.html' examples=[{'system.memory.usage': ['used', 'free', 'cached'], 'system.cpu.time': ['idle', 'user', 'system', 'irq'], 'system.network.io': ['transmit', 'receive'], 'process.runtime.memory': ['rss', 'vms'], 'process.runtime.cpu.time': ['user', 'system'], 'process.runtime.context_switches': ['involuntary', 'voluntary']}]
|
|
360
|
+
* - ISB_USERNAME
|
|
361
|
+
- annotation=str required=False default='guest' description='Username for the interservice-bus.'
|
|
362
|
+
* - ISB_PASSWORD
|
|
363
|
+
- annotation=str required=False default='guest' description='Password for the interservice-bus.'
|
|
364
|
+
* - ISB_EXCHANGE
|
|
365
|
+
- annotation=str required=False default='master.direct.x' description='Exchange for the interservice-bus.'
|
|
366
|
+
* - ISB_QUEUE_TYPE
|
|
367
|
+
- annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
|
|
368
|
+
* - BUILD_VERSION
|
|
369
|
+
- annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
|
|
370
|
+
* - GQL_AUTH_TOKEN
|
|
371
|
+
- annotation=Union[str, NoneType] required=False default='dev' description='The auth token for the metadata-store-api.'
|
|
372
|
+
* - OBJECT_STORE_ACCESS_KEY
|
|
373
|
+
- annotation=Union[str, NoneType] required=False default=None description='The access key for the object store.'
|
|
374
|
+
* - OBJECT_STORE_SECRET_KEY
|
|
375
|
+
- annotation=Union[str, NoneType] required=False default=None description='The secret key for the object store.'
|
|
376
|
+
* - OBJECT_STORE_USE_SSL
|
|
377
|
+
- annotation=bool required=False default=False description='Whether to use SSL for the object store connection.'
|
|
378
|
+
* - MULTIPART_THRESHOLD
|
|
379
|
+
- annotation=Union[int, NoneType] required=False default=None description='Multipart threshold for the object store.'
|
|
380
|
+
* - S3_CLIENT_CONFIG
|
|
381
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 client configuration for the object store.'
|
|
382
|
+
* - S3_UPLOAD_CONFIG
|
|
383
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 upload configuration for the object store.'
|
|
384
|
+
* - S3_DOWNLOAD_CONFIG
|
|
385
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 download configuration for the object store.'
|
|
386
|
+
* - GLOBUS_TRANSPORT_PARAMS
|
|
387
|
+
- annotation=dict required=False default_factory=dict description='Globus transfer parameters.'
|
|
388
|
+
* - GLOBUS_CLIENT_ID
|
|
389
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client ID for inbound/outbound transfers.'
|
|
390
|
+
* - GLOBUS_CLIENT_SECRET
|
|
391
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client secret for inbound/outbound transfers.'
|
|
392
|
+
* - OBJECT_STORE_ENDPOINT
|
|
393
|
+
- annotation=Union[str, NoneType] required=False default=None description='Object store Globus Endpoint ID.'
|
|
394
|
+
* - SCRATCH_ENDPOINT
|
|
395
|
+
- annotation=Union[str, NoneType] required=False default=None description='Scratch Globus Endpoint ID.'
|
|
396
|
+
* - SCRATCH_BASE_PATH
|
|
397
|
+
- annotation=str required=False default='scratch/' description='Base path for scratch storage.'
|
|
398
|
+
* - SCRATCH_INVENTORY_DB_COUNT
|
|
399
|
+
- annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
|
|
400
|
+
* - DOCS_BASE_URL
|
|
401
|
+
- annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
|
|
402
|
+
* - FTS_ATLAS_DATA_DIR
|
|
403
|
+
- annotation=Union[str, NoneType] required=False default=None description='Common cached directory for downloaded FTS Atlas.'
|
|
313
404
|
|
|
314
405
|
Development
|
|
315
406
|
-----------
|
{dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/RECORD
RENAMED
|
@@ -18,21 +18,21 @@ dkist_processing_dlnirsp/parsers/wavelength.py,sha256=FPpvFSBTy3OxjUXJhjRirR_sIN
|
|
|
18
18
|
dkist_processing_dlnirsp/parsers/wcs_corrections.py,sha256=yeTLowmtAIs5sjNStIKmBTZUxttOtldJSeW_adsXFYQ,1786
|
|
19
19
|
dkist_processing_dlnirsp/tasks/__init__.py,sha256=6N5xdCM3FeTpzmBUgUnJ5mKF2N3vBfcj-SNqVQ9ZHiw,996
|
|
20
20
|
dkist_processing_dlnirsp/tasks/assemble_movie.py,sha256=BxUO7_Zj_QGLXqNpp87bLawyLo4G0I0DTLZPMXpi5Mo,5539
|
|
21
|
-
dkist_processing_dlnirsp/tasks/bad_pixel_map.py,sha256=
|
|
22
|
-
dkist_processing_dlnirsp/tasks/dark.py,sha256=
|
|
21
|
+
dkist_processing_dlnirsp/tasks/bad_pixel_map.py,sha256=ZzG86mXped2k2PjX7okKAi3JCQGJHalBhBgFU-T8K_8,8194
|
|
22
|
+
dkist_processing_dlnirsp/tasks/dark.py,sha256=rFnVULAunChEdxEXcosxNJM_iqRGslia9cUnV1FAOQQ,3580
|
|
23
23
|
dkist_processing_dlnirsp/tasks/dlnirsp_base.py,sha256=dIpQGE0COLAXPAUbKn6dpLJj5VDCxfAVYFfX8fR6OSo,1519
|
|
24
|
-
dkist_processing_dlnirsp/tasks/geometric.py,sha256=
|
|
25
|
-
dkist_processing_dlnirsp/tasks/ifu_drift.py,sha256=
|
|
26
|
-
dkist_processing_dlnirsp/tasks/instrument_polarization.py,sha256=
|
|
24
|
+
dkist_processing_dlnirsp/tasks/geometric.py,sha256=lZanX2vPATqxK5ux_nFDkv3RseCf1sLXj0HrLb8O7uQ,28114
|
|
25
|
+
dkist_processing_dlnirsp/tasks/ifu_drift.py,sha256=JeFgl6uk6lYU4jJ-gBYtRESyUa9mbWuW-hFAN2iWb_s,16137
|
|
26
|
+
dkist_processing_dlnirsp/tasks/instrument_polarization.py,sha256=G79qXg1080zsd8ZwwYSSupUGWPRNBevyag49H32gh60,28201
|
|
27
27
|
dkist_processing_dlnirsp/tasks/l1_output_data.py,sha256=Psta0476jih-cfmpdnzmquys030sW4f4VX6ksAb-g1o,465
|
|
28
|
-
dkist_processing_dlnirsp/tasks/lamp.py,sha256=
|
|
29
|
-
dkist_processing_dlnirsp/tasks/linearity_correction.py,sha256=
|
|
28
|
+
dkist_processing_dlnirsp/tasks/lamp.py,sha256=twoMHMnE2jm2OYxkeHFcjqcyQYVtEjSU2_z2mmn3Ybs,5390
|
|
29
|
+
dkist_processing_dlnirsp/tasks/linearity_correction.py,sha256=fz16nK5q7isKz9l7_AFeDkMTaX08omlusKoIDS8wj5k,21107
|
|
30
30
|
dkist_processing_dlnirsp/tasks/make_movie_frames.py,sha256=zxyAWNnPFbG7jpUEe3ekRyJGjk706T9a-yiA3eoWi5M,6290
|
|
31
31
|
dkist_processing_dlnirsp/tasks/parse.py,sha256=-v7pkkxaAjSMxTXQCHTU-M6P9ODZmJG73TstQMicJHk,10465
|
|
32
|
-
dkist_processing_dlnirsp/tasks/quality_metrics.py,sha256=
|
|
33
|
-
dkist_processing_dlnirsp/tasks/science.py,sha256=
|
|
34
|
-
dkist_processing_dlnirsp/tasks/solar.py,sha256=
|
|
35
|
-
dkist_processing_dlnirsp/tasks/wavelength_calibration.py,sha256=
|
|
32
|
+
dkist_processing_dlnirsp/tasks/quality_metrics.py,sha256=1ScLAinv3WG-0M7u_26gnogbJ_D84K9CP7eRvEuwb9E,7346
|
|
33
|
+
dkist_processing_dlnirsp/tasks/science.py,sha256=JGBmJGePGGowOzN2N57TOdxCt4zALLn5mNi1v7aor6I,35513
|
|
34
|
+
dkist_processing_dlnirsp/tasks/solar.py,sha256=NyLYkRophfXaVtvnGuNEvkcE8JNcmCJVuobNYAZ7KjQ,11135
|
|
35
|
+
dkist_processing_dlnirsp/tasks/wavelength_calibration.py,sha256=6jidRwMbGoZcuVbnFv3IizEFFkGxHMTI249Q8pyVIUA,17023
|
|
36
36
|
dkist_processing_dlnirsp/tasks/write_l1.py,sha256=cm2dB4n5LjwauxUfv_jtkG8ZRZCHYE4DBZWRXQYjok4,9578
|
|
37
37
|
dkist_processing_dlnirsp/tasks/mixin/__init__.py,sha256=5PMbkD6K0zTfhCxv8vg2lvJCNP81qItJ_R_7Yy3Mpwc,26
|
|
38
38
|
dkist_processing_dlnirsp/tasks/mixin/corrections.py,sha256=MRZXCEc0KBE-9cQUpRP-K3ioDYRH8_ORFlJcH2SsmWA,6803
|
|
@@ -64,10 +64,10 @@ dkist_processing_dlnirsp/tests/test_wavelength_calibration.py,sha256=GFGXtl0KdCl
|
|
|
64
64
|
dkist_processing_dlnirsp/tests/test_workflows.py,sha256=cRw_c90B-ZXGaw0vVWymYCE-_Ll6mBeM7aHsu-uXewo,290
|
|
65
65
|
dkist_processing_dlnirsp/tests/test_write_l1.py,sha256=J9D1QqCDe0IzYsphA4s_ciDEL0tUUSV1KLm8yo9mxyM,13335
|
|
66
66
|
dkist_processing_dlnirsp/tests/local_trial_workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
-
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_linearize_only.py,sha256=
|
|
68
|
-
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_polcals_as_science.py,sha256=
|
|
69
|
-
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_solar_gain_as_science.py,sha256=
|
|
70
|
-
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_to_l1.py,sha256=
|
|
67
|
+
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_linearize_only.py,sha256=WpO2T2PRDiglwBB3zQDV_3Cq1RSw-ufu_iFjT5aLFJk,6750
|
|
68
|
+
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_polcals_as_science.py,sha256=ZDefUSKggIH2ebzUziQWU_A2yWeX68vjqzC11MNkzJU,19338
|
|
69
|
+
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_solar_gain_as_science.py,sha256=Nv8qi-U2mUpWRn8rfx0ckn6v9OUGbfSND-fX9WVRaU0,20102
|
|
70
|
+
dkist_processing_dlnirsp/tests/local_trial_workflows/l0_to_l1.py,sha256=MfCqHOO9RC24FRqGUKfPiTGUZh7rft9NklYKej-oM00,17757
|
|
71
71
|
dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_dev_mockers.py,sha256=PukJUm83qiDnE7fcVGdbBMZN-RrkLutbB-XkOsMKMqY,11697
|
|
72
72
|
dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_helpers.py,sha256=eZ7Z0BgLazGPPTuDpmItyY36yd8s243z4OGmJnGTxjw,21284
|
|
73
73
|
dkist_processing_dlnirsp/tests/local_trial_workflows/translate_files.py,sha256=bsOqBtGE9SdOZL2ROJ-murJHjymYrE_nEPNHJgy7pDc,1882
|
|
@@ -93,8 +93,8 @@ docs/science_calibration.rst,sha256=JUMeS7KyIsL9cUuy-IdV2tQ-wQ2lBx6j8u_51ThJzVg,
|
|
|
93
93
|
docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
|
|
94
94
|
docs/wavelength_calibration.rst,sha256=VP45e0g4r-dReQmypQVqduvezQiKwq47STlAJn0w8iQ,4095
|
|
95
95
|
licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
|
|
96
|
-
dkist_processing_dlnirsp-0.
|
|
97
|
-
dkist_processing_dlnirsp-0.
|
|
98
|
-
dkist_processing_dlnirsp-0.
|
|
99
|
-
dkist_processing_dlnirsp-0.
|
|
100
|
-
dkist_processing_dlnirsp-0.
|
|
96
|
+
dkist_processing_dlnirsp-0.32.0.dist-info/METADATA,sha256=O7BbgPXIEVbl5Xau_c0PJxaedq0PWuInWY_h8NppmPs,29205
|
|
97
|
+
dkist_processing_dlnirsp-0.32.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
98
|
+
dkist_processing_dlnirsp-0.32.0.dist-info/entry_points.txt,sha256=p4-7cpIfxmQGFUDIP5n5noE5KADHN2-JvV03e0gOx9s,140
|
|
99
|
+
dkist_processing_dlnirsp-0.32.0.dist-info/top_level.txt,sha256=4WmLV9LQM78KTFnkHmtaOJvVHAPpz0m9ruzDS-B_cUo,49
|
|
100
|
+
dkist_processing_dlnirsp-0.32.0.dist-info/RECORD,,
|
{dkist_processing_dlnirsp-0.31.1.dist-info → dkist_processing_dlnirsp-0.32.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|