dkist-processing-cryonirsp 2.1.1__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.1 → dkist_processing_cryonirsp-2.1.2}/CHANGELOG.rst +18 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/PKG-INFO +80 -81
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/conftest.py +31 -68
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/header_models.py +5 -3
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +4 -1
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +4 -4
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +6 -5
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +1 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +1 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_ci_science.py +2 -15
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_dark.py +4 -15
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_fits_access.py +1 -3
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_gain.py +3 -17
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +3 -10
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +3 -9
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +1 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_parse.py +1 -1
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_polcal_as_science.py +2 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_quality.py +0 -1
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +1 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +4 -5
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +1 -9
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_science.py +2 -14
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_solar.py +3 -3
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +1 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/PKG-INFO +80 -81
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/requires.txt +79 -80
- dkist_processing_cryonirsp-2.1.2/dkist_processing_cryonirsp.egg-info/scm_version.json +8 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/pyproject.toml +81 -82
- dkist_processing_cryonirsp-2.1.1/dkist_processing_cryonirsp.egg-info/scm_version.json +0 -8
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/.gitignore +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/.snyk +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/README.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/scm_file_list.json +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/dataset_extras.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/landing_page.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/setup.cfg +0 -0
- {dkist_processing_cryonirsp-2.1.1 → dkist_processing_cryonirsp-2.1.2}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,21 @@
|
|
|
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
|
+
|
|
1
19
|
v2.1.1 (2026-08-28)
|
|
2
20
|
===================
|
|
3
21
|
|
|
@@ -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,59 +65,58 @@ 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"
|
|
@@ -126,88 +125,89 @@ Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
|
126
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
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
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.17.
|
|
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.
|
|
189
|
+
Requires-Dist: jupyter_builder==1.2.3; extra == "frozen"
|
|
190
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.21.
|
|
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.
|
|
196
|
+
Requires-Dist: jupyterlab_server==2.28.1; extra == "frozen"
|
|
197
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
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
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
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.
|
|
356
|
+
Requires-Dist: websocket-client==1.9.2; extra == "frozen"
|
|
358
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
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from collections.abc import Iterable
|
|
3
2
|
from dataclasses import asdict
|
|
4
3
|
from dataclasses import dataclass
|
|
5
4
|
from dataclasses import field
|
|
6
5
|
from dataclasses import is_dataclass
|
|
7
6
|
from random import randint
|
|
8
|
-
from typing import Any
|
|
9
7
|
from typing import Callable
|
|
8
|
+
from typing import Generator
|
|
10
9
|
from typing import Type
|
|
11
10
|
from typing import TypeVar
|
|
12
11
|
|
|
@@ -16,9 +15,7 @@ from astropy.io import fits
|
|
|
16
15
|
from astropy.time import Time
|
|
17
16
|
from astropy.time import TimeDelta
|
|
18
17
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
19
|
-
from dkist_header_validator import spec122_validator
|
|
20
18
|
from dkist_header_validator.translator import sanitize_to_spec214_level1
|
|
21
|
-
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
22
19
|
from dkist_processing_common.codecs.array import array_encoder
|
|
23
20
|
from dkist_processing_common.codecs.basemodel import basemodel_encoder
|
|
24
21
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
@@ -40,57 +37,38 @@ from dkist_processing_cryonirsp.tests.header_models import CryonirspHeaders
|
|
|
40
37
|
|
|
41
38
|
|
|
42
39
|
def generate_fits_frame(
|
|
43
|
-
|
|
40
|
+
header: fits.Header | Generator[fits.Header],
|
|
41
|
+
shape: tuple[int, ...] | None = None,
|
|
42
|
+
signal: float = 150.0,
|
|
43
|
+
data: np.ndarray | None = None,
|
|
44
44
|
) -> fits.HDUList:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
header_generator: Iterable, data: np.ndarray | None = None
|
|
55
|
-
) -> fits.HDUList:
|
|
56
|
-
if data is None:
|
|
57
|
-
data = np.ones(shape=(1, 2000, 2560))
|
|
58
|
-
data[0, 1000:, :] *= np.arange(1000)[:, None][::-1, :] # Make beam 2 different and flip it
|
|
59
|
-
generated_header = next(header_generator)
|
|
60
|
-
translated_header = translate_spec122_to_spec214_l0(generated_header)
|
|
61
|
-
del translated_header["COMMENT"]
|
|
62
|
-
hdu = fits.PrimaryHDU(data=data, header=fits.Header(translated_header))
|
|
63
|
-
return fits.HDUList([hdu])
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def generate_214_l0_fits_frame(
|
|
67
|
-
s122_header: fits.Header | dict[str, Any], data: np.ndarray | None = None
|
|
68
|
-
) -> fits.HDUList:
|
|
69
|
-
"""Convert S122 header into 214 L0"""
|
|
70
|
-
if data is None:
|
|
71
|
-
data = np.ones((1, 10, 10))
|
|
72
|
-
translated_header = translate_spec122_to_spec214_l0(s122_header)
|
|
73
|
-
del translated_header["COMMENT"]
|
|
74
|
-
hdu = fits.PrimaryHDU(data=data, header=fits.Header(translated_header))
|
|
45
|
+
"""
|
|
46
|
+
Make a frame from a header or a header generator and optional data parameters.
|
|
47
|
+
"""
|
|
48
|
+
if not isinstance(data, np.ndarray):
|
|
49
|
+
shape = shape or (1, 10, 10)
|
|
50
|
+
data = np.ones(shape) * signal
|
|
51
|
+
if not isinstance(header, fits.Header):
|
|
52
|
+
header = next(header)
|
|
53
|
+
hdu = fits.PrimaryHDU(data=data, header=header)
|
|
75
54
|
return fits.HDUList([hdu])
|
|
76
55
|
|
|
77
56
|
|
|
78
|
-
def
|
|
79
|
-
|
|
57
|
+
def generate_single_214_l1_fits_frame(
|
|
58
|
+
header: fits.Header, data: np.ndarray | None = None
|
|
80
59
|
) -> fits.HDUList:
|
|
81
|
-
"""
|
|
60
|
+
"""
|
|
61
|
+
Convert header into 214 L1 only.
|
|
82
62
|
|
|
83
63
|
This does NOT include populating all L1 headers, just removing 214 L0 only headers.
|
|
84
|
-
|
|
85
|
-
NOTE: The stuff you care about will be in hdulist[1]
|
|
86
64
|
"""
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
l1_header = sanitize_to_spec214_level1(
|
|
93
|
-
hdu = fits.CompImageHDU(header=l1_header, data=
|
|
65
|
+
if data is None:
|
|
66
|
+
data = np.ones((1, 10, 10))
|
|
67
|
+
header["DNAXIS"] = 5
|
|
68
|
+
header["DAAXES"] = 2
|
|
69
|
+
header["DEAXES"] = 3
|
|
70
|
+
l1_header = sanitize_to_spec214_level1(header)
|
|
71
|
+
hdu = fits.CompImageHDU(header=l1_header, data=data)
|
|
94
72
|
|
|
95
73
|
return fits.HDUList([fits.PrimaryHDU(), hdu])
|
|
96
74
|
|
|
@@ -283,14 +261,7 @@ def cryonirsp_ci_headers() -> fits.Header:
|
|
|
283
261
|
A header with some common by-frame CI keywords
|
|
284
262
|
"""
|
|
285
263
|
ds = CryonirspCIHeaders(dataset_shape=(2, 10, 10), array_shape=(1, 10, 10), time_delta=1)
|
|
286
|
-
|
|
287
|
-
spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
|
|
288
|
-
0
|
|
289
|
-
].header
|
|
290
|
-
for d in ds
|
|
291
|
-
]
|
|
292
|
-
|
|
293
|
-
return header_list[0]
|
|
264
|
+
return fits.Header(ds.header())
|
|
294
265
|
|
|
295
266
|
|
|
296
267
|
@pytest.fixture()
|
|
@@ -314,14 +285,7 @@ def cryonirsp_headers() -> fits.Header:
|
|
|
314
285
|
A header with some common by-frame keywords
|
|
315
286
|
"""
|
|
316
287
|
ds = CryonirspHeaders(dataset_shape=(2, 10, 10), array_shape=(1, 10, 10), time_delta=1)
|
|
317
|
-
|
|
318
|
-
spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
|
|
319
|
-
0
|
|
320
|
-
].header
|
|
321
|
-
for d in ds
|
|
322
|
-
]
|
|
323
|
-
|
|
324
|
-
return header_list[0]
|
|
288
|
+
return fits.Header(ds.header())
|
|
325
289
|
|
|
326
290
|
|
|
327
291
|
@pytest.fixture()
|
|
@@ -595,15 +559,14 @@ def _write_frames_to_task(
|
|
|
595
559
|
|
|
596
560
|
frame = next(frame_generator)
|
|
597
561
|
|
|
598
|
-
header = frame.header()
|
|
562
|
+
header = fits.Header(frame.header())
|
|
599
563
|
data = frame.data
|
|
600
564
|
frame_tags = tags + tag_func(frame)
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
ramp_tags = tag_ramp_frames(translated_header)
|
|
565
|
+
header = change_translated_headers(header)
|
|
566
|
+
ramp_tags = tag_ramp_frames(header)
|
|
604
567
|
frame_tags = frame_tags + ramp_tags
|
|
605
568
|
|
|
606
|
-
task.write(data=data, header=
|
|
569
|
+
task.write(data=data, header=header, tags=frame_tags, encoder=fits_array_encoder)
|
|
607
570
|
num_frames += 1
|
|
608
571
|
|
|
609
572
|
return num_frames
|
|
@@ -24,6 +24,7 @@ class CryonirspHeaders(Spec122Dataset):
|
|
|
24
24
|
time_delta: 10,
|
|
25
25
|
instrument: str = "cryonirsp",
|
|
26
26
|
exp_time: float = 15.0,
|
|
27
|
+
file_schema="level0_spec214",
|
|
27
28
|
**kwargs,
|
|
28
29
|
):
|
|
29
30
|
super().__init__(
|
|
@@ -31,6 +32,7 @@ class CryonirspHeaders(Spec122Dataset):
|
|
|
31
32
|
array_shape=array_shape,
|
|
32
33
|
time_delta=time_delta,
|
|
33
34
|
instrument=instrument,
|
|
35
|
+
file_schema=file_schema,
|
|
34
36
|
**kwargs,
|
|
35
37
|
)
|
|
36
38
|
self.add_constant_key("WAVELNTH", 1083.0)
|
|
@@ -130,7 +132,7 @@ class CryonirspHeadersValidNonLinearizedFrames(CryonirspHeaders):
|
|
|
130
132
|
roi_y_origin: int,
|
|
131
133
|
roi_y_size: int,
|
|
132
134
|
date_obs: str,
|
|
133
|
-
|
|
135
|
+
exposure_time_per_frame: float,
|
|
134
136
|
arm_id: str,
|
|
135
137
|
**kwargs,
|
|
136
138
|
):
|
|
@@ -144,7 +146,7 @@ class CryonirspHeadersValidNonLinearizedFrames(CryonirspHeaders):
|
|
|
144
146
|
self.add_constant_key("CAM__036", roi_x_size)
|
|
145
147
|
self.add_constant_key("CAM__037", roi_y_size)
|
|
146
148
|
self.add_constant_key("DATE-OBS", date_obs)
|
|
147
|
-
self.add_constant_key("TEXPOSUR",
|
|
149
|
+
self.add_constant_key("TEXPOSUR", exposure_time_per_frame)
|
|
148
150
|
self.add_constant_key("CNFILTNP", AllowableOpticalDensityFilterNames.G358.value)
|
|
149
151
|
self.add_constant_key("DKIST011", "1999-12-31T23:59:59")
|
|
150
152
|
|
|
@@ -153,7 +155,7 @@ class CryonirspHeadersValidNonLinearizedFrames(CryonirspHeaders):
|
|
|
153
155
|
def current_frame_number(self, key: str):
|
|
154
156
|
return self.index
|
|
155
157
|
|
|
156
|
-
@key_function("
|
|
158
|
+
@key_function("CAM__004")
|
|
157
159
|
# set the exposure time for each frame in the ramp
|
|
158
160
|
def exposure_time(self, key: float):
|
|
159
161
|
return 100 * self.index * 0.01
|
|
@@ -156,7 +156,10 @@ def spoof_obs_lin_parsed_constants(
|
|
|
156
156
|
def run(self) -> None:
|
|
157
157
|
self.constants._update(
|
|
158
158
|
{
|
|
159
|
-
CryonirspBudName.observe_exposure_conditions_list.value:
|
|
159
|
+
CryonirspBudName.observe_exposure_conditions_list.value: [
|
|
160
|
+
i.model_dump_json()
|
|
161
|
+
for i in self.constants.solar_gain_exposure_conditions_list
|
|
162
|
+
]
|
|
160
163
|
}
|
|
161
164
|
)
|
|
162
165
|
|
|
@@ -8,6 +8,7 @@ from random import randint
|
|
|
8
8
|
import asdf
|
|
9
9
|
from astropy.io import fits
|
|
10
10
|
from dkist_header_validator import spec122_validator
|
|
11
|
+
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
11
12
|
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
12
13
|
from dkist_processing_common.codecs.basemodel import basemodel_encoder
|
|
13
14
|
from dkist_processing_common.models.input_dataset import InputDatasetFilePointer
|
|
@@ -544,11 +545,10 @@ def translate_122_to_214_task(suffix: str):
|
|
|
544
545
|
hdu = hdl[1] if len(hdl) > 1 else hdl[0]
|
|
545
546
|
hdl_header = hdu.header
|
|
546
547
|
hdl_data = hdu.data
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
)[0].header
|
|
548
|
+
spec122_validator.validate(hdl_header)
|
|
549
|
+
translated_header = translate_spec122_to_spec214_l0(hdl_header)
|
|
550
550
|
|
|
551
|
-
comp_hdu = fits.CompImageHDU(header=
|
|
551
|
+
comp_hdu = fits.CompImageHDU(header=translated_header, data=hdl_data)
|
|
552
552
|
comp_hdl = fits.HDUList([fits.PrimaryHDU(), comp_hdu])
|
|
553
553
|
comp_hdl.writeto(translated_file_name, overwrite=True)
|
|
554
554
|
|