dkist-processing-cryonirsp 1.19.18__tar.gz → 2.0.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-2.0.0/.snyk +13 -0
  2. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/CHANGELOG.rst +37 -0
  3. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/PKG-INFO +80 -76
  4. dkist_processing_cryonirsp-2.0.0/SCIENCE_CHANGELOG.rst +39 -0
  5. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/parameters.py +25 -0
  6. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +15 -2
  7. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/sp_geometric.py +171 -88
  8. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/conftest.py +38 -4
  9. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +24 -5
  10. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +24 -5
  11. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +22 -3
  12. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +54 -1
  13. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +99 -8
  14. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_parameters.py +17 -3
  15. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp.egg-info/PKG-INFO +80 -76
  16. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +2 -0
  17. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp.egg-info/requires.txt +79 -75
  18. dkist_processing_cryonirsp-2.0.0/dkist_processing_cryonirsp.egg-info/scm_file_list.json +131 -0
  19. dkist_processing_cryonirsp-2.0.0/dkist_processing_cryonirsp.egg-info/scm_version.json +8 -0
  20. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/pyproject.toml +81 -77
  21. dkist_processing_cryonirsp-1.19.18/.snyk +0 -2
  22. dkist_processing_cryonirsp-1.19.18/SCIENCE_CHANGELOG.rst +0 -25
  23. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/.gitignore +0 -0
  24. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/.pre-commit-config.yaml +0 -0
  25. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/.readthedocs.yml +0 -0
  26. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/.rovodev/.review-agent.md +0 -0
  27. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/README.rst +0 -0
  28. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/bitbucket-pipelines.yml +0 -0
  29. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/changelog/.gitempty +0 -0
  30. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/__init__.py +0 -0
  31. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
  32. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
  33. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/config.py +0 -0
  34. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  35. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
  36. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/constants.py +0 -0
  37. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/dataset_extras.py +0 -0
  38. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  39. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/fits_access.py +0 -0
  40. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/tags.py +0 -0
  41. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  42. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  43. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
  44. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  45. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  46. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  47. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  48. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  49. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  50. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  51. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  52. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  53. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  54. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  55. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  56. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  57. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  58. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  59. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  60. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  61. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  62. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  63. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  64. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  65. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  66. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  67. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  68. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  69. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  70. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/polcal_as_science.py +0 -0
  71. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  72. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  73. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  74. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  75. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  76. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
  77. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/write_dataset_extras.py +0 -0
  78. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  79. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  80. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  81. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  82. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  83. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
  84. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  85. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  86. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  87. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  88. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  89. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  90. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  91. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_fits_access.py +0 -0
  92. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  93. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  94. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  95. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
  96. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_polcal_as_science.py +0 -0
  97. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  98. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  99. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  100. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  101. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  102. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  103. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +0 -0
  104. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
  105. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  106. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_write_dataset_extras.py +0 -0
  107. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  108. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  109. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
  110. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
  111. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
  112. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  113. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  114. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/Makefile +0 -0
  115. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/bad_pixel_calibration.rst +0 -0
  116. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/beam_angle_calculation.rst +0 -0
  117. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/beam_boundary_computation.rst +0 -0
  118. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/changelog.rst +0 -0
  119. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/ci_science_calibration.rst +0 -0
  120. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/conf.py +0 -0
  121. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/dataset_extras.rst +0 -0
  122. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/index.rst +0 -0
  123. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
  124. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  125. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
  126. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  127. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/landing_page.rst +0 -0
  128. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/linearization.rst +0 -0
  129. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/make.bat +0 -0
  130. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/requirements.txt +0 -0
  131. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/requirements_table.rst +0 -0
  132. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/scientific_changelog.rst +0 -0
  133. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/sp_science_calibration.rst +0 -0
  134. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/docs/wavelength_calibration.rst +0 -0
  135. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/licenses/LICENSE.rst +0 -0
  136. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/science_towncrier.sh +0 -0
  137. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/setup.cfg +0 -0
  138. {dkist_processing_cryonirsp-1.19.18 → dkist_processing_cryonirsp-2.0.0}/towncrier_science.toml +0 -0
