dkist-processing-common 11.0.0rc2__tar.gz → 11.0.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_common-11.0.0rc2 → dkist_processing_common-11.0.1}/CHANGELOG.rst +28 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/PKG-INFO +2 -2
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/assemble_movie.py +2 -2
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/_metrics.py +16 -7
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_quality_mixin.py +7 -3
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_workflow_task_base.py +2 -3
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/PKG-INFO +2 -2
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/SOURCES.txt +0 -3
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/requires.txt +1 -1
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/pyproject.toml +1 -1
- dkist_processing_common-11.0.0rc2/changelog/256.feature.rst +0 -2
- dkist_processing_common-11.0.0rc2/changelog/257.feature.rst +0 -1
- dkist_processing_common-11.0.0rc2/changelog/259.feature.rst +0 -1
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.gitignore +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.readthedocs.yml +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.snyk +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/README.rst +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/changelog/.gitempty +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/constants.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/graphql.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/scratch.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/tags.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/array.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/asdf.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/basemodel.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/bytes.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/fits.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/iobase.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/json.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/path.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/quality.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/str.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/config.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/fonts/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/manual.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/constants.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/dkist_location.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/fits_access.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/flower_pot.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/fried_parameter.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/graphql.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/input_dataset.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/message.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/message_queue_binding.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/metric_code.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/parameters.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/quality.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/tags.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/task_name.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/wavelength.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/cs_step.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/id_bud.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/near_bud.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/quality.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/retarder.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/task.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/time.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/unique_bud.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/wavelength.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/base.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/l1_output_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/globus.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/output_data_base.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/quality_metrics.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/teardown.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/trial_catalog.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/trial_output_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/write_l1.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/__init__.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/conftest.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_base.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_codecs.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_constants.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_cs_step.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_dkist_location.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_fits_access.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_flower_pot.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_input_dataset.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_manual_processing.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_output_data_base.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_parameters.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_quality.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_scratch.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_stems.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_tags.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_task_name.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_task_parsing.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_teardown.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_write_l1.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/top_level.txt +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/Makefile +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/changelog.rst +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/conf.py +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/index.rst +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/landing_page.rst +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/make.bat +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/requirements.txt +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/licenses/LICENSE.rst +0 -0
- {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/setup.cfg +0 -0
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
v11.0.1 (2025-07-10)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Bugfixes
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Ignore NaN and Inf values when storing the quality results of a wavelength calibration fit. (`#260 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/260>`__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Misc
|
|
11
|
+
----
|
|
12
|
+
|
|
13
|
+
- Removing usages of `pkg_resources`, which is on track to be deprecated. (`#254 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/254>`__)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
v11.0.0 (2025-07-02)
|
|
17
|
+
====================
|
|
18
|
+
|
|
19
|
+
Features
|
|
20
|
+
--------
|
|
21
|
+
|
|
22
|
+
- Move `location_of_dkist` from the `WriteL1` task to its own module (`~dkist_processing_common.models.dkist_location`).
|
|
23
|
+
Also make it a constant variable instead of a function. (`#256 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/256>`__)
|
|
24
|
+
- `Stems` that only match a specific task types can now check against a list of task types.
|
|
25
|
+
This replaces the `ip_task_type` kwarg with `ip_task_types` (which can still be a single string, if desired.) (`#257 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/257>`__)
|
|
26
|
+
- Add ability to store and build a quality metric showing the results of wavelength calibration. (`#259 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/259>`__)
|
|
27
|
+
|
|
28
|
+
|
|
1
29
|
v10.9.0 (2025-06-02)
|
|
2
30
|
====================
|
|
3
31
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-common
|
|
3
|
-
Version: 11.0.
|
|
3
|
+
Version: 11.0.1
|
|
4
4
|
Summary: Common task classes used by the DKIST science data processing pipelines
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -61,7 +61,7 @@ Requires-Dist: dkist-inventory<2.0,>=1.6.0; extra == "inventory"
|
|
|
61
61
|
Provides-Extra: asdf
|
|
62
62
|
Requires-Dist: dkist-inventory[asdf]<2.0,>=1.6.0; extra == "asdf"
|
|
63
63
|
Provides-Extra: quality
|
|
64
|
-
Requires-Dist: dkist-quality<2.0,>=1.3.
|
|
64
|
+
Requires-Dist: dkist-quality<2.0,>=1.3.0; extra == "quality"
|
|
65
65
|
|
|
66
66
|
dkist-processing-common
|
|
67
67
|
=======================
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import logging
|
|
3
3
|
from abc import ABC
|
|
4
4
|
from abc import abstractmethod
|
|
5
|
+
from importlib.resources import files
|
|
5
6
|
from typing import Literal
|
|
6
7
|
|
|
7
8
|
import numpy as np
|
|
8
|
-
import pkg_resources
|
|
9
9
|
from matplotlib import colormaps
|
|
10
10
|
from moviepy import VideoClip
|
|
11
11
|
from PIL import Image
|
|
@@ -66,7 +66,7 @@ class AssembleMovie(WorkflowTaskBase, ABC):
|
|
|
66
66
|
MINIMUM_DURATION = 10 # seconds
|
|
67
67
|
MAXIMUM_DURATION = 60 # seconds
|
|
68
68
|
FPS = 15
|
|
69
|
-
FONT_FILE =
|
|
69
|
+
FONT_FILE = files("dkist_processing_common").joinpath("fonts/Lato-Regular.ttf")
|
|
70
70
|
TEXT_MARGIN_PX = 5
|
|
71
71
|
MPL_COLOR_MAP = "viridis"
|
|
72
72
|
|
|
@@ -1365,13 +1365,22 @@ class _WavecalQualityMixin:
|
|
|
1365
1365
|
wcs = WCS(best_fit_header)
|
|
1366
1366
|
best_fit_wavelength = wcs.spectral.pixel_to_world(np.arange(input_spectrum.size))
|
|
1367
1367
|
|
|
1368
|
+
finite_idx = (
|
|
1369
|
+
np.isfinite(input_wavelength)
|
|
1370
|
+
* np.isfinite(input_spectrum)
|
|
1371
|
+
* np.isfinite(best_fit_wavelength)
|
|
1372
|
+
* np.isfinite(best_fit_atlas)
|
|
1373
|
+
* np.isfinite(normalized_residuals)
|
|
1374
|
+
* np.isfinite(weight_data)
|
|
1375
|
+
)
|
|
1376
|
+
|
|
1368
1377
|
data = {
|
|
1369
|
-
"input_wavelength_nm": input_wavelength.to_value(u.nm).tolist(),
|
|
1370
|
-
"input_spectrum": input_spectrum.tolist(),
|
|
1371
|
-
"best_fit_wavelength_nm": best_fit_wavelength.to_value(u.nm).tolist(),
|
|
1372
|
-
"best_fit_atlas": best_fit_atlas.tolist(),
|
|
1373
|
-
"normalized_residuals": normalized_residuals.tolist(),
|
|
1374
|
-
"weights": None if weights is None else weight_data.tolist(),
|
|
1378
|
+
"input_wavelength_nm": input_wavelength.to_value(u.nm)[finite_idx].tolist(),
|
|
1379
|
+
"input_spectrum": input_spectrum[finite_idx].tolist(),
|
|
1380
|
+
"best_fit_wavelength_nm": best_fit_wavelength.to_value(u.nm)[finite_idx].tolist(),
|
|
1381
|
+
"best_fit_atlas": best_fit_atlas[finite_idx].tolist(),
|
|
1382
|
+
"normalized_residuals": normalized_residuals[finite_idx].tolist(),
|
|
1383
|
+
"weights": None if weights is None else weight_data[finite_idx].tolist(),
|
|
1375
1384
|
}
|
|
1376
1385
|
|
|
1377
1386
|
self._record_values(values=data, tags=[Tag.quality(MetricCode.wavecal_fit)])
|
|
@@ -1447,7 +1456,7 @@ class _WavecalQualityMixin:
|
|
|
1447
1456
|
name="Wavelength Calibration Results",
|
|
1448
1457
|
description="These plots show the wavelength solution computed based on fits to a Solar FTS atlas. "
|
|
1449
1458
|
"The top plot shows the input and best-fit spectra along with the best-fit atlas, which is "
|
|
1450
|
-
"a combination of Solar and Telluric spectra. The bottom plot shows the
|
|
1459
|
+
"a combination of Solar and Telluric spectra. The bottom plot shows the fit residuals.",
|
|
1451
1460
|
metric_code=MetricCode.wavecal_fit,
|
|
1452
1461
|
vertical_multi_pane_plot_data=full_plot,
|
|
1453
1462
|
)
|
|
@@ -1201,12 +1201,16 @@ def wavecal_input_wavelength() -> u.Quantity:
|
|
|
1201
1201
|
|
|
1202
1202
|
@pytest.fixture(scope="session")
|
|
1203
1203
|
def wavecal_input_spectrum(wavecal_input_wavelength) -> np.ndarray:
|
|
1204
|
-
|
|
1204
|
+
spec = (wavecal_input_wavelength.value - wavecal_input_wavelength.size // 2) ** 2 + 10.0
|
|
1205
|
+
spec[spec.size // 2] = np.nan
|
|
1206
|
+
return spec
|
|
1205
1207
|
|
|
1206
1208
|
|
|
1207
1209
|
@pytest.fixture(scope="session")
|
|
1208
1210
|
def wavecal_weights(wavecal_input_wavelength) -> np.ndarray:
|
|
1209
|
-
|
|
1211
|
+
weights = np.arange(wavecal_input_wavelength.size, dtype=float)
|
|
1212
|
+
weights[0] = np.inf
|
|
1213
|
+
return weights
|
|
1210
1214
|
|
|
1211
1215
|
|
|
1212
1216
|
@pytest.fixture(scope="session")
|
|
@@ -1300,7 +1304,7 @@ def test_build_wavecal_results(quality_task, wavecal_data_json):
|
|
|
1300
1304
|
assert metric["description"] == (
|
|
1301
1305
|
"These plots show the wavelength solution computed based on fits to a Solar FTS atlas. "
|
|
1302
1306
|
"The top plot shows the input and best-fit spectra along with the best-fit atlas, which is "
|
|
1303
|
-
"a combination of Solar and Telluric spectra. The bottom plot shows the
|
|
1307
|
+
"a combination of Solar and Telluric spectra. The bottom plot shows the fit residuals."
|
|
1304
1308
|
)
|
|
1305
1309
|
assert metric["metric_code"] == MetricCode.wavecal_fit.value
|
|
1306
1310
|
assert metric["facet"] is None
|
|
@@ -2,12 +2,11 @@ import json
|
|
|
2
2
|
import logging
|
|
3
3
|
import re
|
|
4
4
|
import tomllib
|
|
5
|
-
from
|
|
5
|
+
from importlib.metadata import version
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from string import ascii_uppercase
|
|
8
8
|
|
|
9
9
|
import pytest
|
|
10
|
-
from pkg_resources import get_distribution
|
|
11
10
|
from sqids import Sqids
|
|
12
11
|
|
|
13
12
|
import dkist_processing_common
|
|
@@ -272,7 +271,7 @@ def test_library_versions(provenance_task, package_dependencies):
|
|
|
272
271
|
# installed packages.
|
|
273
272
|
for package in package_dependencies:
|
|
274
273
|
assert package in libraries
|
|
275
|
-
assert libraries[package] ==
|
|
274
|
+
assert libraries[package] == version(package)
|
|
276
275
|
|
|
277
276
|
|
|
278
277
|
def test_record_provenance(provenance_task):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-common
|
|
3
|
-
Version: 11.0.
|
|
3
|
+
Version: 11.0.1
|
|
4
4
|
Summary: Common task classes used by the DKIST science data processing pipelines
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -61,7 +61,7 @@ Requires-Dist: dkist-inventory<2.0,>=1.6.0; extra == "inventory"
|
|
|
61
61
|
Provides-Extra: asdf
|
|
62
62
|
Requires-Dist: dkist-inventory[asdf]<2.0,>=1.6.0; extra == "asdf"
|
|
63
63
|
Provides-Extra: quality
|
|
64
|
-
Requires-Dist: dkist-quality<2.0,>=1.3.
|
|
64
|
+
Requires-Dist: dkist-quality<2.0,>=1.3.0; extra == "quality"
|
|
65
65
|
|
|
66
66
|
dkist-processing-common
|
|
67
67
|
=======================
|
|
@@ -7,9 +7,6 @@ README.rst
|
|
|
7
7
|
bitbucket-pipelines.yml
|
|
8
8
|
pyproject.toml
|
|
9
9
|
changelog/.gitempty
|
|
10
|
-
changelog/256.feature.rst
|
|
11
|
-
changelog/257.feature.rst
|
|
12
|
-
changelog/259.feature.rst
|
|
13
10
|
dkist_processing_common/__init__.py
|
|
14
11
|
dkist_processing_common/config.py
|
|
15
12
|
dkist_processing_common/manual.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
`Stems` that only match a specific task types can now check against a list of task types.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add ability to store and build a quality metric showing the results of wavelength calibration.
|
|
File without changes
|
{dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/bitbucket-pipelines.yml
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
|
|
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
|
|
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
|