dkist-processing-cryonirsp 2.1.0rc1__tar.gz → 2.1.2__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.
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/CHANGELOG.rst +36 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/PKG-INFO +89 -90
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/linearity_correction.py +36 -38
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/conftest.py +31 -68
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/header_models.py +5 -3
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +4 -1
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +4 -4
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +6 -5
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +1 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +1 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_ci_science.py +2 -15
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_dark.py +4 -15
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_fits_access.py +1 -3
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_gain.py +3 -17
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +3 -10
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +37 -9
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +1 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_parse.py +1 -1
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_polcal_as_science.py +2 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_quality.py +0 -1
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +1 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +4 -5
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +1 -9
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_science.py +2 -14
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_solar.py +3 -3
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +1 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/PKG-INFO +89 -90
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -1
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/requires.txt +88 -89
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/scm_file_list.json +0 -1
- dkist_processing_cryonirsp-2.1.2/dkist_processing_cryonirsp.egg-info/scm_version.json +8 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/pyproject.toml +90 -91
- dkist_processing_cryonirsp-2.1.0rc1/changelog/295.misc.rst +0 -1
- dkist_processing_cryonirsp-2.1.0rc1/dkist_processing_cryonirsp.egg-info/scm_version.json +0 -8
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/.gitignore +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/.snyk +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/README.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/dataset_extras.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/landing_page.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/setup.cfg +0 -0
- {dkist_processing_cryonirsp-2.1.0rc1 → dkist_processing_cryonirsp-2.1.2}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
v2.1.2 (2026-09-24)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Use the "level0_spec214" file schema keyword argument in test Datasets.
|
|
8
|
+
With this keyword, subsequent translation of the resulting headers to
|
|
9
|
+
Spec 214 is not necessary. Simplify test functions that generate headers
|
|
10
|
+
using this change. (`#302 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/302>`__)
|
|
11
|
+
- Use dkist-fits-specifications v4.29.0, which includes the Trend FITS specification.
|
|
12
|
+
Use dkist-header-validator v6.0.0, a significant refactor that allows multi-HDU objects to be validated.
|
|
13
|
+
Use dkist-processing-common v14.5.0, which accommodates the changes to the header validator. (`#302 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/302>`__)
|
|
14
|
+
- Validators no longer have validate-and-translate methods.
|
|
15
|
+
Where still necessary, replace validate-and-translate calls with a call to
|
|
16
|
+
validate and then a call to translate. (`#302 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/302>`__)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
v2.1.1 (2026-08-28)
|
|
20
|
+
===================
|
|
21
|
+
|
|
22
|
+
Features
|
|
23
|
+
--------
|
|
24
|
+
|
|
25
|
+
- Improve linearization performance by only reading header objects when constructing the ramp sets. (`#301 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/301>`__)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
v2.1.0 (2026-08-25)
|
|
29
|
+
===================
|
|
30
|
+
|
|
31
|
+
Misc
|
|
32
|
+
----
|
|
33
|
+
|
|
34
|
+
- Convert wavelength calibration quality metric generation to the new storage-based framework. (`#295 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/295>`__)
|
|
35
|
+
|
|
36
|
+
|
|
1
37
|
v2.0.5 (2026-08-14)
|
|
2
38
|
===================
|
|
3
39
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
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
|
|
@@ -15,9 +15,9 @@ Requires-Python: >=3.13
|
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
16
|
Requires-Dist: Pillow==10.4.0
|
|
17
17
|
Requires-Dist: astropy==7.0.2
|
|
18
|
-
Requires-Dist: dkist-fits-specifications==4.
|
|
19
|
-
Requires-Dist: dkist-header-validator==
|
|
20
|
-
Requires-Dist: dkist-processing-common==14.
|
|
18
|
+
Requires-Dist: dkist-fits-specifications==4.29.0
|
|
19
|
+
Requires-Dist: dkist-header-validator==6.0.0
|
|
20
|
+
Requires-Dist: dkist-processing-common==14.5.0
|
|
21
21
|
Requires-Dist: dkist-processing-math==2.2.3
|
|
22
22
|
Requires-Dist: dkist-processing-pac==3.1.2
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.1
|
|
@@ -38,7 +38,7 @@ Requires-Dist: pytest-cov; extra == "test"
|
|
|
38
38
|
Requires-Dist: pytest-xdist; extra == "test"
|
|
39
39
|
Requires-Dist: pytest-mock; extra == "test"
|
|
40
40
|
Requires-Dist: hypothesis; extra == "test"
|
|
41
|
-
Requires-Dist: dkist-data-simulator
|
|
41
|
+
Requires-Dist: dkist-data-simulator; extra == "test"
|
|
42
42
|
Requires-Dist: dkist-processing-cryonirsp[inventory]; extra == "test"
|
|
43
43
|
Requires-Dist: dkist-processing-cryonirsp[asdf]; extra == "test"
|
|
44
44
|
Requires-Dist: dkist-processing-cryonirsp[quality]; extra == "test"
|
|
@@ -65,149 +65,149 @@ Provides-Extra: frozen
|
|
|
65
65
|
Requires-Dist: Deprecated==1.3.1; extra == "frozen"
|
|
66
66
|
Requires-Dist: ImageIO==2.37.4; extra == "frozen"
|
|
67
67
|
Requires-Dist: Jinja2==3.1.6; extra == "frozen"
|
|
68
|
-
Requires-Dist: Mako==1.4.
|
|
68
|
+
Requires-Dist: Mako==1.4.3; extra == "frozen"
|
|
69
69
|
Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
|
|
70
70
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
71
|
-
Requires-Dist: PyJWT==2.
|
|
71
|
+
Requires-Dist: PyJWT==2.15.0; extra == "frozen"
|
|
72
72
|
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
73
73
|
Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
|
|
74
74
|
Requires-Dist: Pygments==2.21.0; extra == "frozen"
|
|
75
|
-
Requires-Dist: SQLAlchemy==2.0.
|
|
75
|
+
Requires-Dist: SQLAlchemy==2.0.54; extra == "frozen"
|
|
76
76
|
Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
|
|
77
77
|
Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
|
|
78
|
-
Requires-Dist: aioftp==0.28.
|
|
78
|
+
Requires-Dist: aioftp==0.28.3; extra == "frozen"
|
|
79
79
|
Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
|
|
80
80
|
Requires-Dist: aiohttp==3.14.3; extra == "frozen"
|
|
81
81
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
82
|
-
Requires-Dist: aiosmtplib==5.1.
|
|
82
|
+
Requires-Dist: aiosmtplib==5.1.3; extra == "frozen"
|
|
83
83
|
Requires-Dist: aiosqlite==0.22.1; extra == "frozen"
|
|
84
|
-
Requires-Dist: alembic==1.
|
|
85
|
-
Requires-Dist: amqp==5.
|
|
84
|
+
Requires-Dist: alembic==1.20.0; extra == "frozen"
|
|
85
|
+
Requires-Dist: amqp==5.4.0; extra == "frozen"
|
|
86
86
|
Requires-Dist: annotated-doc==0.0.5; extra == "frozen"
|
|
87
87
|
Requires-Dist: annotated-types==0.8.0; extra == "frozen"
|
|
88
|
-
Requires-Dist: anyio==4.
|
|
88
|
+
Requires-Dist: anyio==4.15.1; extra == "frozen"
|
|
89
89
|
Requires-Dist: apache-airflow==3.3.1; extra == "frozen"
|
|
90
90
|
Requires-Dist: apache-airflow-core==3.3.1; extra == "frozen"
|
|
91
|
-
Requires-Dist: apache-airflow-providers-celery==3.
|
|
92
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.
|
|
93
|
-
Requires-Dist: apache-airflow-providers-common-io==1.
|
|
91
|
+
Requires-Dist: apache-airflow-providers-celery==3.24.0; extra == "frozen"
|
|
92
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.19.0; extra == "frozen"
|
|
93
|
+
Requires-Dist: apache-airflow-providers-common-io==1.9.0; extra == "frozen"
|
|
94
94
|
Requires-Dist: apache-airflow-providers-common-sql==2.1.1; extra == "frozen"
|
|
95
95
|
Requires-Dist: apache-airflow-providers-postgres==7.0.2; extra == "frozen"
|
|
96
|
-
Requires-Dist: apache-airflow-providers-smtp==3.0.
|
|
97
|
-
Requires-Dist: apache-airflow-providers-standard==1.
|
|
96
|
+
Requires-Dist: apache-airflow-providers-smtp==3.0.4; extra == "frozen"
|
|
97
|
+
Requires-Dist: apache-airflow-providers-standard==1.19.0; extra == "frozen"
|
|
98
98
|
Requires-Dist: apache-airflow-task-sdk==1.3.1; extra == "frozen"
|
|
99
|
-
Requires-Dist: appnope==1.0.0; extra == "frozen"
|
|
100
99
|
Requires-Dist: argcomplete==3.7.2; extra == "frozen"
|
|
101
100
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
102
101
|
Requires-Dist: argon2-cffi-bindings==26.1.0; extra == "frozen"
|
|
103
102
|
Requires-Dist: arrow==1.4.0; extra == "frozen"
|
|
104
|
-
Requires-Dist: asdf==5.
|
|
103
|
+
Requires-Dist: asdf==5.4.0; extra == "frozen"
|
|
105
104
|
Requires-Dist: asdf_standard==1.5.0; extra == "frozen"
|
|
106
105
|
Requires-Dist: asgiref==3.12.1; extra == "frozen"
|
|
107
106
|
Requires-Dist: asteval==1.0.10; extra == "frozen"
|
|
108
107
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
109
|
-
Requires-Dist: astropy-iers-data==0.2026.
|
|
108
|
+
Requires-Dist: astropy-iers-data==0.2026.9.21.0.56.25; extra == "frozen"
|
|
110
109
|
Requires-Dist: asttokens==3.0.2; extra == "frozen"
|
|
111
110
|
Requires-Dist: async-lru==2.3.0; extra == "frozen"
|
|
112
111
|
Requires-Dist: asyncpg==0.31.0; extra == "frozen"
|
|
113
112
|
Requires-Dist: attrs==26.1.0; extra == "frozen"
|
|
114
113
|
Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
115
114
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
116
|
-
Requires-Dist: billiard==4.
|
|
115
|
+
Requires-Dist: billiard==4.3.0; extra == "frozen"
|
|
117
116
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
118
|
-
Requires-Dist: boto3==1.43.
|
|
119
|
-
Requires-Dist: botocore==1.43.
|
|
120
|
-
Requires-Dist: cachetools==7.
|
|
117
|
+
Requires-Dist: boto3==1.43.101; extra == "frozen"
|
|
118
|
+
Requires-Dist: botocore==1.43.101; extra == "frozen"
|
|
119
|
+
Requires-Dist: cachetools==7.2.0; extra == "frozen"
|
|
121
120
|
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
122
121
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
123
122
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
124
123
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
125
124
|
Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
126
|
-
Requires-Dist: click==8.
|
|
125
|
+
Requires-Dist: click==8.5.0; extra == "frozen"
|
|
127
126
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
128
127
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
129
|
-
Requires-Dist: click-repl==0.
|
|
128
|
+
Requires-Dist: click-repl==0.4.0; extra == "frozen"
|
|
129
|
+
Requires-Dist: cloudpickle==3.1.2; extra == "frozen"
|
|
130
130
|
Requires-Dist: colorlog==6.12.0; extra == "frozen"
|
|
131
131
|
Requires-Dist: comm==0.2.3; extra == "frozen"
|
|
132
|
-
Requires-Dist: contourpy==1.
|
|
132
|
+
Requires-Dist: contourpy==1.4.0; extra == "frozen"
|
|
133
133
|
Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
|
|
134
134
|
Requires-Dist: croniter==6.2.4; extra == "frozen"
|
|
135
|
-
Requires-Dist: cryptography==50.0.
|
|
135
|
+
Requires-Dist: cryptography==50.0.1; extra == "frozen"
|
|
136
136
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
137
|
-
Requires-Dist: debugpy==1.8.
|
|
137
|
+
Requires-Dist: debugpy==1.8.22; extra == "frozen"
|
|
138
138
|
Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
139
139
|
Requires-Dist: defusedxml==0.7.1; extra == "frozen"
|
|
140
140
|
Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
141
|
-
Requires-Dist: dkist-header-validator==
|
|
142
|
-
Requires-Dist: dkist-processing-common==14.
|
|
141
|
+
Requires-Dist: dkist-header-validator==6.0.0; extra == "frozen"
|
|
142
|
+
Requires-Dist: dkist-processing-common==14.5.0; extra == "frozen"
|
|
143
143
|
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
144
|
-
Requires-Dist: dkist-processing-cryonirsp==2.1.
|
|
144
|
+
Requires-Dist: dkist-processing-cryonirsp==2.1.2; extra == "frozen"
|
|
145
145
|
Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
|
|
146
146
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
147
147
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
148
148
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
149
|
-
Requires-Dist: dkist_fits_specifications==4.
|
|
149
|
+
Requires-Dist: dkist_fits_specifications==4.29.0; extra == "frozen"
|
|
150
150
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
151
151
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
152
152
|
Requires-Dist: executing==2.2.1; extra == "frozen"
|
|
153
153
|
Requires-Dist: fastapi==0.136.3; extra == "frozen"
|
|
154
154
|
Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
|
|
155
155
|
Requires-Dist: fastjsonschema==2.22.2; extra == "frozen"
|
|
156
|
-
Requires-Dist: flower==2.
|
|
157
|
-
Requires-Dist: fonttools==4.
|
|
156
|
+
Requires-Dist: flower==2.2.0; extra == "frozen"
|
|
157
|
+
Requires-Dist: fonttools==4.66.0; extra == "frozen"
|
|
158
158
|
Requires-Dist: fqdn==1.5.1; extra == "frozen"
|
|
159
159
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
160
|
-
Requires-Dist: fsspec==2026.
|
|
160
|
+
Requires-Dist: fsspec==2026.9.0; extra == "frozen"
|
|
161
161
|
Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
|
|
162
|
-
Requires-Dist: googleapis-common-protos==1.75.
|
|
162
|
+
Requires-Dist: googleapis-common-protos==1.75.3; extra == "frozen"
|
|
163
163
|
Requires-Dist: gqlclient==2.0.0; extra == "frozen"
|
|
164
164
|
Requires-Dist: greenback==1.3.0; extra == "frozen"
|
|
165
|
-
Requires-Dist: greenlet==3.5.
|
|
166
|
-
Requires-Dist: grpcio==1.
|
|
165
|
+
Requires-Dist: greenlet==3.5.6; extra == "frozen"
|
|
166
|
+
Requires-Dist: grpcio==1.84.0; extra == "frozen"
|
|
167
167
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
168
168
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
169
169
|
Requires-Dist: httptools==0.8.0; extra == "frozen"
|
|
170
170
|
Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
171
171
|
Requires-Dist: humanize==4.16.0; extra == "frozen"
|
|
172
|
-
Requires-Dist: idna==3.
|
|
172
|
+
Requires-Dist: idna==3.20; extra == "frozen"
|
|
173
173
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
174
|
-
Requires-Dist: importlib_metadata==9.0.
|
|
174
|
+
Requires-Dist: importlib_metadata==9.0.1; extra == "frozen"
|
|
175
175
|
Requires-Dist: ipykernel==7.3.0; extra == "frozen"
|
|
176
|
-
Requires-Dist: ipython==9.
|
|
176
|
+
Requires-Dist: ipython==9.17.1; extra == "frozen"
|
|
177
177
|
Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
|
|
178
178
|
Requires-Dist: isoduration==20.11.0; extra == "frozen"
|
|
179
179
|
Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
|
|
180
180
|
Requires-Dist: jedi==0.20.0; extra == "frozen"
|
|
181
181
|
Requires-Dist: jmespath==1.1.0; extra == "frozen"
|
|
182
|
-
Requires-Dist: joblib==1.
|
|
182
|
+
Requires-Dist: joblib==1.6.0; extra == "frozen"
|
|
183
183
|
Requires-Dist: json5==0.15.0; extra == "frozen"
|
|
184
184
|
Requires-Dist: jsonpointer==3.1.1; extra == "frozen"
|
|
185
185
|
Requires-Dist: jsonschema==4.26.0; extra == "frozen"
|
|
186
186
|
Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
187
187
|
Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
|
|
188
188
|
Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
|
|
189
|
-
Requires-Dist: jupyter_builder==1.2.
|
|
190
|
-
Requires-Dist: jupyter_client==8.
|
|
189
|
+
Requires-Dist: jupyter_builder==1.2.3; extra == "frozen"
|
|
190
|
+
Requires-Dist: jupyter_client==8.10.0; extra == "frozen"
|
|
191
191
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
192
|
-
Requires-Dist: jupyter_server==2.
|
|
192
|
+
Requires-Dist: jupyter_server==2.21.1; extra == "frozen"
|
|
193
193
|
Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
|
|
194
|
-
Requires-Dist: jupyterlab==4.6.
|
|
194
|
+
Requires-Dist: jupyterlab==4.6.4; extra == "frozen"
|
|
195
195
|
Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
|
|
196
|
-
Requires-Dist: jupyterlab_server==2.28.
|
|
197
|
-
Requires-Dist: kiwisolver==1.5.
|
|
196
|
+
Requires-Dist: jupyterlab_server==2.28.1; extra == "frozen"
|
|
197
|
+
Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
|
|
198
198
|
Requires-Dist: kombu==5.6.2; extra == "frozen"
|
|
199
199
|
Requires-Dist: largestinteriorrectangle==0.2.1; extra == "frozen"
|
|
200
200
|
Requires-Dist: lark==1.3.1; extra == "frozen"
|
|
201
|
-
Requires-Dist: lazy-loader==0.
|
|
201
|
+
Requires-Dist: lazy-loader==0.6; extra == "frozen"
|
|
202
202
|
Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
|
|
203
203
|
Requires-Dist: libcst==1.9.0; extra == "frozen"
|
|
204
|
-
Requires-Dist: linkify-it-py==2.
|
|
204
|
+
Requires-Dist: linkify-it-py==2.2.0; extra == "frozen"
|
|
205
205
|
Requires-Dist: llvmlite==0.44.0; extra == "frozen"
|
|
206
206
|
Requires-Dist: lmfit==1.3.4; extra == "frozen"
|
|
207
207
|
Requires-Dist: lockfile==0.12.2; extra == "frozen"
|
|
208
208
|
Requires-Dist: loguru==0.7.3; extra == "frozen"
|
|
209
209
|
Requires-Dist: markdown-it-py==4.2.0; extra == "frozen"
|
|
210
|
-
Requires-Dist: matplotlib==3.11.
|
|
210
|
+
Requires-Dist: matplotlib==3.11.2; extra == "frozen"
|
|
211
211
|
Requires-Dist: matplotlib-inline==0.2.2; extra == "frozen"
|
|
212
212
|
Requires-Dist: mdurl==0.1.2; extra == "frozen"
|
|
213
213
|
Requires-Dist: methodtools==0.4.7; extra == "frozen"
|
|
@@ -215,15 +215,15 @@ Requires-Dist: mistune==3.3.4; extra == "frozen"
|
|
|
215
215
|
Requires-Dist: more-itertools==11.1.0; extra == "frozen"
|
|
216
216
|
Requires-Dist: moviepy==2.1.2; extra == "frozen"
|
|
217
217
|
Requires-Dist: msgspec==0.21.1; extra == "frozen"
|
|
218
|
-
Requires-Dist: multidict==6.
|
|
219
|
-
Requires-Dist: narwhals==2.
|
|
218
|
+
Requires-Dist: multidict==6.9.1; extra == "frozen"
|
|
219
|
+
Requires-Dist: narwhals==2.26.0; extra == "frozen"
|
|
220
220
|
Requires-Dist: natsort==8.4.0; extra == "frozen"
|
|
221
221
|
Requires-Dist: nbclient==0.11.0; extra == "frozen"
|
|
222
222
|
Requires-Dist: nbconvert==7.17.1; extra == "frozen"
|
|
223
223
|
Requires-Dist: nbformat==5.11.1; extra == "frozen"
|
|
224
|
-
Requires-Dist: nest-asyncio2==1.7.
|
|
225
|
-
Requires-Dist: networkx==3.
|
|
226
|
-
Requires-Dist: notebook==7.6.
|
|
224
|
+
Requires-Dist: nest-asyncio2==1.7.3; extra == "frozen"
|
|
225
|
+
Requires-Dist: networkx==3.7; extra == "frozen"
|
|
226
|
+
Requires-Dist: notebook==7.6.3; extra == "frozen"
|
|
227
227
|
Requires-Dist: notebook_shim==0.2.4; extra == "frozen"
|
|
228
228
|
Requires-Dist: numba==0.61.2; extra == "frozen"
|
|
229
229
|
Requires-Dist: numpy==2.2.5; extra == "frozen"
|
|
@@ -254,7 +254,7 @@ Requires-Dist: opentelemetry-semantic-conventions==0.65b0; extra == "frozen"
|
|
|
254
254
|
Requires-Dist: opentelemetry-util-http==0.65b0; extra == "frozen"
|
|
255
255
|
Requires-Dist: outcome==1.3.0.post0; extra == "frozen"
|
|
256
256
|
Requires-Dist: packaging==26.3; extra == "frozen"
|
|
257
|
-
Requires-Dist: pandas==3.0.
|
|
257
|
+
Requires-Dist: pandas==3.0.6; extra == "frozen"
|
|
258
258
|
Requires-Dist: pandocfilters==1.5.1; extra == "frozen"
|
|
259
259
|
Requires-Dist: parfive==2.3.1; extra == "frozen"
|
|
260
260
|
Requires-Dist: parso==0.8.7; extra == "frozen"
|
|
@@ -265,35 +265,35 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
265
265
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
266
266
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
267
267
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
268
|
-
Requires-Dist: platformdirs==4.11.
|
|
268
|
+
Requires-Dist: platformdirs==4.11.12; extra == "frozen"
|
|
269
269
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
270
270
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
271
271
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
272
272
|
Requires-Dist: prometheus_client==0.26.0; extra == "frozen"
|
|
273
273
|
Requires-Dist: prompt_toolkit==3.0.53; extra == "frozen"
|
|
274
|
-
Requires-Dist: propcache==0.5.
|
|
275
|
-
Requires-Dist: protobuf==7.36.
|
|
274
|
+
Requires-Dist: propcache==0.5.4; extra == "frozen"
|
|
275
|
+
Requires-Dist: protobuf==7.36.2; extra == "frozen"
|
|
276
276
|
Requires-Dist: psutil==7.2.2; extra == "frozen"
|
|
277
|
-
Requires-Dist: psycopg==3.3.
|
|
278
|
-
Requires-Dist: psycopg-binary==3.3.
|
|
279
|
-
Requires-Dist: psycopg2-binary==2.9.
|
|
277
|
+
Requires-Dist: psycopg==3.3.6; extra == "frozen"
|
|
278
|
+
Requires-Dist: psycopg-binary==3.3.6; extra == "frozen"
|
|
279
|
+
Requires-Dist: psycopg2-binary==2.9.13; extra == "frozen"
|
|
280
280
|
Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
|
|
281
|
-
Requires-Dist: pure_eval==0.2.
|
|
281
|
+
Requires-Dist: pure_eval==0.2.4; extra == "frozen"
|
|
282
282
|
Requires-Dist: pycparser==3.0; extra == "frozen"
|
|
283
|
-
Requires-Dist: pydantic==2.13.
|
|
283
|
+
Requires-Dist: pydantic==2.13.5; extra == "frozen"
|
|
284
284
|
Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
|
|
285
285
|
Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
|
|
286
|
-
Requires-Dist: pydantic_core==2.46.
|
|
286
|
+
Requires-Dist: pydantic_core==2.46.5; extra == "frozen"
|
|
287
287
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
288
|
-
Requires-Dist: pygtrie==2.
|
|
289
|
-
Requires-Dist: pyparsing==3.3.
|
|
288
|
+
Requires-Dist: pygtrie==2.6.2; extra == "frozen"
|
|
289
|
+
Requires-Dist: pyparsing==3.3.3; extra == "frozen"
|
|
290
290
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
291
291
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
292
292
|
Requires-Dist: python-dotenv==1.2.3; extra == "frozen"
|
|
293
293
|
Requires-Dist: python-json-logger==4.2.0; extra == "frozen"
|
|
294
294
|
Requires-Dist: python-multipart==0.0.32; extra == "frozen"
|
|
295
|
-
Requires-Dist: python-slugify==
|
|
296
|
-
Requires-Dist: pytz==2026.
|
|
295
|
+
Requires-Dist: python-slugify==9.1.1; extra == "frozen"
|
|
296
|
+
Requires-Dist: pytz==2026.4; extra == "frozen"
|
|
297
297
|
Requires-Dist: pyzmq==27.2.0; extra == "frozen"
|
|
298
298
|
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
299
299
|
Requires-Dist: referencing==0.37.0; extra == "frozen"
|
|
@@ -303,7 +303,7 @@ Requires-Dist: rfc3986-validator==0.1.1; extra == "frozen"
|
|
|
303
303
|
Requires-Dist: rfc3987-syntax==1.1.0; extra == "frozen"
|
|
304
304
|
Requires-Dist: rich==15.0.0; extra == "frozen"
|
|
305
305
|
Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
|
|
306
|
-
Requires-Dist: rich-toolkit==0.20.
|
|
306
|
+
Requires-Dist: rich-toolkit==0.20.5; extra == "frozen"
|
|
307
307
|
Requires-Dist: rpds-py==2026.6.3; extra == "frozen"
|
|
308
308
|
Requires-Dist: s3transfer==0.19.2; extra == "frozen"
|
|
309
309
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
@@ -315,11 +315,11 @@ Requires-Dist: shellingham==1.5.4; extra == "frozen"
|
|
|
315
315
|
Requires-Dist: six==1.17.0; extra == "frozen"
|
|
316
316
|
Requires-Dist: sniffio==1.3.1; extra == "frozen"
|
|
317
317
|
Requires-Dist: solar-wavelength-calibration==2.0.3; extra == "frozen"
|
|
318
|
-
Requires-Dist: soupsieve==2.
|
|
318
|
+
Requires-Dist: soupsieve==2.10; extra == "frozen"
|
|
319
319
|
Requires-Dist: sqids==0.5.1; extra == "frozen"
|
|
320
320
|
Requires-Dist: sqlparse==0.6.0; extra == "frozen"
|
|
321
321
|
Requires-Dist: stack-data==0.6.3; extra == "frozen"
|
|
322
|
-
Requires-Dist: starlette==1.
|
|
322
|
+
Requires-Dist: starlette==1.7.0; extra == "frozen"
|
|
323
323
|
Requires-Dist: structlog==26.1.0; extra == "frozen"
|
|
324
324
|
Requires-Dist: sunpy==6.1.1; extra == "frozen"
|
|
325
325
|
Requires-Dist: svcs==26.2.0; extra == "frozen"
|
|
@@ -329,37 +329,36 @@ Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
|
329
329
|
Requires-Dist: termcolor==3.3.0; extra == "frozen"
|
|
330
330
|
Requires-Dist: terminado==0.18.1; extra == "frozen"
|
|
331
331
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
332
|
-
Requires-Dist: threadpoolctl==3.
|
|
333
|
-
Requires-Dist: tifffile==2026.
|
|
332
|
+
Requires-Dist: threadpoolctl==3.7.0; extra == "frozen"
|
|
333
|
+
Requires-Dist: tifffile==2026.9.20; extra == "frozen"
|
|
334
334
|
Requires-Dist: tinycss2==1.5.1; extra == "frozen"
|
|
335
|
-
Requires-Dist: tornado==6.5.
|
|
336
|
-
Requires-Dist: tqdm==4.70.
|
|
335
|
+
Requires-Dist: tornado==6.5.10; extra == "frozen"
|
|
336
|
+
Requires-Dist: tqdm==4.70.1; extra == "frozen"
|
|
337
337
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
338
|
-
Requires-Dist: typer==0.27.
|
|
338
|
+
Requires-Dist: typer==0.27.2; extra == "frozen"
|
|
339
339
|
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
340
340
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
341
|
-
Requires-Dist: tzdata==2026.
|
|
341
|
+
Requires-Dist: tzdata==2026.4; extra == "frozen"
|
|
342
342
|
Requires-Dist: tzlocal==5.4.4; extra == "frozen"
|
|
343
|
-
Requires-Dist: uc-micro-py==2.0.0; extra == "frozen"
|
|
344
343
|
Requires-Dist: uncertainties==3.2.3; extra == "frozen"
|
|
345
344
|
Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
|
|
346
345
|
Requires-Dist: uri-template==1.3.0; extra == "frozen"
|
|
347
|
-
Requires-Dist: urllib3==2.
|
|
346
|
+
Requires-Dist: urllib3==2.8.0; extra == "frozen"
|
|
348
347
|
Requires-Dist: uuid6==2025.0.1; extra == "frozen"
|
|
349
|
-
Requires-Dist: uvicorn==0.
|
|
348
|
+
Requires-Dist: uvicorn==0.53.0; extra == "frozen"
|
|
350
349
|
Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
351
350
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
352
351
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
353
|
-
Requires-Dist: watchfiles==1.
|
|
354
|
-
Requires-Dist: wcwidth==0.
|
|
352
|
+
Requires-Dist: watchfiles==1.3.0; extra == "frozen"
|
|
353
|
+
Requires-Dist: wcwidth==0.9.1; extra == "frozen"
|
|
355
354
|
Requires-Dist: webcolors==25.10.0; extra == "frozen"
|
|
356
355
|
Requires-Dist: webencodings==0.6.1; extra == "frozen"
|
|
357
|
-
Requires-Dist: websocket-client==1.9.
|
|
358
|
-
Requires-Dist: websockets==17.
|
|
356
|
+
Requires-Dist: websocket-client==1.9.2; extra == "frozen"
|
|
357
|
+
Requires-Dist: websockets==17.1; extra == "frozen"
|
|
359
358
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
360
|
-
Requires-Dist: wrapt==2.
|
|
359
|
+
Requires-Dist: wrapt==2.4.1; extra == "frozen"
|
|
361
360
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
362
|
-
Requires-Dist: yarl==1.
|
|
361
|
+
Requires-Dist: yarl==1.25.1; extra == "frozen"
|
|
363
362
|
Requires-Dist: zipp==4.1.0; extra == "frozen"
|
|
364
363
|
|
|
365
364
|
dkist-processing-cryonirsp
|
|
@@ -4,6 +4,8 @@ from dataclasses import dataclass
|
|
|
4
4
|
from typing import Generator
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
|
+
from astropy.io import fits
|
|
8
|
+
from dkist_processing_common.codecs.fits import fits_access_header_decoder
|
|
7
9
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
8
10
|
from dkist_service_configuration.logging import logger
|
|
9
11
|
from numba import njit
|
|
@@ -104,22 +106,22 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
104
106
|
Generator which yields _RampSet instances
|
|
105
107
|
"""
|
|
106
108
|
for ramp_set_num, time_obs in enumerate(self.constants.time_obs_list):
|
|
107
|
-
|
|
109
|
+
header_objects = list(
|
|
108
110
|
self.read(
|
|
109
111
|
tags=[
|
|
110
112
|
CryonirspTag.input(),
|
|
111
113
|
CryonirspTag.frame(),
|
|
112
114
|
CryonirspTag.time_obs(time_obs),
|
|
113
115
|
],
|
|
114
|
-
decoder=
|
|
116
|
+
decoder=fits_access_header_decoder,
|
|
115
117
|
fits_access_class=CryonirspRampFitsAccess,
|
|
116
118
|
)
|
|
117
119
|
)
|
|
118
120
|
|
|
119
|
-
if not self.is_ramp_valid(
|
|
121
|
+
if not self.is_ramp_valid(header_objects):
|
|
120
122
|
continue
|
|
121
123
|
|
|
122
|
-
ramp_set = self.populate_ramp_set(time_obs, ramp_set_num)
|
|
124
|
+
ramp_set = self.populate_ramp_set(time_obs, ramp_set_num, header_objects)
|
|
123
125
|
yield ramp_set
|
|
124
126
|
|
|
125
127
|
def is_ramp_valid(self, ramp_object_list: list[CryonirspRampFitsAccess]) -> bool:
|
|
@@ -193,32 +195,21 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
193
195
|
fits_obj = fits_obj_list[0]
|
|
194
196
|
return fits_obj
|
|
195
197
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
Return
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
This method iterates through all the frames in the ramp to construct the list. While this could
|
|
212
|
-
be incorporated into other methods that iterate through a ramp set, it is kept separate for clarity.
|
|
213
|
-
We read one frame at a time to not have all the frames in memory simultaneously.
|
|
214
|
-
"""
|
|
215
|
-
exp_time_list = []
|
|
216
|
-
for frame_num in range(1, num_frames_in_ramp + 1):
|
|
217
|
-
fits_obj = self.read_single_ramp_frame(time_obs, frame_num)
|
|
218
|
-
exp_time_list.append(fits_obj.fpa_exposure_time_ms)
|
|
219
|
-
return np.array(exp_time_list, dtype=np.float32)
|
|
220
|
-
|
|
221
|
-
def populate_ramp_set(self, time_obs: str, idx: int) -> _RampSet | None:
|
|
198
|
+
@staticmethod
|
|
199
|
+
def get_frame_shape_from_header(header: fits.Header) -> tuple[int, ...]:
|
|
200
|
+
"""Return the data shape using only FITS header metadata."""
|
|
201
|
+
axis_key = "ZNAXIS" if "ZNAXIS" in header else "NAXIS"
|
|
202
|
+
frame_shape = tuple(header[f"{axis_key}{axis}"] for axis in range(header[axis_key], 0, -1))
|
|
203
|
+
if len(frame_shape) == 3 and frame_shape[0] == 1:
|
|
204
|
+
frame_shape = frame_shape[1:]
|
|
205
|
+
return frame_shape
|
|
206
|
+
|
|
207
|
+
def populate_ramp_set(
|
|
208
|
+
self,
|
|
209
|
+
time_obs: str,
|
|
210
|
+
idx: int,
|
|
211
|
+
ramp_object_list: list[CryonirspRampFitsAccess],
|
|
212
|
+
) -> _RampSet:
|
|
222
213
|
"""
|
|
223
214
|
Populate a _RampSet dataclass for the ramp identified by time_obs.
|
|
224
215
|
|
|
@@ -228,16 +219,21 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
228
219
|
The DATE-OBS value identifying the ramp
|
|
229
220
|
idx
|
|
230
221
|
The index number representing this ramp set out of the total number of ramp sets (zero-based)
|
|
222
|
+
ramp_object_list
|
|
223
|
+
Header-only objects for all frames in the ramp
|
|
231
224
|
|
|
232
225
|
Returns
|
|
233
226
|
-------
|
|
234
227
|
A populated _RampSet object representing the specified ramp in the input data set
|
|
235
228
|
|
|
236
|
-
|
|
229
|
+
All metadata is reused from the header-only objects loaded during ramp validation.
|
|
237
230
|
"""
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
231
|
+
ordered_objects = sorted(ramp_object_list, key=lambda fo: fo.curr_frame_in_ramp)
|
|
232
|
+
actual_num_frames_in_ramp = len(ordered_objects)
|
|
233
|
+
exp_times = np.array(
|
|
234
|
+
[fits_obj.fpa_exposure_time_ms for fits_obj in ordered_objects], dtype=np.float32
|
|
235
|
+
)
|
|
236
|
+
last_frame = ordered_objects[-1]
|
|
241
237
|
ramp_set_num = idx + 1
|
|
242
238
|
# The default list of curr_frame_in_ramp tag numbers to use, which may be altered later on
|
|
243
239
|
frames_to_process = np.array(range(1, actual_num_frames_in_ramp + 1), dtype=int)
|
|
@@ -246,7 +242,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
246
242
|
time_obs=time_obs,
|
|
247
243
|
num_frames_in_ramp=actual_num_frames_in_ramp,
|
|
248
244
|
exposure_times_ms=exp_times,
|
|
249
|
-
frame_shape=last_frame.
|
|
245
|
+
frame_shape=self.get_frame_shape_from_header(last_frame.header),
|
|
250
246
|
last_frame_name=last_frame.name,
|
|
251
247
|
last_frame_fits_access=CryonirspRampFitsAccess(header=last_frame.header),
|
|
252
248
|
frames_to_process=frames_to_process,
|
|
@@ -301,7 +297,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
301
297
|
'LookUpTable','FastCDS','FitUpTheRamp' (ignored if data is line by line)
|
|
302
298
|
|
|
303
299
|
camera_readout_mode
|
|
304
|
-
|
|
300
|
+
'FastUpTheRamp', 'SlowUpTheRamp', or 'LineByLine'
|
|
305
301
|
|
|
306
302
|
lin_curve
|
|
307
303
|
The lincurve array is the set of coefficients for a 3rd order polynomial which represents the overall
|
|
@@ -391,7 +387,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
391
387
|
e. Store the linearized chunk in the proper location in the final linearized array
|
|
392
388
|
3. Return the linearized ramp, reshaping it to the original frame shape
|
|
393
389
|
"""
|
|
394
|
-
thresholds_flattened = thresholds.
|
|
390
|
+
thresholds_flattened = thresholds.ravel(order="C")
|
|
395
391
|
frame_shape = ramp_set.frame_shape
|
|
396
392
|
linearized_frame = np.zeros(np.prod(frame_shape), dtype=np.float32)
|
|
397
393
|
num_frame_size_elements = int(np.prod(frame_shape))
|
|
@@ -463,7 +459,9 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
463
459
|
for frame_num in ramp_set.frames_to_process:
|
|
464
460
|
frame = self.read_single_ramp_frame(ramp_set.time_obs, frame_num).data
|
|
465
461
|
frame_pos_in_stack = frame_num - ramp_set.index_offset_to_first_frame
|
|
466
|
-
chunk_stack[:current_chunk_size, frame_pos_in_stack] = frame.
|
|
462
|
+
chunk_stack[:current_chunk_size, frame_pos_in_stack] = frame.ravel(order="C")[
|
|
463
|
+
current_slice
|
|
464
|
+
]
|
|
467
465
|
return chunk_stack
|
|
468
466
|
|
|
469
467
|
def compute_linear_chunk_size(self, frame_size_nelem: int, num_frames_in_ramp: int) -> int:
|