@@ -0,0 +1,13 @@
1
+ # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities
2
+ # https://docs.snyk.io/manage-risk/policies/the-.snyk-file#syntax-of-the-.snyk-file
3
+ version: v1.25.0
4
+ ignore:
5
+ SNYK-PYTHON-APACHEAIRFLOWCORE-17879182:
6
+ - "*" :
7
+ reason: 'Patched in Airflow 3.3.0, but we are not ready to upgrade till 3.3.1 or later'
8
+ expires: '2027-07-07T00:00:00.000Z'
9
+ SNYK-PYTHON-APACHEAIRFLOWCORE-17933331:
10
+ - '*':
11
+ reason: 'Ignored by bulk CI/CD Snyk policy update'
12
+ expires: '2099-12-31T23:59:59.999Z'
13
+ created: '2026-07-10T15:53:27.931Z'
@@ -1,3 +1,40 @@
1
+ v2.0.0 (2026-07-17)
2
+ ===================
3
+
4
+ Features
5
+ --------
6
+
7
+ - Compute spectral shift calculations on smoothed/filtered spectral derivatives of the reference and target spectra. This
8
+ amplifies the spectral signal and greatly improves the accuracy of the individual shift measurements. (`#292 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/292>`__)
9
+ - The calculation of a single spectral shift is now *only* via interpolation of the correlation signal between the reference
10
+ and target spectra. Previously a second refinement of this value was done via a chi-squared minimization, but this was shown
11
+ to increase noise with no increase in accuracy. (`#292 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/292>`__)
12
+
13
+
14
+ Bugfixes
15
+ --------
16
+
17
+ - Filter out non-finite values and use `resize_arrays_local_mean` to average arrays in the instrument polarization
18
+ task instead of `resize_arrays`. With an output shape of `(1,1)`, `resize_arrays` returns the center pixel. (`#290 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/290>`__)
19
+
20
+
21
+ Misc
22
+ ----
23
+
24
+ - Add option to all local trial workflows (``--parameter-doc``) that uses an existing input dataset parameter-part document
25
+ to populate the parameters during a local run. This is an easy way for a user to run a pipeline locally using the exact
26
+ parameters used in production. (`#292 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/292>`__)
27
+
28
+
29
+ v1.19.19 (2026-06-22)
30
+ =====================
31
+
32
+ Bugfixes
33
+ --------
34
+
35
+ - Harden writing statistics headers in the case where the data is very similar causing the kurtosis or skew calculations to return NaN. (`#294 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/294>`__)
36
+
37
+
1
38
  v1.19.18 (2026-06-18)
2
39
  =====================
3
40
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 1.19.18
3
+ Version: 2.0.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.28.0
19
19
  Requires-Dist: dkist-header-validator==5.4.0
20
- Requires-Dist: dkist-processing-common==14.3.3
20
+ Requires-Dist: dkist-processing-common==14.3.4
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
@@ -29,6 +29,7 @@ Requires-Dist: numba==0.61.2
29
29
  Requires-Dist: numpy==2.2.5
30
30
  Requires-Dist: peakutils==1.3.5
31
31
  Requires-Dist: scikit-image==0.25.2
32
+ Requires-Dist: scikit-learn==1.9.0
32
33
  Requires-Dist: scipy==1.15.3
33
34
  Requires-Dist: sunpy==6.1.1
34
35
  Provides-Extra: test
@@ -75,38 +76,37 @@ Requires-Dist: SQLAlchemy==2.0.51; extra == "frozen"
75
76
  Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
76
77
  Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
77
78
  Requires-Dist: aioftp==0.27.2; extra == "frozen"
78
- Requires-Dist: aiohappyeyeballs==2.6.2; extra == "frozen"
79
+ Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
79
80
  Requires-Dist: aiohttp==3.14.1; extra == "frozen"
80
81
  Requires-Dist: aiosignal==1.4.0; extra == "frozen"
81
- Requires-Dist: aiosmtplib==5.1.1; extra == "frozen"
82
+ Requires-Dist: aiosmtplib==5.1.2; extra == "frozen"
82
83
  Requires-Dist: aiosqlite==0.21.0; extra == "frozen"
83
- Requires-Dist: alembic==1.18.4; extra == "frozen"
84
+ Requires-Dist: alembic==1.18.5; extra == "frozen"
84
85
  Requires-Dist: amqp==5.3.1; extra == "frozen"
85
86
  Requires-Dist: annotated-doc==0.0.4; extra == "frozen"
86
87
  Requires-Dist: annotated-types==0.7.0; extra == "frozen"
87
- Requires-Dist: anyio==4.14.0; extra == "frozen"
88
+ Requires-Dist: anyio==4.14.2; extra == "frozen"
88
89
  Requires-Dist: apache-airflow==3.2.1; extra == "frozen"
89
90
  Requires-Dist: apache-airflow-core==3.2.1; extra == "frozen"
