dkist-processing-cryonirsp 0.0.77rc1__tar.gz → 0.0.79__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 (127) hide show
  1. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/CHANGELOG.rst +32 -0
  2. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/PKG-INFO +1 -1
  3. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/parse.py +50 -29
  4. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_parse.py +11 -3
  5. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +4 -4
  6. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +4 -4
  7. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/workflows/trial_workflows.py +12 -7
  8. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
  9. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -1
  10. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp.egg-info/requires.txt +1 -1
  11. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/setup.cfg +1 -1
  12. dkist_processing_cryonirsp-0.0.77rc1/changelog/110.feature.rst +0 -6
  13. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/.gitignore +0 -0
  14. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/.pre-commit-config.yaml +0 -0
  15. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/.readthedocs.yml +0 -0
  16. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/README.rst +0 -0
  17. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/SCIENCE_CHANGELOG.rst +0 -0
  18. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/bitbucket-pipelines.yml +0 -0
  19. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/changelog/.gitempty +0 -0
  20. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/check_changelog_updated.sh +0 -0
  21. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/__init__.py +0 -0
  22. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/config.py +0 -0
  23. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  24. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/constants.py +0 -0
  25. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  26. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/parameters.py +0 -0
  27. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/tags.py +0 -0
  28. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  29. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  30. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  31. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  32. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  33. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  34. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  35. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  36. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  37. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  38. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  39. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  40. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
  41. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  42. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  43. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  44. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  45. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  46. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  47. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  48. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  49. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  50. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
  51. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  52. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  53. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  54. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  55. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
  56. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  57. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
  58. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
  59. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  60. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  61. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  62. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  63. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +0 -0
  64. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  65. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  66. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  67. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/trial_output_data.py +0 -0
  68. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
  69. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  70. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
  71. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  72. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  73. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  74. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  75. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  76. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  77. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  78. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
  79. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  80. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  81. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  82. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  83. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  84. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  85. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  86. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  87. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
  88. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  89. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  90. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
  91. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  92. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  93. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py +0 -0
  94. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  95. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  96. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  97. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  98. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
  99. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_trial_output_data.py +0 -0
  100. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  101. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
  102. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  103. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  104. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  105. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/Makefile +0 -0
  106. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/bad_pixel_calibration.rst +0 -0
  107. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/beam_angle_calculation.rst +0 -0
  108. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/beam_boundary_computation.rst +0 -0
  109. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/changelog.rst +0 -0
  110. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/ci_science_calibration.rst +0 -0
  111. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/conf.py +0 -0
  112. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/index.rst +0 -0
  113. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
  114. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  115. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
  116. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  117. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/linearization.rst +0 -0
  118. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/make.bat +0 -0
  119. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/requirements.txt +0 -0
  120. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/requirements_table.rst +0 -0
  121. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/scientific_changelog.rst +0 -0
  122. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/docs/sp_science_calibration.rst +0 -0
  123. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/licenses/LICENSE.rst +0 -0
  124. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/pyproject.toml +0 -0
  125. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/science_towncrier.sh +0 -0
  126. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/setup.py +0 -0
  127. {dkist_processing_cryonirsp-0.0.77rc1 → dkist_processing_cryonirsp-0.0.79}/towncrier_science.toml +0 -0
@@ -1,3 +1,35 @@
1
+ v0.0.79 (2024-08-12)
2
+ ====================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Move to version 4.5.0 of `dkist-fits-specifications` which includes `PV1_nA` keys for non linear dispersion.
8
+
9
+
10
+ v0.0.78 (2024-08-09)
11
+ ====================
12
+
13
+ Misc
14
+ ----
15
+
16
+ - Make parsing of some header keys arm specific. (`#142 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/142>`__)
17
+
18
+
19
+ v0.0.77 (2024-08-07)
20
+ ====================
21
+
22
+ Features
23
+ --------
24
+
25
+ - Add calibration task to compute accurate header values for
26
+ CTYPE1, CUNIT1, CRPIX1, PV1_0, PV1_1, PV1_2, CRVAL1, CDELT1, PV1_2,
27
+ CTYPE1A, CUNIT1A, CRPIX1A, PV1_0A, PV1_1A, PV1_2A, CRVAL1A, CDELT1A, PV1_2A.
28
+
29
+ This is done by shifting the raw wavelength value (CRVAL1/A) to align with the FTS atlas, and
30
+ then fitting a model to infer and correct the values of the aforementioned headers. (`#110 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/110>`__)
31
+
32
+
1
33
  v0.0.76 (2024-08-05)
