dkist-processing-cryonirsp 0.0.56rc1__tar.gz → 0.0.58rc1__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.

Potentially problematic release.


This version of dkist-processing-cryonirsp might be problematic. Click here for more details.

Files changed (125) hide show
  1. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/CHANGELOG.rst +9 -0
  2. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/PKG-INFO +1 -1
  3. dkist_processing_cryonirsp-0.0.58rc1/changelog/116.misc.rst +1 -0
  4. dkist_processing_cryonirsp-0.0.58rc1/changelog/119.bugfix.rst +2 -0
  5. dkist_processing_cryonirsp-0.0.58rc1/changelog/120.misc.rst +1 -0
  6. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/assemble_movie.py +10 -1
  7. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +18 -8
  8. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_corrections.py +38 -4
  9. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
  10. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +3 -1
  11. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp.egg-info/requires.txt +6 -6
  12. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/setup.cfg +4 -4
  13. dkist_processing_cryonirsp-0.0.56rc1/changelog/117.doc.rst +0 -1
  14. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/.gitignore +0 -0
  15. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/.pre-commit-config.yaml +0 -0
  16. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/.readthedocs.yml +0 -0
  17. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/README.rst +0 -0
  18. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/SCIENCE_CHANGELOG.rst +0 -0
  19. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/bitbucket-pipelines.yml +0 -0
  20. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/changelog/.gitempty +0 -0
  21. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/check_changelog_updated.sh +0 -0
  22. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/__init__.py +0 -0
  23. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  24. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/constants.py +0 -0
  25. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  26. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/parameters.py +0 -0
  27. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/tags.py +0 -0
  28. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  29. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  30. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  31. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  32. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  33. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  34. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  35. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  36. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  37. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  38. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  39. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  40. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
  41. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  42. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  43. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  44. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  45. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  46. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  47. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  48. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  49. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
  50. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  51. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  52. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  53. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  54. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
  55. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  56. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
  57. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
  58. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  59. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  60. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  61. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  62. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  63. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  64. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  65. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  66. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/trial_output_data.py +0 -0
  67. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  68. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  69. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
  70. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  71. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  72. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  73. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  74. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  75. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  76. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  77. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_build_quality_report.py +0 -0
  78. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  79. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  80. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  81. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  82. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  83. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  84. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
  85. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  86. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  87. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
  88. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
  89. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  90. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  91. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  92. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  93. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  94. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  95. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_submit_qualilty.py +0 -0
  96. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_trial_output_data.py +0 -0
  97. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  98. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  99. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  100. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
  101. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
  102. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
  103. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  104. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  105. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/Makefile +0 -0
  106. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/bad_pixel_calibration.rst +0 -0
  107. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/beam_angle_calculation.rst +0 -0
  108. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/beam_boundary_computation.rst +0 -0
  109. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/changelog.rst +0 -0
  110. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/ci_science_calibration.rst +0 -0
  111. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/conf.py +0 -0
  112. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/index.rst +0 -0
  113. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  114. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  115. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/linearization.rst +0 -0
  116. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/make.bat +0 -0
  117. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/requirements.txt +0 -0
  118. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/requirements_table.rst +0 -0
  119. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/scientific_changelog.rst +0 -0
  120. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/docs/sp_science_calibration.rst +0 -0
  121. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/licenses/LICENSE.rst +0 -0
  122. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/pyproject.toml +0 -0
  123. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/science_towncrier.sh +0 -0
  124. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/setup.py +0 -0
  125. {dkist_processing_cryonirsp-0.0.56rc1 → dkist_processing_cryonirsp-0.0.58rc1}/towncrier_science.toml +0 -0
@@ -1,3 +1,12 @@
1
+ v0.0.56 (2024-04-26)
2
+ ====================
3
+
4
+ Documentation
5
+ -------------
6
+
7
+ - Update online documentation for Cryo-NIRSP bad pixel correction, beam angle calculation, and beam boundary calculation. (`#117 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/117>`__)
8
+
9
+
1
10
  v0.0.55 (2024-04-12)
2
11
  ====================
3
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist_processing_cryonirsp
3
- Version: 0.0.56rc1
3
+ Version: 0.0.58rc1
4
4
  Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