90
- Requires-Dist: apache-airflow-providers-celery==3.20.0; extra == "frozen"
91
- Requires-Dist: apache-airflow-providers-common-compat==1.15.0; extra == "frozen"
92
- Requires-Dist: apache-airflow-providers-common-io==1.7.3; extra == "frozen"
93
- Requires-Dist: apache-airflow-providers-common-sql==2.0.1; extra == "frozen"
94
- Requires-Dist: apache-airflow-providers-postgres==6.7.1; extra == "frozen"
95
- Requires-Dist: apache-airflow-providers-smtp==3.0.1; extra == "frozen"
96
- Requires-Dist: apache-airflow-providers-standard==1.14.0; extra == "frozen"
91
+ Requires-Dist: apache-airflow-providers-celery==3.22.0; extra == "frozen"
92
+ Requires-Dist: apache-airflow-providers-common-compat==1.16.0; extra == "frozen"
93
+ Requires-Dist: apache-airflow-providers-common-io==1.8.0; extra == "frozen"
94
+ Requires-Dist: apache-airflow-providers-common-sql==2.0.2; extra == "frozen"
95
+ Requires-Dist: apache-airflow-providers-postgres==6.8.0; extra == "frozen"
96
+ Requires-Dist: apache-airflow-providers-smtp==3.0.2; extra == "frozen"
97
+ Requires-Dist: apache-airflow-providers-standard==1.16.0; extra == "frozen"
97
98
  Requires-Dist: apache-airflow-task-sdk==1.2.1; extra == "frozen"
98
- Requires-Dist: appnope==0.1.4; extra == "frozen"
99
- Requires-Dist: argcomplete==3.6.3; extra == "frozen"
99
+ Requires-Dist: argcomplete==3.7.0; extra == "frozen"
100
100
  Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
101
101
  Requires-Dist: argon2-cffi-bindings==25.1.0; extra == "frozen"
102
102
  Requires-Dist: arrow==1.4.0; extra == "frozen"
103
103
  Requires-Dist: asdf==5.3.1; extra == "frozen"
104
104
  Requires-Dist: asdf_standard==1.5.0; extra == "frozen"
105
- Requires-Dist: asgiref==3.11.1; extra == "frozen"
105
+ Requires-Dist: asgiref==3.12.1; extra == "frozen"
106
106
  Requires-Dist: asteval==1.0.9; extra == "frozen"
107
107
  Requires-Dist: astropy==7.0.2; extra == "frozen"
108
- Requires-Dist: astropy-iers-data==0.2026.6.15.15.33.16; extra == "frozen"
109
- Requires-Dist: asttokens==3.0.1; extra == "frozen"
108
+ Requires-Dist: astropy-iers-data==0.2026.7.13.0.54.2; extra == "frozen"
109
+ Requires-Dist: asttokens==3.0.2; extra == "frozen"
110
110
  Requires-Dist: async-lru==2.3.0; extra == "frozen"
111
111
  Requires-Dist: asyncpg==0.31.0; extra == "frozen"
112
112
  Requires-Dist: attrs==26.1.0; extra == "frozen"
@@ -114,22 +114,22 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
114
114
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
115
115
  Requires-Dist: billiard==4.2.4; extra == "frozen"
116
116
  Requires-Dist: bleach==6.4.0; extra == "frozen"
117
- Requires-Dist: boto3==1.43.32; extra == "frozen"
118
- Requires-Dist: botocore==1.43.32; extra == "frozen"
117
+ Requires-Dist: boto3==1.43.50; extra == "frozen"
118
+ Requires-Dist: botocore==1.43.50; extra == "frozen"
119
119
  Requires-Dist: cadwyn==7.1.0; extra == "frozen"
120
120
  Requires-Dist: celery==5.6.3; extra == "frozen"
121
121
  Requires-Dist: certifi==2026.6.17; extra == "frozen"
122
- Requires-Dist: cffi==2.0.0; extra == "frozen"
123
- Requires-Dist: charset-normalizer==3.4.7; extra == "frozen"
124
- Requires-Dist: click==8.4.1; extra == "frozen"
122
+ Requires-Dist: cffi==2.1.0; extra == "frozen"
123
+ Requires-Dist: charset-normalizer==3.4.9; extra == "frozen"
124
+ Requires-Dist: click==8.4.2; extra == "frozen"
125
125
  Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
126
126
  Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
127
127
  Requires-Dist: click-repl==0.3.0; extra == "frozen"
128
- Requires-Dist: colorlog==6.10.1; extra == "frozen"
128
+ Requires-Dist: colorlog==6.11.0; extra == "frozen"
129
129
  Requires-Dist: comm==0.2.3; extra == "frozen"
130
130
  Requires-Dist: contourpy==1.3.3; extra == "frozen"
131
131
  Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
132
- Requires-Dist: croniter==6.2.2; extra == "frozen"
132
+ Requires-Dist: croniter==6.2.4; extra == "frozen"
133
133
  Requires-Dist: cryptography==49.0.0; extra == "frozen"
