dkist-processing-cryonirsp 3.1.0rc1__tar.gz → 3.2.0__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 (138) hide show
  1. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/CHANGELOG.rst +39 -0
  2. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/PKG-INFO +45 -45
  3. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/README.rst +1 -1
  4. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/__init__.py +0 -1
  5. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/gain.py +1 -1
  6. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +3 -8
  7. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +2 -6
  8. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +2 -2
  9. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +4 -4
  10. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +4 -4
  11. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/workflows/trial_workflows.py +7 -8
  12. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/PKG-INFO +45 -45
  13. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -3
  14. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/requires.txt +43 -43
  15. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/scm_file_list.json +0 -3
  16. dkist_processing_cryonirsp-3.2.0/dkist_processing_cryonirsp.egg-info/scm_version.json +8 -0
  17. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/pyproject.toml +45 -45
  18. dkist_processing_cryonirsp-3.1.0rc1/changelog/304.bugfix.rst +0 -1
  19. dkist_processing_cryonirsp-3.1.0rc1/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -44
  20. dkist_processing_cryonirsp-3.1.0rc1/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -91
  21. dkist_processing_cryonirsp-3.1.0rc1/dkist_processing_cryonirsp.egg-info/scm_version.json +0 -8
  22. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/.gitignore +0 -0
  23. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/.pre-commit-config.yaml +0 -0
  24. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/.readthedocs.yml +0 -0
  25. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/.rovodev/.review-agent.md +0 -0
  26. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/.snyk +0 -0
  27. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/SCIENCE_CHANGELOG.rst +0 -0
  28. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/bitbucket-pipelines.yml +0 -0
  29. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/changelog/.gitempty +0 -0
  30. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/__init__.py +0 -0
  31. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
  32. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
  33. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/config.py +0 -0
  34. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  35. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
  36. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/constants.py +0 -0
  37. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/dataset_extras.py +0 -0
  38. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  39. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/fits_access.py +0 -0
  40. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/parameters.py +0 -0
  41. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/tags.py +0 -0
  42. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  43. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  44. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
  45. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  46. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  47. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  48. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  49. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  50. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  51. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  52. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  53. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  54. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  55. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  56. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  57. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  58. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  59. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  60. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  61. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  62. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  63. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  64. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  65. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  66. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  67. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  68. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/polcal_as_science.py +0 -0
  69. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  70. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  71. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  72. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  73. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  74. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  75. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
  76. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/write_dataset_extras.py +0 -0
  77. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  78. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  79. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
  80. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  81. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  82. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  83. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  84. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  85. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  86. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  87. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  88. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  89. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  90. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  91. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  92. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  93. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_fits_access.py +0 -0
  94. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  95. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  96. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  97. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
  98. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
  99. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_polcal_as_science.py +0 -0
  100. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  101. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  102. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  103. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  104. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  105. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  106. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +0 -0
  107. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
  108. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  109. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_write_dataset_extras.py +0 -0
  110. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  111. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  112. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  113. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  114. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/Makefile +0 -0
  115. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/bad_pixel_calibration.rst +0 -0
  116. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/beam_angle_calculation.rst +0 -0
  117. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/beam_boundary_computation.rst +0 -0
  118. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/changelog.rst +0 -0
  119. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/ci_science_calibration.rst +0 -0
  120. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/conf.py +0 -0
  121. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/dataset_extras.rst +0 -0
  122. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/index.rst +0 -0
  123. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
  124. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  125. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
  126. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  127. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/landing_page.rst +0 -0
  128. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/linearization.rst +0 -0
  129. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/make.bat +0 -0
  130. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/requirements.txt +0 -0
  131. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/requirements_table.rst +0 -0
  132. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/scientific_changelog.rst +0 -0
  133. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/sp_science_calibration.rst +0 -0
  134. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/docs/wavelength_calibration.rst +0 -0
  135. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/licenses/LICENSE.rst +0 -0
  136. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/science_towncrier.sh +0 -0
  137. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/setup.cfg +0 -0
  138. {dkist_processing_cryonirsp-3.1.0rc1 → dkist_processing_cryonirsp-3.2.0}/towncrier_science.toml +0 -0
@@ -1,3 +1,42 @@
1
+ v3.2.0 (2026-10-19)
2
+ ===================
3
+
4
+ Removals
5
+ --------
6
+
7
+ - Remove ``CIAssembleQualityData`` and ``SPAssembleQualityData`` in favor of the common ``AssembleQualityData`` task in production, trial, and local workflows. (`#310 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/310>`__)
8
+
9
+
10
+ Misc
11
+ ----
12
+
13
+ - Write polcal quality metrics through the new common quality API. (`#310 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/310>`__)
14
+
15
+
16
+ Documentation
17
+ -------------
18
+
19
+ - Update the README clone command to use Bitbucket's new SSH hostname. (`#313 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/313>`__)
20
+
21
+
22
+ v3.1.1 (2026-10-14)
23
+ ===================
24
+
25
+ Misc
26
+ ----
27
+
28
+ - Updating dkist-processing-common to handle negative light level values. (`#312 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/312>`__)
29
+
30
+
31
+ v3.1.0 (2026-10-09)
32
+ ===================
33
+
34
+ Bugfixes
35
+ --------
36
+
37
+ - Lamp gain and CI solar gain calibrations now produce a single, correctly combined gain frame per beam even when the input spans more than one exposure condition, instead of one frame per exposure condition. (`#304 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/304>`__)
38
+
39
+
1
40
  v3.0.0 (2026-10-08)
