dkist-processing-cryonirsp 0.0.58rc1__tar.gz → 0.0.59__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 (124) hide show
  1. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/CHANGELOG.rst +29 -0
  2. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/PKG-INFO +1 -1
  3. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/modstates.py +3 -0
  4. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +12 -2
  5. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_parse.py +34 -7
  6. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
  7. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -3
  8. dkist_processing_cryonirsp-0.0.58rc1/changelog/116.misc.rst +0 -1
  9. dkist_processing_cryonirsp-0.0.58rc1/changelog/119.bugfix.rst +0 -2
  10. dkist_processing_cryonirsp-0.0.58rc1/changelog/120.misc.rst +0 -1
  11. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/.gitignore +0 -0
  12. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/.pre-commit-config.yaml +0 -0
  13. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/.readthedocs.yml +0 -0
  14. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/README.rst +0 -0
  15. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/SCIENCE_CHANGELOG.rst +0 -0
  16. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/bitbucket-pipelines.yml +0 -0
  17. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/changelog/.gitempty +0 -0
  18. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/check_changelog_updated.sh +0 -0
  19. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/__init__.py +0 -0
  20. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  21. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/constants.py +0 -0
  22. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  23. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/parameters.py +0 -0
  24. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/tags.py +0 -0
  25. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  26. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  27. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  28. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  29. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  30. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  31. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  32. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  33. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  34. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  35. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
  36. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  37. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  38. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  39. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  40. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  41. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  42. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  43. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  44. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  45. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
  46. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  47. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  48. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  49. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  50. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
  51. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  52. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
  53. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
  54. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  55. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  56. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  57. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  58. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  59. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  60. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  61. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  62. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/trial_output_data.py +0 -0
  63. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  64. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  65. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
  66. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  67. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  68. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  69. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  70. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  71. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  72. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  73. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  74. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_build_quality_report.py +0 -0
  75. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  76. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  77. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  78. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  79. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  80. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  81. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  82. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
  83. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  84. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  85. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
  86. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  87. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  88. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  89. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  90. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  91. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  92. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_submit_qualilty.py +0 -0
  93. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_trial_output_data.py +0 -0
  94. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  95. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  96. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  97. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
  98. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
  99. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
  100. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  101. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp.egg-info/requires.txt +0 -0
  102. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  103. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/Makefile +0 -0
  104. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/bad_pixel_calibration.rst +0 -0
  105. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/beam_angle_calculation.rst +0 -0
  106. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/beam_boundary_computation.rst +0 -0
  107. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/changelog.rst +0 -0
  108. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/ci_science_calibration.rst +0 -0
  109. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/conf.py +0 -0
  110. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/index.rst +0 -0
  111. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  112. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  113. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/linearization.rst +0 -0
  114. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/make.bat +0 -0
  115. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/requirements.txt +0 -0
  116. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/requirements_table.rst +0 -0
  117. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/scientific_changelog.rst +0 -0
  118. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/docs/sp_science_calibration.rst +0 -0
  119. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/licenses/LICENSE.rst +0 -0
  120. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/pyproject.toml +0 -0
  121. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/science_towncrier.sh +0 -0
  122. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/setup.cfg +0 -0
  123. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/setup.py +0 -0
  124. {dkist_processing_cryonirsp-0.0.58rc1 → dkist_processing_cryonirsp-0.0.59}/towncrier_science.toml +0 -0
@@ -1,3 +1,32 @@
1
+ v0.0.59 (2024-05-06)
2
+ ====================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Add ability to handle data with zero modulator states corresponding to intensity mode. (`#118 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/118>`__)
8
+
9
+
10
+ v0.0.58 (2024-05-03)
11
+ ====================
12
+
13
+ Bugfixes
14
+ --------
15
+
16
+ - Some Cryo-NIRSP CI movies were far too large (>1GB).
17
+ This fix made the movies smaller by scaling down the size of the movies. (`#119 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/119>`__)
18
+
19
+
20
+ v0.0.57 (2024-05-02)
21
+ ====================
22
+
23
+ Misc
24
+ ----
25
+
26
+ - Reduce flakyness in bad px correction test by contriving bad px neighborhood to give a known result. (`#116 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/116>`__)
27
+ - Rename non-FITS L1 products to better manage namespace. (`#120 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/120>`__)
28
+
29
+
1
30
  v0.0.56 (2024-04-26)