5
  Home-page: https://bitbucket.org/dkistdc/dkist_processing_cryonirsp/src/main/
6
6
  Author: NSO / AURA
@@ -0,0 +1 @@
1
+ Reduce flakyness in bad px correction test by contriving bad px neighborhood to give a known result.
@@ -0,0 +1,2 @@
1
+ Some Cryo-NIRSP CI movies were far too large (>1GB).
2
+ This fix made the movies smaller by scaling down the size of the movies.
@@ -0,0 +1 @@
1
+ Rename non-FITS L1 products to better manage namespace.
@@ -42,7 +42,16 @@ class AssembleCryonirspMovieBase(AssembleMovie):
42
42
  raw_L1_shape = random_frame.shape
43
43
  flipped_shape = raw_L1_shape[::-1]
44
44
 
45
- return flipped_shape
45
+ standard_HD_num_pix = 1920 * 1080
46
+ frame_num_pix = np.prod(flipped_shape)
47
+ scale_factor = (
48
+ np.sqrt(standard_HD_num_pix / frame_num_pix)
49
+ if frame_num_pix > standard_HD_num_pix
50
+ else 1.0
51
+ )
52
+ scaled_shape = tuple(int(i * scale_factor) for i in flipped_shape)
53
+
54
+ return scaled_shape
46
55
 
47
56
  def pre_run(self) -> None:
48
57
  """Set the movie frame shape prior to running."""
@@ -13,13 +13,23 @@ from dkist_processing_cryonirsp.tests.conftest import generate_214_l1_fits_frame
13
13
  from dkist_processing_cryonirsp.tests.header_models import Cryonirsp122ObserveFrames
14
14
 
15
15
 
16
- @pytest.fixture(scope="function")
16
+ @pytest.fixture(
17
+ scope="function", params=[pytest.param(True, id="shrink"), pytest.param(False, id="noshrink")]
18
+ )
17
19
  def assemble_movie_task_with_tagged_movie_frames(
18
- tmp_path, recipe_run_id, init_cryonirsp_constants_db
20
+ request,
21
+ tmp_path,
22
+ recipe_run_id,
23
+ init_cryonirsp_constants_db,
19
24
  ):
20
25
  num_map_scans = 10
21
26
  num_scan_steps = 1
22
- frame_shape = (100, 200)
27
+ if request.param:
28
+ frame_shape = (1080 * 2, 1920 * 2) # Intentionally "backward" from normal
29
+ expected_shape = (1080, 1920)[::-1]
30
+ else:
31
+ frame_shape = (100, 235) # Weird aspect ratio
32
+ expected_shape = (100, 235)[::-1]
23
33
  init_cryonirsp_constants_db(recipe_run_id, CryonirspConstantsDb(NUM_MAP_SCANS=num_map_scans))
24
34
  with AssembleCryonirspMovie(
25
35
  recipe_run_id=recipe_run_id,
@@ -53,7 +63,7 @@ def assemble_movie_task_with_tagged_movie_frames(
53
63
  ],
54
64
  encoder=fits_hdulist_encoder,
55
65
  )
56
- yield task, frame_shape
66
+ yield task, frame_shape, expected_shape
57
67
  finally:
58
68
  task._purge()
59
69
 
@@ -62,7 +72,7 @@ def test_assemble_movie(assemble_movie_task_with_tagged_movie_frames, mocker):
62
72
  mocker.patch(
63
73
  "dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=FakeGQLClient
64
74
  )
65
- task, _ = assemble_movie_task_with_tagged_movie_frames
75
+ task, _, _ = assemble_movie_task_with_tagged_movie_frames
66
76
  task()
67
77
  movie_file = list(task.read(tags=[CryonirspTag.movie()]))
68
78
  assert len(movie_file) == 1
@@ -75,15 +85,15 @@ def test_compute_frame_shape(assemble_movie_task_with_tagged_movie_frames):
75
85
  When: Computing the size of the final movie
76
86
  Then: The correct size is computed: the size of an L1 output frame