134
134
  Requires-Dist: cycler==0.12.1; extra == "frozen"
135
135
  Requires-Dist: debugpy==1.8.21; extra == "frozen"
@@ -137,9 +137,9 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
137
137
  Requires-Dist: defusedxml==0.7.1; extra == "frozen"
138
138
  Requires-Dist: dill==0.4.1; extra == "frozen"
139
139
  Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
140
- Requires-Dist: dkist-processing-common==14.3.3; extra == "frozen"
140
+ Requires-Dist: dkist-processing-common==14.3.4; extra == "frozen"
141
141
  Requires-Dist: dkist-processing-core==7.3.0; extra == "frozen"
142
- Requires-Dist: dkist-processing-cryonirsp==1.19.18; extra == "frozen"
142
+ Requires-Dist: dkist-processing-cryonirsp==2.0.0; extra == "frozen"
143
143
  Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
144
144
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
145
145
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
@@ -148,8 +148,8 @@ Requires-Dist: dkist_fits_specifications==4.28.0; extra == "frozen"
148
148
  Requires-Dist: dnspython==2.8.0; extra == "frozen"
149
149
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
150
150
  Requires-Dist: executing==2.2.1; extra == "frozen"
151
- Requires-Dist: fastapi==0.137.2; extra == "frozen"
152
- Requires-Dist: fastapi-cli==0.0.27; extra == "frozen"
151
+ Requires-Dist: fastapi==0.139.2; extra == "frozen"
152
+ Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
153
153
  Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
154
154
  Requires-Dist: flower==2.0.1; extra == "frozen"
155
155
  Requires-Dist: fonttools==4.63.0; extra == "frozen"
@@ -160,35 +160,36 @@ Requires-Dist: globus-sdk==4.8.1; extra == "frozen"
160
160
  Requires-Dist: googleapis-common-protos==1.75.0; extra == "frozen"
161
161
  Requires-Dist: gqlclient==2.0.0; extra == "frozen"
162
162
  Requires-Dist: greenback==1.3.0; extra == "frozen"
163
- Requires-Dist: greenlet==3.5.2; extra == "frozen"
164
- Requires-Dist: grpcio==1.81.1; extra == "frozen"
163
+ Requires-Dist: greenlet==3.5.3; extra == "frozen"
164
+ Requires-Dist: grpcio==1.82.1; extra == "frozen"
165
165
  Requires-Dist: h11==0.16.0; extra == "frozen"
166
166
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
167
167
  Requires-Dist: httptools==0.8.0; extra == "frozen"
168
168
  Requires-Dist: httpx==0.28.1; extra == "frozen"
169
- Requires-Dist: humanize==4.15.0; extra == "frozen"
169
+ Requires-Dist: humanize==4.16.0; extra == "frozen"
170
170
  Requires-Dist: idna==3.18; extra == "frozen"
171
171
  Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
172
172
  Requires-Dist: importlib_metadata==9.0.0; extra == "frozen"
173
173
  Requires-Dist: ipykernel==7.3.0; extra == "frozen"
174
- Requires-Dist: ipython==9.14.1; extra == "frozen"
174
+ Requires-Dist: ipython==9.15.0; extra == "frozen"
175
175
  Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
176
176
  Requires-Dist: isoduration==20.11.0; extra == "frozen"
177
177
  Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
178
178
  Requires-Dist: jedi==0.20.0; extra == "frozen"
179
179
  Requires-Dist: jmespath==1.1.0; extra == "frozen"
180
- Requires-Dist: json5==0.14.0; extra == "frozen"
180
+ Requires-Dist: joblib==1.5.3; extra == "frozen"
181
+ Requires-Dist: json5==0.15.0; extra == "frozen"
181
182
  Requires-Dist: jsonpointer==3.1.1; extra == "frozen"
182
183
  Requires-Dist: jsonschema==4.26.0; extra == "frozen"
183
184
  Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
184
185
  Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
185
186
  Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
186
- Requires-Dist: jupyter_builder==1.0.2; extra == "frozen"
187
+ Requires-Dist: jupyter_builder==1.1.1; extra == "frozen"
187
188
  Requires-Dist: jupyter_client==8.9.1; extra == "frozen"
188
189
  Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
189
190
  Requires-Dist: jupyter_server==2.20.0; extra == "frozen"
190
191
  Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
191
- Requires-Dist: jupyterlab==4.6.0; extra == "frozen"
192
+ Requires-Dist: jupyterlab==4.6.1; extra == "frozen"
192
193
  Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
193
194
  Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
194
195
  Requires-Dist: kiwisolver==1.5.0; extra == "frozen"