2
41
  ===================
3
42
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 3.1.0rc1
3
+ Version: 3.2.0
4
4
  Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -17,7 +17,7 @@ Requires-Dist: Pillow==10.4.0
17
17
  Requires-Dist: astropy==7.0.2
18
18
  Requires-Dist: dkist-fits-specifications==4.30.0
19
19
  Requires-Dist: dkist-header-validator==6.0.0
20
- Requires-Dist: dkist-processing-common==14.6.0
20
+ Requires-Dist: dkist-processing-common==14.7.0
21
21
  Requires-Dist: dkist-processing-math==2.2.3
22
22
  Requires-Dist: dkist-processing-pac==3.1.2
23
23
  Requires-Dist: dkist-spectral-lines==3.0.1
@@ -71,12 +71,12 @@ Requires-Dist: PyJWT==2.15.1; extra == "frozen"
71
71
  Requires-Dist: PyYAML==6.0.3; extra == "frozen"
72
72
  Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
73
73
  Requires-Dist: Pygments==2.21.0; extra == "frozen"
74
- Requires-Dist: SQLAlchemy==2.1.4; extra == "frozen"
74
+ Requires-Dist: SQLAlchemy==2.1.5; extra == "frozen"
75
75
  Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
76
76
  Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
77
77
  Requires-Dist: aioftp==0.28.3; extra == "frozen"
78
78
  Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
79
- Requires-Dist: aiohttp==3.14.4; extra == "frozen"
79
+ Requires-Dist: aiohttp==3.14.5; extra == "frozen"
80
80
  Requires-Dist: aiosignal==1.4.0; extra == "frozen"
81
81
  Requires-Dist: aiosmtplib==5.1.3; extra == "frozen"
82
82
  Requires-Dist: aiosqlite==0.22.1; extra == "frozen"
@@ -87,13 +87,13 @@ Requires-Dist: annotated-types==0.8.0; extra == "frozen"
87
87
  Requires-Dist: anyio==4.15.1; extra == "frozen"
88
88
  Requires-Dist: apache-airflow==3.3.1; extra == "frozen"
89
89
  Requires-Dist: apache-airflow-core==3.3.1; extra == "frozen"
90
- Requires-Dist: apache-airflow-providers-celery==3.24.1; extra == "frozen"
91
- Requires-Dist: apache-airflow-providers-common-compat==1.20.0; extra == "frozen"
92
- Requires-Dist: apache-airflow-providers-common-io==1.10.0; extra == "frozen"
93
- Requires-Dist: apache-airflow-providers-common-sql==2.2.0; extra == "frozen"
94
- Requires-Dist: apache-airflow-providers-postgres==7.1.0; extra == "frozen"
95
- Requires-Dist: apache-airflow-providers-smtp==3.1.0; extra == "frozen"
96
- Requires-Dist: apache-airflow-providers-standard==1.20.0; extra == "frozen"
90
+ Requires-Dist: apache-airflow-providers-celery==3.25.0; extra == "frozen"
91
+ Requires-Dist: apache-airflow-providers-common-compat==1.22.0; extra == "frozen"
92
+ Requires-Dist: apache-airflow-providers-common-io==1.10.1; extra == "frozen"
93
+ Requires-Dist: apache-airflow-providers-common-sql==2.3.0; extra == "frozen"
94
+ Requires-Dist: apache-airflow-providers-postgres==7.1.1; extra == "frozen"
95
+ Requires-Dist: apache-airflow-providers-smtp==3.1.1; extra == "frozen"
96
+ Requires-Dist: apache-airflow-providers-standard==1.20.1; extra == "frozen"
97
97
  Requires-Dist: apache-airflow-task-sdk==1.3.1; extra == "frozen"
98
98
  Requires-Dist: appnope==1.0.0; extra == "frozen"
99
99
  Requires-Dist: argcomplete==3.7.2; extra == "frozen"
@@ -105,21 +105,21 @@ Requires-Dist: asdf_standard==1.5.0; extra == "frozen"
105
105
  Requires-Dist: asgiref==3.12.1; extra == "frozen"
106
106
  Requires-Dist: asteval==1.0.10; extra == "frozen"
107
107
  Requires-Dist: astropy==7.0.2; extra == "frozen"
108
- Requires-Dist: astropy-iers-data==0.2026.10.5.1.0.7; extra == "frozen"
108
+ Requires-Dist: astropy-iers-data==0.2026.10.19.0.52.1; extra == "frozen"
109
109
  Requires-Dist: asttokens==3.0.2; extra == "frozen"