77
87
  """
78
- task, frame_shape = assemble_movie_task_with_tagged_movie_frames
88
+ task, frame_shape, expected_shape = assemble_movie_task_with_tagged_movie_frames
79
89
 
80
90
  # Task starts as polarimetric from fixture constants
81
- assert task._compute_frame_shape() == tuple(np.array(frame_shape)[::-1])
91
+ assert task._compute_frame_shape() == tuple(expected_shape)
82
92
 
83
93
  # Update constants to be non-polarimetric
84
94
  del task.constants._db_dict[CryonirspBudName.num_modstates.value]
85
95
  task.constants._db_dict[CryonirspBudName.num_modstates.value] = 1
86
- assert task._compute_frame_shape() == tuple(np.array(frame_shape)[::-1])
96
+ assert task._compute_frame_shape() == tuple(expected_shape)
87
97
 
88
98
 
89
99
  @pytest.fixture(scope="function")
@@ -1,3 +1,5 @@
1
+ from typing import Literal
2
+
1
3
  import numpy as np
2
4
  import pytest
3
5
  from dkist_processing_common._util.scratch import WorkflowFileSystem
@@ -63,6 +65,25 @@ def bad_pixel_mask_task(
63
65
  task._purge()
64
66
 
65
67
 
68
+ def contrive_bad_px_neighborhood(
69
+ array: np.ndarray, bad_px_location: tuple[int, int], kernel_size: int, desired_median: float
70
+ ) -> np.array:
71
+ """
72
+ Adjust array values so the neighborhood around a bad pixel results in a known value being used to replace that pixel.
73
+ """
74
+ # Sticking with the y, x convention used by `corrections_correct_bad_pixels`.
75
+ y, x = bad_px_location
76
+ half_kernel_size = kernel_size // 2
77
+ num_y, num_x = array.shape
78
+
79
+ y_slice = slice(max(y - half_kernel_size, 0), min(y + half_kernel_size + 1, num_y))
80
+ x_slice = slice(max(x - half_kernel_size, 0), min(x + half_kernel_size + 1, num_x))
81
+
82
+ array[y_slice, x_slice] = desired_median
83
+
84
+ return array
85
+
86
+
66
87
  @pytest.mark.parametrize(
67
88
  "bad_pixel_map, algorithm_type",
68
89
  [
@@ -74,19 +95,32 @@ def test_corrections_correct_bad_pixels(bad_pixel_map, algorithm_type, bad_pixel
74
95
  t = bad_pixel_mask_task
75
96
  bad_pixel_x = 1
76
97
  bad_pixel_y = 6
77
- array_to_fix = np.random.random(size=(10, 10))
98
+
99
+ # Create a data array. Adding 10 ensures that 0 will be a valid sentinel value of bad-ness
100
+ rng = np.random.default_rng()
101
+ array_to_fix = rng.random((10, 10), dtype=float) * 100 + 10.0
102
+
78
103
  # Assign a single bad pixel to check against
104
+ if algorithm_type == "normal":
105
+ expected_corrected_value = rng.random() * 100 + 10
106
+ array_to_fix = contrive_bad_px_neighborhood(
107
+ array=array_to_fix,
108
+ bad_px_location=(1, 6),
109
+ kernel_size=t.parameters.corrections_bad_pixel_median_filter_size,
110
+ desired_median=expected_corrected_value,
111
+ )
79
112
  array_to_fix[bad_pixel_x, bad_pixel_y] = 0
113
+
80
114
  corrected_array = t.corrections_correct_bad_pixels(
81
115
  array_to_fix=array_to_fix, bad_pixel_map=bad_pixel_map
82
116
  )
83
117
  if algorithm_type == "fast":
84
118
  for val in corrected_array[:, bad_pixel_y]:
85
119
  assert val == np.nanmedian(array_to_fix)
86
- assert corrected_array[bad_pixel_x, bad_pixel_y] != 0
120
+ assert corrected_array[bad_pixel_x, bad_pixel_y] == np.nanmedian(array_to_fix)
121
+
87
122
  if algorithm_type == "normal":
88
123
  x, y = np.meshgrid(np.arange(10), np.arange(10))
89
124
  idx = np.where((x != bad_pixel_x) | (y != bad_pixel_y))
90
125
  np.testing.assert_array_equal(corrected_array[idx], array_to_fix[idx])
91
- assert corrected_array[bad_pixel_x, bad_pixel_y] != np.nanmedian(array_to_fix)
92
- assert corrected_array[bad_pixel_x, bad_pixel_y] != 0
126
+ assert corrected_array[bad_pixel_x, bad_pixel_y] == expected_corrected_value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 0.0.56rc1
3
+ Version: 0.0.58rc1
4
4
  Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
5
  Home-page: https://bitbucket.org/dkistdc/dkist_processing_cryonirsp/src/main/
6
6
  Author: NSO / AURA
@@ -12,7 +12,9 @@ setup.cfg
12
12
  setup.py
13
13
  towncrier_science.toml
14
14
  changelog/.gitempty
15
- changelog/117.doc.rst
15
+ changelog/116.misc.rst
16
+ changelog/119.bugfix.rst
17
+ changelog/120.misc.rst
16
18
  dkist_processing_cryonirsp/__init__.py
17
19
  dkist_processing_cryonirsp.egg-info/PKG-INFO
18
20
  dkist_processing_cryonirsp.egg-info/SOURCES.txt
@@ -2,7 +2,7 @@ Pillow==10.2.0
2
2
  astropy==5.3.2
3
3
  dkist-fits-specifications==4.1.1
4
4
  dkist-header-validator==5.1.0
5
- dkist-processing-common==6.1.2
5
+ dkist-processing-common==6.2.1
6
6
  dkist-processing-math==2.0.0
7
7
  dkist-processing-pac==3.0.1
8
8
  dkist-spectral-lines==2.0.0
@@ -18,7 +18,7 @@ sunpy==5.0.0
18
18
 
19
19
  [asdf]
20
20
  dkist-processing-common[asdf]
21
- dkist-inventory[asdf]==1.3.0
21
+ dkist-inventory[asdf]==1.3.1
22
22
 
23
23
  [docs]
24
24
  sphinx
@@ -32,11 +32,11 @@ dkist-sphinx-theme
32
32
  [grogu]
33
33
  dkist
34
34
  pyparsing
35
- dkist-inventory>=1.3.0
35
+ dkist-inventory>=1.3.1
36
36
 
37
37
  [inventory]
38
38
  dkist-processing-common[inventory]
39
- dkist-inventory==1.3.0
39
+ dkist-inventory==1.3.1
40
40
 
41
41
  [test]
42
42
  pytest
@@ -47,6 +47,6 @@ hypothesis
47
47
  towncrier
48
48
  dkist-data-simulator>=5.1.1
49
49
  dkist-processing-common[inventory]
50
- dkist-inventory==1.3.0
50
+ dkist-inventory==1.3.1
51
51
  dkist-processing-common[asdf]
52
- dkist-inventory[asdf]==1.3.0
52
+ dkist-inventory[asdf]==1.3.1
@@ -21,7 +21,7 @@ install_requires =
21
21
  astropy == 5.3.2
22
22
  dkist-fits-specifications == 4.1.1
23
23
  dkist-header-validator == 5.1.0
24
- dkist-processing-common == 6.1.2
24
+ dkist-processing-common == 6.2.1
25
25
  dkist-processing-math == 2.0.0
26
26
  dkist-processing-pac == 3.0.1
27
27
  dkist-spectral-lines == 2.0.0
@@ -48,14 +48,14 @@ test =
48
48
  %(asdf)s # identify pip conflicts in test
49
49
  inventory =
50
50
  dkist-processing-common[inventory]
51
- dkist-inventory==1.3.0
51
+ dkist-inventory==1.3.1
52
52
  asdf =
53
53
  dkist-processing-common[asdf]
54
- dkist-inventory[asdf]==1.3.0
54
+ dkist-inventory[asdf]==1.3.1
55
55
  grogu =
56
56
  dkist
57
57
  pyparsing
58
- dkist-inventory >= 1.3.0
58
+ dkist-inventory >= 1.3.1
59
59
  docs =
60
60
  sphinx
61
61
  sphinx-astropy
@@ -1 +0,0 @@
1
- Update online documentation for Cryo-NIRSP bad pixel correction, beam angle calculation, and beam boundary calculation.