dkist-processing-cryonirsp 1.4.14__tar.gz → 1.4.15__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-1.4.14 → dkist_processing_cryonirsp-1.4.15}/CHANGELOG.rst +9 -0
  2. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/PKG-INFO +1 -1
  3. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +5 -3
  4. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_parse.py +41 -0
  5. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
  6. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/.gitignore +0 -0
  7. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/.pre-commit-config.yaml +0 -0
  8. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/.readthedocs.yml +0 -0
  9. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/.snyk +0 -0
  10. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/README.rst +0 -0
  11. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/SCIENCE_CHANGELOG.rst +0 -0
  12. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/bitbucket-pipelines.yml +0 -0
  13. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/changelog/.gitempty +0 -0
  14. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/__init__.py +0 -0
  15. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/config.py +0 -0
  16. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  17. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/constants.py +0 -0
  18. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  19. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/parameters.py +0 -0
  20. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/tags.py +0 -0
  21. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  22. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  23. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
  24. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  25. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  26. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  27. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  28. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  29. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  30. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  31. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  32. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  33. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
  34. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  35. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  36. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  37. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  38. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  39. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  40. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  41. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  42. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  43. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
  44. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  45. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  46. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  47. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  48. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
  49. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  50. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
  51. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
  52. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  53. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  54. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  55. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  56. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  57. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +0 -0
  58. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  59. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  60. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  61. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  62. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  63. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
  64. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  65. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  66. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  67. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  68. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  69. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  70. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  71. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
  72. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  73. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  74. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  75. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  76. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  77. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  78. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  79. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  80. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
  81. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  82. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  83. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
  84. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  85. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  86. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py +0 -0
  87. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  88. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  89. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  90. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  91. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
  92. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  93. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  94. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  95. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
  96. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
  97. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
  98. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -0
  99. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  100. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp.egg-info/requires.txt +0 -0
  101. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  102. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/Makefile +0 -0
  103. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/bad_pixel_calibration.rst +0 -0
  104. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/beam_angle_calculation.rst +0 -0
  105. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/beam_boundary_computation.rst +0 -0
  106. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/changelog.rst +0 -0
  107. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/ci_science_calibration.rst +0 -0
  108. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/conf.py +0 -0
  109. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/index.rst +0 -0
  110. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
  111. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  112. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
  113. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  114. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/landing_page.rst +0 -0
  115. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/linearization.rst +0 -0
  116. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/make.bat +0 -0
  117. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/requirements.txt +0 -0
  118. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/requirements_table.rst +0 -0
  119. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/scientific_changelog.rst +0 -0
  120. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/docs/sp_science_calibration.rst +0 -0
  121. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/licenses/LICENSE.rst +0 -0
  122. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/pyproject.toml +0 -0
  123. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/science_towncrier.sh +0 -0
  124. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/setup.cfg +0 -0
  125. {dkist_processing_cryonirsp-1.4.14 → dkist_processing_cryonirsp-1.4.15}/towncrier_science.toml +0 -0
@@ -1,3 +1,12 @@
1
+ v1.4.15 (2025-01-30)
2
+ ====================
3
+
4
+ Bugfixes
5
+ --------
6
+
7
+ - Correct how gain files are read in the PickyBuds during parsing of CRYO-NIRSP CI linearized data. (`#172 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/172>`__)
8
+
9
+
1
10
  v1.4.14 (2025-01-29)
2
11
  ====================
3
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 1.4.14
3
+ Version: 1.4.15
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
@@ -71,7 +71,8 @@ class CryonirspConditionalTaskExposureConditionsBudBase(Stem):
71
71
  -------
72
72
  The exposure time associated with this fits object
