dkist-processing-cryonirsp 1.4.11__tar.gz → 1.4.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dkist-processing-cryonirsp might be problematic. Click here for more details.
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/CHANGELOG.rst +34 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/PKG-INFO +3 -3
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/bitbucket-pipelines.yml +18 -50
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/constants.py +22 -4
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/check_for_gains.py +31 -16
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +69 -14
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/dark.py +10 -3
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/parse.py +25 -11
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/conftest.py +8 -1
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_dark.py +2 -2
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_parse.py +18 -9
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +1 -2
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/workflows/trial_workflows.py +1 -2
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp.egg-info/PKG-INFO +3 -3
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -1
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp.egg-info/requires.txt +2 -2
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp.egg-info/top_level.txt +1 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/pyproject.toml +2 -2
- dkist_processing_cryonirsp-1.4.11/check_changelog_updated.sh +0 -23
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/.gitignore +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/.snyk +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/README.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/landing_page.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/setup.cfg +0 -0
- {dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
v1.4.14 (2025-01-29)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Update dkist-processing-common and dkist-quality to manage a bug present in dacite 1.9.0.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
v1.4.13 (2025-01-29)
|
|
11
|
+
====================
|
|
12
|
+
|
|
13
|
+
Features
|
|
14
|
+
--------
|
|
15
|
+
|
|
16
|
+
- Remove lamp gain calibration from the CRYO-NIRSP CI pipeline. (`#168 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/168>`__)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Misc
|
|
20
|
+
----
|
|
21
|
+
|
|
22
|
+
- Update Bitbucket pipelines to use execute script for standard steps. (`#170 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/170>`__)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
v1.4.12 (2025-01-27)
|
|
26
|
+
====================
|
|
27
|
+
|
|
28
|
+
Misc
|
|
29
|
+
----
|
|
30
|
+
|
|
31
|
+
- Update bitbucket pipelines to use common scripts for checking for changelog snippets and verifying doc builds. (`#169 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/169>`__)
|
|
32
|
+
- Update dkist-processing-common to remove some deprecated packages.
|
|
33
|
+
|
|
34
|
+
|
|
1
35
|
v1.4.11 (2025-01-09)
|
|
2
36
|
====================
|
|
3
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.14
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -17,7 +17,7 @@ Requires-Dist: Pillow==10.3.0
|
|
|
17
17
|
Requires-Dist: astropy==6.1.0
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.10.0
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.1.1
|
|
20
|
-
Requires-Dist: dkist-processing-common==10.5.
|
|
20
|
+
Requires-Dist: dkist-processing-common==10.5.9
|
|
21
21
|
Requires-Dist: dkist-processing-math==2.1.2
|
|
22
22
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
@@ -48,7 +48,7 @@ Provides-Extra: asdf
|
|
|
48
48
|
Requires-Dist: dkist-processing-common[asdf]; extra == "asdf"
|
|
49
49
|
Requires-Dist: dkist-inventory[asdf]==1.5.0; extra == "asdf"
|
|
50
50
|
Provides-Extra: quality
|
|
51
|
-
Requires-Dist: dkist-quality==1.2.
|
|
51
|
+
Requires-Dist: dkist-quality==1.2.1; extra == "quality"
|
|
52
52
|
Provides-Extra: grogu
|
|
53
53
|
Requires-Dist: dkist; extra == "grogu"
|
|
54
54
|
Requires-Dist: pyparsing; extra == "grogu"
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/bitbucket-pipelines.yml
RENAMED
|
@@ -6,38 +6,34 @@ definitions:
|
|
|
6
6
|
redis:
|
|
7
7
|
image: redis
|
|
8
8
|
steps:
|
|
9
|
+
- step: &download_execute_script
|
|
10
|
+
name: Download Script Execute Script
|
|
11
|
+
script:
|
|
12
|
+
- echo "Retrieving Script Execution Script"
|
|
13
|
+
- curl -fL https://getcli.jfrog.io | sh
|
|
14
|
+
- ./jfrog rt dl --url $ARTIFACTORY_URL --user $ARTIFACTORY_USER --password $ARTIFACTORY_PASSWORD generic-packages/ci_scripts/latest/execute_script.sh
|
|
15
|
+
- cat ci_scripts/latest/execute_script.sh
|
|
16
|
+
- chmod 755 ci_scripts/latest/execute_script.sh
|
|
17
|
+
artifacts:
|
|
18
|
+
- ci_scripts/latest/execute_script.sh
|
|
9
19
|
- step: &lint
|
|
10
20
|
caches:
|
|
11
21
|
- pip
|
|
12
22
|
name: Lint
|
|
13
23
|
script:
|
|
14
|
-
-
|
|
15
|
-
- curl -fL https://getcli.jfrog.io | sh
|
|
16
|
-
- ./jfrog rt dl --url $ARTIFACTORY_URL --user $ARTIFACTORY_USER --password $ARTIFACTORY_PASSWORD generic-packages/ci_scripts/latest/lint_python.sh
|
|
17
|
-
- cat ci_scripts/latest/lint_python.sh
|
|
18
|
-
- chmod 755 ci_scripts/latest/lint_python.sh
|
|
19
|
-
- ./ci_scripts/latest/lint_python.sh
|
|
24
|
+
- ./ci_scripts/latest/execute_script.sh lint_python.sh
|
|
20
25
|
- step: &changelog
|
|
21
26
|
caches:
|
|
22
27
|
- pip
|
|
23
28
|
name: Changelog
|
|
24
29
|
script:
|
|
25
|
-
-
|
|
26
|
-
# We need to fetch the main branch to compare against
|
|
27
|
-
- git remote set-branches --add origin main
|
|
28
|
-
- git fetch origin main
|
|
29
|
-
- towncrier check --compare-with origin/main
|
|
30
|
+
- ./ci_scripts/latest/execute_script.sh check_changelog.sh
|
|
30
31
|
- step: &scan
|
|
31
32
|
caches:
|
|
32
33
|
- pip
|
|
33
34
|
name: Scan
|
|
34
35
|
script:
|
|
35
|
-
-
|
|
36
|
-
- curl -fL https://getcli.jfrog.io | sh
|
|
37
|
-
- ./jfrog rt dl --url $ARTIFACTORY_URL --user $ARTIFACTORY_USER --password $ARTIFACTORY_PASSWORD generic-packages/ci_scripts/latest/scan_python.sh
|
|
38
|
-
- cat ci_scripts/latest/scan_python.sh
|
|
39
|
-
- chmod 755 ci_scripts/latest/scan_python.sh
|
|
40
|
-
- ./ci_scripts/latest/scan_python.sh
|
|
36
|
+
- ./ci_scripts/latest/execute_script.sh scan_python.sh
|
|
41
37
|
- step: &test
|
|
42
38
|
caches:
|
|
43
39
|
- pip
|
|
@@ -69,10 +65,7 @@ definitions:
|
|
|
69
65
|
- pip
|
|
70
66
|
name: Push Code
|
|
71
67
|
script:
|
|
72
|
-
-
|
|
73
|
-
- pip install build twine
|
|
74
|
-
- python -m build --outdir wheelhouse .
|
|
75
|
-
- python -m twine upload --skip-existing wheelhouse/*
|
|
68
|
+
- ./ci_scripts/latest/execute_script.sh push_python.sh
|
|
76
69
|
- step: &push_mpw
|
|
77
70
|
caches:
|
|
78
71
|
- pip
|
|
@@ -99,19 +92,13 @@ definitions:
|
|
|
99
92
|
caches:
|
|
100
93
|
- pip
|
|
101
94
|
script:
|
|
102
|
-
-
|
|
103
|
-
- pip install .[docs]
|
|
104
|
-
- sphinx-build --color -W --keep-going -b html docs docs/_build/html
|
|
105
|
-
- step: &check_changelog
|
|
106
|
-
name: Check for updated CHANGELOG
|
|
107
|
-
script:
|
|
108
|
-
- ./check_changelog_updated.sh
|
|
109
|
-
|
|
95
|
+
- ./ci_scripts/latest/execute_script.sh test_sphinx.sh
|
|
110
96
|
|
|
111
97
|
options:
|
|
112
98
|
max-time: 25
|
|
113
99
|
pipelines:
|
|
114
100
|
default:
|
|
101
|
+
- step: *download_execute_script
|
|
115
102
|
- parallel:
|
|
116
103
|
- step: *lint
|
|
117
104
|
- step: *changelog
|
|
@@ -119,31 +106,12 @@ pipelines:
|
|
|
119
106
|
- step: *scan
|
|
120
107
|
- step: *test
|
|
121
108
|
- step: *docs
|
|
122
|
-
custom:
|
|
123
|
-
skip_doc_test_to_build_rc: # I.e. skip the doc check (because we might have rc dependencies)
|
|
124
|
-
- variables:
|
|
125
|
-
- name: BITBUCKET_TAG
|
|
126
|
-
description: "Tag version to build (e.g., 'vX.Y.ZrcR')"
|
|
127
|
-
- step:
|
|
128
|
-
name: Validate Bitbucket pipeline input
|
|
129
|
-
script:
|
|
130
|
-
- git tag | grep -q ${BITBUCKET_TAG} || { echo Tag ${BITBUCKET_TAG} not found!; exit 1; }
|
|
131
|
-
- echo ${BITBUCKET_TAG} | grep -q "rc[0-9]\+$" || { echo Tag ${BITBUCKET_TAG} is not an rc. SHAME!; exit 1; }
|
|
132
|
-
- parallel:
|
|
133
|
-
- step: *changelog
|
|
134
|
-
- step: *lint
|
|
135
|
-
- parallel:
|
|
136
|
-
- step: *scan
|
|
137
|
-
- step: *test
|
|
138
|
-
- parallel:
|
|
139
|
-
- step: *push_workflow
|
|
140
|
-
- step: *push_mpw
|
|
141
|
-
- step: *push_code
|
|
142
109
|
tags:
|
|
143
110
|
'v*':
|
|
111
|
+
- step: *download_execute_script
|
|
144
112
|
- parallel:
|
|
145
113
|
- step: *lint
|
|
146
|
-
- step: *
|
|
114
|
+
- step: *changelog
|
|
147
115
|
- parallel:
|
|
148
116
|
- step: *scan
|
|
149
117
|
- step: *test
|
|
@@ -32,10 +32,15 @@ class CryonirspBudName(Enum):
|
|
|
32
32
|
solar_gain_exposure_conditions_list = "SOLAR_GAIN_EXPOSURE_CONDITIONS_LIST"
|
|
33
33
|
polcal_exposure_conditions_list = "POLCAL_EXPOSURE_CONDITIONS_LIST"
|
|
34
34
|
observe_exposure_conditions_list = "OBSERVE_EXPOSURE_CONDITIONS_LIST"
|
|
35
|
-
|
|
36
|
-
"
|
|
35
|
+
sp_non_dark_and_non_polcal_task_exposure_conditions_list = (
|
|
36
|
+
"SP_NON_DARK_AND_NON_POLCAL_TASK_EXPOSURE_CONDITIONS_LIST"
|
|
37
|
+
)
|
|
38
|
+
ci_non_dark_and_non_polcal_and_non_lamp_gain_task_exposure_conditions_list = (
|
|
39
|
+
"CI_NON_DARK_AND_NON_POLCAL_AND_NON_LAMP_GAIN_TASK_EXPOSURE_CONDITIONS_LIST"
|
|
37
40
|
)
|
|
38
41
|
picky_dark_exposure_conditions_list = "PICKY_DARK_EXPOSURE_CONDITIONS_LIST"
|
|
42
|
+
ci_picky_dark_exposure_conditions_list = "CI_PICKY_DARK_EXPOSURE_CONDITIONS_LIST"
|
|
43
|
+
sp_picky_dark_exposure_conditions_list = "SP_PICKY_DARK_EXPOSURE_CONDITIONS_LIST"
|
|
39
44
|
modulator_spin_mode = "MODULATOR_SPIN_MODE"
|
|
40
45
|
axis_1_type = "AXIS_1_TYPE"
|
|
41
46
|
axis_2_type = "AXIS_2_TYPE"
|
|
@@ -47,6 +52,8 @@ class CryonirspBudName(Enum):
|
|
|
47
52
|
optical_density_filter_picky_bud = "OPTICAL_DENSITY_FILTER_PICKY_BUD"
|
|
48
53
|
solar_gain_ip_start_time = "SOLAR_GAIN_IP_START_TIME"
|
|
49
54
|
gain_frame_type_list = "GAIN_FRAME_TYPE_LIST"
|
|
55
|
+
lamp_gain_frame_type_list = "LAMP_GAIN_FRAME_TYPE_LIST"
|
|
56
|
+
solar_gain_frame_type_list = "SOLAR_GAIN_FRAME_TYPE_LIST"
|
|
50
57
|
|
|
51
58
|
|
|
52
59
|
class CryonirspConstants(ConstantsBase):
|
|
@@ -188,10 +195,21 @@ class CryonirspConstants(ConstantsBase):
|
|
|
188
195
|
return []
|
|
189
196
|
|
|
190
197
|
@property
|
|
191
|
-
def
|
|
198
|
+
def ci_non_dark_and_non_polcal_and_non_lamp_gain_task_exposure_conditions_list(
|
|
199
|
+
self,
|
|
200
|
+
) -> [ExposureConditions]:
|
|
201
|
+
"""Return a list of all exposure times required for all tasks other than dark, polcal, and lamp gain."""
|
|
202
|
+
raw_conditions: list[list[int, str]] = self._db_dict[
|
|
203
|
+
CryonirspBudName.ci_non_dark_and_non_polcal_and_non_lamp_gain_task_exposure_conditions_list.value
|
|
204
|
+
]
|
|
205
|
+
conditions = [ExposureConditions(*item) for item in raw_conditions]
|
|
206
|
+
return conditions
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
def sp_non_dark_and_non_polcal_task_exposure_conditions_list(self) -> [ExposureConditions]:
|
|
192
210
|
"""Return a list of all exposure times required for all tasks other than dark and polcal."""
|
|
193
211
|
raw_conditions: list[list[int, str]] = self._db_dict[
|
|
194
|
-
CryonirspBudName.
|
|
212
|
+
CryonirspBudName.sp_non_dark_and_non_polcal_task_exposure_conditions_list.value
|
|
195
213
|
]
|
|
196
214
|
conditions = [ExposureConditions(*item) for item in raw_conditions]
|
|
197
215
|
return conditions
|
|
@@ -12,11 +12,12 @@ from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
|
12
12
|
from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import CryonirspL0FitsAccess
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class
|
|
16
|
-
"""Pickybud to check for
|
|
15
|
+
class CheckGainFramesPickyBudBase(Stem):
|
|
16
|
+
"""Pickybud to check for gain frames."""
|
|
17
17
|
|
|
18
|
-
def __init__(self):
|
|
19
|
-
super().__init__(stem_name=
|
|
18
|
+
def __init__(self, stem_name: str, task_name: str):
|
|
19
|
+
super().__init__(stem_name=stem_name)
|
|
20
|
+
self.task_name = task_name.casefold()
|
|
20
21
|
|
|
21
22
|
def setter(self, fits_obj: CryonirspL0FitsAccess) -> Type[SpilledDirt] | str:
|
|
22
23
|
"""
|
|
@@ -30,15 +31,11 @@ class CheckGainFramesPickyBud(Stem):
|
|
|
30
31
|
-------
|
|
31
32
|
The calibration frame object associated with this fits object
|
|
32
33
|
"""
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if task in [TaskName.lamp_gain.value.casefold(), TaskName.solar_gain.value.casefold()]:
|
|
36
|
-
return task
|
|
37
|
-
return SpilledDirt
|
|
34
|
+
return parse_header_ip_task_with_gains(fits_obj).casefold()
|
|
38
35
|
|
|
39
|
-
def getter(self, key: Hashable) -> Thorn:
|
|
36
|
+
def getter(self, key: Hashable) -> Type[Thorn]:
|
|
40
37
|
"""
|
|
41
|
-
Check that
|
|
38
|
+
Check that the specific gain exists. If it does, return a Thorn.
|
|
42
39
|
|
|
43
40
|
Parameters
|
|
44
41
|
----------
|
|
@@ -49,10 +46,28 @@ class CheckGainFramesPickyBud(Stem):
|
|
|
49
46
|
-------
|
|
50
47
|
Thorn
|
|
51
48
|
"""
|
|
52
|
-
|
|
49
|
+
task_types = list(self.key_to_petal_dict.values())
|
|
53
50
|
|
|
54
|
-
if
|
|
55
|
-
raise ValueError("
|
|
56
|
-
if TaskName.solar_gain.value.casefold() not in gain_task_types:
|
|
57
|
-
raise ValueError("Solar gain frames not found.")
|
|
51
|
+
if self.task_name not in task_types:
|
|
52
|
+
raise ValueError(f"{self.task_name} frames not found.")
|
|
58
53
|
return Thorn
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class CheckSolarGainFramesPickyBud(CheckGainFramesPickyBudBase):
|
|
57
|
+
"""Pickybud to check for solar gain frames."""
|
|
58
|
+
|
|
59
|
+
def __init__(self):
|
|
60
|
+
super().__init__(
|
|
61
|
+
stem_name=CryonirspBudName.solar_gain_frame_type_list.value,
|
|
62
|
+
task_name=TaskName.solar_gain.value,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class CheckLampGainFramesPickyBud(CheckGainFramesPickyBudBase):
|
|
67
|
+
"""Pickybud to check for lamp gain frames."""
|
|
68
|
+
|
|
69
|
+
def __init__(self):
|
|
70
|
+
super().__init__(
|
|
71
|
+
stem_name=CryonirspBudName.lamp_gain_frame_type_list.value,
|
|
72
|
+
task_name=TaskName.lamp_gain.value,
|
|
73
|
+
)
|
|
@@ -13,8 +13,6 @@ from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
|
13
13
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
14
14
|
from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import CryonirspL0FitsAccess
|
|
15
15
|
|
|
16
|
-
_DARK_AND_POLCAL_TASK_TYPES = (TaskName.dark.value, TaskName.polcal.value)
|
|
17
|
-
|
|
18
16
|
|
|
19
17
|
class CryonirspTaskExposureConditionsBud(Stem):
|
|
20
18
|
"""
|
|
@@ -53,14 +51,13 @@ class CryonirspTaskExposureConditionsBud(Stem):
|
|
|
53
51
|
return exposure_conditions_tuple
|
|
54
52
|
|
|
55
53
|
|
|
56
|
-
class
|
|
57
|
-
"""For ip task types that are
|
|
54
|
+
class CryonirspConditionalTaskExposureConditionsBudBase(Stem):
|
|
55
|
+
"""For ip task types that are not in task_types_to_ignore, produce a list of exposure conditions tuples."""
|
|
58
56
|
|
|
59
|
-
def __init__(self):
|
|
60
|
-
super().__init__(
|
|
61
|
-
stem_name=CryonirspBudName.non_dark_and_non_polcal_task_exposure_conditions_list.value
|
|
62
|
-
)
|
|
57
|
+
def __init__(self, stem_name: str, task_types_to_ignore: list[str]):
|
|
58
|
+
super().__init__(stem_name=stem_name)
|
|
63
59
|
self.metadata_key = "exposure_conditions"
|
|
60
|
+
self.task_types_to_ignore = task_types_to_ignore
|
|
64
61
|
|
|
65
62
|
def setter(self, fits_obj: CryonirspL0FitsAccess) -> ExposureConditions | Type[SpilledDirt]:
|
|
66
63
|
"""
|
|
@@ -74,7 +71,7 @@ class CryonirspNonDarkAndNonPolcalTaskExposureConditionsBud(Stem):
|
|
|
74
71
|
-------
|
|
75
72
|
The exposure time associated with this fits object
|
|
76
73
|
"""
|
|
77
|
-
if fits_obj.ip_task_type.upper() not in
|
|
74
|
+
if fits_obj.ip_task_type.upper() not in self.task_types_to_ignore:
|
|
78
75
|
return getattr(fits_obj, self.metadata_key)
|
|
79
76
|
return SpilledDirt
|
|
80
77
|
|
|
@@ -95,16 +92,47 @@ class CryonirspNonDarkAndNonPolcalTaskExposureConditionsBud(Stem):
|
|
|
95
92
|
return exposure_conditions_tuple
|
|
96
93
|
|
|
97
94
|
|
|
98
|
-
class
|
|
95
|
+
class CryonirspSPConditionalTaskExposureConditionsBud(
|
|
96
|
+
CryonirspConditionalTaskExposureConditionsBudBase
|
|
97
|
+
):
|
|
98
|
+
"""For ip task types that are neither DARK nor POLCAL, produce a list of exposure conditions tuples."""
|
|
99
|
+
|
|
100
|
+
def __init__(self):
|
|
101
|
+
super().__init__(
|
|
102
|
+
stem_name=CryonirspBudName.sp_non_dark_and_non_polcal_task_exposure_conditions_list.value,
|
|
103
|
+
task_types_to_ignore=[TaskName.dark.value, TaskName.polcal.value],
|
|
104
|
+
)
|
|
105
|
+
self.metadata_key = "exposure_conditions"
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class CryonirspCIConditionalTaskExposureConditionsBud(
|
|
109
|
+
CryonirspConditionalTaskExposureConditionsBudBase
|
|
110
|
+
):
|
|
111
|
+
"""For ip task types that are neither DARK nor POLCAL nor LAMP GAIN, produce a list of exposure conditions tuples."""
|
|
112
|
+
|
|
113
|
+
def __init__(self):
|
|
114
|
+
super().__init__(
|
|
115
|
+
stem_name=CryonirspBudName.ci_non_dark_and_non_polcal_and_non_lamp_gain_task_exposure_conditions_list.value,
|
|
116
|
+
task_types_to_ignore=[
|
|
117
|
+
TaskName.dark.value,
|
|
118
|
+
TaskName.polcal.value,
|
|
119
|
+
TaskName.lamp_gain.value,
|
|
120
|
+
],
|
|
121
|
+
)
|
|
122
|
+
self.metadata_key = "exposure_conditions"
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class CryonirspPickyDarkExposureConditionsBudBase(Stem):
|
|
99
126
|
"""Parse exposure conditions tuples to ensure existence of dark frames with the required exposure conditions."""
|
|
100
127
|
|
|
101
128
|
DarkTaskTestAndExposureConditions = namedtuple(
|
|
102
129
|
"DarkTaskTestAndExposureConditions", ["is_dark", "exposure_conditions"]
|
|
103
130
|
)
|
|
104
131
|
|
|
105
|
-
def __init__(self):
|
|
106
|
-
super().__init__(stem_name=
|
|
132
|
+
def __init__(self, stem_name: str, task_types_to_ignore: list[str]):
|
|
133
|
+
super().__init__(stem_name=stem_name)
|
|
107
134
|
self.metadata_key = "exposure_conditions"
|
|
135
|
+
self.task_types_to_ignore = task_types_to_ignore
|
|
108
136
|
|
|
109
137
|
def setter(self, fits_obj: CryonirspL0FitsAccess) -> tuple | Type[SpilledDirt]:
|
|
110
138
|
"""
|
|
@@ -122,11 +150,11 @@ class CryonirspPickyDarkExposureConditionsBud(Stem):
|
|
|
122
150
|
return self.DarkTaskTestAndExposureConditions(
|
|
123
151
|
is_dark=True, exposure_conditions=getattr(fits_obj, self.metadata_key)
|
|
124
152
|
)
|
|
125
|
-
if fits_obj.ip_task_type.upper() not in
|
|
153
|
+
if fits_obj.ip_task_type.upper() not in self.task_types_to_ignore:
|
|
126
154
|
return self.DarkTaskTestAndExposureConditions(
|
|
127
155
|
is_dark=False, exposure_conditions=getattr(fits_obj, self.metadata_key)
|
|
128
156
|
)
|
|
129
|
-
#
|
|
157
|
+
# Ignored task types fall through
|
|
130
158
|
return SpilledDirt
|
|
131
159
|
|
|
132
160
|
def getter(self, key: Hashable) -> Type[Thorn]:
|
|
@@ -161,3 +189,30 @@ class CryonirspPickyDarkExposureConditionsBud(Stem):
|
|
|
161
189
|
f"Exposure conditions required in the set of dark frames not found. Missing conditions = {other_exposure_conditions_missing_from_dark_exposure_conditions}"
|
|
162
190
|
)
|
|
163
191
|
return Thorn
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
class CryonirspCIPickyDarkExposureConditionsBud(CryonirspPickyDarkExposureConditionsBudBase):
|
|
195
|
+
"""Parse exposure conditions tuples to ensure existence of dark frames with the required exposure conditions, ignoring polcal frames and lamp gain frames."""
|
|
196
|
+
|
|
197
|
+
def __init__(self):
|
|
198
|
+
super().__init__(
|
|
199
|
+
stem_name=CryonirspBudName.ci_picky_dark_exposure_conditions_list.value,
|
|
200
|
+
task_types_to_ignore=[
|
|
201
|
+
TaskName.dark.value,
|
|
202
|
+
TaskName.polcal.value,
|
|
203
|
+
TaskName.lamp_gain.value,
|
|
204
|
+
],
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
class CryonirspSPPickyDarkExposureConditionsBud(CryonirspPickyDarkExposureConditionsBudBase):
|
|
209
|
+
"""Parse exposure conditions tuples to ensure existence of dark frames with the required exposure conditions, ignoring polcal frames."""
|
|
210
|
+
|
|
211
|
+
def __init__(self):
|
|
212
|
+
super().__init__(
|
|
213
|
+
stem_name=CryonirspBudName.sp_picky_dark_exposure_conditions_list.value,
|
|
214
|
+
task_types_to_ignore=[
|
|
215
|
+
TaskName.dark.value,
|
|
216
|
+
TaskName.polcal.value,
|
|
217
|
+
],
|
|
218
|
+
)
|
|
@@ -39,9 +39,16 @@ class DarkCalibration(CryonirspTaskBase):
|
|
|
39
39
|
None
|
|
40
40
|
|
|
41
41
|
"""
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
arm = self.constants.arm_id
|
|
43
|
+
|
|
44
|
+
if arm == "CI":
|
|
45
|
+
target_exposure_conditions = (
|
|
46
|
+
self.constants.ci_non_dark_and_non_polcal_and_non_lamp_gain_task_exposure_conditions_list
|
|
47
|
+
)
|
|
48
|
+
if arm == "SP":
|
|
49
|
+
target_exposure_conditions = (
|
|
50
|
+
self.constants.sp_non_dark_and_non_polcal_task_exposure_conditions_list
|
|
51
|
+
)
|
|
45
52
|
|
|
46
53
|
logger.info(f"{target_exposure_conditions = }")
|
|
47
54
|
with self.apm_task_step(
|
|
@@ -25,14 +25,21 @@ from dkist_processing_cryonirsp.models.constants import CryonirspBudName
|
|
|
25
25
|
from dkist_processing_cryonirsp.models.parameters import CryonirspParsingParameters
|
|
26
26
|
from dkist_processing_cryonirsp.models.tags import CryonirspStemName
|
|
27
27
|
from dkist_processing_cryonirsp.models.tags import CryonirspTag
|
|
28
|
-
from dkist_processing_cryonirsp.parsers.check_for_gains import
|
|
28
|
+
from dkist_processing_cryonirsp.parsers.check_for_gains import CheckLampGainFramesPickyBud
|
|
29
|
+
from dkist_processing_cryonirsp.parsers.check_for_gains import CheckSolarGainFramesPickyBud
|
|
29
30
|
from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import CryonirspL0FitsAccess
|
|
30
31
|
from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import CryonirspRampFitsAccess
|
|
31
32
|
from dkist_processing_cryonirsp.parsers.exposure_conditions import (
|
|
32
|
-
|
|
33
|
+
CryonirspCIConditionalTaskExposureConditionsBud,
|
|
33
34
|
)
|
|
34
35
|
from dkist_processing_cryonirsp.parsers.exposure_conditions import (
|
|
35
|
-
|
|
36
|
+
CryonirspCIPickyDarkExposureConditionsBud,
|
|
37
|
+
)
|
|
38
|
+
from dkist_processing_cryonirsp.parsers.exposure_conditions import (
|
|
39
|
+
CryonirspSPConditionalTaskExposureConditionsBud,
|
|
40
|
+
)
|
|
41
|
+
from dkist_processing_cryonirsp.parsers.exposure_conditions import (
|
|
42
|
+
CryonirspSPPickyDarkExposureConditionsBud,
|
|
36
43
|
)
|
|
37
44
|
from dkist_processing_cryonirsp.parsers.exposure_conditions import (
|
|
38
45
|
CryonirspTaskExposureConditionsBud,
|
|
@@ -180,16 +187,12 @@ class ParseL0CryonirspLinearizedData(ParseDataBase, InputDatasetMixin):
|
|
|
180
187
|
NumberOfScanStepsBud(),
|
|
181
188
|
NumberOfMeasurementsBud(),
|
|
182
189
|
CryonirspSolarGainStartTimeBud(),
|
|
183
|
-
|
|
190
|
+
CheckSolarGainFramesPickyBud(),
|
|
184
191
|
NumCSStepBud(self.parameters.max_cs_step_time_sec),
|
|
185
192
|
CryonirspTaskExposureConditionsBud(
|
|
186
193
|
stem_name=CryonirspBudName.dark_frame_exposure_conditions_list.value,
|
|
187
194
|
ip_task_type=TaskName.dark.value,
|
|
188
195
|
),
|
|
189
|
-
CryonirspTaskExposureConditionsBud(
|
|
190
|
-
stem_name=CryonirspBudName.lamp_gain_exposure_conditions_list.value,
|
|
191
|
-
ip_task_type=TaskName.lamp_gain.value,
|
|
192
|
-
),
|
|
193
196
|
CryonirspTaskExposureConditionsBud(
|
|
194
197
|
stem_name=CryonirspBudName.solar_gain_exposure_conditions_list.value,
|
|
195
198
|
ip_task_type=TaskName.solar_gain.value,
|
|
@@ -202,8 +205,6 @@ class ParseL0CryonirspLinearizedData(ParseDataBase, InputDatasetMixin):
|
|
|
202
205
|
stem_name=CryonirspBudName.polcal_exposure_conditions_list.value,
|
|
203
206
|
ip_task_type=TaskName.polcal.value,
|
|
204
207
|
),
|
|
205
|
-
CryonirspNonDarkAndNonPolcalTaskExposureConditionsBud(),
|
|
206
|
-
CryonirspPickyDarkExposureConditionsBud(),
|
|
207
208
|
UniqueBud(constant_name=CryonirspBudName.axis_1_type.value, metadata_key="axis_1_type"),
|
|
208
209
|
UniqueBud(constant_name=CryonirspBudName.axis_2_type.value, metadata_key="axis_2_type"),
|
|
209
210
|
UniqueBud(constant_name=CryonirspBudName.axis_3_type.value, metadata_key="axis_3_type"),
|
|
@@ -274,10 +275,23 @@ class ParseL0CryonirspSPLinearizedData(ParseL0CryonirspLinearizedData):
|
|
|
274
275
|
ip_task_type=TaskName.solar_gain.value,
|
|
275
276
|
task_type_parsing_function=parse_header_ip_task_with_gains,
|
|
276
277
|
),
|
|
278
|
+
CheckLampGainFramesPickyBud(),
|
|
279
|
+
CryonirspTaskExposureConditionsBud(
|
|
280
|
+
stem_name=CryonirspBudName.lamp_gain_exposure_conditions_list.value,
|
|
281
|
+
ip_task_type=TaskName.lamp_gain.value,
|
|
282
|
+
),
|
|
283
|
+
CryonirspSPConditionalTaskExposureConditionsBud(),
|
|
284
|
+
CryonirspSPPickyDarkExposureConditionsBud(),
|
|
277
285
|
]
|
|
278
286
|
|
|
279
287
|
|
|
280
288
|
class ParseL0CryonirspCILinearizedData(ParseL0CryonirspLinearizedData):
|
|
281
289
|
"""Parse linearity corrected CryoNIRSP-CI input data with CI arm specific constants."""
|
|
282
290
|
|
|
283
|
-
|
|
291
|
+
@property
|
|
292
|
+
def constant_buds(self) -> list[S]:
|
|
293
|
+
"""Add CryoNIRSP-CI specific constants to common constants."""
|
|
294
|
+
return super().constant_buds + [
|
|
295
|
+
CryonirspCIConditionalTaskExposureConditionsBud(),
|
|
296
|
+
CryonirspCIPickyDarkExposureConditionsBud(),
|
|
297
|
+
]
|
|
@@ -129,7 +129,14 @@ class CryonirspConstantsDb:
|
|
|
129
129
|
ExposureConditions(0.01, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
130
130
|
)
|
|
131
131
|
POLCAL_EXPOSURE_CONDITIONS_LIST: tuple[ExposureConditions] | tuple = ()
|
|
132
|
-
|
|
132
|
+
SP_NON_DARK_AND_NON_POLCAL_TASK_EXPOSURE_CONDITIONS_LIST: tuple[ExposureConditions, ...] = (
|
|
133
|
+
ExposureConditions(100.0, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
134
|
+
ExposureConditions(1.0, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
135
|
+
ExposureConditions(0.01, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
136
|
+
)
|
|
137
|
+
CI_NON_DARK_AND_NON_POLCAL_AND_NON_LAMP_GAIN_TASK_EXPOSURE_CONDITIONS_LIST: tuple[
|
|
138
|
+
ExposureConditions, ...
|
|
139
|
+
] = (
|
|
133
140
|
ExposureConditions(100.0, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
134
141
|
ExposureConditions(1.0, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
135
142
|
ExposureConditions(0.01, AllowableOpticalDensityFilterNames.OPEN.value),
|
|
@@ -34,7 +34,7 @@ def sp_dark_calibration_task(
|
|
|
34
34
|
200.0, AllowableOpticalDensityFilterNames.NONE.value
|
|
35
35
|
)
|
|
36
36
|
constants_db = CryonirspConstantsDb(
|
|
37
|
-
|
|
37
|
+
SP_NON_DARK_AND_NON_POLCAL_TASK_EXPOSURE_CONDITIONS_LIST=exposure_conditions,
|
|
38
38
|
ARM_ID="SP",
|
|
39
39
|
)
|
|
40
40
|
init_cryonirsp_constants_db(recipe_run_id, constants_db)
|
|
@@ -120,7 +120,7 @@ def ci_dark_calibration_task(
|
|
|
120
120
|
)
|
|
121
121
|
|
|
122
122
|
constants_db = CryonirspConstantsDb(
|
|
123
|
-
|
|
123
|
+
CI_NON_DARK_AND_NON_POLCAL_AND_NON_LAMP_GAIN_TASK_EXPOSURE_CONDITIONS_LIST=exposure_conditions,
|
|
124
124
|
ARM_ID="CI",
|
|
125
125
|
)
|
|
126
126
|
init_cryonirsp_constants_db(recipe_run_id, constants_db)
|
|
@@ -664,8 +664,11 @@ def test_parse_cryonirsp_linearized_incomplete_final_map(
|
|
|
664
664
|
num_modstates = 2
|
|
665
665
|
num_sub_repeats = 2
|
|
666
666
|
|
|
667
|
-
# Needed so the
|
|
667
|
+
# Needed so the picky buds are happy
|
|
668
668
|
write_dark_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
669
|
+
write_solar_gain_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
670
|
+
if arm_id == "SP":
|
|
671
|
+
write_lamp_gain_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
669
672
|
|
|
670
673
|
# Needed so the pol checking buds are happy
|
|
671
674
|
write_polcal_frames_to_task(
|
|
@@ -884,8 +887,11 @@ def test_parse_cryonirsp_linearized_incomplete_raster_scan(
|
|
|
884
887
|
translated_header["CNNUMSCN"] = num_scan_steps
|
|
885
888
|
return translated_header
|
|
886
889
|
|
|
887
|
-
# Needed so the
|
|
890
|
+
# Needed so the picky buds are happy
|
|
888
891
|
write_dark_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
892
|
+
write_solar_gain_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
893
|
+
if arm_id == "SP":
|
|
894
|
+
write_lamp_gain_frames_to_task(task, exposure_condition=exp_cond, tags=lin_tag)
|
|
889
895
|
|
|
890
896
|
# Needed so the pol checking buds are happy
|
|
891
897
|
write_polcal_frames_to_task(
|
|
@@ -1219,10 +1225,10 @@ def test_parse_cryonirsp_linearized_data_constants(
|
|
|
1219
1225
|
assert sorted(task.constants._db_dict["DARK_FRAME_EXPOSURE_CONDITIONS_LIST"]) == sorted(
|
|
1220
1226
|
[json.loads(json.dumps(condition)) for condition in dark_exp_conditions]
|
|
1221
1227
|
)
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1228
|
+
if arm_id == "SP":
|
|
1229
|
+
assert task.constants._db_dict["LAMP_GAIN_EXPOSURE_CONDITIONS_LIST"] == [
|
|
1230
|
+
json.loads(json.dumps(lamp_exp_cond))
|
|
1231
|
+
]
|
|
1226
1232
|
assert task.constants._db_dict["SOLAR_GAIN_EXPOSURE_CONDITIONS_LIST"] == [
|
|
1227
1233
|
json.loads(json.dumps(solar_exp_cond))
|
|
1228
1234
|
]
|
|
@@ -1326,6 +1332,9 @@ def test_parse_cryonirsp_not_polarimetric_obs(parse_linearized_task, arm_id):
|
|
|
1326
1332
|
|
|
1327
1333
|
for condition in dark_exp_conditions:
|
|
1328
1334
|
write_dark_frames_to_task(task, exposure_condition=condition, tags=lin_tag)
|
|
1335
|
+
write_solar_gain_frames_to_task(task, exposure_condition=condition, tags=lin_tag)
|
|
1336
|
+
if arm_id == "SP":
|
|
1337
|
+
write_lamp_gain_frames_to_task(task, exposure_condition=condition, tags=lin_tag)
|
|
1329
1338
|
|
|
1330
1339
|
write_polcal_frames_to_task(
|
|
1331
1340
|
task,
|
|
@@ -1464,11 +1473,11 @@ def test_missing_solar_gain_frames(parse_linearized_task, arm_id):
|
|
|
1464
1473
|
num_modstates=1,
|
|
1465
1474
|
)
|
|
1466
1475
|
|
|
1467
|
-
with pytest.raises(ValueError, match="
|
|
1476
|
+
with pytest.raises(ValueError, match="solar_gain frames not found."):
|
|
1468
1477
|
task()
|
|
1469
1478
|
|
|
1470
1479
|
|
|
1471
|
-
@pytest.mark.parametrize("arm_id", ["
|
|
1480
|
+
@pytest.mark.parametrize("arm_id", ["SP"])
|
|
1472
1481
|
def test_missing_lamp_gain_frames(parse_linearized_task, arm_id):
|
|
1473
1482
|
"""
|
|
1474
1483
|
Given: A dataset missing lamp gain frames
|
|
@@ -1493,5 +1502,5 @@ def test_missing_lamp_gain_frames(parse_linearized_task, arm_id):
|
|
|
1493
1502
|
num_modstates=1,
|
|
1494
1503
|
)
|
|
1495
1504
|
|
|
1496
|
-
with pytest.raises(ValueError, match="
|
|
1505
|
+
with pytest.raises(ValueError, match="lamp_gain frames not found."):
|
|
1497
1506
|
task()
|
|
@@ -47,8 +47,7 @@ l0_pipeline.add_node(task=ParseL0CryonirspCILinearizedData, upstreams=LinearityC
|
|
|
47
47
|
l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData)
|
|
48
48
|
l0_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
|
|
49
49
|
l0_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
|
|
50
|
-
l0_pipeline.add_node(task=
|
|
51
|
-
l0_pipeline.add_node(task=CISolarGainCalibration, upstreams=LampGainCalibration)
|
|
50
|
+
l0_pipeline.add_node(task=CISolarGainCalibration, upstreams=DarkCalibration)
|
|
52
51
|
l0_pipeline.add_node(task=CIInstrumentPolarizationCalibration, upstreams=CISolarGainCalibration)
|
|
53
52
|
l0_pipeline.add_node(task=CIScienceCalibration, upstreams=CIInstrumentPolarizationCalibration)
|
|
54
53
|
l0_pipeline.add_node(task=CIWriteL1Frame, upstreams=CIScienceCalibration)
|
|
@@ -63,8 +63,7 @@ full_trial_ci_pipeline.add_node(
|
|
|
63
63
|
)
|
|
64
64
|
full_trial_ci_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
|
|
65
65
|
full_trial_ci_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
|
|
66
|
-
full_trial_ci_pipeline.add_node(task=
|
|
67
|
-
full_trial_ci_pipeline.add_node(task=CISolarGainCalibration, upstreams=LampGainCalibration)
|
|
66
|
+
full_trial_ci_pipeline.add_node(task=CISolarGainCalibration, upstreams=DarkCalibration)
|
|
68
67
|
full_trial_ci_pipeline.add_node(
|
|
69
68
|
task=CIInstrumentPolarizationCalibration, upstreams=CISolarGainCalibration
|
|
70
69
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.14
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -17,7 +17,7 @@ Requires-Dist: Pillow==10.3.0
|
|
|
17
17
|
Requires-Dist: astropy==6.1.0
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.10.0
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.1.1
|
|
20
|
-
Requires-Dist: dkist-processing-common==10.5.
|
|
20
|
+
Requires-Dist: dkist-processing-common==10.5.9
|
|
21
21
|
Requires-Dist: dkist-processing-math==2.1.2
|
|
22
22
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
@@ -48,7 +48,7 @@ Provides-Extra: asdf
|
|
|
48
48
|
Requires-Dist: dkist-processing-common[asdf]; extra == "asdf"
|
|
49
49
|
Requires-Dist: dkist-inventory[asdf]==1.5.0; extra == "asdf"
|
|
50
50
|
Provides-Extra: quality
|
|
51
|
-
Requires-Dist: dkist-quality==1.2.
|
|
51
|
+
Requires-Dist: dkist-quality==1.2.1; extra == "quality"
|
|
52
52
|
Provides-Extra: grogu
|
|
53
53
|
Requires-Dist: dkist; extra == "grogu"
|
|
54
54
|
Requires-Dist: pyparsing; extra == "grogu"
|
|
@@ -2,7 +2,7 @@ Pillow==10.3.0
|
|
|
2
2
|
astropy==6.1.0
|
|
3
3
|
dkist-fits-specifications==4.10.0
|
|
4
4
|
dkist-header-validator==5.1.1
|
|
5
|
-
dkist-processing-common==10.5.
|
|
5
|
+
dkist-processing-common==10.5.9
|
|
6
6
|
dkist-processing-math==2.1.2
|
|
7
7
|
dkist-processing-pac==3.1.1
|
|
8
8
|
dkist-spectral-lines==3.0.0
|
|
@@ -39,7 +39,7 @@ dkist-processing-common[inventory]
|
|
|
39
39
|
dkist-inventory==1.5.0
|
|
40
40
|
|
|
41
41
|
[quality]
|
|
42
|
-
dkist-quality==1.2.
|
|
42
|
+
dkist-quality==1.2.1
|
|
43
43
|
|
|
44
44
|
[test]
|
|
45
45
|
pytest
|
|
@@ -25,7 +25,7 @@ dependencies = [
|
|
|
25
25
|
"astropy == 6.1.0",
|
|
26
26
|
"dkist-fits-specifications == 4.10.0",
|
|
27
27
|
"dkist-header-validator == 5.1.1",
|
|
28
|
-
"dkist-processing-common == 10.5.
|
|
28
|
+
"dkist-processing-common == 10.5.9",
|
|
29
29
|
"dkist-processing-math == 2.1.2",
|
|
30
30
|
"dkist-processing-pac == 3.1.1",
|
|
31
31
|
"dkist-spectral-lines == 3.0.0",
|
|
@@ -68,7 +68,7 @@ asdf = [
|
|
|
68
68
|
"dkist-inventory[asdf]==1.5.0",
|
|
69
69
|
]
|
|
70
70
|
quality = [
|
|
71
|
-
"dkist-quality==1.2.
|
|
71
|
+
"dkist-quality==1.2.1",
|
|
72
72
|
]
|
|
73
73
|
grogu = [
|
|
74
74
|
"dkist",
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
CURRENT_VERSION=`git describe --tags --match v* --exact-match`
|
|
4
|
-
ERROR_STR="CHANGELOG has not been updated for ${CURRENT_VERSION}\\nSee the README for instructions"
|
|
5
|
-
ERROR_PAD="*************"
|
|
6
|
-
|
|
7
|
-
if [[ $CURRENT_VERSION =~ "rc" ]]; then
|
|
8
|
-
echo "release candidate detected"
|
|
9
|
-
exit 0;
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
ls changelog/*rst 2>/dev/null && {
|
|
13
|
-
echo -e "\\n${ERROR_PAD}"
|
|
14
|
-
echo -e "Unmerged changelog fragments found! You must run towncrier!\\nSee the README for instruction"
|
|
15
|
-
echo -e "${ERROR_PAD}"
|
|
16
|
-
exit 1;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
head -n 1 CHANGELOG.rst | grep -q "^$CURRENT_VERSION (" - || {
|
|
20
|
-
echo -e "\\n${ERROR_PAD}"
|
|
21
|
-
echo -e $ERROR_STR;
|
|
22
|
-
echo -e "${ERROR_PAD}"
|
|
23
|
-
exit 1; }
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/SCIENCE_CHANGELOG.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/landing_page.rst
RENAMED
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/linearization.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/requirements.txt
RENAMED
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/docs/requirements_table.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/licenses/LICENSE.rst
RENAMED
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/science_towncrier.sh
RENAMED
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.4.11 → dkist_processing_cryonirsp-1.4.14}/towncrier_science.toml
RENAMED
|
File without changes
|