110
- Requires-Dist: async-lru==2.3.0; extra == "frozen"
110
+ Requires-Dist: async-lru==2.4.0; extra == "frozen"
111
111
  Requires-Dist: asyncpg==0.32.0; extra == "frozen"
112
112
  Requires-Dist: attrs==26.1.0; extra == "frozen"
113
113
  Requires-Dist: babel==2.18.0; extra == "frozen"
114
114
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
115
115
  Requires-Dist: billiard==4.3.1; extra == "frozen"
116
116
  Requires-Dist: bleach==6.4.0; extra == "frozen"
117
- Requires-Dist: boto3==1.43.110; extra == "frozen"
118
- Requires-Dist: botocore==1.43.110; extra == "frozen"
119
- Requires-Dist: cachetools==7.2.1; extra == "frozen"
117
+ Requires-Dist: boto3==1.43.115; extra == "frozen"
118
+ Requires-Dist: botocore==1.43.115; extra == "frozen"
119
+ Requires-Dist: cachetools==7.2.4; extra == "frozen"
120
120
  Requires-Dist: cadwyn==7.0.0; extra == "frozen"
121
121
  Requires-Dist: celery==5.6.3; extra == "frozen"
122
- Requires-Dist: certifi==2026.7.22; extra == "frozen"
122
+ Requires-Dist: certifi==2026.10.18; extra == "frozen"
123
123
  Requires-Dist: cffi==2.1.1; extra == "frozen"
124
124
  Requires-Dist: charset-normalizer==3.5.2; extra == "frozen"
125
125
  Requires-Dist: click==8.5.0; extra == "frozen"
@@ -130,7 +130,7 @@ Requires-Dist: cloudpickle==3.1.2; extra == "frozen"
130
130
  Requires-Dist: colorlog==6.12.0; extra == "frozen"
131
131
  Requires-Dist: comm==0.2.3; extra == "frozen"
132
132
  Requires-Dist: contourpy==1.4.0; extra == "frozen"
133
- Requires-Dist: cron_descriptor==2.1.1; extra == "frozen"
133
+ Requires-Dist: cron_descriptor==2.2.1; extra == "frozen"
134
134
  Requires-Dist: croniter==6.2.4; extra == "frozen"
135
135
  Requires-Dist: cryptography==50.0.2; extra == "frozen"
136
136
  Requires-Dist: cycler==0.12.1; extra == "frozen"
@@ -139,9 +139,9 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
139
139
  Requires-Dist: defusedxml==0.7.1; extra == "frozen"
140
140
  Requires-Dist: dill==0.4.1; extra == "frozen"
141
141
  Requires-Dist: dkist-header-validator==6.0.0; extra == "frozen"
142
- Requires-Dist: dkist-processing-common==14.6.0; extra == "frozen"
142
+ Requires-Dist: dkist-processing-common==14.7.0; extra == "frozen"
143
143
  Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
144
- Requires-Dist: dkist-processing-cryonirsp==3.1.0rc1; extra == "frozen"
144
+ Requires-Dist: dkist-processing-cryonirsp==3.2.0; extra == "frozen"
145
145
  Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
146
146
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
147
147
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
@@ -149,12 +149,12 @@ Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
149
149
  Requires-Dist: dkist_fits_specifications==4.30.0; extra == "frozen"
150
150
  Requires-Dist: dnspython==2.9.0; extra == "frozen"
151
151
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
152
- Requires-Dist: executing==2.2.1; extra == "frozen"
152
+ Requires-Dist: executing==2.3.0; extra == "frozen"
153
153
  Requires-Dist: fastapi==0.136.3; extra == "frozen"
154
154
  Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
155
155
  Requires-Dist: fastjsonschema==2.22.2; extra == "frozen"
156
156
  Requires-Dist: flower==2.2.0; extra == "frozen"
157
- Requires-Dist: fonttools==4.66.1; extra == "frozen"
157
+ Requires-Dist: fonttools==4.67.0; extra == "frozen"
158
158
  Requires-Dist: fqdn==1.6.0; extra == "frozen"
159
159
  Requires-Dist: frozenlist==1.8.0; extra == "frozen"
160
160
  Requires-Dist: fsspec==2026.9.0; extra == "frozen"
@@ -166,7 +166,7 @@ Requires-Dist: greenlet==3.5.6; extra == "frozen"
166
166
  Requires-Dist: grpcio==1.84.0; extra == "frozen"
167
167
  Requires-Dist: h11==0.16.0; extra == "frozen"
168
168
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
169
- Requires-Dist: httptools==0.8.0; extra == "frozen"
169
+ Requires-Dist: httptools==0.9.0; extra == "frozen"
170
170
  Requires-Dist: httpx==0.28.1; extra == "frozen"
171
171
  Requires-Dist: humanize==4.16.0; extra == "frozen"
172
172
  Requires-Dist: idna==3.20; extra == "frozen"
@@ -177,11 +177,11 @@ Requires-Dist: ipython==9.17.1; extra == "frozen"
177
177
  Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