2
34
  ====================
3
35
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist_processing_cryonirsp
3
- Version: 0.0.77rc1
3
+ Version: 0.0.79
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
@@ -49,7 +49,12 @@ from dkist_processing_cryonirsp.parsers.time import CryonirspTimeObsBud
49
49
  from dkist_processing_cryonirsp.parsers.wavelength import ObserveWavelengthBud
50
50
 
51
51
 
52
- __all__ = ["ParseL0CryonirspRampData", "ParseL0CryonirspLinearizedData"]
52
+ __all__ = [
53
+ "ParseL0CryonirspRampData",
54
+ "ParseL0CryonirspLinearizedData",
55
+ "ParseL0CryonirspCILinearizedData",
56
+ "ParseL0CryonirspSPLinearizedData",
57
+ ]
53
58
  S = TypeVar("S", bound=Stem)
54
59
 
55
60
 
@@ -174,18 +179,6 @@ class ParseL0CryonirspLinearizedData(ParseDataBase, InputDatasetMixin):
174
179
  NumberOfMeasurementsBud(),
175
180
  CryonirspSolarGainStartTimeBud(),
176
181
  NumCSStepBud(self.parameters.max_cs_step_time_sec),
177
- TaskUniqueBud(
178
- constant_name=CryonirspBudName.wave_min.value,
179
- metadata_key="wave_min",
180
- ip_task_type=TaskName.solar_gain.value,
181
- task_type_parsing_function=parse_header_ip_task_with_gains,
182
- ),
183
- TaskUniqueBud(
184
- constant_name=CryonirspBudName.wave_max.value,
185
- metadata_key="wave_max",
186
- ip_task_type=TaskName.solar_gain.value,
187
- task_type_parsing_function=parse_header_ip_task_with_gains,
188
- ),
189
182
  CryonirspTaskExposureConditionsBud(
190
183
  stem_name=CryonirspBudName.dark_frame_exposure_conditions_list.value,
191
184
  ip_task_type=TaskName.dark.value,
@@ -219,6 +212,33 @@ class ParseL0CryonirspLinearizedData(ParseDataBase, InputDatasetMixin):
219
212
  constant_name=CryonirspBudName.modulator_spin_mode.value,
220
213
  metadata_key="modulator_spin_mode",
221
214
  ),
