dkist-processing-visp 5.8.0__tar.gz → 5.8.1__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.8.0 → dkist_processing_visp-5.8.1}/CHANGELOG.rst +9 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/PKG-INFO +17 -17
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/constants.py +4 -4
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/tags.py +11 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/task_name.py +1 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/time.py +41 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/parse.py +4 -6
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/solar.py +290 -119
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/wavelength_calibration.py +14 -2
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/conftest.py +3 -4
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py +5 -8
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_parse.py +26 -14
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_solar.py +61 -18
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_visp_constants.py +4 -1
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_wavelength_calibration.py +36 -3
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/PKG-INFO +17 -17
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/requires.txt +16 -16
- dkist_processing_visp-5.8.1/dkist_processing_visp.egg-info/scm_version.json +8 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/pyproject.toml +18 -18
- dkist_processing_visp-5.8.0/dkist_processing_visp.egg-info/scm_version.json +0 -8
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/.gitignore +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/.readthedocs.yml +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/.snyk +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/README.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/changelog/.gitempty +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/config.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/fonts/Lato-Regular.ttf +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/fits_access.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/metric_code.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/parameters.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/map_repeats.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/modulator_states.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/polarimeter_mode.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/raster_step.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/spectrograph_configuration.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/visp_l0_fits_access.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/visp_l1_fits_access.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/assemble_movie.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/background_light.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/dark.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/geometric.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/l1_output_data.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/lamp.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/mixin/beam_access.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/mixin/downsample.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/quality_metrics.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/visp_base.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/write_l1.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/README.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/header_models.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_assemble_quality.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_background_light.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_dark.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_downsample.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_fits_access.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_geometric.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_lamp.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_map_repeats.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_parameters.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_polcal_as_science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_quality.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_science.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_visp_base.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_workflows.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tests/test_write_l1.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/workflows/__init__.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/workflows/l0_processing.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/workflows/single_task_workflows.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/workflows/trial_workflows.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/scm_file_list.json +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp.egg-info/top_level.txt +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/Makefile +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/background_light.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/changelog.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/conf.py +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/dataset_extras.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/gain_correction.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/geometric.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/index.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/l0_to_l1_visp.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/l0_to_l1_visp_full-trial.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/landing_page.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/make.bat +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/polarization_calibration.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/requirements.txt +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/requirements_table.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/science_calibration.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/licenses/LICENSE.rst +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/science_towncrier.sh +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/setup.cfg +0 -0
- {dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
v5.8.1 (2026-08-28)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Bugfixes
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Allow multiple solar gain observations to contribute to solar gain calibration while using only the observation nearest in time to the science frames for wavelength calibration. (`#332 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/332>`__)
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
v5.8.0 (2026-08-25)
|
|
2
11
|
===================
|
|
3
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-visp
|
|
3
|
-
Version: 5.8.
|
|
3
|
+
Version: 5.8.1
|
|
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
|
|
@@ -118,15 +118,15 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
118
118
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
119
119
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
120
120
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
121
|
-
Requires-Dist: boto3==1.43.
|
|
122
|
-
Requires-Dist: botocore==1.43.
|
|
121
|
+
Requires-Dist: boto3==1.43.82; extra == "frozen"
|
|
122
|
+
Requires-Dist: botocore==1.43.82; extra == "frozen"
|
|
123
123
|
Requires-Dist: cachetools==7.1.7; extra == "frozen"
|
|
124
124
|
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
125
125
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
126
126
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
127
127
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
128
128
|
Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
129
|
-
Requires-Dist: click==8.
|
|
129
|
+
Requires-Dist: click==8.5.0; extra == "frozen"
|
|
130
130
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
131
131
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
132
132
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -135,7 +135,7 @@ Requires-Dist: comm==0.2.3; extra == "frozen"
|
|
|
135
135
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
136
136
|
Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
|
|
137
137
|
Requires-Dist: croniter==6.2.4; extra == "frozen"
|
|
138
|
-
Requires-Dist: cryptography==50.0.
|
|
138
|
+
Requires-Dist: cryptography==50.0.1; extra == "frozen"
|
|
139
139
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
140
140
|
Requires-Dist: debugpy==1.8.21; extra == "frozen"
|
|
141
141
|
Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
@@ -146,7 +146,7 @@ Requires-Dist: dkist-processing-common==14.4.0; extra == "frozen"
|
|
|
146
146
|
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
147
147
|
Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
|
|
148
148
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
149
|
-
Requires-Dist: dkist-processing-visp==5.8.
|
|
149
|
+
Requires-Dist: dkist-processing-visp==5.8.1; extra == "frozen"
|
|
150
150
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
151
151
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
152
152
|
Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
|
|
@@ -162,11 +162,11 @@ Requires-Dist: fqdn==1.5.1; extra == "frozen"
|
|
|
162
162
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
163
163
|
Requires-Dist: fsspec==2026.7.0; extra == "frozen"
|
|
164
164
|
Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
|
|
165
|
-
Requires-Dist: googleapis-common-protos==1.75.
|
|
165
|
+
Requires-Dist: googleapis-common-protos==1.75.2; extra == "frozen"
|
|
166
166
|
Requires-Dist: gqlclient==2.0.0; extra == "frozen"
|
|
167
167
|
Requires-Dist: greenback==1.3.0; extra == "frozen"
|
|
168
168
|
Requires-Dist: greenlet==3.5.5; extra == "frozen"
|
|
169
|
-
Requires-Dist: grpcio==1.83.
|
|
169
|
+
Requires-Dist: grpcio==1.83.1; extra == "frozen"
|
|
170
170
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
171
171
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
172
172
|
Requires-Dist: httptools==0.8.0; extra == "frozen"
|
|
@@ -176,7 +176,7 @@ Requires-Dist: idna==3.19; extra == "frozen"
|
|
|
176
176
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
177
177
|
Requires-Dist: importlib_metadata==9.0.0; extra == "frozen"
|
|
178
178
|
Requires-Dist: ipykernel==7.3.0; extra == "frozen"
|
|
179
|
-
Requires-Dist: ipython==9.
|
|
179
|
+
Requires-Dist: ipython==9.17.0; extra == "frozen"
|
|
180
180
|
Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
|
|
181
181
|
Requires-Dist: isoduration==20.11.0; extra == "frozen"
|
|
182
182
|
Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
|
|
@@ -190,14 +190,14 @@ Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
|
190
190
|
Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
|
|
191
191
|
Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
|
|
192
192
|
Requires-Dist: jupyter_builder==1.2.2; extra == "frozen"
|
|
193
|
-
Requires-Dist: jupyter_client==8.
|
|
193
|
+
Requires-Dist: jupyter_client==8.10.0; extra == "frozen"
|
|
194
194
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
195
|
-
Requires-Dist: jupyter_server==2.
|
|
195
|
+
Requires-Dist: jupyter_server==2.21.0; extra == "frozen"
|
|
196
196
|
Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
|
|
197
197
|
Requires-Dist: jupyterlab==4.6.3; extra == "frozen"
|
|
198
198
|
Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
|
|
199
199
|
Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
|
|
200
|
-
Requires-Dist: kiwisolver==1.5.
|
|
200
|
+
Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
|
|
201
201
|
Requires-Dist: kombu==5.6.2; extra == "frozen"
|
|
202
202
|
Requires-Dist: lark==1.3.1; extra == "frozen"
|
|
203
203
|
Requires-Dist: lazy-loader==0.5; extra == "frozen"
|
|
@@ -264,7 +264,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
264
264
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
265
265
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
266
266
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
267
|
-
Requires-Dist: platformdirs==4.11.
|
|
267
|
+
Requires-Dist: platformdirs==4.11.5; extra == "frozen"
|
|
268
268
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
269
269
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
270
270
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
@@ -279,10 +279,10 @@ Requires-Dist: psycopg2-binary==2.9.12; extra == "frozen"
|
|
|
279
279
|
Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
|
|
280
280
|
Requires-Dist: pure_eval==0.2.3; extra == "frozen"
|
|
281
281
|
Requires-Dist: pycparser==3.0; extra == "frozen"
|
|
282
|
-
Requires-Dist: pydantic==2.13.
|
|
282
|
+
Requires-Dist: pydantic==2.13.5; extra == "frozen"
|
|
283
283
|
Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
|
|
284
284
|
Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
|
|
285
|
-
Requires-Dist: pydantic_core==2.46.
|
|
285
|
+
Requires-Dist: pydantic_core==2.46.5; extra == "frozen"
|
|
286
286
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
287
287
|
Requires-Dist: pygtrie==2.5.0; extra == "frozen"
|
|
288
288
|
Requires-Dist: pyparsing==3.3.2; extra == "frozen"
|
|
@@ -334,7 +334,7 @@ Requires-Dist: tinycss2==1.5.1; extra == "frozen"
|
|
|
334
334
|
Requires-Dist: tornado==6.5.8; extra == "frozen"
|
|
335
335
|
Requires-Dist: tqdm==4.70.0; extra == "frozen"
|
|
336
336
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
337
|
-
Requires-Dist: typer==0.27.
|
|
337
|
+
Requires-Dist: typer==0.27.2; extra == "frozen"
|
|
338
338
|
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
339
339
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
340
340
|
Requires-Dist: tzdata==2026.3; extra == "frozen"
|
|
@@ -354,7 +354,7 @@ Requires-Dist: wcwidth==0.8.2; extra == "frozen"
|
|
|
354
354
|
Requires-Dist: webcolors==25.10.0; extra == "frozen"
|
|
355
355
|
Requires-Dist: webencodings==0.6.1; extra == "frozen"
|
|
356
356
|
Requires-Dist: websocket-client==1.9.0; extra == "frozen"
|
|
357
|
-
Requires-Dist: websockets==17.
|
|
357
|
+
Requires-Dist: websockets==17.1; extra == "frozen"
|
|
358
358
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
359
359
|
Requires-Dist: wrapt==2.3.0; extra == "frozen"
|
|
360
360
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
@@ -28,7 +28,7 @@ class VispBudName(Enum):
|
|
|
28
28
|
incident_light_angle_deg = "INCIDENT_LIGHT_ANGLE_DEG"
|
|
29
29
|
reflected_light_angle_deg = "REFLECTED_LIGHT_ANGLE_DEG"
|
|
30
30
|
grating_constant_inverse_mm = "GRATING_CONSTANT_INVERSE_MM"
|
|
31
|
-
|
|
31
|
+
solar_gain_ip_start_times = "SOLAR_GAIN_IP_START_TIMES"
|
|
32
32
|
axis_1_type = "AXIS_1_TYPE"
|
|
33
33
|
axis_2_type = "AXIS_2_TYPE"
|
|
34
34
|
axis_3_type = "AXIS_3_TYPE"
|
|
@@ -171,9 +171,9 @@ class VispConstants(ConstantsBase):
|
|
|
171
171
|
return self._db_dict[VispBudName.grating_constant_inverse_mm] / u.mm
|
|
172
172
|
|
|
173
173
|
@property
|
|
174
|
-
def
|
|
175
|
-
"""Return the start
|
|
176
|
-
return self._db_dict[VispBudName.
|
|
174
|
+
def solar_gain_ip_start_times(self) -> list[str]:
|
|
175
|
+
"""Return the start times of the SOLAR GAIN Instrument Programs."""
|
|
176
|
+
return list(self._db_dict[VispBudName.solar_gain_ip_start_times])
|
|
177
177
|
|
|
178
178
|
@property
|
|
179
179
|
def axis_1_type(self) -> str:
|
{dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/models/tags.py
RENAMED
|
@@ -16,6 +16,7 @@ class VispStemName(str, Enum):
|
|
|
16
16
|
modstate = "MODSTATE"
|
|
17
17
|
file_id = "FILE_ID"
|
|
18
18
|
map_scan = "MAP_SCAN"
|
|
19
|
+
solar_gain_ip_start_time = "SOLAR_GAIN_IP_START_TIME"
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class VispTag(Tag):
|
|
@@ -64,11 +65,21 @@ class VispTag(Tag):
|
|
|
64
65
|
"""
|
|
65
66
|
return cls.format_tag(VispStemName.map_scan, map_scan_num)
|
|
66
67
|
|
|
68
|
+
@classmethod
|
|
69
|
+
def solar_gain_ip_start_time(cls, ip_start_time: str) -> str:
|
|
70
|
+
"""Tag a solar gain frame or intermediate by its IP start time."""
|
|
71
|
+
return cls.format_tag(VispStemName.solar_gain_ip_start_time, ip_start_time)
|
|
72
|
+
|
|
67
73
|
@classmethod
|
|
68
74
|
def task_characteristic_spectra(cls) -> str:
|
|
69
75
|
"""Tags intermediate characteristic spectra."""
|
|
70
76
|
return cls.format_tag(StemName.task, VispTaskName.solar_char_spec.value)
|
|
71
77
|
|
|
78
|
+
@classmethod
|
|
79
|
+
def task_wavecal_characteristic_spectra(cls) -> str:
|
|
80
|
+
"""Tag the characteristic spectra derived for wavelength calibration."""
|
|
81
|
+
return cls.format_tag(StemName.task, VispTaskName.wavecal_solar_char_spec.value)
|
|
82
|
+
|
|
72
83
|
@classmethod
|
|
73
84
|
def task_wavelength_calibration(cls) -> str:
|
|
74
85
|
"""Tags wavelength calibration."""
|
{dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/parsers/time.py
RENAMED
|
@@ -13,10 +13,15 @@ from dkist_processing_common.models.flower_pot import SpilledDirt
|
|
|
13
13
|
from dkist_processing_common.models.flower_pot import Thorn
|
|
14
14
|
from dkist_processing_common.models.tags import EXP_TIME_ROUND_DIGITS
|
|
15
15
|
from dkist_processing_common.models.task_name import TaskName
|
|
16
|
+
from dkist_processing_common.parsers.single_value_single_key_flower import (
|
|
17
|
+
SingleValueSingleKeyFlower,
|
|
18
|
+
)
|
|
19
|
+
from dkist_processing_common.parsers.task import parse_header_ip_task_with_gains
|
|
16
20
|
from dkist_processing_common.parsers.task import passthrough_header_ip_task
|
|
17
21
|
from dkist_processing_common.parsers.time import TaskDatetimeBudBase
|
|
18
22
|
|
|
19
23
|
from dkist_processing_visp.models.constants import VispBudName
|
|
24
|
+
from dkist_processing_visp.models.tags import VispStemName
|
|
20
25
|
from dkist_processing_visp.parsers.visp_l0_fits_access import VispL0FitsAccess
|
|
21
26
|
|
|
22
27
|
|
|
@@ -133,6 +138,42 @@ class DarkReadoutExpTimePickyBud(ListStem):
|
|
|
133
138
|
return Thorn
|
|
134
139
|
|
|
135
140
|
|
|
141
|
+
class SolarGainIpStartTimesBud(SetStem):
|
|
142
|
+
"""Collect the unique IP start times from all solar gain observations."""
|
|
143
|
+
|
|
144
|
+
def __init__(self):
|
|
145
|
+
super().__init__(stem_name=VispBudName.solar_gain_ip_start_times.value)
|
|
146
|
+
self.metadata_key = MetadataKey.ip_start_time.name
|
|
147
|
+
|
|
148
|
+
def setter(self, fits_obj: VispL0FitsAccess) -> str | Type[SpilledDirt]:
|
|
149
|
+
"""Collect start times only from frames parsed as solar gains."""
|
|
150
|
+
task = parse_header_ip_task_with_gains(fits_obj)
|
|
151
|
+
if task.casefold() == TaskName.solar_gain.value.casefold():
|
|
152
|
+
return getattr(fits_obj, self.metadata_key)
|
|
153
|
+
return SpilledDirt
|
|
154
|
+
|
|
155
|
+
def getter(self) -> tuple[str, ...]:
|
|
156
|
+
"""Return the unique start times in chronological order."""
|
|
157
|
+
return tuple(sorted(self.value_set))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class SolarGainIpStartTimeFlower(SingleValueSingleKeyFlower):
|
|
161
|
+
"""Tag each input solar gain frame with its IP start time."""
|
|
162
|
+
|
|
163
|
+
def __init__(self):
|
|
164
|
+
super().__init__(
|
|
165
|
+
tag_stem_name=VispStemName.solar_gain_ip_start_time,
|
|
166
|
+
metadata_key=MetadataKey.ip_start_time,
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
def setter(self, fits_obj: VispL0FitsAccess) -> str | Type[SpilledDirt]:
|
|
170
|
+
"""Apply the tag only to frames parsed as solar gains."""
|
|
171
|
+
task = parse_header_ip_task_with_gains(fits_obj)
|
|
172
|
+
if task.casefold() == TaskName.solar_gain.value.casefold():
|
|
173
|
+
return super().setter(fits_obj)
|
|
174
|
+
return SpilledDirt
|
|
175
|
+
|
|
176
|
+
|
|
136
177
|
class TaskDateEndBud(TaskDatetimeBudBase):
|
|
137
178
|
"""Class for the date end task Bud."""
|
|
138
179
|
|
{dkist_processing_visp-5.8.0 → dkist_processing_visp-5.8.1}/dkist_processing_visp/tasks/parse.py
RENAMED
|
@@ -39,6 +39,8 @@ from dkist_processing_visp.parsers.spectrograph_configuration import IncidentLig
|
|
|
39
39
|
from dkist_processing_visp.parsers.spectrograph_configuration import ReflectedLightAngleBud
|
|
40
40
|
from dkist_processing_visp.parsers.time import DarkReadoutExpTimePickyBud
|
|
41
41
|
from dkist_processing_visp.parsers.time import NonDarkNonPolcalTaskReadoutExpTimesBud
|
|
42
|
+
from dkist_processing_visp.parsers.time import SolarGainIpStartTimeFlower
|
|
43
|
+
from dkist_processing_visp.parsers.time import SolarGainIpStartTimesBud
|
|
42
44
|
from dkist_processing_visp.parsers.time import TaskDateEndBud
|
|
43
45
|
from dkist_processing_visp.parsers.visp_l0_fits_access import VispL0FitsAccess
|
|
44
46
|
|
|
@@ -105,12 +107,7 @@ class ParseL0VispInputData(ParseL0InputDataBase):
|
|
|
105
107
|
ip_task_types=[TaskName.observe.value, TaskName.solar_gain.value],
|
|
106
108
|
task_type_parsing_function=parse_header_ip_task_with_gains,
|
|
107
109
|
),
|
|
108
|
-
|
|
109
|
-
constant_name=VispBudName.solar_gain_ip_start_time.value,
|
|
110
|
-
metadata_key=MetadataKey.ip_start_time,
|
|
111
|
-
ip_task_types=TaskName.solar_gain,
|
|
112
|
-
task_type_parsing_function=parse_header_ip_task_with_gains,
|
|
113
|
-
),
|
|
110
|
+
SolarGainIpStartTimesBud(),
|
|
114
111
|
TaskExposureTimesBud(
|
|
115
112
|
stem_name=VispBudName.lamp_exposure_times.value,
|
|
116
113
|
ip_task_types=TaskName.lamp_gain.value,
|
|
@@ -199,4 +196,5 @@ class ParseL0VispInputData(ParseL0InputDataBase):
|
|
|
199
196
|
ModulatorStateFlower(),
|
|
200
197
|
ExposureTimeFlower(),
|
|
201
198
|
ReadoutExpTimeFlower(),
|
|
199
|
+
SolarGainIpStartTimeFlower(),
|
|
202
200
|
]
|