2
31
  ====================
3
32
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist_processing_cryonirsp
3
- Version: 0.0.58rc1
3
+ Version: 0.0.59
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
@@ -29,4 +29,7 @@ class ModstateNumberFlower(SingleValueSingleKeyFlower):
29
29
  """
30
30
  if fits_obj.ip_task_type != "observe" and fits_obj.ip_task_type != "polcal":
31
31
  return SpilledDirt
32
+ # Some intensity data incorrectly has modulator state = 0
33
+ if getattr(fits_obj, self.metadata_key) == 0:
34
+ return 1
32
35
  return super().setter(fits_obj)
@@ -7,6 +7,7 @@ from dkist_processing_common.models.flower_pot import Stem
7
7
  from dkist_processing_common.models.flower_pot import Thorn
8
8
  from dkist_processing_common.models.task_name import TaskName
9
9
 
10
+ from dkist_processing_cryonirsp.models.constants import CryonirspBudName
10
11
  from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import CryonirspL0FitsAccess
11
12
 
12
13
 
@@ -66,12 +67,21 @@ class PolarimetricCheckingUniqueBud(Stem):
66
67
  A single FitsAccess object
67
68
  """
68
69
  task = fits_obj.ip_task_type.casefold()
70
+
71
+ # Some intensity mode data has the number of modulator states set to 0
72
+ num_modstates = fits_obj.number_of_modulator_states or 1
73
+
74
+ if self.metadata_key == "number_of_modulator_states":
75
+ bud_value = num_modstates
76
+ else:
77
+ bud_value = getattr(fits_obj, self.metadata_key)
78
+
69
79
  if task in [self.observe_task_name, self.polcal_task_name]:
70
80
  return self.PolarimetricValueData(
71
81
  task=task,
72
- num_modstates=fits_obj.number_of_modulator_states,
82
+ num_modstates=num_modstates,
73
83
  spin_mode=fits_obj.modulator_spin_mode,
74
- bud_value=getattr(fits_obj, self.metadata_key),
84
+ bud_value=bud_value,
75
85
  )
76
86
  return SpilledDirt
77
87
 
@@ -96,8 +96,10 @@ def write_polcal_frames_to_task(
96
96
  ):
97
97
  num_frames = 0
98
98
 
99
+ modstates = [0] if num_modstates == 0 else range(1, num_modstates + 1)
100
+
99
101
  for map_scan in range(1, num_map_scans + 1):
