dkist-processing-visp 5.0.0rc3__py3-none-any.whl → 5.1.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_visp/models/parameters.py +11 -1
- dkist_processing_visp/tasks/geometric.py +6 -1
- dkist_processing_visp/tasks/solar.py +1 -9
- dkist_processing_visp/tests/test_parameters.py +49 -1
- dkist_processing_visp/tests/test_solar.py +3 -14
- dkist_processing_visp/workflows/l0_processing.py +7 -2
- dkist_processing_visp/workflows/trial_workflows.py +7 -2
- {dkist_processing_visp-5.0.0rc3.dist-info → dkist_processing_visp-5.1.0.dist-info}/METADATA +58 -57
- {dkist_processing_visp-5.0.0rc3.dist-info → dkist_processing_visp-5.1.0.dist-info}/RECORD +11 -21
- changelog/246.doc.2.rst +0 -2
- changelog/246.doc.rst +0 -2
- changelog/246.feature.2.rst +0 -1
- changelog/246.feature.3.rst +0 -1
- changelog/246.feature.4.rst +0 -1
- changelog/246.feature.rst +0 -4
- changelog/246.misc.2.rst +0 -1
- changelog/246.misc.3.rst +0 -1
- changelog/246.misc.rst +0 -2
- changelog/246.science.rst +0 -11
- {dkist_processing_visp-5.0.0rc3.dist-info → dkist_processing_visp-5.1.0.dist-info}/WHEEL +0 -0
- {dkist_processing_visp-5.0.0rc3.dist-info → dkist_processing_visp-5.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Visp calibration pipeline parameters."""
|
|
2
2
|
|
|
3
3
|
from datetime import datetime
|
|
4
|
+
from random import randint
|
|
4
5
|
from typing import Any
|
|
5
6
|
|
|
6
7
|
import astropy.units as u
|
|
@@ -208,7 +209,16 @@ class VispParameters(ParameterBase, ParameterWavelengthMixin, ParameterArmIdMixi
|
|
|
208
209
|
@property
|
|
209
210
|
def solar_vignette_wavecal_fit_kwargs(self) -> dict[str, Any]:
|
|
210
211
|
"""Define extra keyword arguments to pass to the wavelength calibration fitter."""
|
|
211
|
-
|
|
212
|
+
doc_dict = self._find_most_recent_past_value("visp_solar_vignette_wavecal_fit_kwargs")
|
|
213
|
+
rng_kwarg = dict()
|
|
214
|
+
fitting_method = doc_dict.get("method", False)
|
|
215
|
+
if fitting_method in ["basinhopping", "differential_evolution", "dual_annealing"]:
|
|
216
|
+
rng = randint(1, 1_000_000)
|
|
217
|
+
rng_kwarg["rng"] = rng
|
|
218
|
+
|
|
219
|
+
# The order here allows us to override `rng` in a parameter value
|
|
220
|
+
fit_kwargs = rng_kwarg | doc_dict
|
|
221
|
+
return fit_kwargs
|
|
212
222
|
|
|
213
223
|
@property
|
|
214
224
|
def solar_vignette_spectral_poly_fit_order(self) -> int:
|
|
@@ -274,7 +274,12 @@ class GeometricCalibration(
|
|
|
274
274
|
self.prep_input_solar_gain()
|
|
275
275
|
|
|
276
276
|
def prep_lamp_gain(self):
|
|
277
|
-
"""
|
|
277
|
+
"""
|
|
278
|
+
Create average, dark-corrected lamp gain images for each modstate from INPUT lamp gains.
|
|
279
|
+
|
|
280
|
+
This is different from the results of the `~dkist_processing_visp.tasks.lamp.LampCalibration` task because in
|
|
281
|
+
that task the hairlines are masked out, but here we *need* the hairlines to compute the rotation angle.
|
|
282
|
+
"""
|
|
278
283
|
for readout_exp_time in self.constants.lamp_readout_exp_times:
|
|
279
284
|
for beam in range(1, self.constants.num_beams + 1):
|
|
280
285
|
logger.info(
|
|
@@ -562,15 +562,7 @@ class SolarCalibration(
|
|
|
562
562
|
|
|
563
563
|
fitter = WavelengthCalibrationFitter(input_parameters=init_parameters, atlas=atlas)
|
|
564
564
|
with self.telemetry_span("Fit atlas and continuum"):
|
|
565
|
-
|
|
566
|
-
fitting_method = self.parameters.solar_vignette_wavecal_fit_kwargs.get("method", False)
|
|
567
|
-
if fitting_method in ["basinhopping", "differential_evolution", "dual_annealing"]:
|
|
568
|
-
# For methods that support the `rng` kwarg we use the recipe run id as the rng seed
|
|
569
|
-
rng = self.recipe_run_id
|
|
570
|
-
rng_kwarg["rng"] = rng
|
|
571
|
-
|
|
572
|
-
# The order here allows us to override the default `rng` (above) in a parameter value
|
|
573
|
-
extra_kwargs = rng_kwarg | self.parameters.solar_vignette_wavecal_fit_kwargs
|
|
565
|
+
extra_kwargs = self.parameters.solar_vignette_wavecal_fit_kwargs
|
|
574
566
|
logger.info(f"Calling fitter with extra kwargs: {extra_kwargs}")
|
|
575
567
|
fit_result = fitter(
|
|
576
568
|
input_spectrum=representative_spectrum,
|
|
@@ -103,7 +103,11 @@ def test_non_wave_parameters(
|
|
|
103
103
|
pn = f"{pn}_{arm_id}"
|
|
104
104
|
pv = expected[pn]
|
|
105
105
|
is_wavelength_param = isinstance(pv, dict) and "wavelength" in pv
|
|
106
|
-
if
|
|
106
|
+
if (
|
|
107
|
+
parameter_name not in parse_parameter_names
|
|
108
|
+
and not is_wavelength_param
|
|
109
|
+
and parameter_name != "solar_vignette_wavecal_fit_kwargs"
|
|
110
|
+
):
|
|
107
111
|
param_obj_value = getattr(task_param_attr, parameter_name)
|
|
108
112
|
if isinstance(pv, tuple):
|
|
109
113
|
pv = list(pv)
|
|
@@ -171,3 +175,47 @@ def test_wave_parameters(
|
|
|
171
175
|
is_wavelength_param = isinstance(pv, dict) and "wavelength" in pv
|
|
172
176
|
if is_wavelength_param and property_name not in parse_parameter_names + arm_parameter_names:
|
|
173
177
|
assert getattr(task_param_attr, property_name) == pv["values"][idx]
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
class AnyInt:
|
|
181
|
+
pass
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
@pytest.mark.parametrize("arm_id", [pytest.param("1")])
|
|
185
|
+
@pytest.mark.parametrize(
|
|
186
|
+
"db_value, expected",
|
|
187
|
+
[
|
|
188
|
+
pytest.param({"method": "nelder"}, {"method": "nelder"}, id="non_rng_method"),
|
|
189
|
+
pytest.param(
|
|
190
|
+
{"method": "basinhopping"}, {"method": "basinhopping", "rng": AnyInt}, id="random_rng"
|
|
191
|
+
),
|
|
192
|
+
pytest.param(
|
|
193
|
+
{"method": "differential_evolution", "rng": 6.28},
|
|
194
|
+
{"method": "differential_evolution", "rng": 6.28},
|
|
195
|
+
id="override_rng",
|
|
196
|
+
),
|
|
197
|
+
pytest.param(dict(), dict(), id="no_kwargs"),
|
|
198
|
+
],
|
|
199
|
+
)
|
|
200
|
+
def test_fit_kwarg_parameters(
|
|
201
|
+
basic_science_task_with_parameter_mixin,
|
|
202
|
+
db_value,
|
|
203
|
+
expected,
|
|
204
|
+
):
|
|
205
|
+
"""
|
|
206
|
+
Given: A Science task with the parameter mixin
|
|
207
|
+
When: Accessing properties for parameters that do not depend on wavelength
|
|
208
|
+
Then: The correct value is returned
|
|
209
|
+
"""
|
|
210
|
+
task, _ = next(
|
|
211
|
+
basic_science_task_with_parameter_mixin(
|
|
212
|
+
VispInputDatasetParameterValues(visp_solar_vignette_wavecal_fit_kwargs=db_value)
|
|
213
|
+
)
|
|
214
|
+
)
|
|
215
|
+
kwarg_dict = task.parameters.solar_vignette_wavecal_fit_kwargs
|
|
216
|
+
assert kwarg_dict.keys() == expected.keys()
|
|
217
|
+
for k in expected.keys():
|
|
218
|
+
if expected[k] is AnyInt:
|
|
219
|
+
assert type(kwarg_dict[k]) is int
|
|
220
|
+
else:
|
|
221
|
+
assert expected[k] == kwarg_dict[k]
|
|
@@ -310,16 +310,10 @@ def solar_gain_task(
|
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
@pytest.mark.parametrize(
|
|
313
|
-
"background_on
|
|
313
|
+
"background_on",
|
|
314
314
|
[
|
|
315
|
-
pytest.param(True,
|
|
316
|
-
pytest.param(False,
|
|
317
|
-
pytest.param(
|
|
318
|
-
False,
|
|
319
|
-
{"method": "differential_evolution", "rng": 6.28},
|
|
320
|
-
id="background_off-override_rng",
|
|
321
|
-
),
|
|
322
|
-
pytest.param(False, dict(), id="background_off-no_fit_kwargs"),
|
|
315
|
+
pytest.param(True, id="background_on"),
|
|
316
|
+
pytest.param(False, id="background_off"),
|
|
323
317
|
],
|
|
324
318
|
)
|
|
325
319
|
def test_solar_gain_task(
|
|
@@ -335,7 +329,6 @@ def test_solar_gain_task(
|
|
|
335
329
|
assign_input_dataset_doc_to_task,
|
|
336
330
|
mocker,
|
|
337
331
|
fake_gql_client,
|
|
338
|
-
fit_kwargs,
|
|
339
332
|
):
|
|
340
333
|
"""
|
|
341
334
|
Given: A set of raw solar gain images and necessary intermediate calibrations
|
|
@@ -351,7 +344,6 @@ def test_solar_gain_task(
|
|
|
351
344
|
input_shape = (num_wave_pix * 2, 100)
|
|
352
345
|
intermediate_shape = (num_wave_pix, 100)
|
|
353
346
|
beam_border = input_shape[0] // 2
|
|
354
|
-
conftest_fit_kwargs = VispInputDatasetParameterValues().visp_solar_vignette_wavecal_fit_kwargs
|
|
355
347
|
assign_input_dataset_doc_to_task(
|
|
356
348
|
task,
|
|
357
349
|
VispInputDatasetParameterValues(
|
|
@@ -361,9 +353,6 @@ def test_solar_gain_task(
|
|
|
361
353
|
visp_wavecal_init_resolving_power=resolving_power,
|
|
362
354
|
visp_wavecal_camera_lens_parameters_1=lens_parameters_no_units,
|
|
363
355
|
visp_solar_vignette_initial_continuum_poly_fit_order=1,
|
|
364
|
-
visp_solar_vignette_wavecal_fit_kwargs=(
|
|
365
|
-
conftest_fit_kwargs if fit_kwargs == "conftest" else fit_kwargs
|
|
366
|
-
),
|
|
367
356
|
),
|
|
368
357
|
arm_id=1,
|
|
369
358
|
)
|
|
@@ -41,8 +41,13 @@ l0_pipeline.add_node(
|
|
|
41
41
|
task=SolarCalibration,
|
|
42
42
|
upstreams=[LampCalibration, GeometricCalibration, BackgroundLightCalibration],
|
|
43
43
|
)
|
|
44
|
-
l0_pipeline.add_node(
|
|
45
|
-
|
|
44
|
+
l0_pipeline.add_node(
|
|
45
|
+
task=InstrumentPolarizationCalibration,
|
|
46
|
+
upstreams=[BackgroundLightCalibration, GeometricCalibration],
|
|
47
|
+
)
|
|
48
|
+
l0_pipeline.add_node(
|
|
49
|
+
task=ScienceCalibration, upstreams=[SolarCalibration, InstrumentPolarizationCalibration]
|
|
50
|
+
)
|
|
46
51
|
l0_pipeline.add_node(task=VispWriteL1Frame, upstreams=ScienceCalibration)
|
|
47
52
|
|
|
48
53
|
# Movie flow
|
|
@@ -43,8 +43,13 @@ full_trial_pipeline.add_node(
|
|
|
43
43
|
task=SolarCalibration,
|
|
44
44
|
upstreams=[LampCalibration, GeometricCalibration, BackgroundLightCalibration],
|
|
45
45
|
)
|
|
46
|
-
full_trial_pipeline.add_node(
|
|
47
|
-
|
|
46
|
+
full_trial_pipeline.add_node(
|
|
47
|
+
task=InstrumentPolarizationCalibration,
|
|
48
|
+
upstreams=[BackgroundLightCalibration, GeometricCalibration],
|
|
49
|
+
)
|
|
50
|
+
full_trial_pipeline.add_node(
|
|
51
|
+
task=ScienceCalibration, upstreams=[SolarCalibration, InstrumentPolarizationCalibration]
|
|
52
|
+
)
|
|
48
53
|
full_trial_pipeline.add_node(task=VispWriteL1Frame, upstreams=ScienceCalibration)
|
|
49
54
|
|
|
50
55
|
# Movie flow
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-visp
|
|
3
|
-
Version: 5.0
|
|
3
|
+
Version: 5.1.0
|
|
4
4
|
Summary: Science processing code for the ViSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,14 +13,14 @@ 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.8.
|
|
16
|
+
Requires-Dist: dkist-processing-common==11.8.1
|
|
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-service-configuration==4.1.7
|
|
22
22
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
23
|
-
Requires-Dist: solar-wavelength-calibration==2.0.
|
|
23
|
+
Requires-Dist: solar-wavelength-calibration==2.0.0
|
|
24
24
|
Requires-Dist: astropy==7.0.2
|
|
25
25
|
Requires-Dist: numpy==2.2.5
|
|
26
26
|
Requires-Dist: sunpy==6.1.1
|
|
@@ -98,20 +98,20 @@ Requires-Dist: aiosmtplib==5.0.0; extra == "frozen"
|
|
|
98
98
|
Requires-Dist: alembic==1.17.2; extra == "frozen"
|
|
99
99
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
100
100
|
Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
101
|
-
Requires-Dist: anyio==4.
|
|
101
|
+
Requires-Dist: anyio==4.12.0; extra == "frozen"
|
|
102
102
|
Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
|
|
103
|
-
Requires-Dist: apache-airflow-providers-celery==3.
|
|
104
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.
|
|
105
|
-
Requires-Dist: apache-airflow-providers-common-io==1.
|
|
106
|
-
Requires-Dist: apache-airflow-providers-common-sql==1.
|
|
103
|
+
Requires-Dist: apache-airflow-providers-celery==3.14.0; extra == "frozen"
|
|
104
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.10.0; extra == "frozen"
|
|
105
|
+
Requires-Dist: apache-airflow-providers-common-io==1.7.0; extra == "frozen"
|
|
106
|
+
Requires-Dist: apache-airflow-providers-common-sql==1.30.0; extra == "frozen"
|
|
107
107
|
Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
|
|
108
|
-
Requires-Dist: apache-airflow-providers-ftp==3.
|
|
109
|
-
Requires-Dist: apache-airflow-providers-http==5.
|
|
110
|
-
Requires-Dist: apache-airflow-providers-imap==3.
|
|
111
|
-
Requires-Dist: apache-airflow-providers-postgres==6.
|
|
112
|
-
Requires-Dist: apache-airflow-providers-smtp==2.
|
|
113
|
-
Requires-Dist: apache-airflow-providers-sqlite==4.
|
|
114
|
-
Requires-Dist: apispec==6.
|
|
108
|
+
Requires-Dist: apache-airflow-providers-ftp==3.14.0; extra == "frozen"
|
|
109
|
+
Requires-Dist: apache-airflow-providers-http==5.6.0; extra == "frozen"
|
|
110
|
+
Requires-Dist: apache-airflow-providers-imap==3.10.0; extra == "frozen"
|
|
111
|
+
Requires-Dist: apache-airflow-providers-postgres==6.5.0; extra == "frozen"
|
|
112
|
+
Requires-Dist: apache-airflow-providers-smtp==2.4.0; extra == "frozen"
|
|
113
|
+
Requires-Dist: apache-airflow-providers-sqlite==4.2.0; extra == "frozen"
|
|
114
|
+
Requires-Dist: apispec==6.9.0; extra == "frozen"
|
|
115
115
|
Requires-Dist: argcomplete==3.6.3; extra == "frozen"
|
|
116
116
|
Requires-Dist: asdf==3.5.0; extra == "frozen"
|
|
117
117
|
Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
|
|
@@ -119,16 +119,16 @@ Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
|
119
119
|
Requires-Dist: asgiref==3.11.0; extra == "frozen"
|
|
120
120
|
Requires-Dist: asteval==1.0.7; extra == "frozen"
|
|
121
121
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
122
|
-
Requires-Dist: astropy-iers-data==0.2025.
|
|
123
|
-
Requires-Dist: asyncpg==0.
|
|
122
|
+
Requires-Dist: astropy-iers-data==0.2025.12.1.0.45.12; extra == "frozen"
|
|
123
|
+
Requires-Dist: asyncpg==0.31.0; extra == "frozen"
|
|
124
124
|
Requires-Dist: attrs==25.4.0; extra == "frozen"
|
|
125
125
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
126
|
-
Requires-Dist: billiard==4.2.
|
|
126
|
+
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
127
127
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
128
|
-
Requires-Dist: boto3==1.
|
|
129
|
-
Requires-Dist: botocore==1.
|
|
128
|
+
Requires-Dist: boto3==1.42.1; extra == "frozen"
|
|
129
|
+
Requires-Dist: botocore==1.42.1; extra == "frozen"
|
|
130
130
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
131
|
-
Requires-Dist: celery==5.
|
|
131
|
+
Requires-Dist: celery==5.6.0; extra == "frozen"
|
|
132
132
|
Requires-Dist: certifi==2025.11.12; extra == "frozen"
|
|
133
133
|
Requires-Dist: cffi==2.0.0; extra == "frozen"
|
|
134
134
|
Requires-Dist: charset-normalizer==3.4.4; extra == "frozen"
|
|
@@ -149,21 +149,22 @@ Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
|
149
149
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
150
150
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
151
151
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
152
|
-
Requires-Dist: dkist-processing-common==11.8.
|
|
152
|
+
Requires-Dist: dkist-processing-common==11.8.1; extra == "frozen"
|
|
153
153
|
Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
|
|
154
154
|
Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
|
|
155
155
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
156
|
-
Requires-Dist: dkist-processing-visp==5.0
|
|
156
|
+
Requires-Dist: dkist-processing-visp==5.1.0; extra == "frozen"
|
|
157
157
|
Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
|
|
158
158
|
Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
|
|
159
159
|
Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
|
|
160
160
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
161
161
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
162
|
+
Requires-Dist: exceptiongroup==1.3.1; extra == "frozen"
|
|
162
163
|
Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
163
164
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
164
|
-
Requires-Dist: fonttools==4.
|
|
165
|
+
Requires-Dist: fonttools==4.61.0; extra == "frozen"
|
|
165
166
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
166
|
-
Requires-Dist: fsspec==2025.
|
|
167
|
+
Requires-Dist: fsspec==2025.12.0; extra == "frozen"
|
|
167
168
|
Requires-Dist: globus-sdk==3.65.0; extra == "frozen"
|
|
168
169
|
Requires-Dist: google-re2==1.1.20251105; extra == "frozen"
|
|
169
170
|
Requires-Dist: googleapis-common-protos==1.72.0; extra == "frozen"
|
|
@@ -186,7 +187,7 @@ Requires-Dist: jsonschema==4.25.1; extra == "frozen"
|
|
|
186
187
|
Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
187
188
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
188
189
|
Requires-Dist: kiwisolver==1.4.9; extra == "frozen"
|
|
189
|
-
Requires-Dist: kombu==5.6.
|
|
190
|
+
Requires-Dist: kombu==5.6.1; extra == "frozen"
|
|
190
191
|
Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
|
|
191
192
|
Requires-Dist: lazy_loader==0.4; extra == "frozen"
|
|
192
193
|
Requires-Dist: limits==5.6.0; extra == "frozen"
|
|
@@ -206,33 +207,33 @@ Requires-Dist: more-itertools==10.8.0; extra == "frozen"
|
|
|
206
207
|
Requires-Dist: moviepy==2.1.2; extra == "frozen"
|
|
207
208
|
Requires-Dist: multidict==6.7.0; extra == "frozen"
|
|
208
209
|
Requires-Dist: nbformat==5.10.4; extra == "frozen"
|
|
209
|
-
Requires-Dist: networkx==3.
|
|
210
|
+
Requires-Dist: networkx==3.6; extra == "frozen"
|
|
210
211
|
Requires-Dist: numpy==2.2.5; extra == "frozen"
|
|
211
212
|
Requires-Dist: object-clerk==1.0.0; extra == "frozen"
|
|
212
|
-
Requires-Dist: opentelemetry-api==1.
|
|
213
|
-
Requires-Dist: opentelemetry-exporter-otlp==1.
|
|
214
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.
|
|
215
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.
|
|
216
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.
|
|
217
|
-
Requires-Dist: opentelemetry-instrumentation==0.
|
|
218
|
-
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.
|
|
219
|
-
Requires-Dist: opentelemetry-instrumentation-asgi==0.
|
|
220
|
-
Requires-Dist: opentelemetry-instrumentation-botocore==0.
|
|
221
|
-
Requires-Dist: opentelemetry-instrumentation-celery==0.
|
|
222
|
-
Requires-Dist: opentelemetry-instrumentation-dbapi==0.
|
|
223
|
-
Requires-Dist: opentelemetry-instrumentation-fastapi==0.
|
|
224
|
-
Requires-Dist: opentelemetry-instrumentation-pika==0.
|
|
225
|
-
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.
|
|
226
|
-
Requires-Dist: opentelemetry-instrumentation-pymongo==0.
|
|
227
|
-
Requires-Dist: opentelemetry-instrumentation-redis==0.
|
|
228
|
-
Requires-Dist: opentelemetry-instrumentation-requests==0.
|
|
229
|
-
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.
|
|
230
|
-
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.
|
|
213
|
+
Requires-Dist: opentelemetry-api==1.39.0; extra == "frozen"
|
|
214
|
+
Requires-Dist: opentelemetry-exporter-otlp==1.39.0; extra == "frozen"
|
|
215
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.39.0; extra == "frozen"
|
|
216
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.39.0; extra == "frozen"
|
|
217
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.39.0; extra == "frozen"
|
|
218
|
+
Requires-Dist: opentelemetry-instrumentation==0.60b0; extra == "frozen"
|
|
219
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.60b0; extra == "frozen"
|
|
220
|
+
Requires-Dist: opentelemetry-instrumentation-asgi==0.60b0; extra == "frozen"
|
|
221
|
+
Requires-Dist: opentelemetry-instrumentation-botocore==0.60b0; extra == "frozen"
|
|
222
|
+
Requires-Dist: opentelemetry-instrumentation-celery==0.60b0; extra == "frozen"
|
|
223
|
+
Requires-Dist: opentelemetry-instrumentation-dbapi==0.60b0; extra == "frozen"
|
|
224
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.60b0; extra == "frozen"
|
|
225
|
+
Requires-Dist: opentelemetry-instrumentation-pika==0.60b0; extra == "frozen"
|
|
226
|
+
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.60b0; extra == "frozen"
|
|
227
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo==0.60b0; extra == "frozen"
|
|
228
|
+
Requires-Dist: opentelemetry-instrumentation-redis==0.60b0; extra == "frozen"
|
|
229
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.60b0; extra == "frozen"
|
|
230
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.60b0; extra == "frozen"
|
|
231
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.60b0; extra == "frozen"
|
|
231
232
|
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
|
|
232
|
-
Requires-Dist: opentelemetry-proto==1.
|
|
233
|
-
Requires-Dist: opentelemetry-sdk==1.
|
|
234
|
-
Requires-Dist: opentelemetry-semantic-conventions==0.
|
|
235
|
-
Requires-Dist: opentelemetry-util-http==0.
|
|
233
|
+
Requires-Dist: opentelemetry-proto==1.39.0; extra == "frozen"
|
|
234
|
+
Requires-Dist: opentelemetry-sdk==1.39.0; extra == "frozen"
|
|
235
|
+
Requires-Dist: opentelemetry-semantic-conventions==0.60b0; extra == "frozen"
|
|
236
|
+
Requires-Dist: opentelemetry-util-http==0.60b0; extra == "frozen"
|
|
236
237
|
Requires-Dist: ordered-set==4.1.0; extra == "frozen"
|
|
237
238
|
Requires-Dist: packaging==25.0; extra == "frozen"
|
|
238
239
|
Requires-Dist: pandas==2.3.3; extra == "frozen"
|
|
@@ -255,7 +256,7 @@ Requires-Dist: protobuf==6.33.1; extra == "frozen"
|
|
|
255
256
|
Requires-Dist: psutil==7.1.3; extra == "frozen"
|
|
256
257
|
Requires-Dist: psycopg2-binary==2.9.11; extra == "frozen"
|
|
257
258
|
Requires-Dist: pycparser==2.23; extra == "frozen"
|
|
258
|
-
Requires-Dist: pydantic==2.12.
|
|
259
|
+
Requires-Dist: pydantic==2.12.5; extra == "frozen"
|
|
259
260
|
Requires-Dist: pydantic-settings==2.12.0; extra == "frozen"
|
|
260
261
|
Requires-Dist: pydantic_core==2.41.5; extra == "frozen"
|
|
261
262
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
@@ -273,18 +274,17 @@ Requires-Dist: requests-toolbelt==1.0.0; extra == "frozen"
|
|
|
273
274
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
274
275
|
Requires-Dist: rich==13.9.4; extra == "frozen"
|
|
275
276
|
Requires-Dist: rich-argparse==1.7.2; extra == "frozen"
|
|
276
|
-
Requires-Dist: rpds-py==0.
|
|
277
|
-
Requires-Dist: s3transfer==0.
|
|
277
|
+
Requires-Dist: rpds-py==0.30.0; extra == "frozen"
|
|
278
|
+
Requires-Dist: s3transfer==0.16.0; extra == "frozen"
|
|
278
279
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
279
280
|
Requires-Dist: scikit-learn==1.6.1; extra == "frozen"
|
|
280
281
|
Requires-Dist: scipy==1.15.3; extra == "frozen"
|
|
281
282
|
Requires-Dist: semantic-version==2.10.0; extra == "frozen"
|
|
282
283
|
Requires-Dist: setproctitle==1.3.7; extra == "frozen"
|
|
283
284
|
Requires-Dist: six==1.17.0; extra == "frozen"
|
|
284
|
-
Requires-Dist:
|
|
285
|
-
Requires-Dist: solar-wavelength-calibration==2.0.0rc4; extra == "frozen"
|
|
285
|
+
Requires-Dist: solar-wavelength-calibration==2.0.0; extra == "frozen"
|
|
286
286
|
Requires-Dist: sqids==0.5.1; extra == "frozen"
|
|
287
|
-
Requires-Dist: sqlparse==0.5.
|
|
287
|
+
Requires-Dist: sqlparse==0.5.4; extra == "frozen"
|
|
288
288
|
Requires-Dist: sunpy==6.1.1; extra == "frozen"
|
|
289
289
|
Requires-Dist: tabulate==0.9.0; extra == "frozen"
|
|
290
290
|
Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
@@ -299,9 +299,10 @@ Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
|
299
299
|
Requires-Dist: typing-inspection==0.4.2; extra == "frozen"
|
|
300
300
|
Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
|
|
301
301
|
Requires-Dist: tzdata==2025.2; extra == "frozen"
|
|
302
|
+
Requires-Dist: tzlocal==5.3.1; extra == "frozen"
|
|
302
303
|
Requires-Dist: uc-micro-py==1.0.3; extra == "frozen"
|
|
303
304
|
Requires-Dist: uncertainties==3.2.3; extra == "frozen"
|
|
304
|
-
Requires-Dist: universal_pathlib==0.3.
|
|
305
|
+
Requires-Dist: universal_pathlib==0.3.7; extra == "frozen"
|
|
305
306
|
Requires-Dist: urllib3==2.5.0; extra == "frozen"
|
|
306
307
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
307
308
|
Requires-Dist: voluptuous==0.15.2; extra == "frozen"
|
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
changelog/.gitempty,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
changelog/246.doc.2.rst,sha256=aMYmvTOBLplNlXZ7gRD2OmFX14TCCwaOj_M1j8ijOGk,148
|
|
3
|
-
changelog/246.doc.rst,sha256=dXzSxCuheJqeYXqnBbuNsSMp24mGUNK9QuhQXDphc-o,172
|
|
4
|
-
changelog/246.feature.2.rst,sha256=LYK8AoaioElU_ILGwPGJLQvb1OHFzXmIzwXv-jSoT6U,122
|
|
5
|
-
changelog/246.feature.3.rst,sha256=rbn-Hn2PEn_WKoifdGLZZtvngvQtQLPBtvc7rY4b2LA,104
|
|
6
|
-
changelog/246.feature.4.rst,sha256=S__oemHaB_Wnf_L8edCuLdaruWepXyPUWpLa6ajXqkE,101
|
|
7
|
-
changelog/246.feature.rst,sha256=hO8FiaYcp6ZDV8HmYoLSxV2g8DVgXO2yVL1je3NZmVg,491
|
|
8
|
-
changelog/246.misc.2.rst,sha256=5yrvGHyNSvN_GgOF6Ehv7K863T_iGIU58X_1DvkRrsA,136
|
|
9
|
-
changelog/246.misc.3.rst,sha256=RRQLj5etEC-GRufQp8vqRB4yheA3-IcMnm2HRsv8v0E,126
|
|
10
|
-
changelog/246.misc.rst,sha256=uXE0Fnyqa9BE1WLd6yUaBqJLwBFPLoVWyaRSCD_WR5I,158
|
|
11
|
-
changelog/246.science.rst,sha256=FJxC9yaS_qB_WMqetuA4NyMvrpmZBecD2dXgq4Yv8sY,1189
|
|
12
2
|
dkist_processing_visp/__init__.py,sha256=LC8o31oTIro4F7IgwoWalX1W3KcPU27yJhlDUeGqcwA,351
|
|
13
3
|
dkist_processing_visp/config.py,sha256=GMr0CreW4qavbueTtsH_Gx5P52v4yZd2PNKyPmxBKQE,478
|
|
14
4
|
dkist_processing_visp/fonts/Lato-Regular.ttf,sha256=1jbkaDIx-THtoiLViOlE0IK_0726AvkovuRhwPGFslE,656568
|
|
@@ -16,7 +6,7 @@ dkist_processing_visp/models/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttY
|
|
|
16
6
|
dkist_processing_visp/models/constants.py,sha256=TP9ZefMdJxu-JWePICMZ6riC4bH1Mz4NJY0hAcWAPQ0,6749
|
|
17
7
|
dkist_processing_visp/models/fits_access.py,sha256=8uKaUgtapyED-WgJCeswrIqEGy4Ob6ekBmiyBqF6yIE,573
|
|
18
8
|
dkist_processing_visp/models/metric_code.py,sha256=L_VJ-l5RXsYgcEIOO6hsez1a5oL5FqTnoVKZ0z7NKng,266
|
|
19
|
-
dkist_processing_visp/models/parameters.py,sha256=
|
|
9
|
+
dkist_processing_visp/models/parameters.py,sha256=ynPzU9Clv15tuI_h7OFH4bgngeGP-WJ0I3814lnaKMw,15070
|
|
20
10
|
dkist_processing_visp/models/tags.py,sha256=RKtDlNA9O3LMinUP7BJ3tXWn6CWAARaKhXIVB1EHtg0,3055
|
|
21
11
|
dkist_processing_visp/models/task_name.py,sha256=ykLXcmCBWYguopdBlg_G0X_u-0o_Ugh2117XrCqdbFk,187
|
|
22
12
|
dkist_processing_visp/parsers/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttYtog_jx4yN5I,12
|
|
@@ -32,7 +22,7 @@ dkist_processing_visp/tasks/__init__.py,sha256=qlPlahiM9_sCsaIj_wzQpzWkMITJ1dPdT
|
|
|
32
22
|
dkist_processing_visp/tasks/assemble_movie.py,sha256=8UujniXlV_sSGeuISud8wMHihLy6Gc5fKZpwkXLUQB8,3330
|
|
33
23
|
dkist_processing_visp/tasks/background_light.py,sha256=qQ3r1LR5qaOz2qNHnO5_QK8l1zbVP0GaCS3aLqJfNYY,16201
|
|
34
24
|
dkist_processing_visp/tasks/dark.py,sha256=VVitrat08U7e5L1-NVnNNJI_KIx791_DvKEJokvCqXE,4334
|
|
35
|
-
dkist_processing_visp/tasks/geometric.py,sha256=
|
|
25
|
+
dkist_processing_visp/tasks/geometric.py,sha256=FL9LVnI9XvAQeDFXnD1nwj67ExosuZjBSW2M3CrlCB4,48893
|
|
36
26
|
dkist_processing_visp/tasks/instrument_polarization.py,sha256=uj7iyzM3CiJcbQeF4eKpk_KCoheXaM4FpDI83GYDld4,25854
|
|
37
27
|
dkist_processing_visp/tasks/l1_output_data.py,sha256=vl_c52noozeu4N-BbfpsIHFc5q6JATQ9r4iLa3MDtDI,8347
|
|
38
28
|
dkist_processing_visp/tasks/lamp.py,sha256=HTBob-4Am1ps5ucmX8nSzxV3BqX2ytMcHZ5iyDrljq0,5132
|
|
@@ -40,7 +30,7 @@ dkist_processing_visp/tasks/make_movie_frames.py,sha256=fw25ksKiJJNS57XV5a7rHpYG
|
|
|
40
30
|
dkist_processing_visp/tasks/parse.py,sha256=Fe_2svvMSKBup--Ulxbu0uaNW3dzPxQreafMEw0CY6E,7897
|
|
41
31
|
dkist_processing_visp/tasks/quality_metrics.py,sha256=Pw55-PXW0cl39FuNkEQCGGhvI_zMDimwmh-swVPVBD4,8133
|
|
42
32
|
dkist_processing_visp/tasks/science.py,sha256=eQZ5MDJhOD8hhp2huksOkl8Btm8EL15no-LX3o6zBXE,34550
|
|
43
|
-
dkist_processing_visp/tasks/solar.py,sha256=
|
|
33
|
+
dkist_processing_visp/tasks/solar.py,sha256=YJFHmpmdV-FSIrjFKMH3eLXZ8KTdZWcZo-_XFf-u9Gs,47624
|
|
44
34
|
dkist_processing_visp/tasks/visp_base.py,sha256=-yC-PVP9AqFeZJshJ_nqZpSyRsZyHWUlugWvkeWkPKA,1412
|
|
45
35
|
dkist_processing_visp/tasks/write_l1.py,sha256=bsDZ0BwoqpTtS_f_rAzUn7Ra8UvYb-kINQhX6BwwFQw,8796
|
|
46
36
|
dkist_processing_visp/tasks/mixin/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttYtog_jx4yN5I,12
|
|
@@ -62,11 +52,11 @@ dkist_processing_visp/tests/test_instrument_polarization.py,sha256=ZsYSyXUKfs0dv
|
|
|
62
52
|
dkist_processing_visp/tests/test_lamp.py,sha256=19mRN8drAg0tqQGwSbSUDlpryqYjMvmfv1DCsttxuXk,5124
|
|
63
53
|
dkist_processing_visp/tests/test_make_movie_frames.py,sha256=huQ5n0YneHByKumM_Ye9tekqKeh-F-e6MQoudOP3S-g,2628
|
|
64
54
|
dkist_processing_visp/tests/test_map_repeats.py,sha256=9g3NnvSfn1OqxxYYxTFoOIi1UsCOa6mZjiuGkbxUvTg,7611
|
|
65
|
-
dkist_processing_visp/tests/test_parameters.py,sha256=
|
|
55
|
+
dkist_processing_visp/tests/test_parameters.py,sha256=MBSddKsFmRC4zDZEgpA3y3_sRKriETiPEIhcVoSchTo,8053
|
|
66
56
|
dkist_processing_visp/tests/test_parse.py,sha256=XyH8oCk5C0CWl4ndNIyVjgXLoMg0679s4dj1MGlJs0c,23363
|
|
67
57
|
dkist_processing_visp/tests/test_quality.py,sha256=YW24VjEHoILseFIXZBp4-o7egT26mfT1lafzajVjXu8,6905
|
|
68
58
|
dkist_processing_visp/tests/test_science.py,sha256=KpOYvL86xhSnTCOcVDveE-enDxcj_G4IrUw_wa375tI,23893
|
|
69
|
-
dkist_processing_visp/tests/test_solar.py,sha256=
|
|
59
|
+
dkist_processing_visp/tests/test_solar.py,sha256=xuKeUrnAeTQoWbL6pUTiRr09jw0O4jYL6-MSCmyF_k4,16789
|
|
70
60
|
dkist_processing_visp/tests/test_trial_create_quality_report.py,sha256=t3de9LMJOqrRaFXAvKV_5sotAfzDR8fZVIrFNRB2I_A,2779
|
|
71
61
|
dkist_processing_visp/tests/test_visp_constants.py,sha256=y2x42Y-dK2lrCPufLAV1KHpu2fQ-FRpe8tSIhfHJEw8,3134
|
|
72
62
|
dkist_processing_visp/tests/test_workflows.py,sha256=qyWxagIDv-MmVN0u3KFswa5HdaHC6uGeJpvgxvPE30E,287
|
|
@@ -78,9 +68,9 @@ dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py,sh
|
|
|
78
68
|
dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py,sha256=cwEdvUGqqSpp4htrxlmyRN2sZBBvVOjomd66DEqTmTA,15191
|
|
79
69
|
dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py,sha256=UYGDwvCqzyCzyp44T-vys_JdKuMVRVS7bpWG9gvwnSE,28250
|
|
80
70
|
dkist_processing_visp/workflows/__init__.py,sha256=1-GP9tOzjCxLJtyq0ry_x4dPdArfSso8Hxu65ydPpXQ,103
|
|
81
|
-
dkist_processing_visp/workflows/l0_processing.py,sha256=
|
|
71
|
+
dkist_processing_visp/workflows/l0_processing.py,sha256=bzjvoxwjAwUz-k0ebr6dOt9agpMqbfz2RlH11iN2ia4,3333
|
|
82
72
|
dkist_processing_visp/workflows/single_task_workflows.py,sha256=LK4dsshM0-lwy79WaMoTplyCxUyINnP9RU74MG_dhyc,33
|
|
83
|
-
dkist_processing_visp/workflows/trial_workflows.py,sha256=
|
|
73
|
+
dkist_processing_visp/workflows/trial_workflows.py,sha256=3F7LTsjMmL68F8rmFst9tRFWWEBJVSy_F4-a8KnVzfE,3802
|
|
84
74
|
docs/Makefile,sha256=qnlVz6PuBqE39NfHWuUnHhNEA-EFgT2-WJNNNy9ttfk,4598
|
|
85
75
|
docs/background_light.rst,sha256=FWj8KH7H51BtoqPCJ1A_VIWJkjaXD8-dwM9RdY1rkIc,5147
|
|
86
76
|
docs/changelog.rst,sha256=ZpZPJIyl4nI0Eicku6uSrLdiinNOF2GcZwrvTEsb-Zs,346
|
|
@@ -98,7 +88,7 @@ docs/requirements_table.rst,sha256=_HIbwFpDooM5n0JjiDAbFozGfJuX13smtcoujLFN4Gk,2
|
|
|
98
88
|
docs/science_calibration.rst,sha256=VN_g7xSjN-nbXhlBaFnPCbNcsc_Qu0207jEUfRAjnBE,2939
|
|
99
89
|
docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
|
|
100
90
|
licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
|
|
101
|
-
dkist_processing_visp-5.0.
|
|
102
|
-
dkist_processing_visp-5.0.
|
|
103
|
-
dkist_processing_visp-5.0.
|
|
104
|
-
dkist_processing_visp-5.0.
|
|
91
|
+
dkist_processing_visp-5.1.0.dist-info/METADATA,sha256=MEjotieqyNCNxNKxpLORh99UNBNmVeMm8MLnVBCYDOQ,29229
|
|
92
|
+
dkist_processing_visp-5.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
93
|
+
dkist_processing_visp-5.1.0.dist-info/top_level.txt,sha256=9GHSn-ZMGQxaRNGrPP3HNc5ZkE7ftzluO74Jz5vUSTE,46
|
|
94
|
+
dkist_processing_visp-5.1.0.dist-info/RECORD,,
|
changelog/246.doc.2.rst
DELETED
changelog/246.doc.rst
DELETED
changelog/246.feature.2.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Only compute a single lamp gain for each beam. In the past a single map gain was also computed for each modulation state.
|
changelog/246.feature.3.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add Buds to parse the spectrograph setup into pipeline constants to be used when fitting a solar atlas.
|
changelog/246.feature.4.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add quality report metrics that show the quality of the vignette estimation in the Solar Gain tasks.
|
changelog/246.feature.rst
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
Update the Solar Gain task to measure vignetting signal, compute a single gain for each beam (as opposed to for each beam and modulator state),
|
|
2
|
-
and stop applying residual spectral shifts to the characteristic spectra before removing from the input gain array.
|
|
3
|
-
See the `Science Changelog <https://docs.dkist.nso.edu/projects/visp/en/stable/scientific_changelog.html>`_ and
|
|
4
|
-
`gain algorithm docs <https://docs.dkist.nso.edu/projects/visp/en/stable/gain_correction.html>`_ for more information.
|
changelog/246.misc.2.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Remove the `LineZonesMixin` and move its methods directly to the Geometric calibration task, which is now the only task that uses them.
|
changelog/246.misc.3.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Rename the ``solar_spectral_avg_window`` to ``solar_spatial_median_filter_width_px`` to more accurately capture what it does.
|
changelog/246.misc.rst
DELETED
changelog/246.science.rst
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Major update to the gain algorithm to mitigate polarization artifacts in L1 science frames. This change can be split into
|
|
2
|
-
three parts. See the `gain correction <https://docs.dkist.nso.edu/projects/visp/en/stable/gain_correction.html>`_ page for more information.
|
|
3
|
-
|
|
4
|
-
#. Compute a single gain correction image for each beam. In the past we had computed a separate gain image for each modstate as well, but this was found to couple residual polarization structure into the final science frames.
|
|
5
|
-
|
|
6
|
-
#. Stop "refining" (i.e., applying small spectral offsets to) the characteristic solar spectrum on a per-spatial-pixel basis. This was initially done to minimize line residuals in Telluric lines but was found to have a more-negative on polarimetric residuals.
|
|
7
|
-
|
|
8
|
-
#. Separate vignetting caused by aperture masks from the solar signal used to remove spectral lines in the final gain image. This is done by fitting a solar atlas and taking the deviation in continuum to be the vignetting signal.
|
|
9
|
-
|
|
10
|
-
Computing a single gain per beam will greatly reduce the polarization artifacts in L1 data. Measuring the vignette
|
|
11
|
-
signal directly will further reduce these artifacts and improve flatness across the array.
|
|
File without changes
|
{dkist_processing_visp-5.0.0rc3.dist-info → dkist_processing_visp-5.1.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|