178
178
  Requires-Dist: isoduration==20.11.0; extra == "frozen"
179
179
  Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
180
- Requires-Dist: jedi==0.20.0; extra == "frozen"
180
+ Requires-Dist: jedi==0.20.1; extra == "frozen"
181
181
  Requires-Dist: jmespath==1.1.0; extra == "frozen"
182
182
  Requires-Dist: joblib==1.6.0; extra == "frozen"
183
- Requires-Dist: json5==0.16.0; extra == "frozen"
184
- Requires-Dist: jsonpointer==3.2.0; extra == "frozen"
183
+ Requires-Dist: json5==0.17.3; extra == "frozen"
184
+ Requires-Dist: jsonpointer==3.4; extra == "frozen"
185
185
  Requires-Dist: jsonschema==4.26.0; extra == "frozen"
186
186
  Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
187
187
  Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
@@ -198,7 +198,7 @@ Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
198
198
  Requires-Dist: kombu==5.6.2; extra == "frozen"
199
199
  Requires-Dist: lark==1.3.1; extra == "frozen"
200
200
  Requires-Dist: lazy-loader==0.6; extra == "frozen"
201
- Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
201
+ Requires-Dist: lazy-object-proxy==1.13.0; extra == "frozen"
202
202
  Requires-Dist: libcst==1.9.0; extra == "frozen"
203
203
  Requires-Dist: linkify-it-py==2.2.0; extra == "frozen"
204
204
  Requires-Dist: llvmlite==0.44.0; extra == "frozen"
@@ -210,15 +210,15 @@ Requires-Dist: matplotlib==3.11.2; extra == "frozen"
210
210
  Requires-Dist: matplotlib-inline==0.2.2; extra == "frozen"
211
211
  Requires-Dist: mdurl==0.1.2; extra == "frozen"
212
212
  Requires-Dist: methodtools==0.4.7; extra == "frozen"
213
- Requires-Dist: mistune==3.3.4; extra == "frozen"
214
- Requires-Dist: more-itertools==11.1.0; extra == "frozen"
213
+ Requires-Dist: mistune==3.4.0; extra == "frozen"
214
+ Requires-Dist: more-itertools==11.2.1; extra == "frozen"
215
215
  Requires-Dist: moviepy==2.1.2; extra == "frozen"
216
216
  Requires-Dist: msgspec==0.22.0; extra == "frozen"
217
- Requires-Dist: multidict==6.9.1; extra == "frozen"
218
- Requires-Dist: narwhals==2.26.0; extra == "frozen"
217
+ Requires-Dist: multidict==7.1.0; extra == "frozen"
218
+ Requires-Dist: narwhals==2.27.1; extra == "frozen"
219
219
  Requires-Dist: natsort==8.4.0; extra == "frozen"
220
220
  Requires-Dist: nbclient==0.11.0; extra == "frozen"
221
- Requires-Dist: nbconvert==7.17.1; extra == "frozen"
221
+ Requires-Dist: nbconvert==7.17.2; extra == "frozen"
222
222
  Requires-Dist: nbformat==5.11.1; extra == "frozen"
223
223
  Requires-Dist: nest-asyncio2==1.7.4; extra == "frozen"
224
224
  Requires-Dist: networkx==3.7; extra == "frozen"
@@ -261,13 +261,13 @@ Requires-Dist: parfive==2.3.1; extra == "frozen"
261
261
  Requires-Dist: parso==0.8.7; extra == "frozen"
262
262
  Requires-Dist: pathlib_abc==0.5.2; extra == "frozen"
263
263
  Requires-Dist: pathspec==1.1.1; extra == "frozen"
264
- Requires-Dist: pendulum==3.2.0; extra == "frozen"
264
+ Requires-Dist: pendulum==3.3.0; extra == "frozen"
265
265
  Requires-Dist: pexpect==4.9.0; extra == "frozen"
266
266
  Requires-Dist: pika==1.4.4; extra == "frozen"
267
267
  Requires-Dist: pillow==10.4.0; extra == "frozen"
268
268
  Requires-Dist: pip==26.2.1; extra == "frozen"
269
- Requires-Dist: platformdirs==4.12.4; extra == "frozen"
270
- Requires-Dist: pluggy==1.6.0; extra == "frozen"
269
+ Requires-Dist: platformdirs==4.13.5; extra == "frozen"
270
+ Requires-Dist: pluggy==1.7.0; extra == "frozen"
271
271
  Requires-Dist: pooch==1.9.0; extra == "frozen"
272
272
  Requires-Dist: proglog==0.1.12; extra == "frozen"
273
273
  Requires-Dist: prometheus_client==0.26.0; extra == "frozen"
@@ -281,10 +281,10 @@ Requires-Dist: psycopg2-binary==2.9.13; extra == "frozen"
281
281
  Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
282
282
  Requires-Dist: pure_eval==0.2.4; extra == "frozen"
283
283
  Requires-Dist: pycparser==3.11; extra == "frozen"
