dkist-processing-dlnirsp 1.6.2__tar.gz → 1.6.3__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_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/CHANGELOG.rst +15 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/PKG-INFO +19 -19
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/dark.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/dlnirsp_base.py +28 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/geometric.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/instrument_polarization.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/lamp.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/science.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/solar.py +1 -1
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_dark.py +10 -11
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_dlnirsp_base.py +42 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_geometric.py +10 -9
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_instrument_polarization_calibration.py +10 -10
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_lamp.py +10 -11
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_science.py +10 -11
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_solar.py +10 -11
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/PKG-INFO +19 -19
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/requires.txt +18 -18
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/pyproject.toml +20 -20
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/.gitignore +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/.pre-commit-config.yaml +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/.readthedocs.yml +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/.snyk +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/README.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/changelog/.gitempty +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/config.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/dev_scripts/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/dev_scripts/test_slitbeam_group_assignment.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/constants.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/fits_access.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/parameters.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/tags.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/models/task_name.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/dlnirsp_l0_fits_access.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/dlnirsp_l1_fits_acess.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/mosaic.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/task.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/time.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/wcs_corrections.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/parsers/wcs_mosaic.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/ifu_drift.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/linearity_correction.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/mixin/group_id.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/movie.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/parse.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/wavelength_calibration.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tasks/write_l1.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/conftest.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_linearize_only.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_dev_mockers.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/local_trial_workflows/translate_files.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_assemble_quality.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_bad_pixel_map.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_corrections.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_dlnirsp_constants.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_dlnirsp_fits_access.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_group_id.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_ifu_drift.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_linearity_correction.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_movie.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_parameters.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_parse.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_polcal_as_science.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_quality.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_wavelength_calibration.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_wcs_parse.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_workflows.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/workflows/__init__.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/workflows/l0_processing.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp/workflows/trial_workflow.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/entry_points.txt +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/dkist_processing_dlnirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/Makefile +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/changelog.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/conf.py +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/dataset_extras.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/gain.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/geometric.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/ifu_drift.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/index.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/l0_to_l1_dlnirsp.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/l0_to_l1_dlnirsp_full-trial.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/landing_page.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/linearization.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/make.bat +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/polarization_calibration.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/requirements_table.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/science_calibration.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/licenses/LICENSE.rst +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/science_towncrier.sh +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/setup.cfg +0 -0
- {dkist_processing_dlnirsp-1.6.2 → dkist_processing_dlnirsp-1.6.3}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
v1.6.3 (2026-05-04)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Features
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Add `quality_write_intermediate_task_type_counts` method to `DlnirspTaskBase` workflow task. (`#182 <https://bitbucket.org/dkistdc/dkist-processing-dlnirsp/pull-requests/182>`__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Misc
|
|
11
|
+
----
|
|
12
|
+
|
|
13
|
+
- Update dkist-processing-common to 14.0.2 which converts TASK_TYPES quality metric to the new methodology. (`#182 <https://bitbucket.org/dkistdc/dkist-processing-dlnirsp/pull-requests/182>`__)
|
|
14
|
+
|
|
15
|
+
|
|
1
16
|
v1.6.2 (2026-04-27)
|
|
2
17
|
===================
|
|
3
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-dlnirsp
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Science processing code for the DLNIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: dkist-processing-common==14.0.
|
|
16
|
+
Requires-Dist: dkist-processing-common==14.0.2
|
|
17
17
|
Requires-Dist: dkist-processing-math==2.2.2
|
|
18
18
|
Requires-Dist: dkist-processing-pac==3.1.2
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.3.1
|
|
@@ -66,7 +66,7 @@ Provides-Extra: frozen
|
|
|
66
66
|
Requires-Dist: Deprecated==1.3.1; extra == "frozen"
|
|
67
67
|
Requires-Dist: ImageIO==2.37.3; extra == "frozen"
|
|
68
68
|
Requires-Dist: Jinja2==3.1.6; extra == "frozen"
|
|
69
|
-
Requires-Dist: Mako==1.3.
|
|
69
|
+
Requires-Dist: Mako==1.3.12; extra == "frozen"
|
|
70
70
|
Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
|
|
71
71
|
Requires-Dist: PIMS==0.7; extra == "frozen"
|
|
72
72
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
@@ -92,7 +92,7 @@ Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
|
92
92
|
Requires-Dist: anyio==4.13.0; extra == "frozen"
|
|
93
93
|
Requires-Dist: apache-airflow==3.1.8; extra == "frozen"
|
|
94
94
|
Requires-Dist: apache-airflow-core==3.1.8; extra == "frozen"
|
|
95
|
-
Requires-Dist: apache-airflow-providers-celery==3.
|
|
95
|
+
Requires-Dist: apache-airflow-providers-celery==3.19.0; extra == "frozen"
|
|
96
96
|
Requires-Dist: apache-airflow-providers-common-compat==1.14.3; extra == "frozen"
|
|
97
97
|
Requires-Dist: apache-airflow-providers-common-io==1.7.2; extra == "frozen"
|
|
98
98
|
Requires-Dist: apache-airflow-providers-common-sql==1.35.0; extra == "frozen"
|
|
@@ -107,14 +107,14 @@ Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
|
107
107
|
Requires-Dist: asgiref==3.11.1; extra == "frozen"
|
|
108
108
|
Requires-Dist: asteval==1.0.8; extra == "frozen"
|
|
109
109
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
110
|
-
Requires-Dist: astropy-iers-data==0.2026.4.
|
|
110
|
+
Requires-Dist: astropy-iers-data==0.2026.5.4.1.4.54; extra == "frozen"
|
|
111
111
|
Requires-Dist: astropy_healpix==1.1.3; extra == "frozen"
|
|
112
112
|
Requires-Dist: asyncpg==0.31.0; extra == "frozen"
|
|
113
113
|
Requires-Dist: attrs==26.1.0; extra == "frozen"
|
|
114
114
|
Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
115
115
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
116
|
-
Requires-Dist: boto3==1.
|
|
117
|
-
Requires-Dist: botocore==1.
|
|
116
|
+
Requires-Dist: boto3==1.43.3; extra == "frozen"
|
|
117
|
+
Requires-Dist: botocore==1.43.3; extra == "frozen"
|
|
118
118
|
Requires-Dist: cadwyn==5.4.6; extra == "frozen"
|
|
119
119
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
120
120
|
Requires-Dist: certifi==2026.4.22; extra == "frozen"
|
|
@@ -129,16 +129,16 @@ Requires-Dist: colorlog==6.10.1; extra == "frozen"
|
|
|
129
129
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
130
130
|
Requires-Dist: cron_descriptor==2.0.8; extra == "frozen"
|
|
131
131
|
Requires-Dist: croniter==6.2.2; extra == "frozen"
|
|
132
|
-
Requires-Dist: cryptography==
|
|
132
|
+
Requires-Dist: cryptography==48.0.0; extra == "frozen"
|
|
133
133
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
134
134
|
Requires-Dist: dask==2026.3.0; extra == "frozen"
|
|
135
135
|
Requires-Dist: dask-image==2025.11.0; extra == "frozen"
|
|
136
136
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
137
137
|
Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
138
138
|
Requires-Dist: dkist-header-validator==5.3.1; extra == "frozen"
|
|
139
|
-
Requires-Dist: dkist-processing-common==14.0.
|
|
139
|
+
Requires-Dist: dkist-processing-common==14.0.2; extra == "frozen"
|
|
140
140
|
Requires-Dist: dkist-processing-core==7.2.1; extra == "frozen"
|
|
141
|
-
Requires-Dist: dkist-processing-dlnirsp==1.6.
|
|
141
|
+
Requires-Dist: dkist-processing-dlnirsp==1.6.3; extra == "frozen"
|
|
142
142
|
Requires-Dist: dkist-processing-math==2.2.2; extra == "frozen"
|
|
143
143
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
144
144
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
@@ -153,7 +153,7 @@ Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
|
153
153
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
154
154
|
Requires-Dist: fonttools==4.62.1; extra == "frozen"
|
|
155
155
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
156
|
-
Requires-Dist: fsspec==2026.
|
|
156
|
+
Requires-Dist: fsspec==2026.4.0; extra == "frozen"
|
|
157
157
|
Requires-Dist: globus-sdk==4.5.0; extra == "frozen"
|
|
158
158
|
Requires-Dist: google-crc32c==1.8.0; extra == "frozen"
|
|
159
159
|
Requires-Dist: googleapis-common-protos==1.74.0; extra == "frozen"
|
|
@@ -233,7 +233,7 @@ Requires-Dist: pathspec==1.1.1; extra == "frozen"
|
|
|
233
233
|
Requires-Dist: pendulum==3.2.0; extra == "frozen"
|
|
234
234
|
Requires-Dist: pika==1.3.2; extra == "frozen"
|
|
235
235
|
Requires-Dist: pillow==11.3.0; extra == "frozen"
|
|
236
|
-
Requires-Dist: pip==26.1; extra == "frozen"
|
|
236
|
+
Requires-Dist: pip==26.1.1; extra == "frozen"
|
|
237
237
|
Requires-Dist: platformdirs==4.9.6; extra == "frozen"
|
|
238
238
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
239
239
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
@@ -257,16 +257,16 @@ Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
|
257
257
|
Requires-Dist: python-dotenv==1.2.2; extra == "frozen"
|
|
258
258
|
Requires-Dist: python-multipart==0.0.27; extra == "frozen"
|
|
259
259
|
Requires-Dist: python-slugify==8.0.4; extra == "frozen"
|
|
260
|
-
Requires-Dist: pytz==2026.
|
|
260
|
+
Requires-Dist: pytz==2026.2; extra == "frozen"
|
|
261
261
|
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
262
262
|
Requires-Dist: referencing==0.37.0; extra == "frozen"
|
|
263
263
|
Requires-Dist: reproject==0.19.0; extra == "frozen"
|
|
264
264
|
Requires-Dist: requests==2.33.1; extra == "frozen"
|
|
265
265
|
Requires-Dist: rich==15.0.0; extra == "frozen"
|
|
266
|
-
Requires-Dist: rich-argparse==1.
|
|
266
|
+
Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
|
|
267
267
|
Requires-Dist: rich-toolkit==0.19.7; extra == "frozen"
|
|
268
268
|
Requires-Dist: rpds-py==0.30.0; extra == "frozen"
|
|
269
|
-
Requires-Dist: s3transfer==0.
|
|
269
|
+
Requires-Dist: s3transfer==0.17.0; extra == "frozen"
|
|
270
270
|
Requires-Dist: scikit-image==0.26.0; extra == "frozen"
|
|
271
271
|
Requires-Dist: scipy==1.15.3; extra == "frozen"
|
|
272
272
|
Requires-Dist: semantic-version==2.10.0; extra == "frozen"
|
|
@@ -287,12 +287,12 @@ Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
|
287
287
|
Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
288
288
|
Requires-Dist: termcolor==3.3.0; extra == "frozen"
|
|
289
289
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
290
|
-
Requires-Dist: tifffile==2026.
|
|
290
|
+
Requires-Dist: tifffile==2026.5.2; extra == "frozen"
|
|
291
291
|
Requires-Dist: toolz==1.1.0; extra == "frozen"
|
|
292
292
|
Requires-Dist: tornado==6.5.5; extra == "frozen"
|
|
293
293
|
Requires-Dist: tqdm==4.67.3; extra == "frozen"
|
|
294
294
|
Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
295
|
-
Requires-Dist: typer==0.25.
|
|
295
|
+
Requires-Dist: typer==0.25.1; extra == "frozen"
|
|
296
296
|
Requires-Dist: typing-inspection==0.4.2; extra == "frozen"
|
|
297
297
|
Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
|
|
298
298
|
Requires-Dist: tzdata==2026.2; extra == "frozen"
|
|
@@ -307,13 +307,13 @@ Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
|
307
307
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
308
308
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
309
309
|
Requires-Dist: watchfiles==1.1.1; extra == "frozen"
|
|
310
|
-
Requires-Dist: wcwidth==0.
|
|
310
|
+
Requires-Dist: wcwidth==0.7.0; extra == "frozen"
|
|
311
311
|
Requires-Dist: websockets==16.0; extra == "frozen"
|
|
312
312
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
313
313
|
Requires-Dist: wrapt==2.1.2; extra == "frozen"
|
|
314
314
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
315
315
|
Requires-Dist: yarl==1.23.0; extra == "frozen"
|
|
316
|
-
Requires-Dist: zarr==3.
|
|
316
|
+
Requires-Dist: zarr==3.2.0; extra == "frozen"
|
|
317
317
|
Requires-Dist: zipp==3.23.1; extra == "frozen"
|
|
318
318
|
|
|
319
319
|
dkist-processing-dlnirsp
|
|
@@ -82,7 +82,7 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
82
82
|
],
|
|
83
83
|
)
|
|
84
84
|
unused_count = int(no_of_raw_dark_frames - total_dark_frames_used)
|
|
85
|
-
self.
|
|
85
|
+
self.quality_write_intermediate_task_type_counts(
|
|
86
86
|
task_type=TaskName.dark.value,
|
|
87
87
|
total_frames=no_of_raw_dark_frames,
|
|
88
88
|
frames_not_used=unused_count,
|
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
from abc import ABC
|
|
4
4
|
|
|
5
|
+
from dkist_processing_common.codecs.basemodel import basemodel_encoder
|
|
6
|
+
from dkist_processing_common.models.metric_code import MetricCode
|
|
7
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
5
8
|
from dkist_processing_common.tasks import WorkflowTaskBase
|
|
6
9
|
|
|
7
10
|
from dkist_processing_dlnirsp.models.constants import DlnirspConstants
|
|
8
11
|
from dkist_processing_dlnirsp.models.parameters import DlnirspParameters
|
|
12
|
+
from dkist_processing_dlnirsp.models.tags import DlnirspTag
|
|
9
13
|
from dkist_processing_dlnirsp.tasks.mixin.group_id import GroupIdMixin
|
|
10
14
|
|
|
11
15
|
|
|
@@ -51,3 +55,27 @@ class DlnirspTaskBase(
|
|
|
51
55
|
obs_ip_start_time=self.constants.obs_ip_start_time,
|
|
52
56
|
arm_id=self.constants.arm_id,
|
|
53
57
|
)
|
|
58
|
+
|
|
59
|
+
def quality_write_intermediate_task_type_counts(
|
|
60
|
+
self, task_type: str, total_frames: int, frames_not_used: int = 0
|
|
61
|
+
):
|
|
62
|
+
"""
|
|
63
|
+
Write intermediate task type data.
|
|
64
|
+
|
|
65
|
+
Parameters
|
|
66
|
+
----------
|
|
67
|
+
task_type:
|
|
68
|
+
task type as listed in the headers
|
|
69
|
+
total_frames:
|
|
70
|
+
total number of frames supplied of the given task type
|
|
71
|
+
frames_not_used:
|
|
72
|
+
if some frames aren't used, how many
|
|
73
|
+
"""
|
|
74
|
+
task_count = TaskCount(
|
|
75
|
+
task_type=task_type,
|
|
76
|
+
total_frames=total_frames,
|
|
77
|
+
frames_not_used=frames_not_used,
|
|
78
|
+
)
|
|
79
|
+
self.write(
|
|
80
|
+
task_count, tags=DlnirspTag.quality(MetricCode.task_types), encoder=basemodel_encoder
|
|
81
|
+
)
|
|
@@ -80,7 +80,7 @@ class GeometricCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
80
80
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_solar_gain()],
|
|
81
81
|
)
|
|
82
82
|
|
|
83
|
-
self.
|
|
83
|
+
self.quality_write_intermediate_task_type_counts(
|
|
84
84
|
task_type=TaskName.geometric.value, total_frames=no_of_raw_solar_frames
|
|
85
85
|
)
|
|
86
86
|
|
|
@@ -160,7 +160,7 @@ class InstrumentPolarizationCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
160
160
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_polcal()],
|
|
161
161
|
)
|
|
162
162
|
|
|
163
|
-
self.
|
|
163
|
+
self.quality_write_intermediate_task_type_counts(
|
|
164
164
|
task_type=TaskName.polcal.value, total_frames=no_of_raw_lamp_frames
|
|
165
165
|
)
|
|
166
166
|
|
|
@@ -99,7 +99,7 @@ class LampCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
99
99
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_lamp_gain()],
|
|
100
100
|
)
|
|
101
101
|
|
|
102
|
-
self.
|
|
102
|
+
self.quality_write_intermediate_task_type_counts(
|
|
103
103
|
task_type=TaskName.lamp_gain.value, total_frames=no_of_raw_lamp_frames
|
|
104
104
|
)
|
|
105
105
|
|
|
@@ -104,7 +104,7 @@ class SolarCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin, GroupIdM
|
|
|
104
104
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_solar_gain()],
|
|
105
105
|
)
|
|
106
106
|
|
|
107
|
-
self.
|
|
107
|
+
self.quality_write_intermediate_task_type_counts(
|
|
108
108
|
task_type=TaskName.solar_gain.value, total_frames=no_of_raw_solar_frames
|
|
109
109
|
)
|
|
110
110
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
import numpy as np
|
|
4
2
|
import pytest
|
|
5
3
|
from astropy.io import fits
|
|
6
4
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
7
5
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
6
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
7
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
8
8
|
from dkist_processing_common.models.task_name import TaskName
|
|
9
9
|
|
|
10
10
|
from dkist_processing_dlnirsp.models.tags import DlnirspTag
|
|
@@ -100,12 +100,11 @@ def test_dark_calibration_task(dark_task, mocker, fake_gql_client):
|
|
|
100
100
|
)
|
|
101
101
|
assert len(unused_dark_list) == 0
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
assert data["frames_not_used"] == num_frames_per_exp
|
|
103
|
+
task_counts: list[TaskCount] = list(
|
|
104
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
105
|
+
)
|
|
106
|
+
assert isinstance(task_counts, list)
|
|
107
|
+
assert len(task_counts) == 1
|
|
108
|
+
assert task_counts[0].task_type == TaskName.dark.value
|
|
109
|
+
assert task_counts[0].total_frames == num_frames_per_exp * 4 # For lamp, solar, obs, and unused
|
|
110
|
+
assert task_counts[0].frames_not_used == num_frames_per_exp
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
3
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
2
4
|
|
|
3
5
|
from dkist_processing_dlnirsp.models.constants import DlnirspConstants
|
|
4
6
|
from dkist_processing_dlnirsp.models.parameters import DlnirspParameters
|
|
@@ -57,3 +59,43 @@ def test_base_parameters_class(dlnirsp_science_task, dummy_arm_id):
|
|
|
57
59
|
else:
|
|
58
60
|
with pytest.raises(AttributeError):
|
|
59
61
|
task.parameters
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
@pytest.mark.parametrize(
|
|
65
|
+
"task_type, total_frames, frames_not_used",
|
|
66
|
+
[
|
|
67
|
+
pytest.param("one", 1, 1, id="simple"),
|
|
68
|
+
pytest.param("two", 2, 0, id="not_used_zero"),
|
|
69
|
+
pytest.param("three", 3, None, id="not_used_none"),
|
|
70
|
+
],
|
|
71
|
+
)
|
|
72
|
+
def test_quality_write_intermediate_task_type_counts(
|
|
73
|
+
task_type: str, total_frames: int, frames_not_used: int | None, dlnirsp_science_task
|
|
74
|
+
):
|
|
75
|
+
"""
|
|
76
|
+
Given: Valid intermediate task type count input
|
|
77
|
+
When: Running DlnirspTaskBase quality_write_intermediate_task_type_counts()
|
|
78
|
+
Then: A single TaskCount file gets created
|
|
79
|
+
"""
|
|
80
|
+
# Given
|
|
81
|
+
task = dlnirsp_science_task
|
|
82
|
+
|
|
83
|
+
# When
|
|
84
|
+
if frames_not_used is not None:
|
|
85
|
+
task.quality_write_intermediate_task_type_counts(task_type, total_frames, frames_not_used)
|
|
86
|
+
else:
|
|
87
|
+
task.quality_write_intermediate_task_type_counts(task_type, total_frames)
|
|
88
|
+
|
|
89
|
+
# Then
|
|
90
|
+
task_counts: list[TaskCount] = list(
|
|
91
|
+
task.read(tags="QUALITY_TASK_TYPES", decoder=basemodel_decoder, model=TaskCount)
|
|
92
|
+
)
|
|
93
|
+
assert isinstance(task_counts, list)
|
|
94
|
+
assert len(task_counts) == 1
|
|
95
|
+
task_count = task_counts[0]
|
|
96
|
+
assert task_count.task_type == str(task_type).upper()
|
|
97
|
+
assert task_count.total_frames == total_frames
|
|
98
|
+
if frames_not_used is not None:
|
|
99
|
+
assert task_count.frames_not_used == frames_not_used
|
|
100
|
+
else:
|
|
101
|
+
assert task_count.frames_not_used == 0
|
|
@@ -5,8 +5,10 @@ import numpy as np
|
|
|
5
5
|
import pytest
|
|
6
6
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
8
9
|
from dkist_processing_common.codecs.fits import fits_array_decoder
|
|
9
10
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
11
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
10
12
|
from dkist_processing_common.models.task_name import TaskName
|
|
11
13
|
|
|
12
14
|
from dkist_processing_dlnirsp.models.tags import DlnirspTag
|
|
@@ -210,12 +212,11 @@ def test_geometric_task_completes(geometric_task_for_basic_corrections, mocker,
|
|
|
210
212
|
dispersion = json.load(f)
|
|
211
213
|
assert isinstance(dispersion, float)
|
|
212
214
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
assert data["frames_not_used"] == 0
|
|
215
|
+
task_counts: list[TaskCount] = list(
|
|
216
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
217
|
+
)
|
|
218
|
+
assert isinstance(task_counts, list)
|
|
219
|
+
assert len(task_counts) == 1
|
|
220
|
+
assert task_counts[0].task_type == TaskName.geometric.value
|
|
221
|
+
assert task_counts[0].total_frames == num_solar_frames
|
|
222
|
+
assert task_counts[0].frames_not_used == 0
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import json
|
|
2
1
|
from unittest.mock import ANY
|
|
3
2
|
from unittest.mock import patch
|
|
4
3
|
|
|
@@ -9,9 +8,11 @@ from astropy.io import fits
|
|
|
9
8
|
from astropy.time import Time
|
|
10
9
|
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
11
10
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
11
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
12
12
|
from dkist_processing_common.codecs.fits import fits_array_decoder
|
|
13
13
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
14
14
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
15
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
15
16
|
from dkist_processing_common.models.task_name import TaskName
|
|
16
17
|
from dkist_processing_pac.fitter.polcal_fitter import PolcalFitter
|
|
17
18
|
from dkist_processing_pac.input_data.dresser import Dresser
|
|
@@ -605,15 +606,14 @@ def test_instrument_polarization_task(
|
|
|
605
606
|
assert len(demod_array) == 1
|
|
606
607
|
assert demod_array[0].shape == array_shape + (4, 8)
|
|
607
608
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
assert data["frames_not_used"] == 0
|
|
609
|
+
task_counts: list[TaskCount] = list(
|
|
610
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
611
|
+
)
|
|
612
|
+
assert isinstance(task_counts, list)
|
|
613
|
+
assert len(task_counts) == 1
|
|
614
|
+
assert task_counts[0].task_type == TaskName.polcal.value
|
|
615
|
+
assert task_counts[0].total_frames == num_polcal_frames
|
|
616
|
+
assert task_counts[0].frames_not_used == 0
|
|
617
617
|
|
|
618
618
|
for label, skip_constants in zip(polcal_quality_beam_labels, polcal_quality_skip_constants):
|
|
619
619
|
quality_metric_mocker.assert_any_call(
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
import numpy as np
|
|
4
2
|
import pytest
|
|
5
3
|
from astropy.io import fits
|
|
6
4
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
7
5
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
6
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
7
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
8
8
|
from dkist_processing_common.models.task_name import TaskName
|
|
9
9
|
|
|
10
10
|
from dkist_processing_dlnirsp.models.tags import DlnirspTag
|
|
@@ -118,12 +118,11 @@ def test_lamp_calibration_task(lamp_task, lamp_signal, mocker, fake_gql_client):
|
|
|
118
118
|
with fits.open(file_list[0], memmap=False) as data:
|
|
119
119
|
assert np.allclose(data[0].data, lamp_signal)
|
|
120
120
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
assert data["frames_not_used"] == 0
|
|
121
|
+
task_counts: list[TaskCount] = list(
|
|
122
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
123
|
+
)
|
|
124
|
+
assert isinstance(task_counts, list)
|
|
125
|
+
assert len(task_counts) == 1
|
|
126
|
+
assert task_counts[0].task_type == TaskName.lamp_gain.value
|
|
127
|
+
assert task_counts[0].total_frames == num_lamp_frames
|
|
128
|
+
assert task_counts[0].frames_not_used == 0
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
import numpy as np
|
|
4
2
|
import pytest
|
|
5
3
|
from astropy.convolution import Gaussian2DKernel
|
|
@@ -9,7 +7,9 @@ from astropy.time import TimeDelta
|
|
|
9
7
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
10
8
|
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
11
9
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
10
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
12
11
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
12
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
13
13
|
from dkist_processing_common.models.task_name import TaskName
|
|
14
14
|
|
|
15
15
|
from dkist_processing_dlnirsp.models.fits_access import DlnirspMetadataKey
|
|
@@ -470,15 +470,14 @@ def test_science_task_completes(science_task_with_data, is_polarimetric, mocker,
|
|
|
470
470
|
assert bad_pixel_cube.dtype is np.dtype("int8")
|
|
471
471
|
np.testing.assert_equal(np.unique(bad_pixel_cube), np.array([0, 1]))
|
|
472
472
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
assert data["frames_not_used"] == 0
|
|
473
|
+
task_counts: list[TaskCount] = list(
|
|
474
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
475
|
+
)
|
|
476
|
+
assert isinstance(task_counts, list)
|
|
477
|
+
assert len(task_counts) == 1
|
|
478
|
+
assert task_counts[0].task_type == TaskName.observe.value
|
|
479
|
+
assert task_counts[0].total_frames == num_observe_frames
|
|
480
|
+
assert task_counts[0].frames_not_used == 0
|
|
482
481
|
|
|
483
482
|
|
|
484
483
|
@pytest.mark.parametrize("is_polarimetric", [pytest.param(True, id="polarimetric")])
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
1
|
import numpy as np
|
|
4
2
|
import pytest
|
|
5
3
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
6
4
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
5
|
+
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
7
6
|
from dkist_processing_common.codecs.fits import fits_array_decoder
|
|
8
7
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
8
|
+
from dkist_processing_common.models.quality import TaskCount
|
|
9
9
|
from dkist_processing_common.models.task_name import TaskName
|
|
10
10
|
|
|
11
11
|
from dkist_processing_dlnirsp.models.tags import DlnirspTag
|
|
@@ -450,12 +450,11 @@ def test_solar_task_completes(
|
|
|
450
450
|
if not is_polarimetric:
|
|
451
451
|
assert task.count(tags=tags + [DlnirspTag.stokes("I")]) == 0
|
|
452
452
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
assert data["frames_not_used"] == 0
|
|
453
|
+
task_counts: list[TaskCount] = list(
|
|
454
|
+
task.read(tags=DlnirspTag.quality("TASK_TYPES"), decoder=basemodel_decoder, model=TaskCount)
|
|
455
|
+
)
|
|
456
|
+
assert isinstance(task_counts, list)
|
|
457
|
+
assert len(task_counts) == 1
|
|
458
|
+
assert task_counts[0].task_type == TaskName.solar_gain.value
|
|
459
|
+
assert task_counts[0].total_frames == num_solar_frames
|
|
460
|
+
assert task_counts[0].frames_not_used == 0
|