100
- for mod_state in range(1, num_modstates + 1):
102
+ for mod_state in modstates:
101
103
  frame_generator = ModulatedPolcalHeaders(
102
104
  num_modstates=num_modstates,
103
105
  modstate=mod_state,
@@ -127,12 +129,14 @@ def write_observe_frames_to_task(
127
129
  ):
128
130
  num_frames = 0
129
131
 
132
+ modstates = [0] if num_modstates == 0 else range(1, num_modstates + 1)
133
+
130
134
  start_time = datetime.now()
131
135
  frame_delta_time = timedelta(seconds=10)
132
136
  for map_scan in range(1, num_map_scans + 1):
133
137
  for scan_step in range(1, num_scan_steps + 1):
134
138
  for measurement in range(1, num_measurements + 1):
135
- for mod_state in range(1, num_modstates + 1):
139
+ for mod_state in modstates:
136
140
  for repeat in range(1, num_sub_repeats + 1):
137
141
  frame_generator = ModulatedObserveHeaders(
138
142
  start_date=start_time.isoformat(),
@@ -393,8 +397,9 @@ def test_parse_cryonirsp_non_linearized_data_bad_filter_name(parse_non_linearize
393
397
  task()
394
398
 
395
399
 
400
+ @pytest.mark.parametrize("number_of_modstates", [0, 1, 8])
396
401
  @pytest.mark.parametrize("arm_id", ["CI", "SP"])
397
- def test_parse_cryonirsp_linearized_data(parse_linearized_task, arm_id):
402
+ def test_parse_cryonirsp_linearized_data(parse_linearized_task, arm_id, number_of_modstates):
398
403
  """
399
404
  Given: A ParseCryonirspInputData task
400
405
  When: Calling the task instance
@@ -418,7 +423,7 @@ def test_parse_cryonirsp_linearized_data(parse_linearized_task, arm_id):
418
423
  task,
419
424
  arm_id,
420
425
  dark_exposure_conditions=dark_exp_conditions,
421
- num_modstates=8,
426
+ num_modstates=number_of_modstates,
422
427
  num_scan_steps=3,
423
428
  num_map_scans=1,
424
429
  num_sub_repeats=1,
@@ -478,6 +483,22 @@ def test_parse_cryonirsp_linearized_data(parse_linearized_task, arm_id):
478
483
  == num_obs
479
484
  )
480
485
 
486
+ if number_of_modstates in [0, 1]:
487
+ assert (
488
+ len(
489
+ list(
490
+ parse_linearized_task.read(
491
+ tags=[
492
+ CryonirspTag.linearized(),
493
+ CryonirspTag.task_observe(),
494
+ CryonirspTag.modstate(1),
495
+ ]
496
+ )
497
+ )
498
+ )
499
+ == num_obs
500
+ )
501
+
481
502
 
482
503
  @pytest.mark.parametrize("arm_id", ["CI", "SP"])
483
504
  def test_parse_cryonirsp_linearized_data_mismatched_darks(parse_linearized_task, arm_id):
@@ -1094,8 +1115,11 @@ def test_parse_cryonirsp_linearized_polcal_task_types(parse_linearized_task, arm
1094
1115
  )
1095
1116
 
1096
1117
 
1118
+ @pytest.mark.parametrize("number_of_modulator_states", [0, 1, 8])
1097
1119
  @pytest.mark.parametrize("arm_id", ["CI", "SP"])
1098
- def test_parse_cryonirsp_linearized_data_constants(parse_linearized_task, arm_id):
1120
+ def test_parse_cryonirsp_linearized_data_constants(
1121
+ parse_linearized_task, arm_id, number_of_modulator_states
1122
+ ):
1099
1123
  """
1100
1124
  Given: A ParseCryonirspInputData task
1101
1125
  When: Calling the task instance
@@ -1115,7 +1139,7 @@ def test_parse_cryonirsp_linearized_data_constants(parse_linearized_task, arm_id
1115
1139
  polcal_exp_cond,
1116
1140
  ]
1117
1141
 
1118
- num_modstates = 8
1142
+ num_modstates = number_of_modulator_states
1119
1143
  num_scan_steps = 3
1120
1144
  num_map_scans = 2
1121
1145
  num_sub_repeats = 2
@@ -1136,7 +1160,10 @@ def test_parse_cryonirsp_linearized_data_constants(parse_linearized_task, arm_id
1136
1160
 
1137
1161
  task()
1138
1162
 
1139
- assert task.constants._db_dict[CryonirspBudName.num_modstates.value] == num_modstates
1163
+ if num_modstates == 0:
1164
+ assert task.constants._db_dict[CryonirspBudName.num_modstates.value] == 1
1165
+ else:
1166
+ assert task.constants._db_dict[CryonirspBudName.num_modstates.value] == num_modstates
1140
1167
  assert task.constants._db_dict[CryonirspBudName.num_map_scans.value] == num_map_scans
1141
1168
  assert task.constants._db_dict[CryonirspBudName.num_scan_steps.value] == num_scan_steps
1142
1169
  assert task.constants._db_dict[CryonirspBudName.modulator_spin_mode.value] == "Continuous"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 0.0.58rc1
3
+ Version: 0.0.59
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,9 +12,6 @@ setup.cfg
12
12
  setup.py
13
13
  towncrier_science.toml
14
14
  changelog/.gitempty
15
- changelog/116.misc.rst
16
- changelog/119.bugfix.rst
17
- changelog/120.misc.rst
18
15
  dkist_processing_cryonirsp/__init__.py
19
16
  dkist_processing_cryonirsp.egg-info/PKG-INFO
20
17
  dkist_processing_cryonirsp.egg-info/SOURCES.txt
@@ -1 +0,0 @@
1
- Reduce flakyness in bad px correction test by contriving bad px neighborhood to give a known result.
@@ -1,2 +0,0 @@
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.
@@ -1 +0,0 @@
1
- Rename non-FITS L1 products to better manage namespace.