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.
Files changed (135) hide show
  1. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/CHANGELOG.rst +28 -0
  2. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/PKG-INFO +2 -2
  3. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/assemble_movie.py +2 -2
  4. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/_metrics.py +16 -7
  5. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_quality_mixin.py +7 -3
  6. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_workflow_task_base.py +2 -3
  7. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/PKG-INFO +2 -2
  8. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/SOURCES.txt +0 -3
  9. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/requires.txt +1 -1
  10. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/pyproject.toml +1 -1
  11. dkist_processing_common-11.0.0rc2/changelog/256.feature.rst +0 -2
  12. dkist_processing_common-11.0.0rc2/changelog/257.feature.rst +0 -1
  13. dkist_processing_common-11.0.0rc2/changelog/259.feature.rst +0 -1
  14. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.gitignore +0 -0
  15. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.pre-commit-config.yaml +0 -0
  16. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.readthedocs.yml +0 -0
  17. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/.snyk +0 -0
  18. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/README.rst +0 -0
  19. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/bitbucket-pipelines.yml +0 -0
  20. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/changelog/.gitempty +0 -0
  21. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/__init__.py +0 -0
  22. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/__init__.py +0 -0
  23. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/constants.py +0 -0
  24. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/graphql.py +0 -0
  25. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/scratch.py +0 -0
  26. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/_util/tags.py +0 -0
  27. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/__init__.py +0 -0
  28. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/array.py +0 -0
  29. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/asdf.py +0 -0
  30. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/basemodel.py +0 -0
  31. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/bytes.py +0 -0
  32. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/fits.py +0 -0
  33. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/iobase.py +0 -0
  34. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/json.py +0 -0
  35. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/path.py +0 -0
  36. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/quality.py +0 -0
  37. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/codecs/str.py +0 -0
  38. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/config.py +0 -0
  39. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
  40. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/fonts/__init__.py +0 -0
  41. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/manual.py +0 -0
  42. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/__init__.py +0 -0
  43. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/constants.py +0 -0
  44. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/dkist_location.py +0 -0
  45. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/fits_access.py +0 -0
  46. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/flower_pot.py +0 -0
  47. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/fried_parameter.py +0 -0
  48. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/graphql.py +0 -0
  49. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/input_dataset.py +0 -0
  50. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/message.py +0 -0
  51. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/message_queue_binding.py +0 -0
  52. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/metric_code.py +0 -0
  53. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/parameters.py +0 -0
  54. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/quality.py +0 -0
  55. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/tags.py +0 -0
  56. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/task_name.py +0 -0
  57. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/models/wavelength.py +0 -0
  58. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/__init__.py +0 -0
  59. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/cs_step.py +0 -0
  60. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
  61. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
  62. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/id_bud.py +0 -0
  63. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
  64. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
  65. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/near_bud.py +0 -0
  66. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
  67. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/quality.py +0 -0
  68. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/retarder.py +0 -0
  69. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
  70. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/task.py +0 -0
  71. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/time.py +0 -0
  72. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/unique_bud.py +0 -0
  73. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/parsers/wavelength.py +0 -0
  74. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/__init__.py +0 -0
  75. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/base.py +0 -0
  76. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/l1_output_data.py +0 -0
  77. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
  78. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/globus.py +0 -0
  79. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
  80. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
  81. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
  82. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
  83. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
  84. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/output_data_base.py +0 -0
  85. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
  86. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/quality_metrics.py +0 -0
  87. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/teardown.py +0 -0
  88. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
  89. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/trial_catalog.py +0 -0
  90. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/trial_output_data.py +0 -0
  91. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tasks/write_l1.py +0 -0
  92. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/__init__.py +0 -0
  93. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/conftest.py +0 -0
  94. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
  95. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
  96. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_base.py +0 -0
  97. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_codecs.py +0 -0
  98. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_constants.py +0 -0
  99. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_cs_step.py +0 -0
  100. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_dkist_location.py +0 -0
  101. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_fits_access.py +0 -0
  102. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_flower_pot.py +0 -0
  103. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
  104. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_input_dataset.py +0 -0
  105. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
  106. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
  107. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_manual_processing.py +0 -0
  108. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_output_data_base.py +0 -0
  109. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_parameters.py +0 -0
  110. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
  111. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
  112. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_quality.py +0 -0
  113. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_scratch.py +0 -0
  114. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_stems.py +0 -0
  115. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
  116. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_tags.py +0 -0
  117. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_task_name.py +0 -0
  118. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_task_parsing.py +0 -0
  119. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_teardown.py +0 -0
  120. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
  121. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
  122. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
  123. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
  124. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common/tests/test_write_l1.py +0 -0
  125. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
  126. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/dkist_processing_common.egg-info/top_level.txt +0 -0
  127. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/Makefile +0 -0
  128. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/changelog.rst +0 -0
  129. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/conf.py +0 -0
  130. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/index.rst +0 -0
  131. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/landing_page.rst +0 -0
  132. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/make.bat +0 -0
  133. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/docs/requirements.txt +0 -0
  134. {dkist_processing_common-11.0.0rc2 → dkist_processing_common-11.0.1}/licenses/LICENSE.rst +0 -0
  135. {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.0rc2
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.0rc2; extra == "quality"
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 = pkg_resources.resource_filename("dkist_processing_common", "fonts/Lato-Regular.ttf")
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 fir residuals.",
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
- return (wavecal_input_wavelength.value - wavecal_input_wavelength.size // 2) ** 2 + 10.0
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
- return np.arange(wavecal_input_wavelength.size)
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 fir residuals."
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 dataclasses import asdict
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] == get_distribution(package).version
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.0rc2
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.0rc2; extra == "quality"
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
@@ -39,7 +39,7 @@ dkist-sphinx-theme
39
39
  dkist-inventory<2.0,>=1.6.0
40
40
 
41
41
  [quality]
42
- dkist-quality<2.0,>=1.3.0rc2
42
+ dkist-quality<2.0,>=1.3.0
43
43
 
44
44
  [test]
45
45
  pytest
@@ -82,7 +82,7 @@ asdf = [
82
82
  "dkist-inventory[asdf] >= 1.6.0, <2.0",
83
83
  ]
84
84
  quality = [
85
- "dkist-quality >= 1.3.0rc2, <2.0",
85
+ "dkist-quality >= 1.3.0, <2.0",
86
86
  ]
87
87
 
88
88
  [tool.pytest.ini_options]
@@ -1,2 +0,0 @@
1
- Move `location_of_dkist` from the `WriteL1` task to its own module (`~dkist_processing_common.models.dkist_location`).
2
- Also make it a constant variable instead of a function.
@@ -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.