@@ -208,11 +209,12 @@ Requires-Dist: matplotlib==3.11.0; extra == "frozen"
208
209
  Requires-Dist: matplotlib-inline==0.2.2; extra == "frozen"
209
210
  Requires-Dist: mdurl==0.1.2; extra == "frozen"
210
211
  Requires-Dist: methodtools==0.4.7; extra == "frozen"
211
- Requires-Dist: mistune==3.2.1; extra == "frozen"
212
+ Requires-Dist: mistune==3.3.3; extra == "frozen"
212
213
  Requires-Dist: more-itertools==11.1.0; extra == "frozen"
213
214
  Requires-Dist: moviepy==2.1.2; extra == "frozen"
214
215
  Requires-Dist: msgspec==0.21.1; extra == "frozen"
215
216
  Requires-Dist: multidict==6.7.1; extra == "frozen"
217
+ Requires-Dist: narwhals==2.24.0; extra == "frozen"
216
218
  Requires-Dist: natsort==8.4.0; extra == "frozen"
217
219
  Requires-Dist: nbclient==0.11.0; extra == "frozen"
218
220
  Requires-Dist: nbconvert==7.17.1; extra == "frozen"
@@ -224,30 +226,30 @@ Requires-Dist: notebook_shim==0.2.4; extra == "frozen"
224
226
  Requires-Dist: numba==0.61.2; extra == "frozen"
225
227
  Requires-Dist: numpy==2.2.5; extra == "frozen"
226
228
  Requires-Dist: object-clerk==1.0.0; extra == "frozen"
227
- Requires-Dist: opentelemetry-api==1.42.1; extra == "frozen"
228
- Requires-Dist: opentelemetry-exporter-otlp==1.42.1; extra == "frozen"
229
- Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.42.1; extra == "frozen"
230
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.42.1; extra == "frozen"
231
- Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.42.1; extra == "frozen"
232
- Requires-Dist: opentelemetry-instrumentation==0.63b1; extra == "frozen"
233
- Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.63b1; extra == "frozen"
234
- Requires-Dist: opentelemetry-instrumentation-asgi==0.63b1; extra == "frozen"
235
- Requires-Dist: opentelemetry-instrumentation-botocore==0.63b1; extra == "frozen"
236
- Requires-Dist: opentelemetry-instrumentation-celery==0.63b1; extra == "frozen"
237
- Requires-Dist: opentelemetry-instrumentation-dbapi==0.63b1; extra == "frozen"
238
- Requires-Dist: opentelemetry-instrumentation-fastapi==0.63b1; extra == "frozen"
239
- Requires-Dist: opentelemetry-instrumentation-pika==0.63b1; extra == "frozen"
240
- Requires-Dist: opentelemetry-instrumentation-psycopg2==0.63b1; extra == "frozen"
241
- Requires-Dist: opentelemetry-instrumentation-pymongo==0.63b1; extra == "frozen"
242
- Requires-Dist: opentelemetry-instrumentation-redis==0.63b1; extra == "frozen"
243
- Requires-Dist: opentelemetry-instrumentation-requests==0.63b1; extra == "frozen"
244
- Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.63b1; extra == "frozen"
245
- Requires-Dist: opentelemetry-instrumentation-system-metrics==0.63b1; extra == "frozen"
229
+ Requires-Dist: opentelemetry-api==1.44.0; extra == "frozen"
230
+ Requires-Dist: opentelemetry-exporter-otlp==1.44.0; extra == "frozen"
231
+ Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.44.0; extra == "frozen"
232
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.44.0; extra == "frozen"
233
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.44.0; extra == "frozen"
234
+ Requires-Dist: opentelemetry-instrumentation==0.65b0; extra == "frozen"
235
+ Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.65b0; extra == "frozen"
236
+ Requires-Dist: opentelemetry-instrumentation-asgi==0.65b0; extra == "frozen"
237
+ Requires-Dist: opentelemetry-instrumentation-botocore==0.65b0; extra == "frozen"
238
+ Requires-Dist: opentelemetry-instrumentation-celery==0.65b0; extra == "frozen"
239
+ Requires-Dist: opentelemetry-instrumentation-dbapi==0.65b0; extra == "frozen"
240
+ Requires-Dist: opentelemetry-instrumentation-fastapi==0.65b0; extra == "frozen"
241
+ Requires-Dist: opentelemetry-instrumentation-pika==0.65b0; extra == "frozen"
242
+ Requires-Dist: opentelemetry-instrumentation-psycopg2==0.65b0; extra == "frozen"
243
+ Requires-Dist: opentelemetry-instrumentation-pymongo==0.65b0; extra == "frozen"
244
+ Requires-Dist: opentelemetry-instrumentation-redis==0.65b0; extra == "frozen"
245
+ Requires-Dist: opentelemetry-instrumentation-requests==0.65b0; extra == "frozen"
246
+ Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.65b0; extra == "frozen"
247
+ Requires-Dist: opentelemetry-instrumentation-system-metrics==0.65b0; extra == "frozen"
246
248
  Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