284
- Requires-Dist: pydantic==2.14.0; extra == "frozen"
284
+ Requires-Dist: pydantic==2.14.1; extra == "frozen"
285
285
  Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
286
- Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
287
- Requires-Dist: pydantic_core==2.50.0; extra == "frozen"
286
+ Requires-Dist: pydantic-settings==2.16.0; extra == "frozen"
287
+ Requires-Dist: pydantic_core==2.50.1; extra == "frozen"
288
288
  Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
289
289
  Requires-Dist: pygtrie==2.6.2; extra == "frozen"
290
290
  Requires-Dist: pyparsing==3.3.3; extra == "frozen"
@@ -306,7 +306,7 @@ Requires-Dist: rich==15.0.0; extra == "frozen"
306
306
  Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
307
307
  Requires-Dist: rich-toolkit==0.20.6; extra == "frozen"
308
308
  Requires-Dist: rpds-py==2026.9.1; extra == "frozen"
309
- Requires-Dist: s3transfer==0.19.2; extra == "frozen"
309
+ Requires-Dist: s3transfer==0.19.3; extra == "frozen"
310
310
  Requires-Dist: scikit-image==0.25.2; extra == "frozen"
311
311
  Requires-Dist: scikit-learn==1.9.0; extra == "frozen"
312
312
  Requires-Dist: scipy==1.15.3; extra == "frozen"
@@ -316,11 +316,11 @@ Requires-Dist: shellingham==1.5.4; extra == "frozen"
316
316
  Requires-Dist: six==1.17.0; extra == "frozen"
317
317
  Requires-Dist: sniffio==1.3.1; extra == "frozen"
318
318
  Requires-Dist: solar-wavelength-calibration==2.0.4; extra == "frozen"
319
- Requires-Dist: soupsieve==2.10; extra == "frozen"
319
+ Requires-Dist: soupsieve==3.0.3; extra == "frozen"
320
320
  Requires-Dist: sqids==0.5.1; extra == "frozen"
321
321
  Requires-Dist: sqlparse==0.6.0; extra == "frozen"
322
322
  Requires-Dist: stack-data==0.6.3; extra == "frozen"
323
- Requires-Dist: starlette==1.7.0; extra == "frozen"
323
+ Requires-Dist: starlette==1.9.0; extra == "frozen"
324
324
  Requires-Dist: structlog==26.1.0; extra == "frozen"
325
325
  Requires-Dist: sunpy==6.1.1; extra == "frozen"
326
326
  Requires-Dist: svcs==26.2.0; extra == "frozen"
@@ -331,7 +331,7 @@ Requires-Dist: termcolor==3.3.0; extra == "frozen"
331
331
  Requires-Dist: terminado==0.18.1; extra == "frozen"
332
332
  Requires-Dist: text-unidecode==1.3; extra == "frozen"
333
333
  Requires-Dist: threadpoolctl==3.7.0; extra == "frozen"
334
- Requires-Dist: tifffile==2026.9.20; extra == "frozen"
334
+ Requires-Dist: tifffile==2026.10.15; extra == "frozen"
335
335
  Requires-Dist: tinycss2==1.5.1; extra == "frozen"
336
336
  Requires-Dist: tornado==6.5.10; extra == "frozen"
337
337
  Requires-Dist: tqdm==4.70.1; extra == "frozen"
@@ -355,9 +355,9 @@ Requires-Dist: wcwidth==0.9.2; extra == "frozen"
355
355
  Requires-Dist: webcolors==25.10.0; extra == "frozen"
356
356
  Requires-Dist: webencodings==0.6.1; extra == "frozen"
357
357
  Requires-Dist: websocket-client==1.9.2; extra == "frozen"
358
- Requires-Dist: websockets==17.2; extra == "frozen"
358
+ Requires-Dist: websockets==17.3; extra == "frozen"
359
359
  Requires-Dist: wirerope==1.0.0; extra == "frozen"
360
- Requires-Dist: wrapt==2.5.0; extra == "frozen"
360
+ Requires-Dist: wrapt==2.5.1; extra == "frozen"
361
361
  Requires-Dist: yamale==6.1.0; extra == "frozen"
362
362
  Requires-Dist: yarl==1.25.1; extra == "frozen"
363
363
  Requires-Dist: zipp==4.1.1; extra == "frozen"
@@ -491,7 +491,7 @@ Development
491
491
  -----------
492
492
  .. code-block:: bash
493
493
 
494
- git clone git@bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
494
+ git clone git@ssh.bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
495
495
  cd dkist-processing-cryonirsp
496
496
  pre-commit install
497
497
  pip install -e .[test]
@@ -127,7 +127,7 @@ Development
127
127
  -----------
128
128
  .. code-block:: bash
129
129
 
130
- git clone git@bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
130
+ git clone git@ssh.bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
131
131
  cd dkist-processing-cryonirsp
132
132
  pre-commit install
133
133
  pip install -e .[test]
@@ -7,7 +7,6 @@ from dkist_processing_cryonirsp.tasks.ci_science import *
7
7
  from dkist_processing_cryonirsp.tasks.dark import *
