dkist-processing-visp 5.7.10__tar.gz → 5.7.11__tar.gz
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-5.7.10 → dkist_processing_visp-5.7.11}/CHANGELOG.rst +9 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/PKG-INFO +8 -7
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/raster_step.py +7 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/visp_l0_fits_access.py +4 -1
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/header_models.py +4 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_parse.py +28 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp.egg-info/PKG-INFO +8 -7
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp.egg-info/requires.txt +7 -6
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/pyproject.toml +9 -8
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/.gitignore +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/.pre-commit-config.yaml +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/.readthedocs.yml +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/.snyk +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/README.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/changelog/.gitempty +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/config.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/fonts/Lato-Regular.ttf +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/constants.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/dataset_extras.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/fits_access.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/metric_code.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/parameters.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/tags.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/task_name.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/map_repeats.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/modulator_states.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/polarimeter_mode.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/spectrograph_configuration.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/time.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/visp_l1_fits_access.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/assemble_movie.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/background_light.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/dark.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/geometric.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/l1_output_data.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/lamp.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/mixin/beam_access.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/mixin/downsample.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/parse.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/quality_metrics.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/solar.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/visp_base.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/wavelength_calibration.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/write_l1.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/README.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/conftest.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_assemble_quality.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_background_light.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_dark.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_downsample.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_fits_access.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_geometric.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_lamp.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_map_repeats.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_parameters.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_polcal_as_science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_quality.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_science.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_solar.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_visp_base.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_visp_constants.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_wavelength_calibration.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_workflows.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/test_write_l1.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/workflows/__init__.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/workflows/l0_processing.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/workflows/single_task_workflows.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/workflows/trial_workflows.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp.egg-info/top_level.txt +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/Makefile +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/background_light.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/changelog.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/conf.py +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/dataset_extras.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/gain_correction.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/geometric.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/index.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/l0_to_l1_visp.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/l0_to_l1_visp_full-trial.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/landing_page.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/make.bat +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/polarization_calibration.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/requirements.txt +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/requirements_table.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/science_calibration.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/licenses/LICENSE.rst +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/science_towncrier.sh +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/setup.cfg +0 -0
- {dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
v5.7.11 (2026-05-13)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Bugfixes
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Make the `VSPSTP` keyword not required by the VISP L0 FITS access class. (`#316 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/316>`__)
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
v5.7.10 (2026-05-12)
|
|
2
11
|
====================
|
|
3
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-visp
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.11
|
|
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
|
|
@@ -98,6 +98,7 @@ Requires-Dist: apache-airflow-providers-postgres==6.6.3; extra == "frozen"
|
|
|
98
98
|
Requires-Dist: apache-airflow-providers-smtp==3.0.0; extra == "frozen"
|
|
99
99
|
Requires-Dist: apache-airflow-providers-standard==1.13.0; extra == "frozen"
|
|
100
100
|
Requires-Dist: apache-airflow-task-sdk==1.2.1; extra == "frozen"
|
|
101
|
+
Requires-Dist: appnope==0.1.4; extra == "frozen"
|
|
101
102
|
Requires-Dist: argcomplete==3.6.3; extra == "frozen"
|
|
102
103
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
103
104
|
Requires-Dist: argon2-cffi-bindings==25.1.0; extra == "frozen"
|
|
@@ -117,8 +118,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
117
118
|
Requires-Dist: beautifulsoup4==4.14.3; extra == "frozen"
|
|
118
119
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
119
120
|
Requires-Dist: bleach==6.3.0; extra == "frozen"
|
|
120
|
-
Requires-Dist: boto3==1.43.
|
|
121
|
-
Requires-Dist: botocore==1.43.
|
|
121
|
+
Requires-Dist: boto3==1.43.7; extra == "frozen"
|
|
122
|
+
Requires-Dist: botocore==1.43.7; extra == "frozen"
|
|
122
123
|
Requires-Dist: cadwyn==6.2.2; extra == "frozen"
|
|
123
124
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
124
125
|
Requires-Dist: certifi==2026.4.22; extra == "frozen"
|
|
@@ -144,7 +145,7 @@ Requires-Dist: dkist-processing-common==14.2.0; extra == "frozen"
|
|
|
144
145
|
Requires-Dist: dkist-processing-core==7.3.0; extra == "frozen"
|
|
145
146
|
Requires-Dist: dkist-processing-math==2.2.2; extra == "frozen"
|
|
146
147
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
147
|
-
Requires-Dist: dkist-processing-visp==5.7.
|
|
148
|
+
Requires-Dist: dkist-processing-visp==5.7.11; extra == "frozen"
|
|
148
149
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
149
150
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
150
151
|
Requires-Dist: dkist_fits_specifications==4.26.0; extra == "frozen"
|
|
@@ -170,7 +171,7 @@ Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
|
170
171
|
Requires-Dist: httptools==0.7.1; extra == "frozen"
|
|
171
172
|
Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
172
173
|
Requires-Dist: humanize==4.15.0; extra == "frozen"
|
|
173
|
-
Requires-Dist: idna==3.
|
|
174
|
+
Requires-Dist: idna==3.15; extra == "frozen"
|
|
174
175
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
175
176
|
Requires-Dist: importlib_metadata==8.7.1; extra == "frozen"
|
|
176
177
|
Requires-Dist: ipykernel==7.2.0; extra == "frozen"
|
|
@@ -291,13 +292,13 @@ Requires-Dist: pytz==2026.2; extra == "frozen"
|
|
|
291
292
|
Requires-Dist: pyzmq==27.1.0; extra == "frozen"
|
|
292
293
|
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
293
294
|
Requires-Dist: referencing==0.37.0; extra == "frozen"
|
|
294
|
-
Requires-Dist: requests==2.34.
|
|
295
|
+
Requires-Dist: requests==2.34.1; extra == "frozen"
|
|
295
296
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
296
297
|
Requires-Dist: rfc3986-validator==0.1.1; extra == "frozen"
|
|
297
298
|
Requires-Dist: rfc3987-syntax==1.1.0; extra == "frozen"
|
|
298
299
|
Requires-Dist: rich==15.0.0; extra == "frozen"
|
|
299
300
|
Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
|
|
300
|
-
Requires-Dist: rich-toolkit==0.19.
|
|
301
|
+
Requires-Dist: rich-toolkit==0.19.9; extra == "frozen"
|
|
301
302
|
Requires-Dist: rpds-py==0.30.0; extra == "frozen"
|
|
302
303
|
Requires-Dist: s3transfer==0.17.0; extra == "frozen"
|
|
303
304
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Type
|
|
4
4
|
|
|
5
|
+
from dkist_processing_common.models.fits_access import HEADER_KEY_NOT_FOUND
|
|
5
6
|
from dkist_processing_common.models.flower_pot import SetStem
|
|
6
7
|
from dkist_processing_common.models.flower_pot import SpilledDirt
|
|
7
8
|
from dkist_processing_common.models.task_name import TaskName
|
|
@@ -34,6 +35,9 @@ class TotalRasterStepsBud(SetStem):
|
|
|
34
35
|
if fits_obj.ip_task_type.casefold() != TaskName.observe.value.casefold():
|
|
35
36
|
return SpilledDirt
|
|
36
37
|
|
|
38
|
+
if fits_obj.raster_scan_step == HEADER_KEY_NOT_FOUND:
|
|
39
|
+
raise KeyError("observe frame did not contain the VSPSTP header key")
|
|
40
|
+
|
|
37
41
|
num_raster = getattr(fits_obj, VispMetadataKey.total_raster_steps.name)
|
|
38
42
|
self.num_steps_set.add(num_raster)
|
|
39
43
|
single_step = getattr(fits_obj, VispMetadataKey.raster_scan_step.name)
|
|
@@ -80,4 +84,7 @@ class RasterScanStepFlower(SingleValueSingleKeyFlower):
|
|
|
80
84
|
"""
|
|
81
85
|
if fits_obj.ip_task_type.casefold() != TaskName.observe.value.casefold():
|
|
82
86
|
return SpilledDirt
|
|
87
|
+
# observe frames missing the VSPSTP key should error
|
|
88
|
+
if getattr(fits_obj, self.metadata_key) == HEADER_KEY_NOT_FOUND:
|
|
89
|
+
raise KeyError("observe frame did not contain the VSPSTP header key")
|
|
83
90
|
return super().setter(fits_obj)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
from astropy.io import fits
|
|
5
|
+
from dkist_processing_common.models.fits_access import HEADER_KEY_NOT_FOUND
|
|
5
6
|
from dkist_processing_common.parsers.l0_fits_access import L0FitsAccess
|
|
6
7
|
|
|
7
8
|
from dkist_processing_visp.models.fits_access import VispMetadataKey
|
|
@@ -42,7 +43,9 @@ class VispL0FitsAccess(L0FitsAccess):
|
|
|
42
43
|
self.number_of_modulator_states: int = self.header[
|
|
43
44
|
VispMetadataKey.number_of_modulator_states
|
|
44
45
|
]
|
|
45
|
-
self.raster_scan_step: int = self.header
|
|
46
|
+
self.raster_scan_step: int = self.header.get(
|
|
47
|
+
VispMetadataKey.raster_scan_step, HEADER_KEY_NOT_FOUND
|
|
48
|
+
)
|
|
46
49
|
self.total_raster_steps: int = self.header[VispMetadataKey.total_raster_steps]
|
|
47
50
|
self.modulator_state: int = self.header[VispMetadataKey.modulator_state]
|
|
48
51
|
self.polarimeter_mode: str = self.header[VispMetadataKey.polarimeter_mode]
|
|
@@ -342,6 +342,7 @@ class VispHeadersValidObserveFrames(VispHeaders):
|
|
|
342
342
|
ip_start_time="2022-11-28T13:55:00",
|
|
343
343
|
ip_end_time="2022-11-28T13:56:00",
|
|
344
344
|
grating_constant=316,
|
|
345
|
+
remove_visp_020: bool = False,
|
|
345
346
|
**kwargs,
|
|
346
347
|
):
|
|
347
348
|
################################################
|
|
@@ -391,6 +392,9 @@ class VispHeadersValidObserveFrames(VispHeaders):
|
|
|
391
392
|
self.add_constant_key("CAM__005", readout_exp_time)
|
|
392
393
|
self.add_constant_key("CAM__014", 10) # Num frames in FPA
|
|
393
394
|
|
|
395
|
+
if remove_visp_020:
|
|
396
|
+
self.add_remove_key("VISP_020")
|
|
397
|
+
|
|
394
398
|
@property
|
|
395
399
|
def current_map(self) -> int:
|
|
396
400
|
# There is no header value for map num; this property is used to help data generator fixtures with tagging
|
|
@@ -706,3 +706,31 @@ def test_dark_date_end_bud(parse_task_with_no_data, mocker, fake_gql_client):
|
|
|
706
706
|
dark_date_begin_dt + (num_frames - 1) * frame_cadence + fpa_exp_time_s
|
|
707
707
|
)
|
|
708
708
|
np.testing.assert_allclose(dark_date_end_dt, expected_dark_end_date_dt, atol=1e-6)
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
def test_missing_vspstp_from_observe(
|
|
712
|
+
parse_task_with_no_data, num_modstates, mocker, fake_gql_client
|
|
713
|
+
):
|
|
714
|
+
"""
|
|
715
|
+
:Given: A parse task with an observe frame missing the VSPSTP key
|
|
716
|
+
:When: Calling the parse task
|
|
717
|
+
:Then: The correct error is raised
|
|
718
|
+
"""
|
|
719
|
+
mocker.patch(
|
|
720
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
721
|
+
)
|
|
722
|
+
task = parse_task_with_no_data
|
|
723
|
+
write_input_dark_frames_to_task(task, readout_exp_time=0.1, exp_time=0.2)
|
|
724
|
+
write_input_observe_frames_to_task(
|
|
725
|
+
task,
|
|
726
|
+
num_maps=1,
|
|
727
|
+
num_steps=2,
|
|
728
|
+
num_modstates=num_modstates,
|
|
729
|
+
readout_exp_time=0.1,
|
|
730
|
+
exp_time=0.2,
|
|
731
|
+
obs_dataset_class=VispHeadersValidObserveFrames,
|
|
732
|
+
remove_visp_020=True,
|
|
733
|
+
)
|
|
734
|
+
|
|
735
|
+
with pytest.raises(KeyError, match="observe frame did not contain the VSPSTP header key"):
|
|
736
|
+
task()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-visp
|
|
3
|
-
Version: 5.7.
|
|
3
|
+
Version: 5.7.11
|
|
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
|
|
@@ -98,6 +98,7 @@ Requires-Dist: apache-airflow-providers-postgres==6.6.3; extra == "frozen"
|
|
|
98
98
|
Requires-Dist: apache-airflow-providers-smtp==3.0.0; extra == "frozen"
|
|
99
99
|
Requires-Dist: apache-airflow-providers-standard==1.13.0; extra == "frozen"
|
|
100
100
|
Requires-Dist: apache-airflow-task-sdk==1.2.1; extra == "frozen"
|
|
101
|
+
Requires-Dist: appnope==0.1.4; extra == "frozen"
|
|
101
102
|
Requires-Dist: argcomplete==3.6.3; extra == "frozen"
|
|
102
103
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
103
104
|
Requires-Dist: argon2-cffi-bindings==25.1.0; extra == "frozen"
|
|
@@ -117,8 +118,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
117
118
|
Requires-Dist: beautifulsoup4==4.14.3; extra == "frozen"
|
|
118
119
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
119
120
|
Requires-Dist: bleach==6.3.0; extra == "frozen"
|
|
120
|
-
Requires-Dist: boto3==1.43.
|
|
121
|
-
Requires-Dist: botocore==1.43.
|
|
121
|
+
Requires-Dist: boto3==1.43.7; extra == "frozen"
|
|
122
|
+
Requires-Dist: botocore==1.43.7; extra == "frozen"
|
|
122
123
|
Requires-Dist: cadwyn==6.2.2; extra == "frozen"
|
|
123
124
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
124
125
|
Requires-Dist: certifi==2026.4.22; extra == "frozen"
|
|
@@ -144,7 +145,7 @@ Requires-Dist: dkist-processing-common==14.2.0; extra == "frozen"
|
|
|
144
145
|
Requires-Dist: dkist-processing-core==7.3.0; extra == "frozen"
|
|
145
146
|
Requires-Dist: dkist-processing-math==2.2.2; extra == "frozen"
|
|
146
147
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
147
|
-
Requires-Dist: dkist-processing-visp==5.7.
|
|
148
|
+
Requires-Dist: dkist-processing-visp==5.7.11; extra == "frozen"
|
|
148
149
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
149
150
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
150
151
|
Requires-Dist: dkist_fits_specifications==4.26.0; extra == "frozen"
|
|
@@ -170,7 +171,7 @@ Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
|
170
171
|
Requires-Dist: httptools==0.7.1; extra == "frozen"
|
|
171
172
|
Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
172
173
|
Requires-Dist: humanize==4.15.0; extra == "frozen"
|
|
173
|
-
Requires-Dist: idna==3.
|
|
174
|
+
Requires-Dist: idna==3.15; extra == "frozen"
|
|
174
175
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
175
176
|
Requires-Dist: importlib_metadata==8.7.1; extra == "frozen"
|
|
176
177
|
Requires-Dist: ipykernel==7.2.0; extra == "frozen"
|
|
@@ -291,13 +292,13 @@ Requires-Dist: pytz==2026.2; extra == "frozen"
|
|
|
291
292
|
Requires-Dist: pyzmq==27.1.0; extra == "frozen"
|
|
292
293
|
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
293
294
|
Requires-Dist: referencing==0.37.0; extra == "frozen"
|
|
294
|
-
Requires-Dist: requests==2.34.
|
|
295
|
+
Requires-Dist: requests==2.34.1; extra == "frozen"
|
|
295
296
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
296
297
|
Requires-Dist: rfc3986-validator==0.1.1; extra == "frozen"
|
|
297
298
|
Requires-Dist: rfc3987-syntax==1.1.0; extra == "frozen"
|
|
298
299
|
Requires-Dist: rich==15.0.0; extra == "frozen"
|
|
299
300
|
Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
|
|
300
|
-
Requires-Dist: rich-toolkit==0.19.
|
|
301
|
+
Requires-Dist: rich-toolkit==0.19.9; extra == "frozen"
|
|
301
302
|
Requires-Dist: rpds-py==0.30.0; extra == "frozen"
|
|
302
303
|
Requires-Dist: s3transfer==0.17.0; extra == "frozen"
|
|
303
304
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
@@ -64,6 +64,7 @@ apache-airflow-providers-postgres==6.6.3
|
|
|
64
64
|
apache-airflow-providers-smtp==3.0.0
|
|
65
65
|
apache-airflow-providers-standard==1.13.0
|
|
66
66
|
apache-airflow-task-sdk==1.2.1
|
|
67
|
+
appnope==0.1.4
|
|
67
68
|
argcomplete==3.6.3
|
|
68
69
|
argon2-cffi==25.1.0
|
|
69
70
|
argon2-cffi-bindings==25.1.0
|
|
@@ -83,8 +84,8 @@ babel==2.18.0
|
|
|
83
84
|
beautifulsoup4==4.14.3
|
|
84
85
|
billiard==4.2.4
|
|
85
86
|
bleach==6.3.0
|
|
86
|
-
boto3==1.43.
|
|
87
|
-
botocore==1.43.
|
|
87
|
+
boto3==1.43.7
|
|
88
|
+
botocore==1.43.7
|
|
88
89
|
cadwyn==6.2.2
|
|
89
90
|
celery==5.6.3
|
|
90
91
|
certifi==2026.4.22
|
|
@@ -110,7 +111,7 @@ dkist-processing-common==14.2.0
|
|
|
110
111
|
dkist-processing-core==7.3.0
|
|
111
112
|
dkist-processing-math==2.2.2
|
|
112
113
|
dkist-processing-pac==3.1.2
|
|
113
|
-
dkist-processing-visp==5.7.
|
|
114
|
+
dkist-processing-visp==5.7.11
|
|
114
115
|
dkist-service-configuration==4.3.0
|
|
115
116
|
dkist-spectral-lines==3.0.1
|
|
116
117
|
dkist_fits_specifications==4.26.0
|
|
@@ -136,7 +137,7 @@ httpcore==1.0.9
|
|
|
136
137
|
httptools==0.7.1
|
|
137
138
|
httpx==0.28.1
|
|
138
139
|
humanize==4.15.0
|
|
139
|
-
idna==3.
|
|
140
|
+
idna==3.15
|
|
140
141
|
imageio-ffmpeg==0.6.0
|
|
141
142
|
importlib_metadata==8.7.1
|
|
142
143
|
ipykernel==7.2.0
|
|
@@ -257,13 +258,13 @@ pytz==2026.2
|
|
|
257
258
|
pyzmq==27.1.0
|
|
258
259
|
redis==6.4.0
|
|
259
260
|
referencing==0.37.0
|
|
260
|
-
requests==2.34.
|
|
261
|
+
requests==2.34.1
|
|
261
262
|
rfc3339-validator==0.1.4
|
|
262
263
|
rfc3986-validator==0.1.1
|
|
263
264
|
rfc3987-syntax==1.1.0
|
|
264
265
|
rich==15.0.0
|
|
265
266
|
rich-argparse==1.8.0
|
|
266
|
-
rich-toolkit==0.19.
|
|
267
|
+
rich-toolkit==0.19.9
|
|
267
268
|
rpds-py==0.30.0
|
|
268
269
|
s3transfer==0.17.0
|
|
269
270
|
scikit-image==0.25.2
|
|
@@ -9,8 +9,8 @@ exclude = ["build*"]
|
|
|
9
9
|
|
|
10
10
|
[tool.dkist-dev-tools]
|
|
11
11
|
# Most recently frozen version by dkist-dev-tools
|
|
12
|
-
version = "5.7.
|
|
13
|
-
date = 2026-05-
|
|
12
|
+
version = "5.7.11"
|
|
13
|
+
date = 2026-05-13T14:23:26.174095
|
|
14
14
|
|
|
15
15
|
[project]
|
|
16
16
|
dynamic = ["version"]
|
|
@@ -126,6 +126,7 @@ frozen = [
|
|
|
126
126
|
"apache-airflow-providers-smtp == 3.0.0",
|
|
127
127
|
"apache-airflow-providers-standard == 1.13.0",
|
|
128
128
|
"apache-airflow-task-sdk == 1.2.1",
|
|
129
|
+
"appnope == 0.1.4",
|
|
129
130
|
"argcomplete == 3.6.3",
|
|
130
131
|
"argon2-cffi == 25.1.0",
|
|
131
132
|
"argon2-cffi-bindings == 25.1.0",
|
|
@@ -145,8 +146,8 @@ frozen = [
|
|
|
145
146
|
"beautifulsoup4 == 4.14.3",
|
|
146
147
|
"billiard == 4.2.4",
|
|
147
148
|
"bleach == 6.3.0",
|
|
148
|
-
"boto3 == 1.43.
|
|
149
|
-
"botocore == 1.43.
|
|
149
|
+
"boto3 == 1.43.7",
|
|
150
|
+
"botocore == 1.43.7",
|
|
150
151
|
"cadwyn == 6.2.2",
|
|
151
152
|
"celery == 5.6.3",
|
|
152
153
|
"certifi == 2026.4.22",
|
|
@@ -172,7 +173,7 @@ frozen = [
|
|
|
172
173
|
"dkist-processing-core == 7.3.0",
|
|
173
174
|
"dkist-processing-math == 2.2.2",
|
|
174
175
|
"dkist-processing-pac == 3.1.2",
|
|
175
|
-
"dkist-processing-visp == 5.7.
|
|
176
|
+
"dkist-processing-visp == 5.7.11",
|
|
176
177
|
"dkist-service-configuration == 4.3.0",
|
|
177
178
|
"dkist-spectral-lines == 3.0.1",
|
|
178
179
|
"dkist_fits_specifications == 4.26.0",
|
|
@@ -198,7 +199,7 @@ frozen = [
|
|
|
198
199
|
"httptools == 0.7.1",
|
|
199
200
|
"httpx == 0.28.1",
|
|
200
201
|
"humanize == 4.15.0",
|
|
201
|
-
"idna == 3.
|
|
202
|
+
"idna == 3.15",
|
|
202
203
|
"imageio-ffmpeg == 0.6.0",
|
|
203
204
|
"importlib_metadata == 8.7.1",
|
|
204
205
|
"ipykernel == 7.2.0",
|
|
@@ -319,13 +320,13 @@ frozen = [
|
|
|
319
320
|
"pyzmq == 27.1.0",
|
|
320
321
|
"redis == 6.4.0",
|
|
321
322
|
"referencing == 0.37.0",
|
|
322
|
-
"requests == 2.34.
|
|
323
|
+
"requests == 2.34.1",
|
|
323
324
|
"rfc3339-validator == 0.1.4",
|
|
324
325
|
"rfc3986-validator == 0.1.1",
|
|
325
326
|
"rfc3987-syntax == 1.1.0",
|
|
326
327
|
"rich == 15.0.0",
|
|
327
328
|
"rich-argparse == 1.8.0",
|
|
328
|
-
"rich-toolkit == 0.19.
|
|
329
|
+
"rich-toolkit == 0.19.9",
|
|
329
330
|
"rpds-py == 0.30.0",
|
|
330
331
|
"s3transfer == 0.17.0",
|
|
331
332
|
"scikit-image == 0.25.2",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/__init__.py
RENAMED
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/models/tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/parsers/time.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/dark.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/lamp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/parse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/science.py
RENAMED
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tasks/solar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/dkist_processing_visp/tests/README.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/l0_to_l1_visp_full-trial.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/polarization_calibration.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_visp-5.7.10 → dkist_processing_visp-5.7.11}/docs/wavelength_calibration.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|