247
- Requires-Dist: opentelemetry-proto==1.42.1; extra == "frozen"
248
- Requires-Dist: opentelemetry-sdk==1.42.1; extra == "frozen"
249
- Requires-Dist: opentelemetry-semantic-conventions==0.63b1; extra == "frozen"
250
- Requires-Dist: opentelemetry-util-http==0.63b1; extra == "frozen"
249
+ Requires-Dist: opentelemetry-proto==1.44.0; extra == "frozen"
250
+ Requires-Dist: opentelemetry-sdk==1.44.0; extra == "frozen"
251
+ Requires-Dist: opentelemetry-semantic-conventions==0.65b0; extra == "frozen"
252
+ Requires-Dist: opentelemetry-util-http==0.65b0; extra == "frozen"
251
253
  Requires-Dist: outcome==1.3.0.post0; extra == "frozen"
252
254
  Requires-Dist: packaging==26.2; extra == "frozen"
253
255
  Requires-Dist: pandas==3.0.3; extra == "frozen"
@@ -268,7 +270,7 @@ Requires-Dist: proglog==0.1.12; extra == "frozen"
268
270
  Requires-Dist: prometheus_client==0.25.0; extra == "frozen"
269
271
  Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
270
272
  Requires-Dist: propcache==0.5.2; extra == "frozen"
271
- Requires-Dist: protobuf==6.33.6; extra == "frozen"
273
+ Requires-Dist: protobuf==7.35.1; extra == "frozen"
272
274
  Requires-Dist: psutil==7.2.2; extra == "frozen"
273
275
  Requires-Dist: psycopg2-binary==2.9.12; extra == "frozen"
274
276
  Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
@@ -276,7 +278,7 @@ Requires-Dist: pure_eval==0.2.3; extra == "frozen"
276
278
  Requires-Dist: pycparser==3.0; extra == "frozen"
277
279
  Requires-Dist: pydantic==2.13.4; extra == "frozen"
278
280
  Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
279
- Requires-Dist: pydantic-settings==2.14.1; extra == "frozen"
281
+ Requires-Dist: pydantic-settings==2.14.2; extra == "frozen"
280
282
  Requires-Dist: pydantic_core==2.46.4; extra == "frozen"
281
283
  Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
282
284
  Requires-Dist: pygtrie==2.5.0; extra == "frozen"
@@ -297,10 +299,11 @@ Requires-Dist: rfc3986-validator==0.1.1; extra == "frozen"
297
299
  Requires-Dist: rfc3987-syntax==1.1.0; extra == "frozen"
298
300
  Requires-Dist: rich==15.0.0; extra == "frozen"
299
301
  Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
300
- Requires-Dist: rich-toolkit==0.20.1; extra == "frozen"
301
- Requires-Dist: rpds-py==2026.5.1; extra == "frozen"
302
- Requires-Dist: s3transfer==0.19.0; extra == "frozen"
302
+ Requires-Dist: rich-toolkit==0.20.3; extra == "frozen"
303
+ Requires-Dist: rpds-py==2026.6.3; extra == "frozen"
304
+ Requires-Dist: s3transfer==0.19.1; extra == "frozen"
303
305
  Requires-Dist: scikit-image==0.25.2; extra == "frozen"
306
+ Requires-Dist: scikit-learn==1.9.0; extra == "frozen"
304
307
  Requires-Dist: scipy==1.15.3; extra == "frozen"
305
308
  Requires-Dist: semantic-version==2.10.0; extra == "frozen"
306
309
  Requires-Dist: setproctitle==1.3.7; extra == "frozen"
@@ -315,41 +318,42 @@ Requires-Dist: stack-data==0.6.3; extra == "frozen"
315
318
  Requires-Dist: starlette==0.52.1; extra == "frozen"
316
319
  Requires-Dist: structlog==26.1.0; extra == "frozen"
317
320
  Requires-Dist: sunpy==6.1.1; extra == "frozen"
318
- Requires-Dist: svcs==25.1.0; extra == "frozen"
321
+ Requires-Dist: svcs==26.1.0; extra == "frozen"
319
322
  Requires-Dist: tabulate==0.10.0; extra == "frozen"
320
323
  Requires-Dist: talus==1.3.4; extra == "frozen"
321
324
  Requires-Dist: tenacity==8.5.0; extra == "frozen"