8
8
  from dkist_processing_cryonirsp.tasks.gain import *
9
9
  from dkist_processing_cryonirsp.tasks.instrument_polarization import *
10
- from dkist_processing_cryonirsp.tasks.l1_output_data import *
11
10
  from dkist_processing_cryonirsp.tasks.linearity_correction import *
12
11
  from dkist_processing_cryonirsp.tasks.make_movie_frames import *
13
12
  from dkist_processing_cryonirsp.tasks.parse import *
@@ -214,7 +214,7 @@ class GainCalibrationBase(CryonirspTaskBase):
214
214
  exposure conditions are already on a common scale and can be averaged directly, with no
215
215
  further exposure-time normalization here.
216
216
 
217
- For gain types whose final output is normalized (e.g., lamp gain), the averaged array is
217
+ For gain types whose final output is normalized (e.g., lamp gain) the averaged array is
218
218
  then normalized to a mean of 1. For gain types that preserve their original signal scale
219
219
  (e.g., solar gain), the averaged array is returned as-is, since it's already on the
220
220
  correct counts-per-second scale.
@@ -5,7 +5,6 @@ from abc import abstractmethod
5
5
  from collections import defaultdict
6
6
 
7
7
  import numpy as np
8
- from astropy.io import fits
9
8
  from dkist_processing_common.codecs.fits import fits_array_encoder
10
9
  from dkist_processing_common.models.task_name import TaskName
11
10
  from dkist_processing_math.arithmetic import divide_arrays_by_array
@@ -507,7 +506,7 @@ class CIInstrumentPolarizationCalibration(InstrumentPolarizationCalibrationBase)
507
506
 
508
507
  def record_polcal_quality_metrics(self, beam: int, polcal_fitter: PolcalFitter):
509
508
  """Record various quality metrics from PolCal fits."""