73
73
  """
74
- if fits_obj.ip_task_type.upper() not in self.task_types_to_ignore:
74
+ task_type = parse_header_ip_task_with_gains(fits_obj=fits_obj)
75
+ if task_type.upper() not in self.task_types_to_ignore:
75
76
  return getattr(fits_obj, self.metadata_key)
76
77
  return SpilledDirt
77
78
 
@@ -146,11 +147,12 @@ class CryonirspPickyDarkExposureConditionsBudBase(Stem):
146
147
  -------
147
148
  A tuple of a boolean indicating if the task is a dark task, and the exposure conditions for this fits object
148
149
  """
149
- if fits_obj.ip_task_type.upper() == TaskName.dark.value:
150
+ task_type = parse_header_ip_task_with_gains(fits_obj=fits_obj)
151
+ if task_type.upper() == TaskName.dark.value:
150
152
  return self.DarkTaskTestAndExposureConditions(
151
153
  is_dark=True, exposure_conditions=getattr(fits_obj, self.metadata_key)
152
154
  )
153
- if fits_obj.ip_task_type.upper() not in self.task_types_to_ignore:
155
+ if task_type.upper() not in self.task_types_to_ignore:
154
156
  return self.DarkTaskTestAndExposureConditions(
155
157
  is_dark=False, exposure_conditions=getattr(fits_obj, self.metadata_key)
156
158
  )
@@ -1504,3 +1504,44 @@ def test_missing_lamp_gain_frames(parse_linearized_task, arm_id):
1504
1504
 
1505
1505
  with pytest.raises(ValueError, match="lamp_gain frames not found."):
1506
1506
  task()
1507
+
1508
+
1509
+ @pytest.mark.parametrize("arm_id", ["CI"])
1510
+ def test_wrong_exposure_time_lamp_gain_dark(parse_linearized_task, arm_id):
1511
+ """
1512
+ Given: lamp gain frames with a different exposure time than the dark frames
1513
+ When: parsing data where the lamp gain has no matching exposure time
1514
+ Then: everything is fine because CRYO-CI ignores lamp gains
1515
+ """
1516
+ task = parse_linearized_task
1517
+ lin_tag = [CryonirspTag.linearized()]
1518
+ solar_gain_exposure_condition = ExposureConditions(
1519
+ 10.0, AllowableOpticalDensityFilterNames.OPEN.value
1520
+ )
1521
+ write_solar_gain_frames_to_task(
1522
+ task,
1523
+ tags=lin_tag,
1524
+ exposure_condition=solar_gain_exposure_condition,
1525
+ num_modstates=1,
1526
+ )
1527
+ lamp_gain_exposure_condition = ExposureConditions(
1528
+ 1000.0, AllowableOpticalDensityFilterNames.OPEN.value
1529
+ )
1530
+ write_lamp_gain_frames_to_task(
1531
+ task,
1532
+ tags=lin_tag,
1533
+ exposure_condition=lamp_gain_exposure_condition,
1534
+ num_modstates=1,
1535
+ )
1536
+ dark_exp_condition = ExposureConditions(10.0, AllowableOpticalDensityFilterNames.OPEN.value)
1537
+ write_dark_frames_to_task(task, exposure_condition=dark_exp_condition, tags=lin_tag)
1538
+
1539
+ task()
1540
+
1541
+ assert task.constants._db_dict["DARK_FRAME_EXPOSURE_CONDITIONS_LIST"] == [[10.0, "OPEN"]]
1542
+ assert task.constants._db_dict["SOLAR_GAIN_EXPOSURE_CONDITIONS_LIST"] == [[10.0, "OPEN"]]
1543
+ assert task.constants._db_dict[
1544
+ "CI_NON_DARK_AND_NON_POLCAL_AND_NON_LAMP_GAIN_TASK_EXPOSURE_CONDITIONS_LIST"
1545
+ ] == [[10.0, "OPEN"]]
1546
+ with pytest.raises(KeyError):
1547
+ assert task.constants._db_dict["LAMP_GAIN_EXPOSURE_CONDITIONS_LIST"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 1.4.14
3
+ Version: 1.4.15
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