215
+ ]
216
+
217
+ @property
218
+ def tag_flowers(self) -> list[S]:
219
+ """Add CryoNIRSP specific tags to common tags."""
220
+ return default_tag_flower_factory() + [
221
+ TaskTypeFlower(header_task_parsing_func=parse_header_ip_task_with_gains),
222
+ PolcalTaskFlower(),
223
+ MapScanFlower(),
224
+ ModstateNumberFlower(),
225
+ CSStepFlower(max_cs_step_time_sec=self.parameters.max_cs_step_time_sec),
226
+ ScanStepNumberFlower(),
227
+ MeasurementNumberFlower(),
228
+ SingleValueSingleKeyFlower(
229
+ tag_stem_name=CryonirspStemName.exposure_conditions.value,
230
+ metadata_key="exposure_conditions",
231
+ ),
232
+ ]
233
+
234
+
235
+ class ParseL0CryonirspSPLinearizedData(ParseL0CryonirspLinearizedData):
236
+ """Parse linearity corrected CryoNIRSP-SP input data with SP arm specific constants."""
237
+
238
+ @property
239
+ def constant_buds(self) -> list[S]:
240
+ """Add CryoNIRSP-SP specific constants to common constants."""
241
+ return super().constant_buds + [
222
242
  TaskUniqueBud(
223
243
  constant_name=CryonirspBudName.grating_position_deg.value,
224
244
  metadata_key="grating_position_deg",
@@ -237,21 +257,22 @@ class ParseL0CryonirspLinearizedData(ParseDataBase, InputDatasetMixin):
237
257
  ip_task_type=TaskName.solar_gain.value,
238
258
  task_type_parsing_function=parse_header_ip_task_with_gains,
239
259
  ),
240
- ]
241
-
242
- @property
243
- def tag_flowers(self) -> list[S]:
244
- """Add CryoNIRSP specific tags to common tags."""
245
- return default_tag_flower_factory() + [
246
- TaskTypeFlower(header_task_parsing_func=parse_header_ip_task_with_gains),
247
- PolcalTaskFlower(),
248
- MapScanFlower(),
249
- ModstateNumberFlower(),
250
- CSStepFlower(max_cs_step_time_sec=self.parameters.max_cs_step_time_sec),
251
- ScanStepNumberFlower(),
252
- MeasurementNumberFlower(),
253
- SingleValueSingleKeyFlower(
254
- tag_stem_name=CryonirspStemName.exposure_conditions.value,
255
- metadata_key="exposure_conditions",
260
+ TaskUniqueBud(
261
+ constant_name=CryonirspBudName.wave_min.value,
262
+ metadata_key="wave_min",
263
+ ip_task_type=TaskName.solar_gain.value,
264
+ task_type_parsing_function=parse_header_ip_task_with_gains,
265
+ ),
266
+ TaskUniqueBud(
267
+ constant_name=CryonirspBudName.wave_max.value,
268
+ metadata_key="wave_max",
269
+ ip_task_type=TaskName.solar_gain.value,
270
+ task_type_parsing_function=parse_header_ip_task_with_gains,
256
271
  ),
257
272
  ]
273
+
274
+
275
+ class ParseL0CryonirspCILinearizedData(ParseL0CryonirspLinearizedData):
276
+ """Parse linearity corrected CryoNIRSP-CI input data with CI arm specific constants."""
277
+
278
+ pass
@@ -19,8 +19,9 @@ from dkist_processing_cryonirsp.models.exposure_conditions import ExposureCondit
19
19
  from dkist_processing_cryonirsp.models.parameters import CryonirspParsingParameters
20
20
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
21
21
  from dkist_processing_cryonirsp.parsers.polarimetric_check import PolarimetricCheckingUniqueBud
22
- from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspLinearizedData
22
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspCILinearizedData
23
23
  from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspRampData
24
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspSPLinearizedData
24
25
  from dkist_processing_cryonirsp.tests.conftest import _write_frames_to_task
25
26
  from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
26
27
  from dkist_processing_cryonirsp.tests.header_models import CryonirspHeaders
@@ -326,11 +327,17 @@ def make_non_linearized_test_frames(
326
327
 
327
328
 
328
329
  @pytest.fixture
329
- def parse_linearized_task(tmp_path, recipe_run_id, assign_input_dataset_doc_to_task, mocker):
330
+ def parse_linearized_task(
331
+ tmp_path, recipe_run_id, assign_input_dataset_doc_to_task, mocker, arm_id
332
+ ):
330
333
  mocker.patch(
331
334
  "dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=FakeGQLClient
332
335
  )
333
- with ParseL0CryonirspLinearizedData(
336
+ if arm_id == "CI":
337
+ parsing_class = ParseL0CryonirspCILinearizedData
338
+ if arm_id == "SP":
339
+ parsing_class = ParseL0CryonirspSPLinearizedData
340
+ with parsing_class(
334
341
  recipe_run_id=recipe_run_id,
335
342
  workflow_name="parse_cryonirsp_input_data",
336
343
  workflow_version="VX.Y",
@@ -1233,6 +1240,7 @@ def test_parse_cryonirsp_linearized_data_constants(
1233
1240
  assert task.constants._db_dict["VARIANCE_CADENCE"] == 0
1234
1241
 
1235
1242
 
1243
+ @pytest.mark.parametrize("arm_id", ["SP"])
1236
1244
  def test_parse_cryonirsp_linearized_data_internal_scan_loops_as_map_scan_and_scan_step(
1237
1245
  parse_linearized_task,
1238
1246
  ):
@@ -23,9 +23,9 @@ from dkist_processing_cryonirsp.tasks import DarkCalibration
23
23
  from dkist_processing_cryonirsp.tasks import LampGainCalibration
24
24
  from dkist_processing_cryonirsp.tasks import LinearityCorrection
25
25
  from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
26
- from dkist_processing_cryonirsp.tasks import ParseL0CryonirspLinearizedData
27
26
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
28
27
  from dkist_processing_cryonirsp.tasks.l1_output_data import CIAssembleQualityData
28
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspCILinearizedData
29
29
 
30
30
  l0_pipeline = Workflow(
31
31
  category="cryonirsp",
@@ -41,9 +41,9 @@ l0_pipeline.add_node(
41
41
  resource_queue=ResourceQueue.HIGH_MEMORY,
42
42
  upstreams=ParseL0CryonirspRampData,
43
43
  )
44
- l0_pipeline.add_node(task=ParseL0CryonirspLinearizedData, upstreams=LinearityCorrection)
45
- l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspLinearizedData)
46
- l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspLinearizedData)
44
+ l0_pipeline.add_node(task=ParseL0CryonirspCILinearizedData, upstreams=LinearityCorrection)
45
+ l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData)
46
+ l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData)
47
47
  l0_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
48
48
  l0_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
49
49
  l0_pipeline.add_node(task=LampGainCalibration, upstreams=DarkCalibration)
@@ -16,7 +16,6 @@ from dkist_processing_cryonirsp.tasks import DarkCalibration
16
16
  from dkist_processing_cryonirsp.tasks import LampGainCalibration
17
17
  from dkist_processing_cryonirsp.tasks import LinearityCorrection
18
18
  from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
19
- from dkist_processing_cryonirsp.tasks import ParseL0CryonirspLinearizedData
20
19
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
21
20
  from dkist_processing_cryonirsp.tasks import SPBeamBoundariesCalibration
22
21
  from dkist_processing_cryonirsp.tasks import SPDispersionAxisCorrection
@@ -28,6 +27,7 @@ from dkist_processing_cryonirsp.tasks import SPScienceCalibration
28
27
  from dkist_processing_cryonirsp.tasks import SPSolarGainCalibration
29
28
  from dkist_processing_cryonirsp.tasks import SPWriteL1Frame
30
29
  from dkist_processing_cryonirsp.tasks.l1_output_data import SPAssembleQualityData
30
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspSPLinearizedData
31
31
 
32
32
  l0_pipeline = Workflow(
33
33
  category="cryonirsp",
@@ -43,9 +43,9 @@ l0_pipeline.add_node(
43
43
  resource_queue=ResourceQueue.HIGH_MEMORY,
44
44
  upstreams=ParseL0CryonirspRampData,
45
45
  )
46
- l0_pipeline.add_node(task=ParseL0CryonirspLinearizedData, upstreams=LinearityCorrection)
47
- l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspLinearizedData)
48
- l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspLinearizedData)
46
+ l0_pipeline.add_node(task=ParseL0CryonirspSPLinearizedData, upstreams=LinearityCorrection)
47
+ l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData)
48
+ l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspSPLinearizedData)
49
49
  l0_pipeline.add_node(task=SPBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
50
50
  l0_pipeline.add_node(task=DarkCalibration, upstreams=SPBeamBoundariesCalibration)
51
51
  l0_pipeline.add_node(task=LampGainCalibration, upstreams=DarkCalibration)
@@ -23,7 +23,6 @@ from dkist_processing_cryonirsp.tasks import DarkCalibration
23
23
  from dkist_processing_cryonirsp.tasks import LampGainCalibration
24
24
  from dkist_processing_cryonirsp.tasks import LinearityCorrection
25
25
  from dkist_processing_cryonirsp.tasks import MakeCryonirspMovieFrames
26
- from dkist_processing_cryonirsp.tasks import ParseL0CryonirspLinearizedData
27
26
  from dkist_processing_cryonirsp.tasks import ParseL0CryonirspRampData
28
27
  from dkist_processing_cryonirsp.tasks import SPBeamBoundariesCalibration
29
28
  from dkist_processing_cryonirsp.tasks import SPDispersionAxisCorrection
@@ -37,6 +36,8 @@ from dkist_processing_cryonirsp.tasks import SPWriteL1Frame
37
36
  from dkist_processing_cryonirsp.tasks import TransferCryoTrialData
38
37
  from dkist_processing_cryonirsp.tasks.l1_output_data import CIAssembleQualityData
39
38
  from dkist_processing_cryonirsp.tasks.l1_output_data import SPAssembleQualityData
39
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspCILinearizedData
40
+ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspSPLinearizedData
40
41
 
41
42
  full_trial_ci_pipeline = Workflow(
42
43
  category="cryonirsp",
@@ -52,12 +53,14 @@ full_trial_ci_pipeline.add_node(
52
53
  resource_queue=ResourceQueue.HIGH_MEMORY,
53
54
  upstreams=ParseL0CryonirspRampData,
54
55
  )
55
- full_trial_ci_pipeline.add_node(task=ParseL0CryonirspLinearizedData, upstreams=LinearityCorrection)
56
56
  full_trial_ci_pipeline.add_node(
57
- task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspLinearizedData
57
+ task=ParseL0CryonirspCILinearizedData, upstreams=LinearityCorrection
58
58
  )
59
59
  full_trial_ci_pipeline.add_node(
60
- task=BadPixelMapCalibration, upstreams=ParseL0CryonirspLinearizedData
60
+ task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData
61
+ )
62
+ full_trial_ci_pipeline.add_node(
63
+ task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData
61
64
  )
62
65
  full_trial_ci_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
63
66
  full_trial_ci_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
@@ -110,12 +113,14 @@ full_trial_sp_pipeline.add_node(
110
113
  resource_queue=ResourceQueue.HIGH_MEMORY,
111
114
  upstreams=ParseL0CryonirspRampData,
112
115
  )
113
- full_trial_sp_pipeline.add_node(task=ParseL0CryonirspLinearizedData, upstreams=LinearityCorrection)
114
116
  full_trial_sp_pipeline.add_node(
115
- task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspLinearizedData
117
+ task=ParseL0CryonirspSPLinearizedData, upstreams=LinearityCorrection
118
+ )
119
+ full_trial_sp_pipeline.add_node(
120
+ task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData
116
121
  )
117
122
  full_trial_sp_pipeline.add_node(
118
- task=BadPixelMapCalibration, upstreams=ParseL0CryonirspLinearizedData
123
+ task=BadPixelMapCalibration, upstreams=ParseL0CryonirspSPLinearizedData
119
124
  )
120
125
  full_trial_sp_pipeline.add_node(task=SPBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
121
126
  full_trial_sp_pipeline.add_node(task=DarkCalibration, upstreams=SPBeamBoundariesCalibration)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 0.0.77rc1
3
+ Version: 0.0.79
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,6 @@ setup.cfg
12
12
  setup.py
13
13
  towncrier_science.toml
14
14
  changelog/.gitempty
15
- changelog/110.feature.rst
16
15
  dkist_processing_cryonirsp/__init__.py
17
16
  dkist_processing_cryonirsp/config.py
18
17
  dkist_processing_cryonirsp.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
1
1
  Pillow==10.3.0
2
2
  astropy==6.1.0
3
- dkist-fits-specifications==4.4.2
3
+ dkist-fits-specifications==4.5.0
4
4
  dkist-header-validator==5.1.1
5
5
  dkist-processing-common==8.2.2
6
6
  dkist-processing-math==2.1.0
@@ -19,7 +19,7 @@ include_package_data = True
19
19
  install_requires =
20
20
  Pillow == 10.3.0
21
21
  astropy == 6.1.0
22
- dkist-fits-specifications == 4.4.2
22
+ dkist-fits-specifications == 4.5.0
23
23
  dkist-header-validator == 5.1.1
24
24
  dkist-processing-common == 8.2.2
25
25
  dkist-processing-math == 2.1.0
@@ -1,6 +0,0 @@
1
- Add calibration task to compute accurate header values for
2
- CTYPE1, CUNIT1, CRPIX1, PV1_0, PV1_1, PV1_2, CRVAL1, CDELT1, PV1_2,
3
- CTYPE1A, CUNIT1A, CRPIX1A, PV1_0A, PV1_1A, PV1_2A, CRVAL1A, CDELT1A, PV1_2A.
4
-
5
- This is done by shifting the raw wavelength value (CRVAL1/A) to align with the FTS atlas, and
6
- then fitting a model to infer and correct the values of the aforementioned headers.