510
- self.quality_store_polcal_results(
509
+ self.quality_metrics_polcal(
511
510
  polcal_fitter=polcal_fitter,
512
511
  label=generate_polcal_quality_label(arm="CI", beam=beam),
513
512
  bin_nums=[
@@ -528,7 +527,7 @@ class SPInstrumentPolarizationCalibration(InstrumentPolarizationCalibrationBase)
528
527
  polcal_fitter: PolcalFitter,
529
528
  ) -> None:
530
529
  """Record various quality metrics from PolCal fits."""
531
- self.quality_store_polcal_results(
530
+ self.quality_metrics_polcal(
532
531
  polcal_fitter=polcal_fitter,
533
532
  label=generate_polcal_quality_label(arm="SP", beam=beam),
534
533
  bin_nums=[
@@ -536,10 +535,6 @@ class SPInstrumentPolarizationCalibration(InstrumentPolarizationCalibrationBase)
536
535
  self.parameters.polcal_num_spectral_bins,
537
536
  ],
538
537
  bin_labels=["spatial", "spectral"],
539
- ## This is a bit of a hack and thus needs some explanation
540
- # By using the ``skip_recording_constant_pars`` switch we DON'T record the "polcal constant parameters" metric
541
- # for beam 2. This is because both beam 1 and beam 2 will have the same table. The way `*-common` is built
542
- # it will look for all metrics for both beam 1 and beam 2 so if we did save that metric for beam 2 then the
543
- # table would show up twice in the quality report. The following line avoids that.
538
+ # Both beams use the same constant parameters; record the table once.
544
539
  skip_recording_constant_pars=beam != 1,
545
540
  )
@@ -7,6 +7,7 @@ from pathlib import Path
7
7
  from astropy.io import fits
8
8
  from dkist_header_validator import spec214_validator
9
9
  from dkist_processing_common.manual import ManualProcessing
10
+ from dkist_processing_common.tasks import AssembleQualityData
10
11
  from dkist_processing_common.tasks import CreateTrialAsdf
11
12
  from dkist_processing_common.tasks import CreateTrialQualityReport
12
13
  from dkist_processing_common.tasks import QualityL1Metrics
@@ -30,8 +31,6 @@ from dkist_processing_cryonirsp.tasks.instrument_polarization import (
30
31
  from dkist_processing_cryonirsp.tasks.instrument_polarization import (
31
32
  SPInstrumentPolarizationCalibration,
32
33
  )
33
- from dkist_processing_cryonirsp.tasks.l1_output_data import CIAssembleQualityData
34
- from dkist_processing_cryonirsp.tasks.l1_output_data import SPAssembleQualityData
35
34
  from dkist_processing_cryonirsp.tasks.linearity_correction import LinearityCorrection
36
35
  from dkist_processing_cryonirsp.tasks.make_movie_frames import MakeCryonirspMovieFrames
37
36
  from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspCILinearizedData
@@ -469,10 +468,7 @@ def main(
469
468
 
470
469
  manual_processing_run.run_task(task=QualityL1Metrics)
471
470
 
472
- if arm_id == "SP":
473
- manual_processing_run.run_task(task=SPAssembleQualityData)
474
- elif arm_id == "CI":
475
- manual_processing_run.run_task(task=CIAssembleQualityData)
471
+ manual_processing_run.run_task(task=AssembleQualityData)
476
472
 
477
473
  manual_processing_run.run_task(task=ValidateL1Output)
478
474
 
@@ -200,7 +200,7 @@ def ci_instrument_polarization_calibration_task(
200
200
 
201
201
  # Don't test place-holder QA stuff for now
202
202
  quality_metric_mocker = mocker.patch(
203
- "dkist_processing_cryonirsp.tasks.instrument_polarization.CIInstrumentPolarizationCalibration.quality_store_polcal_results",
203
+ "dkist_processing_cryonirsp.tasks.instrument_polarization.CIInstrumentPolarizationCalibration.quality_metrics_polcal",
204
204
  autospec=True,
205
205
  )
206
206
 
@@ -299,7 +299,7 @@ def sp_instrument_polarization_calibration_task(
299
299
 
300
300
  # Don't test place-holder QA stuff for now
301
301
  quality_metric_mocker = mocker.patch(
302
- "dkist_processing_cryonirsp.tasks.instrument_polarization.SPInstrumentPolarizationCalibration.quality_store_polcal_results",
302
+ "dkist_processing_cryonirsp.tasks.instrument_polarization.SPInstrumentPolarizationCalibration.quality_metrics_polcal",
303
303
  autospec=True,
304
304
  )
305
305
 
@@ -1,5 +1,6 @@
1
1
  """Cryo CI raw data processing workflow."""
2
2
 
3
+ from dkist_processing_common.tasks import AssembleQualityData
3
4
  from dkist_processing_common.tasks import PublishCatalogAndQualityMessages
4
5
  from dkist_processing_common.tasks import QualityL1Metrics
5
6
  from dkist_processing_common.tasks import SubmitDatasetMetadata
@@ -11,7 +12,6 @@ from dkist_processing_core import Workflow
11
12
 
12
13
  from dkist_processing_cryonirsp.tasks import AssembleCryonirspMovie
13
14
  from dkist_processing_cryonirsp.tasks import BadPixelMapCalibration
14
- from dkist_processing_cryonirsp.tasks import CIAssembleQualityData
15
15
  from dkist_processing_cryonirsp.tasks import CIInstrumentPolarizationCalibration
16
16
  from dkist_processing_cryonirsp.tasks import CIPolcalAsScienceCalibration
17
17
  from dkist_processing_cryonirsp.tasks import CIScienceCalibration
@@ -64,7 +64,7 @@ l0_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFr
64
64
  l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData)
65
65
  l0_pipeline.add_node(task=QualityL1Metrics, upstreams=CIScienceCalibration)
66
66
  l0_pipeline.add_node(
67
- task=CIAssembleQualityData,
67
+ task=AssembleQualityData,
68
68
  upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics],
69
69
  )
70
70
 
@@ -75,7 +75,7 @@ l0_pipeline.add_node(
75
75
  CIWriteL1Frame,
76
76
  CryonirspWriteL1DatasetExtras,
77
77
  AssembleCryonirspMovie,
78
- CIAssembleQualityData,
78
+ AssembleQualityData,
79
79
  ],
80
80
  )
81
81
  l0_pipeline.add_node(
@@ -84,7 +84,7 @@ l0_pipeline.add_node(
84
84
  CIWriteL1Frame,
85
85
  CryonirspWriteL1DatasetExtras,
86
86
  AssembleCryonirspMovie,
87
- CIAssembleQualityData,
87
+ AssembleQualityData,
88
88
  ],
89
89
  )
90
90
  l0_pipeline.add_node(
@@ -1,5 +1,6 @@
1
1
  """Cryo SP raw data processing workflow."""
2
2
 
3
+ from dkist_processing_common.tasks import AssembleQualityData
3
4
  from dkist_processing_common.tasks import PublishCatalogAndQualityMessages
4
5
  from dkist_processing_common.tasks import QualityL1Metrics
5
6
  from dkist_processing_common.tasks import SubmitDatasetMetadata
@@ -19,7 +20,6 @@ from dkist_processing_cryonirsp.tasks import LinearityCorrection
19
20
  from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
20
21
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
21
22
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspSPLinearizedData
22
- from dkist_processing_cryonirsp.tasks import SPAssembleQualityData
23
23
  from dkist_processing_cryonirsp.tasks import SPGeometricCalibration
24
24
  from dkist_processing_cryonirsp.tasks import SPInstrumentPolarizationCalibration
25
25
  from dkist_processing_cryonirsp.tasks import SPPolcalAsScienceCalibration
@@ -73,7 +73,7 @@ l0_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFr
73
73
  l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData)
74
74
  l0_pipeline.add_node(task=QualityL1Metrics, upstreams=SPScienceCalibration)
75
75
  l0_pipeline.add_node(
76
- task=SPAssembleQualityData,
76
+ task=AssembleQualityData,
77
77
  upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics],
78
78
  )
79
79
 
@@ -84,7 +84,7 @@ l0_pipeline.add_node(
84
84
  SPWriteL1Frame,
85
85
  CryonirspWriteL1DatasetExtras,
86
86
  AssembleCryonirspMovie,
87
- SPAssembleQualityData,
87
+ AssembleQualityData,
88
88
  ],
89
89
  )
90
90
  l0_pipeline.add_node(
@@ -93,7 +93,7 @@ l0_pipeline.add_node(
93
93
  SPWriteL1Frame,
94
94
  CryonirspWriteL1DatasetExtras,
95
95
  AssembleCryonirspMovie,
96
- SPAssembleQualityData,
96
+ AssembleQualityData,
97
97
  ],
98
98
  )
99
99
  l0_pipeline.add_node(
@@ -1,5 +1,6 @@
1
1
  """Workflows for trial runs (i.e., not Production)."""
2
2
 
3
+ from dkist_processing_common.tasks import AssembleQualityData
3
4
  from dkist_processing_common.tasks import CreateTrialAsdf
4
5
  from dkist_processing_common.tasks import CreateTrialDatasetInventory
5
6
  from dkist_processing_common.tasks import CreateTrialQualityReport
@@ -12,7 +13,6 @@ from dkist_processing_core import Workflow
12
13
 
13
14
  from dkist_processing_cryonirsp.tasks import AssembleCryonirspMovie
14
15
  from dkist_processing_cryonirsp.tasks import BadPixelMapCalibration
15
- from dkist_processing_cryonirsp.tasks import CIAssembleQualityData
16
16
  from dkist_processing_cryonirsp.tasks import CIInstrumentPolarizationCalibration
17
17
  from dkist_processing_cryonirsp.tasks import CIPolcalAsScienceCalibration
18
18
  from dkist_processing_cryonirsp.tasks import CIScienceCalibration
@@ -28,7 +28,6 @@ from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
28
28
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspCILinearizedData
29
29
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
30
30
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspSPLinearizedData
31
- from dkist_processing_cryonirsp.tasks import SPAssembleQualityData
32
31
  from dkist_processing_cryonirsp.tasks import SPGeometricCalibration
33
32
  from dkist_processing_cryonirsp.tasks import SPInstrumentPolarizationCalibration
34
33
  from dkist_processing_cryonirsp.tasks import SPPolcalAsScienceCalibration
@@ -87,14 +86,14 @@ full_trial_ci_pipeline.add_node(
87
86
  )
88
87
  full_trial_ci_pipeline.add_node(task=QualityL1Metrics, upstreams=CIScienceCalibration)
89
88
  full_trial_ci_pipeline.add_node(
90
- task=CIAssembleQualityData,
89
+ task=AssembleQualityData,
91
90
  upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics],
92
91
  )
93
92
 
94
93
  # Trial data generation
95
94
  full_trial_ci_pipeline.add_node(
96
95
  task=CreateTrialDatasetInventory,
97
- upstreams=[CIWriteL1Frame, CryonirspWriteL1DatasetExtras, CIAssembleQualityData],
96
+ upstreams=[CIWriteL1Frame, CryonirspWriteL1DatasetExtras, AssembleQualityData],
98
97
  pip_extras=["inventory"],
99
98
  )
100
99
  full_trial_ci_pipeline.add_node(
@@ -104,7 +103,7 @@ full_trial_ci_pipeline.add_node(
104
103
  )
105
104
  full_trial_ci_pipeline.add_node(
106
105
  task=CreateTrialQualityReport,
107
- upstreams=CIAssembleQualityData,
106
+ upstreams=AssembleQualityData,
108
107
  pip_extras=["quality", "inventory"],
109
108
  )
110
109
 
@@ -180,14 +179,14 @@ full_trial_sp_pipeline.add_node(
180
179
  )
181
180
  full_trial_sp_pipeline.add_node(task=QualityL1Metrics, upstreams=SPScienceCalibration)
182
181
  full_trial_sp_pipeline.add_node(
183
- task=SPAssembleQualityData,
182
+ task=AssembleQualityData,
184
183
  upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics],
185
184
  )
186
185
 
187
186
  # Trial data generation
188
187
  full_trial_sp_pipeline.add_node(
189
188
  task=CreateTrialDatasetInventory,
190
- upstreams=[SPWriteL1Frame, CryonirspWriteL1DatasetExtras, SPAssembleQualityData],
189
+ upstreams=[SPWriteL1Frame, CryonirspWriteL1DatasetExtras, AssembleQualityData],
191
190
  pip_extras=["inventory"],
192
191
  )
193
192
  full_trial_sp_pipeline.add_node(
@@ -197,7 +196,7 @@ full_trial_sp_pipeline.add_node(
197
196
  )
198
197
  full_trial_sp_pipeline.add_node(
199
198
  task=CreateTrialQualityReport,
200
- upstreams=SPAssembleQualityData,
199
+ upstreams=AssembleQualityData,
201
200
  pip_extras=["quality", "inventory"],
202
201
  )
203
202