322
325
  Requires-Dist: termcolor==3.3.0; extra == "frozen"
323
326
  Requires-Dist: terminado==0.18.1; extra == "frozen"
324
327
  Requires-Dist: text-unidecode==1.3; extra == "frozen"
325
- Requires-Dist: tifffile==2026.6.1; extra == "frozen"
328
+ Requires-Dist: threadpoolctl==3.6.0; extra == "frozen"
329
+ Requires-Dist: tifffile==2026.7.14; extra == "frozen"
326
330
  Requires-Dist: tinycss2==1.5.1; extra == "frozen"
327
331
  Requires-Dist: tornado==6.5.7; extra == "frozen"
328
- Requires-Dist: tqdm==4.68.3; extra == "frozen"
332
+ Requires-Dist: tqdm==4.68.4; extra == "frozen"
329
333
  Requires-Dist: traitlets==5.15.1; extra == "frozen"
330
- Requires-Dist: typer==0.26.7; extra == "frozen"
334
+ Requires-Dist: typer==0.27.0; extra == "frozen"
331
335
  Requires-Dist: typing-inspection==0.4.2; extra == "frozen"
332
- Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
333
- Requires-Dist: tzdata==2026.2; extra == "frozen"
334
- Requires-Dist: tzlocal==5.4.3; extra == "frozen"
336
+ Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
337
+ Requires-Dist: tzdata==2026.3; extra == "frozen"
338
+ Requires-Dist: tzlocal==5.4.4; extra == "frozen"
335
339
  Requires-Dist: uc-micro-py==2.0.0; extra == "frozen"
336
340
  Requires-Dist: uncertainties==3.2.3; extra == "frozen"
337
341
  Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
338
342
  Requires-Dist: uri-template==1.3.0; extra == "frozen"
339
343
  Requires-Dist: urllib3==2.7.0; extra == "frozen"
340
344
  Requires-Dist: uuid6==2025.0.1; extra == "frozen"
341
- Requires-Dist: uvicorn==0.49.0; extra == "frozen"
345
+ Requires-Dist: uvicorn==0.51.0; extra == "frozen"
342
346
  Requires-Dist: uvloop==0.22.1; extra == "frozen"
343
347
  Requires-Dist: vine==5.1.0; extra == "frozen"
344
348
  Requires-Dist: voluptuous==0.16.0; extra == "frozen"
345
349
  Requires-Dist: watchfiles==1.2.0; extra == "frozen"
346
- Requires-Dist: wcwidth==0.8.1; extra == "frozen"
350
+ Requires-Dist: wcwidth==0.8.2; extra == "frozen"
347
351
  Requires-Dist: webcolors==25.10.0; extra == "frozen"
348
352
  Requires-Dist: webencodings==0.5.1; extra == "frozen"
349
353
  Requires-Dist: websocket-client==1.9.0; extra == "frozen"
350
- Requires-Dist: websockets==16.0; extra == "frozen"
354
+ Requires-Dist: websockets==16.1; extra == "frozen"
351
355
  Requires-Dist: wirerope==1.0.0; extra == "frozen"
352
- Requires-Dist: wrapt==2.2.1; extra == "frozen"
356
+ Requires-Dist: wrapt==2.2.2; extra == "frozen"
353
357
  Requires-Dist: yamale==6.1.0; extra == "frozen"
354
358
  Requires-Dist: yarl==1.24.2; extra == "frozen"
355
359
  Requires-Dist: zipp==4.1.0; extra == "frozen"
