dkist-processing-cryonirsp 1.10.0rc1__tar.gz → 1.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dkist-processing-cryonirsp might be problematic. Click here for more details.
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/CHANGELOG.rst +29 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/PKG-INFO +9 -9
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/conftest.py +4 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +4 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_ci_science.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_corrections.py +3 -2
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_dark.py +4 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_gain.py +4 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +8 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +2 -2
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_parse.py +4 -5
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_quality.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +3 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_science.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_solar.py +4 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +2 -3
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_write_l1.py +4 -16
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp.egg-info/PKG-INFO +9 -9
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -1
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp.egg-info/requires.txt +8 -8
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/pyproject.toml +10 -10
- dkist_processing_cryonirsp-1.10.0rc1/changelog/167.feature.rst +0 -1
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/.gitignore +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/.snyk +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/README.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/constants.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tasks/write_l1.py +1 -1
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/landing_page.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/setup.cfg +0 -0
- {dkist_processing_cryonirsp-1.10.0rc1 → dkist_processing_cryonirsp-1.11.0}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
v1.11.0 (2025-07-18)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Bugfixes
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Calculate the `WAVEMIN` and `WAVEMAX` after correcting the spectral WCS keys instead of before. (`#200 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/200>`__)
|
|
8
|
+
- Update `dkist-processing-common` to include the results of wavelength calibration when determining spectral lines in the data. (`#211 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/211>`__)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
v1.10.1 (2025-07-15)
|
|
12
|
+
====================
|
|
13
|
+
|
|
14
|
+
Misc
|
|
15
|
+
----
|
|
16
|
+
|
|
17
|
+
- Replace `FakeGQLClient` with the `fake_gql_client` fixture imported from the `mock_metadata_store` module
|
|
18
|
+
in `dkist-processing-common`. Because the fixture is imported into `conftest.py`, individual imports are not needed. (`#208 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/208>`__)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
v1.10.0 (2025-07-14)
|
|
22
|
+
====================
|
|
23
|
+
|
|
24
|
+
Features
|
|
25
|
+
--------
|
|
26
|
+
|
|
27
|
+
- This change pulls the dispersion axis correction out of the Cryonirsp pipeline and uses the generalized solar-wavelength-calibration library. (`#167 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/167>`__)
|
|
28
|
+
|
|
29
|
+
|
|
1
30
|
v1.9.0 (2025-07-10)
|
|
2
31
|
===================
|
|
3
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.11.0
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -17,7 +17,7 @@ Requires-Dist: Pillow==10.4.0
|
|
|
17
17
|
Requires-Dist: astropy==7.0.2
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.17.0
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.2.1
|
|
20
|
-
Requires-Dist: dkist-processing-common==11.0
|
|
20
|
+
Requires-Dist: dkist-processing-common==11.2.0
|
|
21
21
|
Requires-Dist: dkist-processing-math==2.2.0
|
|
22
22
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
@@ -121,8 +121,8 @@ Requires-Dist: attrs==25.3.0; extra == "frozen"
|
|
|
121
121
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
122
122
|
Requires-Dist: billiard==4.2.1; extra == "frozen"
|
|
123
123
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
124
|
-
Requires-Dist: boto3==1.39.
|
|
125
|
-
Requires-Dist: botocore==1.39.
|
|
124
|
+
Requires-Dist: boto3==1.39.8; extra == "frozen"
|
|
125
|
+
Requires-Dist: botocore==1.39.8; extra == "frozen"
|
|
126
126
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
127
127
|
Requires-Dist: celery==5.5.3; extra == "frozen"
|
|
128
128
|
Requires-Dist: certifi==2025.7.14; extra == "frozen"
|
|
@@ -145,9 +145,9 @@ Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
|
145
145
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
146
146
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
147
147
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
148
|
-
Requires-Dist: dkist-processing-common==11.0
|
|
148
|
+
Requires-Dist: dkist-processing-common==11.2.0; extra == "frozen"
|
|
149
149
|
Requires-Dist: dkist-processing-core==5.1.1; extra == "frozen"
|
|
150
|
-
Requires-Dist: dkist-processing-cryonirsp==1.
|
|
150
|
+
Requires-Dist: dkist-processing-cryonirsp==1.11.0; extra == "frozen"
|
|
151
151
|
Requires-Dist: dkist-processing-math==2.2.0; extra == "frozen"
|
|
152
152
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
153
153
|
Requires-Dist: dkist-service-configuration==2.2; extra == "frozen"
|
|
@@ -159,9 +159,9 @@ Requires-Dist: elastic-apm==6.23.0; extra == "frozen"
|
|
|
159
159
|
Requires-Dist: email_validator==2.2.0; extra == "frozen"
|
|
160
160
|
Requires-Dist: fastjsonschema==2.21.1; extra == "frozen"
|
|
161
161
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
162
|
-
Requires-Dist: fonttools==4.
|
|
162
|
+
Requires-Dist: fonttools==4.59.0; extra == "frozen"
|
|
163
163
|
Requires-Dist: frozenlist==1.7.0; extra == "frozen"
|
|
164
|
-
Requires-Dist: fsspec==2025.
|
|
164
|
+
Requires-Dist: fsspec==2025.7.0; extra == "frozen"
|
|
165
165
|
Requires-Dist: globus-sdk==3.60.0; extra == "frozen"
|
|
166
166
|
Requires-Dist: google-re2==1.1.20240702; extra == "frozen"
|
|
167
167
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
|
|
@@ -179,7 +179,7 @@ Requires-Dist: importlib_metadata==8.7.0; extra == "frozen"
|
|
|
179
179
|
Requires-Dist: inflection==0.5.1; extra == "frozen"
|
|
180
180
|
Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
|
|
181
181
|
Requires-Dist: jmespath==1.0.1; extra == "frozen"
|
|
182
|
-
Requires-Dist: jsonschema==4.
|
|
182
|
+
Requires-Dist: jsonschema==4.25.0; extra == "frozen"
|
|
183
183
|
Requires-Dist: jsonschema-specifications==2025.4.1; extra == "frozen"
|
|
184
184
|
Requires-Dist: jupyter_core==5.8.1; extra == "frozen"
|
|
185
185
|
Requires-Dist: kiwisolver==1.4.8; extra == "frozen"
|
|
@@ -26,6 +26,7 @@ from dkist_processing_common.models.input_dataset import InputDatasetFilePointer
|
|
|
26
26
|
from dkist_processing_common.models.input_dataset import InputDatasetObject
|
|
27
27
|
from dkist_processing_common.models.input_dataset import InputDatasetPartDocumentList
|
|
28
28
|
from dkist_processing_common.tasks import WorkflowTaskBase
|
|
29
|
+
from dkist_processing_common.tests.mock_metadata_store import fake_gql_client
|
|
29
30
|
from pydantic import Field
|
|
30
31
|
from pydantic import model_validator
|
|
31
32
|
|
|
@@ -277,11 +278,9 @@ class FileParameter(InputDatasetFilePointer):
|
|
|
277
278
|
|
|
278
279
|
@model_validator(mode="after")
|
|
279
280
|
def _populate_file_object(self):
|
|
280
|
-
self.file_pointer =
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
tag=CryonirspTag.parameter((self.object_key)),
|
|
284
|
-
)
|
|
281
|
+
self.file_pointer.bucket = "not_used_because_we_dont_transfer"
|
|
282
|
+
self.file_pointer.object_key = self.object_key
|
|
283
|
+
self.file_pointer.tag = CryonirspTag.parameter((self.object_key))
|
|
285
284
|
return self
|
|
286
285
|
|
|
287
286
|
|
|
@@ -2,7 +2,6 @@ import numpy as np
|
|
|
2
2
|
import pytest
|
|
3
3
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
4
4
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
5
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
6
5
|
|
|
7
6
|
from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
8
7
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
@@ -68,9 +67,9 @@ def assemble_movie_task_with_tagged_movie_frames(
|
|
|
68
67
|
task._purge()
|
|
69
68
|
|
|
70
69
|
|
|
71
|
-
def test_assemble_movie(assemble_movie_task_with_tagged_movie_frames, mocker):
|
|
70
|
+
def test_assemble_movie(assemble_movie_task_with_tagged_movie_frames, mocker, fake_gql_client):
|
|
72
71
|
mocker.patch(
|
|
73
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
72
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
74
73
|
)
|
|
75
74
|
task, _, _ = assemble_movie_task_with_tagged_movie_frames
|
|
76
75
|
task()
|
|
@@ -134,9 +133,9 @@ def assemble_sp_task_with_tagged_movie_frames(tmp_path, recipe_run_id, init_cryo
|
|
|
134
133
|
task._purge()
|
|
135
134
|
|
|
136
135
|
|
|
137
|
-
def test_assemble_sp_movie(assemble_sp_task_with_tagged_movie_frames, mocker):
|
|
136
|
+
def test_assemble_sp_movie(assemble_sp_task_with_tagged_movie_frames, mocker, fake_gql_client):
|
|
138
137
|
mocker.patch(
|
|
139
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
138
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
140
139
|
)
|
|
141
140
|
assemble_sp_task_with_tagged_movie_frames()
|
|
142
141
|
movie_file = list(assemble_sp_task_with_tagged_movie_frames.read(tags=[CryonirspTag.movie()]))
|
|
@@ -6,7 +6,6 @@ from astropy.io import fits
|
|
|
6
6
|
from dkist_header_validator import spec122_validator
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
9
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
10
9
|
from dkist_service_configuration.logging import logger
|
|
11
10
|
|
|
12
11
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
@@ -91,14 +90,14 @@ def compute_bad_pixel_map_task(
|
|
|
91
90
|
task._purge()
|
|
92
91
|
|
|
93
92
|
|
|
94
|
-
def test_compute_bad_pixel_map_task(compute_bad_pixel_map_task, mocker):
|
|
93
|
+
def test_compute_bad_pixel_map_task(compute_bad_pixel_map_task, mocker, fake_gql_client):
|
|
95
94
|
"""
|
|
96
95
|
Given: An BadPixelMapCalibration task
|
|
97
96
|
When: Calling the task instance with known input data
|
|
98
97
|
Then: The correct beam boundary values are created and saved as intermediate files
|
|
99
98
|
"""
|
|
100
99
|
mocker.patch(
|
|
101
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
100
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
102
101
|
)
|
|
103
102
|
# Given
|
|
104
103
|
task, num_zeros, num_hot = compute_bad_pixel_map_task
|
|
@@ -7,7 +7,6 @@ from dkist_header_validator import spec122_validator
|
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
9
9
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
10
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
11
10
|
|
|
12
11
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
13
12
|
from dkist_processing_cryonirsp.tasks.ci_beam_boundaries import CIBeamBoundariesCalibration
|
|
@@ -85,14 +84,14 @@ def compute_beam_boundaries_task(
|
|
|
85
84
|
task._purge()
|
|
86
85
|
|
|
87
86
|
|
|
88
|
-
def test_compute_beam_boundaries_task(compute_beam_boundaries_task, mocker):
|
|
87
|
+
def test_compute_beam_boundaries_task(compute_beam_boundaries_task, mocker, fake_gql_client):
|
|
89
88
|
"""
|
|
90
89
|
Given: A CIBeamBoundariesCalibration task
|
|
91
90
|
When: Calling the task instance with known input data
|
|
92
91
|
Then: The correct beam boundary values are created and saved as intermediate files
|
|
93
92
|
"""
|
|
94
93
|
mocker.patch(
|
|
95
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
94
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
96
95
|
)
|
|
97
96
|
# Given
|
|
98
97
|
task, arm_id = compute_beam_boundaries_task
|
|
@@ -11,7 +11,6 @@ from dkist_header_validator import spec122_validator
|
|
|
11
11
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
12
12
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
13
13
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
14
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
15
14
|
|
|
16
15
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
17
16
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
@@ -228,7 +227,7 @@ def ci_compressed_headers_with_dates(
|
|
|
228
227
|
return comp_headers, start_time, exp_time, time_delta
|
|
229
228
|
|
|
230
229
|
|
|
231
|
-
def test_ci_science_calibration_task(ci_science_calibration_task, mocker):
|
|
230
|
+
def test_ci_science_calibration_task(ci_science_calibration_task, mocker, fake_gql_client):
|
|
232
231
|
"""
|
|
233
232
|
Given: A CIScienceCalibration task
|
|
234
233
|
When: Calling the task instance
|
|
@@ -236,7 +235,7 @@ def test_ci_science_calibration_task(ci_science_calibration_task, mocker):
|
|
|
236
235
|
"""
|
|
237
236
|
|
|
238
237
|
mocker.patch(
|
|
239
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
238
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
240
239
|
)
|
|
241
240
|
|
|
242
241
|
# When
|
|
@@ -4,13 +4,13 @@ import numpy as np
|
|
|
4
4
|
import pytest
|
|
5
5
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
6
6
|
from dkist_processing_common.tasks import WorkflowTaskBase
|
|
7
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
8
7
|
|
|
9
8
|
from dkist_processing_cryonirsp.models.constants import CryonirspConstants
|
|
10
9
|
from dkist_processing_cryonirsp.tasks.mixin.corrections import CorrectionsMixin
|
|
11
10
|
from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
|
|
12
11
|
from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
|
|
13
12
|
|
|
13
|
+
|
|
14
14
|
base_bad_pixel_map = np.zeros(shape=(10, 10))
|
|
15
15
|
|
|
16
16
|
normal_bad_pixel_map = base_bad_pixel_map.copy()
|
|
@@ -38,11 +38,12 @@ def bad_pixel_mask_task(
|
|
|
38
38
|
recipe_run_id,
|
|
39
39
|
assign_input_dataset_doc_to_task,
|
|
40
40
|
mocker,
|
|
41
|
+
fake_gql_client,
|
|
41
42
|
request,
|
|
42
43
|
init_cryonirsp_constants_db,
|
|
43
44
|
):
|
|
44
45
|
mocker.patch(
|
|
45
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
46
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
46
47
|
)
|
|
47
48
|
constants_db = CryonirspConstantsDb(
|
|
48
49
|
ARM_ID=request.param,
|
|
@@ -7,7 +7,6 @@ from dkist_header_validator import spec122_validator
|
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
9
9
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
10
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
11
10
|
|
|
12
11
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
13
12
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
@@ -176,14 +175,14 @@ def ci_dark_calibration_task(
|
|
|
176
175
|
task._purge()
|
|
177
176
|
|
|
178
177
|
|
|
179
|
-
def test_sp_dark_calibration_task(sp_dark_calibration_task, mocker):
|
|
178
|
+
def test_sp_dark_calibration_task(sp_dark_calibration_task, mocker, fake_gql_client):
|
|
180
179
|
"""
|
|
181
180
|
Given: A DarkCalibration task with multiple task exposure times
|
|
182
181
|
When: Calling the task instance
|
|
183
182
|
Then: Only one average intermediate dark frame exists for each exposure time and unused times are not made
|
|
184
183
|
"""
|
|
185
184
|
mocker.patch(
|
|
186
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
185
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
187
186
|
)
|
|
188
187
|
# When
|
|
189
188
|
(
|
|
@@ -232,14 +231,14 @@ def test_sp_dark_calibration_task(sp_dark_calibration_task, mocker):
|
|
|
232
231
|
assert data["frames_not_used"] == 3
|
|
233
232
|
|
|
234
233
|
|
|
235
|
-
def test_ci_dark_calibration_task(ci_dark_calibration_task, mocker):
|
|
234
|
+
def test_ci_dark_calibration_task(ci_dark_calibration_task, mocker, fake_gql_client):
|
|
236
235
|
"""
|
|
237
236
|
Given: A DarkCalibration task with multiple task exposure times
|
|
238
237
|
When: Calling the task instance
|
|
239
238
|
Then: Only one average intermediate dark frame exists for each exposure time and unused times are not made
|
|
240
239
|
"""
|
|
241
240
|
mocker.patch(
|
|
242
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
241
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
243
242
|
)
|
|
244
243
|
# When
|
|
245
244
|
task, exp_conditions, unused_condition = ci_dark_calibration_task
|
|
@@ -8,7 +8,6 @@ from dkist_header_validator import spec122_validator
|
|
|
8
8
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
9
9
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
10
10
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
11
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
12
11
|
|
|
13
12
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
14
13
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
@@ -201,14 +200,14 @@ def lamp_calibration_task(
|
|
|
201
200
|
task._purge()
|
|
202
201
|
|
|
203
202
|
|
|
204
|
-
def test_ci_solar_gain_calibration_task(ci_solar_gain_calibration_task, mocker):
|
|
203
|
+
def test_ci_solar_gain_calibration_task(ci_solar_gain_calibration_task, mocker, fake_gql_client):
|
|
205
204
|
"""
|
|
206
205
|
Given: A CISolarGainCalibration task
|
|
207
206
|
When: Calling the task instance
|
|
208
207
|
Then: The correct number of output solar gain frames exists, are tagged correctly, and are not normalized
|
|
209
208
|
"""
|
|
210
209
|
mocker.patch(
|
|
211
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
210
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
212
211
|
)
|
|
213
212
|
# When
|
|
214
213
|
task, solar_signal = ci_solar_gain_calibration_task
|
|
@@ -242,14 +241,14 @@ def test_ci_solar_gain_calibration_task(ci_solar_gain_calibration_task, mocker):
|
|
|
242
241
|
|
|
243
242
|
|
|
244
243
|
@pytest.mark.parametrize("number_of_beams", [pytest.param(1, id="CI"), pytest.param(2, id="SP")])
|
|
245
|
-
def test_lamp_calibration_task(lamp_calibration_task, number_of_beams, mocker):
|
|
244
|
+
def test_lamp_calibration_task(lamp_calibration_task, number_of_beams, mocker, fake_gql_client):
|
|
246
245
|
"""
|
|
247
246
|
Given: A LampGainCalibration task
|
|
248
247
|
When: Calling the task instance
|
|
249
248
|
Then: The correct number of output lamp gain frames exists, are tagged correctly, and are normalized
|
|
250
249
|
"""
|
|
251
250
|
mocker.patch(
|
|
252
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
251
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
253
252
|
)
|
|
254
253
|
# When
|
|
255
254
|
task = lamp_calibration_task
|
|
@@ -10,7 +10,6 @@ from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
|
10
10
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
11
11
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
12
12
|
from dkist_processing_common.models.task_name import TaskName
|
|
13
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
14
13
|
from dkist_processing_pac.fitter.polcal_fitter import PolcalFitter
|
|
15
14
|
from dkist_processing_pac.input_data.dresser import Dresser
|
|
16
15
|
|
|
@@ -399,7 +398,9 @@ def multiple_demodulation_matrices() -> np.ndarray:
|
|
|
399
398
|
|
|
400
399
|
|
|
401
400
|
def test_ci_instrument_polarization_calibration_task(
|
|
402
|
-
ci_instrument_polarization_calibration_task,
|
|
401
|
+
ci_instrument_polarization_calibration_task,
|
|
402
|
+
mocker,
|
|
403
|
+
fake_gql_client,
|
|
403
404
|
):
|
|
404
405
|
"""
|
|
405
406
|
Given: An InstrumentPolarizationCalibration task
|
|
@@ -408,7 +409,7 @@ def test_ci_instrument_polarization_calibration_task(
|
|
|
408
409
|
"""
|
|
409
410
|
|
|
410
411
|
mocker.patch(
|
|
411
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
412
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
412
413
|
)
|
|
413
414
|
|
|
414
415
|
# When
|
|
@@ -438,7 +439,9 @@ def test_ci_instrument_polarization_calibration_task(
|
|
|
438
439
|
|
|
439
440
|
|
|
440
441
|
def test_sp_instrument_polarization_calibration_task(
|
|
441
|
-
sp_instrument_polarization_calibration_task,
|
|
442
|
+
sp_instrument_polarization_calibration_task,
|
|
443
|
+
mocker,
|
|
444
|
+
fake_gql_client,
|
|
442
445
|
):
|
|
443
446
|
"""
|
|
444
447
|
Given: An InstrumentPolarizationCalibration task
|
|
@@ -447,7 +450,7 @@ def test_sp_instrument_polarization_calibration_task(
|
|
|
447
450
|
"""
|
|
448
451
|
|
|
449
452
|
mocker.patch(
|
|
450
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
453
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
451
454
|
)
|
|
452
455
|
|
|
453
456
|
# When
|
|
@@ -10,7 +10,6 @@ from dkist_header_validator import spec122_validator
|
|
|
10
10
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
11
11
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
12
12
|
from dkist_processing_common.models.tags import Tag
|
|
13
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
14
13
|
from dkist_service_configuration.logging import logger
|
|
15
14
|
|
|
16
15
|
from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
@@ -143,6 +142,7 @@ def linearity_correction(
|
|
|
143
142
|
def test_linearity_correction(
|
|
144
143
|
linearity_correction,
|
|
145
144
|
mocker,
|
|
145
|
+
fake_gql_client,
|
|
146
146
|
arm_id,
|
|
147
147
|
frames_in_ramp,
|
|
148
148
|
num_chunks,
|
|
@@ -154,7 +154,7 @@ def test_linearity_correction(
|
|
|
154
154
|
Then: The non-linearized frames are linearized and produce the correct results.
|
|
155
155
|
"""
|
|
156
156
|
mocker.patch(
|
|
157
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
157
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
158
158
|
)
|
|
159
159
|
if num_chunks == 2:
|
|
160
160
|
mocker.patch(
|
|
@@ -5,7 +5,6 @@ from astropy.io import fits
|
|
|
5
5
|
from dkist_header_validator import spec122_validator
|
|
6
6
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
7
7
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
8
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
9
8
|
|
|
10
9
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
11
10
|
from dkist_processing_cryonirsp.tasks.make_movie_frames import MakeCryonirspMovieFrames
|
|
@@ -90,14 +89,14 @@ def movie_frames_task(tmp_path, recipe_run_id, init_cryonirsp_constants_db, requ
|
|
|
90
89
|
task._purge()
|
|
91
90
|
|
|
92
91
|
|
|
93
|
-
def test_make_movie_frames(movie_frames_task, mocker):
|
|
92
|
+
def test_make_movie_frames(movie_frames_task, mocker, fake_gql_client):
|
|
94
93
|
"""
|
|
95
94
|
Given: A MakeCryonirspMovieFrames task
|
|
96
95
|
When: Calling the task instance
|
|
97
96
|
Then: a fits file is made for each scan containing the movie frame for that scan
|
|
98
97
|
"""
|
|
99
98
|
mocker.patch(
|
|
100
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
99
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
101
100
|
)
|
|
102
101
|
task, map_scans, scan_steps, array_shape, is_polarimetric = movie_frames_task
|
|
103
102
|
expected_shape = array_shape
|
|
@@ -11,7 +11,6 @@ from astropy.io import fits
|
|
|
11
11
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
12
12
|
from dkist_processing_common.models.constants import BudName
|
|
13
13
|
from dkist_processing_common.tasks import WorkflowTaskBase
|
|
14
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
15
14
|
|
|
16
15
|
from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
17
16
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
@@ -345,10 +344,10 @@ def make_non_linearized_test_frames(
|
|
|
345
344
|
|
|
346
345
|
@pytest.fixture
|
|
347
346
|
def parse_linearized_task(
|
|
348
|
-
tmp_path, recipe_run_id, assign_input_dataset_doc_to_task, mocker, arm_id
|
|
347
|
+
tmp_path, recipe_run_id, assign_input_dataset_doc_to_task, mocker, fake_gql_client, arm_id
|
|
349
348
|
):
|
|
350
349
|
mocker.patch(
|
|
351
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
350
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
352
351
|
)
|
|
353
352
|
if arm_id == "CI":
|
|
354
353
|
parsing_class = ParseL0CryonirspCILinearizedData
|
|
@@ -376,9 +375,9 @@ def parse_linearized_task(
|
|
|
376
375
|
|
|
377
376
|
|
|
378
377
|
@pytest.fixture
|
|
379
|
-
def parse_non_linearized_task(tmp_path, recipe_run_id, mocker):
|
|
378
|
+
def parse_non_linearized_task(tmp_path, recipe_run_id, mocker, fake_gql_client):
|
|
380
379
|
mocker.patch(
|
|
381
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
380
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
382
381
|
)
|
|
383
382
|
with ParseL0CryonirspRampData(
|
|
384
383
|
recipe_run_id=recipe_run_id,
|
|
@@ -8,7 +8,6 @@ from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
9
9
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
10
10
|
from dkist_processing_common.models.task_name import TaskName
|
|
11
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
12
11
|
|
|
13
12
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
14
13
|
from dkist_processing_cryonirsp.tasks.quality_metrics import CryonirspL0QualityMetrics
|
|
@@ -161,7 +160,7 @@ def test_l0_quality_task(
|
|
|
161
160
|
assert len(files) > 0
|
|
162
161
|
|
|
163
162
|
|
|
164
|
-
def test_l1_quality_task(cryo_l1_quality_task, mocker):
|
|
163
|
+
def test_l1_quality_task(cryo_l1_quality_task, mocker, fake_gql_client):
|
|
165
164
|
"""
|
|
166
165
|
Given: A CryonirspL1QualityMetrics task
|
|
167
166
|
When: Calling the task instance
|
|
@@ -169,7 +168,7 @@ def test_l1_quality_task(cryo_l1_quality_task, mocker):
|
|
|
169
168
|
and a single noise measurement and datetime is recorded for L1 file for each Stokes Q, U, and V
|
|
170
169
|
"""
|
|
171
170
|
mocker.patch(
|
|
172
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
171
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
173
172
|
)
|
|
174
173
|
# When
|
|
175
174
|
task = cryo_l1_quality_task
|
|
@@ -7,12 +7,12 @@ from dkist_header_validator import spec122_validator
|
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
9
9
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
10
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
11
10
|
|
|
12
11
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
13
12
|
from dkist_processing_cryonirsp.tasks.sp_beam_boundaries import SPBeamBoundariesCalibration
|
|
14
13
|
from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
|
|
15
14
|
from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
|
|
15
|
+
from dkist_processing_cryonirsp.tests.conftest import fake_gql_client
|
|
16
16
|
from dkist_processing_cryonirsp.tests.conftest import generate_fits_frame
|
|
17
17
|
from dkist_processing_cryonirsp.tests.header_models import CryonirspHeadersValidSPSolarGainFrames
|
|
18
18
|
|
|
@@ -85,14 +85,14 @@ def compute_beam_boundaries_task(
|
|
|
85
85
|
task._purge()
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
def test_compute_beam_boundaries_task(compute_beam_boundaries_task, mocker):
|
|
88
|
+
def test_compute_beam_boundaries_task(compute_beam_boundaries_task, mocker, fake_gql_client):
|
|
89
89
|
"""
|
|
90
90
|
Given: A SPBeamBoundariesCalibration task
|
|
91
91
|
When: Calling the task instance with known input data
|
|
92
92
|
Then: The correct beam boundary values are created and saved as intermediate files
|
|
93
93
|
"""
|
|
94
94
|
mocker.patch(
|
|
95
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
95
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
96
96
|
)
|
|
97
97
|
# Given
|
|
98
98
|
task, arm_id = compute_beam_boundaries_task
|
|
@@ -5,7 +5,6 @@ import pytest
|
|
|
5
5
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
6
6
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
7
7
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
8
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
9
8
|
from dkist_processing_math import transform
|
|
10
9
|
|
|
11
10
|
from dkist_processing_cryonirsp.codecs.fits import cryo_fits_array_decoder
|
|
@@ -287,7 +286,7 @@ def geometric_calibration_task_with_simple_raw_data(
|
|
|
287
286
|
task._purge()
|
|
288
287
|
|
|
289
288
|
|
|
290
|
-
def test_geometric_task(geometric_calibration_task_that_completes, mocker):
|
|
289
|
+
def test_geometric_task(geometric_calibration_task_that_completes, mocker, fake_gql_client):
|
|
291
290
|
"""
|
|
292
291
|
Given: A set of raw solar gain images and necessary intermediate calibrations
|
|
293
292
|
When: Running the geometric task
|
|
@@ -295,7 +294,7 @@ def test_geometric_task(geometric_calibration_task_that_completes, mocker):
|
|
|
295
294
|
"""
|
|
296
295
|
# See the note in the fixture above: this test does NOT test for accuracy of the calibration
|
|
297
296
|
mocker.patch(
|
|
298
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
297
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
299
298
|
)
|
|
300
299
|
task, beam_shape = geometric_calibration_task_that_completes
|
|
301
300
|
task()
|
|
@@ -6,7 +6,6 @@ from astropy.io import fits
|
|
|
6
6
|
from dkist_header_validator import spec122_validator
|
|
7
7
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
8
8
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
9
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
10
9
|
|
|
11
10
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
12
11
|
from dkist_processing_cryonirsp.tasks.make_movie_frames import SPMakeCryonirspMovieFrames
|
|
@@ -95,14 +94,14 @@ def sp_movie_frames_task(tmp_path, recipe_run_id, init_cryonirsp_constants_db, r
|
|
|
95
94
|
task._purge()
|
|
96
95
|
|
|
97
96
|
|
|
98
|
-
def test_sp_make_movie_frames(sp_movie_frames_task, mocker):
|
|
97
|
+
def test_sp_make_movie_frames(sp_movie_frames_task, mocker, fake_gql_client):
|
|
99
98
|
"""
|
|
100
99
|
Given: A SPMakeCryonirspMovieFrames task
|
|
101
100
|
When: Calling the task instance
|
|
102
101
|
Then: a fits file is made for each scan containing the movie frame for that scan
|
|
103
102
|
"""
|
|
104
103
|
mocker.patch(
|
|
105
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
104
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
106
105
|
)
|
|
107
106
|
task, map_scans, scan_steps, array_shape, is_polarimetric = sp_movie_frames_task
|
|
108
107
|
if scan_steps > 1:
|
|
@@ -11,7 +11,6 @@ from dkist_header_validator import spec122_validator
|
|
|
11
11
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
12
12
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
13
13
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
14
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
15
14
|
|
|
16
15
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
17
16
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
@@ -320,7 +319,7 @@ def calibrated_array_and_header_dicts(
|
|
|
320
319
|
return array_dict, header_dict, array_shape
|
|
321
320
|
|
|
322
321
|
|
|
323
|
-
def test_sp_science_calibration_task(sp_science_calibration_task, mocker):
|
|
322
|
+
def test_sp_science_calibration_task(sp_science_calibration_task, mocker, fake_gql_client):
|
|
324
323
|
"""
|
|
325
324
|
Given: A SPScienceCalibration task
|
|
326
325
|
When: Calling the task instance
|
|
@@ -328,7 +327,7 @@ def test_sp_science_calibration_task(sp_science_calibration_task, mocker):
|
|
|
328
327
|
"""
|
|
329
328
|
|
|
330
329
|
mocker.patch(
|
|
331
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
330
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
332
331
|
)
|
|
333
332
|
|
|
334
333
|
# When
|
|
@@ -5,7 +5,6 @@ import pytest
|
|
|
5
5
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
6
6
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
7
7
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
8
|
-
from dkist_processing_common.tests.conftest import FakeGQLClient
|
|
9
8
|
|
|
10
9
|
from dkist_processing_cryonirsp.codecs.fits import cryo_fits_array_decoder
|
|
11
10
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
@@ -178,14 +177,16 @@ def solar_gain_calibration_task_with_no_data(tmp_path, recipe_run_id, init_cryon
|
|
|
178
177
|
|
|
179
178
|
|
|
180
179
|
@pytest.mark.parametrize("fringe_correction", [False, True])
|
|
181
|
-
def test_solar_gain_task(
|
|
180
|
+
def test_solar_gain_task(
|
|
181
|
+
solar_gain_calibration_task_that_completes, mocker, fake_gql_client, fringe_correction
|
|
182
|
+
):
|
|
182
183
|
"""
|
|
183
184
|
Given: A set of raw solar gain images and necessary intermediate calibrations
|
|
184
185
|
When: Running the solargain task
|
|
185
186
|
Then: The task completes and the outputs are correct
|
|
186
187
|
"""
|
|
187
188
|
mocker.patch(
|
|
188
|
-
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=
|
|
189
|
+
"dkist_processing_common.tasks.mixin.metadata_store.GraphQLClient", new=fake_gql_client
|
|
189
190
|
)
|
|
190
191
|
|
|
191
192
|
task, true_solar_single_beam = solar_gain_calibration_task_that_completes
|