@@ -0,0 +1,39 @@
1
+ v2.0.0 (2026-07-17)
2
+ ===================
3
+
4
+
5
+
6
+
7
+ - Improvements to the calculation of the spectral curvature to make them more robust against noisy input data. This change
8
+ only affects science data for datasets where the spectral curvature was previously mis-identified. For these datasets this
9
+ change will correct un-aligned spectral axes in L1 data and improve the quality of gain correction because the solar gain
10
+ frames will have better removal of solar absorption lines. (`#292 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/292>`__)
11
+ - Demodulation matrices are now derived from a correctly computed average over the full array. Previously, a bug had resulted
12
+ in the "average" actually just being the value of the central pixel. This change does result in small changes to the derived
13
+ demodulation matrices, but has been shown to not change L1 data in a substantial way. (`#290 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/290>`__)
14
+
15
+ v1.8.0 (2025-06-16)
16
+ ===================
17
+
18
+ Misc
19
+ ----
20
+
21
+ - Update the beam alignment code to handle edge effects in determining the shift required to align beams one and two. The final spectra passed to the cross correlation method are now cropped by removing the outside 10% of pixels on each edge. (`#195 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/195>`__)
22
+
23
+
24
+ v1.0.0 (2024-08-21)
25
+ ===================
26
+
27
+ Misc
28
+ ----
29
+
30
+ - CRYO-NIRSP processing pipeline data accepted for release to the community.
31
+
32
+
33
+ v0.0.1 (2023-08-25)
34
+ ===================
35
+
36
+ Misc
37
+ ----
38
+
39
+ - Initial release of pipeline for science review
@@ -37,11 +37,36 @@ class CryonirspParameters(ParameterBase, ParameterWavelengthMixin, ParameterArmI
37
37
  """Pixel precision (1/upsample_factor) to use during phase matching of beam/modulator images."""
38
38
  return self._find_most_recent_past_value("cryonirsp_geo_upsample_factor")
39
39
 
40
+ @property
41
+ def geo_savgol_window_length_px(self) -> int:
42
+ """Size of the window for the SavGol filter used to smooth the spectral derivative during prep for spectral shift measurements."""
43
+ return self._find_most_recent_past_value("cryonirsp_geo_savgol_window_length_px")
44
+
45
+ @property
46
+ def geo_savgol_polyorder(self) -> int:
47
+ """Order of the polynomial fit in the SavGol filter used to smooth the spectral derivative during prep for the spectral shift measurements."""
48
+ return self._find_most_recent_past_value("cryonirsp_geo_savgol_polyorder")
49
+
50
+ @property
51
+ def geo_derivative_cutoff_threshold(self) -> float:
52
+ """Threshold value for the spectral derivative above which pixels will be set to NaN."""
53
+ return self._find_most_recent_past_value("cryonirsp_geo_derivative_cutoff_threshold")
54
+
40
55
  @property
41
56
  def geo_max_shift(self) -> int:
42
57
  """Max allowed pixel shift when computing spectral curvature."""
43
58
  return self._find_most_recent_past_value("cryonirsp_geo_max_shift")
44
59
 
60
+ @property
61
+ def geo_shift_peak_interpolation_width_px(self) -> int:
62
+ """Return the ± pixel width used to interpolate the correlation peaks when computing spectral curvature."""
63
+ return self._find_most_recent_past_value("cryonirsp_geo_shift_peak_interpolation_width_px")
64
+
65
+ @property
66
+ def geo_poly_fit_min_samples(self) -> float:
67
+ """Return fractional number of samples required for the RANSAC regressor used to fit spectral shifts along the slit."""
68
+ return self._find_most_recent_past_value("cryonirsp_geo_poly_fit_min_samples")
69
+
45
70
  @property
46
71
  def geo_poly_fit_order(self) -> int:
47
72
  """Order of polynomial used to fit spectral shift as a function of slit position."""
@@ -12,6 +12,7 @@ from dkist_processing_math.arithmetic import divide_arrays_by_array
12
12
  from dkist_processing_math.arithmetic import subtract_array_from_arrays
13
13
  from dkist_processing_math.statistics import average_numpy_arrays
14
14
  from dkist_processing_math.transform.binning import resize_arrays
15
+ from dkist_processing_math.transform.binning import resize_arrays_local_mean
15
16
  from dkist_processing_pac.fitter.polcal_fitter import PolcalFitter
16
17
  from dkist_processing_pac.input_data.drawer import Drawer
17
18
  from dkist_processing_pac.input_data.dresser import Dresser
@@ -281,8 +282,20 @@ class InstrumentPolarizationCalibrationBase(CryonirspTaskBase, ABC):
281
282
  self.parameters.polcal_num_spatial_bins,
282
283
  self.parameters.polcal_num_spectral_bins,
283
284
  )
284
- local_binned_array = next(resize_arrays(gain_corrected_array, output_shape))
285
- global_binned_array = next(resize_arrays(gain_corrected_array, (1, 1)))
285
+ finite_gain_corrected_array_mean = np.mean(
286
+ gain_corrected_array[np.isfinite(gain_corrected_array)]
287
+ )
288
+ finite_gain_corrected_array = np.where(
289
+ np.isfinite(gain_corrected_array),
290
+ gain_corrected_array,
291
+ finite_gain_corrected_array_mean,
292
+ )
293
+ local_binned_array = next(
294
+ resize_arrays_local_mean(finite_gain_corrected_array, output_shape)
295
+ )
296
+ global_binned_array = next(
297
+ resize_arrays_local_mean(finite_gain_corrected_array, (1, 1))
298
+ )
286
299
 
287
300
  with self.telemetry_span(f"Create reduced CryonirspL0FitsAccess for {apm_str}"):
288
301
  local_result = CryonirspL0FitsAccess(