dkist-processing-cryonirsp 1.1.2__tar.gz → 1.2.1__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.1.2 → dkist_processing_cryonirsp-1.2.1}/CHANGELOG.rst +28 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/PKG-INFO +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/assemble_movie.py +5 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +9 -4
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/quality_metrics.py +3 -3
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +5 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +1 -2
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_quality.py +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_write_l1.py +62 -56
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +17 -9
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +17 -9
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/workflows/trial_workflows.py +40 -14
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp.egg-info/requires.txt +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/setup.cfg +1 -1
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/.gitignore +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/README.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/check_changelog_updated.sh +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/constants.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/sp_dispersion_axis_correction.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/trial_output_data.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_dispersion_axis_correction.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_trial_output_data.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/pyproject.toml +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/setup.py +0 -0
- {dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
v1.2.1 (2024-09-24)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Bump `dkist-processing-common` to v10.0.1. This fixes a bug in the reported FRAMEVOL key in L1 headers. (`#154 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/154>`__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
v1.2.0 (2024-09-23)
|
|
11
|
+
===================
|
|
12
|
+
|
|
13
|
+
Features
|
|
14
|
+
--------
|
|
15
|
+
|
|
16
|
+
- Reorder task dependencies in workflows. Movie and L1 quality tasks are no longer dependent on the presence of OUTPUT
|
|
17
|
+
frames and thus can be run in parallel with the `WriteL1` task. (`#152 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/152>`__)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
Misc
|
|
21
|
+
----
|
|
22
|
+
|
|
23
|
+
- Use CALIBRATED instead of OUTPUT frames in post-science movie and quality tasks. This doesn't change their output at all (the arrays are the same), but
|
|
24
|
+
it's necessary for `dkist-processing-common >= 10.0.0` that will break using OUTPUT frames. (`#151 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/151>`__)
|
|
25
|
+
- Remove `AssembleCryonirspMovie` as workflow dependency on `SubmitDatasetMetadata`. This dependency has been unnecessary
|
|
26
|
+
since the introduction of `SubmitDatasetMetadata` in v0.0.60. (`#151 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/151>`__)
|
|
27
|
+
|
|
28
|
+
|
|
1
29
|
v1.1.2 (2024-09-19)
|
|
2
30
|
===================
|
|
3
31
|
|
|
@@ -119,6 +119,7 @@ class AssembleCryonirspMovieBase(AssembleMovie):
|
|
|
119
119
|
return line
|
|
120
120
|
|
|
121
121
|
|
|
122
|
+
# See note below on `SPAssembleCryonirspMovie`
|
|
122
123
|
class AssembleCryonirspMovie(AssembleCryonirspMovieBase):
|
|
123
124
|
"""
|
|
124
125
|
Assemble all CryoNIRSP CI movie frames (tagged with CryonirspTag.movie_frame()) into an mp4 movie file.
|
|
@@ -162,6 +163,10 @@ class AssembleCryonirspMovie(AssembleCryonirspMovieBase):
|
|
|
162
163
|
return tags
|
|
163
164
|
|
|
164
165
|
|
|
166
|
+
# NOTE:
|
|
167
|
+
# This task isn't used right now because the SP movies need some better handling of the wavelength dimension.
|
|
168
|
+
# For the time being both arms use the `MakeCryonirspMovieFrames` task above.
|
|
169
|
+
# See PR #91 for more information.
|
|
165
170
|
class SPAssembleCryonirspMovie(AssembleCryonirspMovieBase):
|
|
166
171
|
"""
|
|
167
172
|
Assemble all CryoNIRSP SP movie frames (tagged with CryonirspTag.movie_frame()) into an mp4 movie file.
|
|
@@ -67,7 +67,7 @@ class MakeCryonirspMovieFramesBase(CryonirspTaskBase, ABC):
|
|
|
67
67
|
self.read(
|
|
68
68
|
tags=[
|
|
69
69
|
CryonirspTag.frame(),
|
|
70
|
-
CryonirspTag.
|
|
70
|
+
CryonirspTag.calibrated(),
|
|
71
71
|
CryonirspTag.stokes(stokes_state),
|
|
72
72
|
CryonirspTag.meas_num(meas_num),
|
|
73
73
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -81,6 +81,7 @@ class MakeCryonirspMovieFramesBase(CryonirspTaskBase, ABC):
|
|
|
81
81
|
return header
|
|
82
82
|
|
|
83
83
|
|
|
84
|
+
# See note below on `SPMakeCryonirspMovieFrames`
|
|
84
85
|
class MakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
85
86
|
"""Make CryoNIRSP movie frames for the Context Imager and tag with CryonirspTag.movie_frame()."""
|
|
86
87
|
|
|
@@ -150,7 +151,7 @@ class MakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
|
150
151
|
self.read(
|
|
151
152
|
tags=[
|
|
152
153
|
CryonirspTag.frame(),
|
|
153
|
-
CryonirspTag.
|
|
154
|
+
CryonirspTag.calibrated(),
|
|
154
155
|
CryonirspTag.stokes(stokes_state),
|
|
155
156
|
CryonirspTag.meas_num(meas_num),
|
|
156
157
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -164,6 +165,10 @@ class MakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
|
164
165
|
return movie_frame
|
|
165
166
|
|
|
166
167
|
|
|
168
|
+
# NOTE:
|
|
169
|
+
# This task isn't used right now because the SP movies need some better handling of the wavelength dimension.
|
|
170
|
+
# For the time being both arms use the `MakeCryonirspMovieFrames` task above.
|
|
171
|
+
# See PR #91 for more information.
|
|
167
172
|
class SPMakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
168
173
|
"""Make CryoNIRSP movie frames for the Spectropolarimeter and tag with CryonirspTag.movie_frame()."""
|
|
169
174
|
|
|
@@ -249,7 +254,7 @@ class SPMakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
|
249
254
|
self.read(
|
|
250
255
|
tags=[
|
|
251
256
|
CryonirspTag.frame(),
|
|
252
|
-
CryonirspTag.
|
|
257
|
+
CryonirspTag.calibrated(),
|
|
253
258
|
CryonirspTag.stokes(stokes_state),
|
|
254
259
|
CryonirspTag.meas_num(meas_num),
|
|
255
260
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -275,7 +280,7 @@ class SPMakeCryonirspMovieFrames(MakeCryonirspMovieFramesBase):
|
|
|
275
280
|
self.read(
|
|
276
281
|
tags=[
|
|
277
282
|
CryonirspTag.frame(),
|
|
278
|
-
CryonirspTag.
|
|
283
|
+
CryonirspTag.calibrated(),
|
|
279
284
|
CryonirspTag.stokes(stokes_state),
|
|
280
285
|
CryonirspTag.meas_num(meas_num),
|
|
281
286
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -205,7 +205,7 @@ class CryonirspL1QualityMetrics(CryonirspTaskBase, QualityMixin):
|
|
|
205
205
|
frame = next(
|
|
206
206
|
self.read(
|
|
207
207
|
tags=[
|
|
208
|
-
CryonirspTag.
|
|
208
|
+
CryonirspTag.calibrated(),
|
|
209
209
|
CryonirspTag.frame(),
|
|
210
210
|
CryonirspTag.scan_step(step),
|
|
211
211
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -234,7 +234,7 @@ class CryonirspL1QualityMetrics(CryonirspTaskBase, QualityMixin):
|
|
|
234
234
|
frame: L1QualityFitsAccess = next(
|
|
235
235
|
self.read(
|
|
236
236
|
tags=[
|
|
237
|
-
CryonirspTag.
|
|
237
|
+
CryonirspTag.calibrated(),
|
|
238
238
|
CryonirspTag.frame(),
|
|
239
239
|
CryonirspTag.scan_step(step),
|
|
240
240
|
CryonirspTag.map_scan(map_scan),
|
|
@@ -255,7 +255,7 @@ class CryonirspL1QualityMetrics(CryonirspTaskBase, QualityMixin):
|
|
|
255
255
|
|
|
256
256
|
def compile_noise_data(self, stokes: str) -> _QualityData:
|
|
257
257
|
"""Compile lists of noise values and their observation times."""
|
|
258
|
-
tags = [CryonirspTag.
|
|
258
|
+
tags = [CryonirspTag.calibrated(), CryonirspTag.frame(), CryonirspTag.stokes(stokes)]
|
|
259
259
|
frames: Generator[L1QualityFitsAccess, None, None] = self.read(
|
|
260
260
|
tags=tags,
|
|
261
261
|
decoder=fits_access_decoder,
|
|
@@ -407,6 +407,11 @@ class SaveInstPolCal(SaveTaskTags):
|
|
|
407
407
|
CryonirspTag.quality("TASK_TYPES"),
|
|
408
408
|
CryonirspTag.workflow_task("SPInstrumentPolarizationCalibration"),
|
|
409
409
|
],
|
|
410
|
+
[CryonirspTag.quality("POLCAL_CONSTANT_PAR_VALS")],
|
|
411
|
+
[CryonirspTag.quality("POLCAL_GLOBAL_PAR_VALS")],
|
|
412
|
+
[CryonirspTag.quality("POLCAL_LOCAL_PAR_VALS")],
|
|
413
|
+
[CryonirspTag.quality("POLCAL_FIT_RESIDUALS")],
|
|
414
|
+
[CryonirspTag.quality("POLCAL_EFFICIENCY")],
|
|
410
415
|
]
|
|
411
416
|
|
|
412
417
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
|
|
3
|
-
import numpy as np
|
|
4
3
|
import pytest
|
|
5
4
|
from astropy.io import fits
|
|
6
5
|
from dkist_header_validator import spec122_validator
|
|
@@ -77,7 +76,7 @@ def movie_frames_task(tmp_path, recipe_run_id, init_cryonirsp_constants_db, requ
|
|
|
77
76
|
task.write(
|
|
78
77
|
data=hdul,
|
|
79
78
|
tags=[
|
|
80
|
-
CryonirspTag.
|
|
79
|
+
CryonirspTag.calibrated(),
|
|
81
80
|
CryonirspTag.frame(),
|
|
82
81
|
CryonirspTag.map_scan(map_scan),
|
|
83
82
|
CryonirspTag.scan_step(scan_step),
|
|
@@ -115,7 +115,7 @@ def cryo_l1_quality_task(tmp_path, recipe_run_id, init_cryonirsp_constants_db):
|
|
|
115
115
|
task.write(
|
|
116
116
|
data=hdul,
|
|
117
117
|
tags=[
|
|
118
|
-
CryonirspTag.
|
|
118
|
+
CryonirspTag.calibrated(),
|
|
119
119
|
CryonirspTag.frame(),
|
|
120
120
|
CryonirspTag.stokes(stokes_param),
|
|
121
121
|
CryonirspTag.scan_step(scan_step),
|
|
@@ -81,7 +81,7 @@ def sp_movie_frames_task(tmp_path, recipe_run_id, init_cryonirsp_constants_db, r
|
|
|
81
81
|
task.write(
|
|
82
82
|
data=hdul,
|
|
83
83
|
tags=[
|
|
84
|
-
CryonirspTag.
|
|
84
|
+
CryonirspTag.calibrated(),
|
|
85
85
|
CryonirspTag.frame(),
|
|
86
86
|
CryonirspTag.map_scan(map_scan),
|
|
87
87
|
CryonirspTag.scan_step(scan_step),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
|
|
3
4
|
import numpy as np
|
|
4
5
|
import pytest
|
|
@@ -176,56 +177,54 @@ def test_write_l1_frame(write_l1_task, mocker, arm_id, num_stokes_params, num_ma
|
|
|
176
177
|
task()
|
|
177
178
|
|
|
178
179
|
for stokes_param in stokes_params:
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
axis_flip_tests(original_headers, header, arm_id)
|
|
180
|
+
common_tags = [
|
|
181
|
+
CryonirspTag.frame(),
|
|
182
|
+
CryonirspTag.stokes(stokes_param),
|
|
183
|
+
]
|
|
184
|
+
output_files = list(task.read(tags=common_tags + [CryonirspTag.output()]))
|
|
185
|
+
calibrated_files = list(task.read(tags=common_tags + [CryonirspTag.calibrated()]))
|
|
186
|
+
assert (
|
|
187
|
+
len(output_files)
|
|
188
|
+
== task.constants.num_map_scans
|
|
189
|
+
* task.constants.num_scan_steps
|
|
190
|
+
* task.constants.num_meas
|
|
191
|
+
)
|
|
192
|
+
preserve_date_tests(output_files, calibrated_files)
|
|
193
|
+
for output_file in output_files:
|
|
194
|
+
assert output_file.exists
|
|
195
|
+
assert output_file.name.startswith(f"CRYO-NIRSP_{arm_id}_")
|
|
196
|
+
assert spec214_validator.validate(output_file, extra=False)
|
|
197
|
+
hdu_list = fits.open(output_file)
|
|
198
|
+
header = hdu_list[1].header
|
|
199
|
+
assert len(hdu_list) == 2 # Primary, CompImage
|
|
200
|
+
assert type(hdu_list[0]) is fits.PrimaryHDU
|
|
201
|
+
assert type(hdu_list[1]) is fits.CompImageHDU
|
|
202
|
+
axis_num = 1
|
|
203
|
+
if arm_id == "CI":
|
|
204
|
+
longitude_axis_tests(axis_num, header)
|
|
205
|
+
ci_spatial_axis_correction_tests(axis_num, original_headers, header)
|
|
206
|
+
else:
|
|
207
|
+
spectral_axis_tests(axis_num, header)
|
|
208
|
+
sp_spatial_axis_correction_tests(axis_num, original_headers, header)
|
|
209
|
+
sp_spectral_axis_correction_tests(original_headers, header)
|
|
210
|
+
axis_num += 1
|
|
211
|
+
latitude_axis_tests(axis_num, arm_id, header)
|
|
212
|
+
axis_num += 1
|
|
213
|
+
if task.constants.num_meas > 1:
|
|
214
|
+
measurement_axis_tests(axis_num, header, task)
|
|
215
|
+
axis_num += 1
|
|
216
|
+
scan_step_axis_tests(axis_num, arm_id, header, task)
|
|
217
|
+
if task.constants.num_map_scans > 1:
|
|
218
|
+
axis_num += 1
|
|
219
|
+
map_scan_tests(axis_num, header, task)
|
|
220
|
+
if task.constants.correct_for_polarization:
|
|
221
|
+
axis_num += 1
|
|
222
|
+
stokes_axis_tests(axis_num, header)
|
|
223
|
+
|
|
224
|
+
# Other general tests
|
|
225
|
+
general_header_tests(axis_num, header, task, arm_id)
|
|
226
|
+
|
|
227
|
+
axis_flip_tests(original_headers, header, arm_id)
|
|
229
228
|
|
|
230
229
|
|
|
231
230
|
def sp_spatial_axis_correction_tests(
|
|
@@ -382,12 +381,24 @@ def axis_flip_tests(original_header: fits.Header, header: fits.Header, arm_id: s
|
|
|
382
381
|
pass
|
|
383
382
|
|
|
384
383
|
|
|
384
|
+
def preserve_date_tests(output_files: list[Path], calibrated_files: list[Path]) -> None:
|
|
385
|
+
# Make sure we didn't overwrite pre-computed DATE-BEG and DATE-END keys
|
|
386
|
+
cal_headers = [fits.getheader(f) for f in calibrated_files]
|
|
387
|
+
output_headers = [fits.getheader(f, ext=1) for f in output_files]
|
|
388
|
+
|
|
389
|
+
assert sorted([h["DATE-BEG"] for h in cal_headers]) == sorted(
|
|
390
|
+
[h["DATE-BEG"] for h in output_headers]
|
|
391
|
+
)
|
|
392
|
+
assert sorted([h["DATE-END"] for h in cal_headers]) == sorted(
|
|
393
|
+
[h["DATE-END"] for h in output_headers]
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
|
|
385
397
|
def general_header_tests(
|
|
386
398
|
axis_num: int,
|
|
387
399
|
header: fits.Header,
|
|
388
400
|
task: CryonirspWriteL1Frame,
|
|
389
401
|
arm_id: str,
|
|
390
|
-
calibrated_files: list,
|
|
391
402
|
):
|
|
392
403
|
# Other general tests
|
|
393
404
|
assert header["DAAXES"] == 2
|
|
@@ -404,11 +415,6 @@ def general_header_tests(
|
|
|
404
415
|
header["CAL_URL"]
|
|
405
416
|
== f"{task.docs_base_url}/projects/{task.constants.instrument.lower()}/en/v{calvers}/{task.workflow_name}.html"
|
|
406
417
|
)
|
|
407
|
-
cal_header = fits.open(calibrated_files.pop())[0].header
|
|
408
|
-
|
|
409
|
-
# Make sure we didn't overwrite pre-computed DATE-BEG and DATE-END keys
|
|
410
|
-
assert header["DATE-BEG"] == cal_header["DATE-BEG"]
|
|
411
|
-
assert header["DATE-END"] == cal_header["DATE-END"]
|
|
412
418
|
date_avg = (
|
|
413
419
|
(Time(header["DATE-END"], precision=6) - Time(header["DATE-BEG"], precision=6)) / 2
|
|
414
420
|
+ Time(header["DATE-BEG"], precision=6)
|
|
@@ -35,6 +35,8 @@ l0_pipeline = Workflow(
|
|
|
35
35
|
workflow_package=__package__,
|
|
36
36
|
)
|
|
37
37
|
l0_pipeline.add_node(task=TransferL0Data, upstreams=None)
|
|
38
|
+
|
|
39
|
+
# Science flow
|
|
38
40
|
l0_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
|
|
39
41
|
l0_pipeline.add_node(
|
|
40
42
|
task=LinearityCorrection,
|
|
@@ -42,7 +44,6 @@ l0_pipeline.add_node(
|
|
|
42
44
|
upstreams=ParseL0CryonirspRampData,
|
|
43
45
|
)
|
|
44
46
|
l0_pipeline.add_node(task=ParseL0CryonirspCILinearizedData, upstreams=LinearityCorrection)
|
|
45
|
-
l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData)
|
|
46
47
|
l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData)
|
|
47
48
|
l0_pipeline.add_node(task=CIBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
|
|
48
49
|
l0_pipeline.add_node(task=DarkCalibration, upstreams=CIBeamBoundariesCalibration)
|
|
@@ -51,19 +52,26 @@ l0_pipeline.add_node(task=CISolarGainCalibration, upstreams=LampGainCalibration)
|
|
|
51
52
|
l0_pipeline.add_node(task=CIInstrumentPolarizationCalibration, upstreams=CISolarGainCalibration)
|
|
52
53
|
l0_pipeline.add_node(task=CIScienceCalibration, upstreams=CIInstrumentPolarizationCalibration)
|
|
53
54
|
l0_pipeline.add_node(task=CIWriteL1Frame, upstreams=CIScienceCalibration)
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
|
|
56
|
+
# Movie flow
|
|
57
|
+
l0_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=CIScienceCalibration)
|
|
58
|
+
l0_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
|
|
59
|
+
|
|
60
|
+
# Quality flow
|
|
61
|
+
l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData)
|
|
62
|
+
l0_pipeline.add_node(task=QualityL1Metrics, upstreams=CIScienceCalibration)
|
|
63
|
+
l0_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=CIScienceCalibration)
|
|
56
64
|
l0_pipeline.add_node(
|
|
57
65
|
task=CIAssembleQualityData,
|
|
58
66
|
upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
|
|
59
67
|
)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
l0_pipeline.add_node(
|
|
63
|
-
|
|
64
|
-
)
|
|
65
|
-
l0_pipeline.add_node(task=TransferL1Data, upstreams=AssembleCryonirspMovie)
|
|
68
|
+
|
|
69
|
+
# Output flow
|
|
70
|
+
l0_pipeline.add_node(task=SubmitDatasetMetadata, upstreams=[CIWriteL1Frame, CIAssembleQualityData])
|
|
71
|
+
l0_pipeline.add_node(task=TransferL1Data, upstreams=[CIWriteL1Frame, AssembleCryonirspMovie])
|
|
66
72
|
l0_pipeline.add_node(
|
|
67
73
|
task=PublishCatalogAndQualityMessages, upstreams=[SubmitDatasetMetadata, TransferL1Data]
|
|
68
74
|
)
|
|
75
|
+
|
|
76
|
+
# goodbye
|
|
69
77
|
l0_pipeline.add_node(task=Teardown, upstreams=PublishCatalogAndQualityMessages)
|
|
@@ -37,6 +37,8 @@ l0_pipeline = Workflow(
|
|
|
37
37
|
workflow_package=__package__,
|
|
38
38
|
)
|
|
39
39
|
l0_pipeline.add_node(task=TransferL0Data, upstreams=None)
|
|
40
|
+
|
|
41
|
+
# Science flow
|
|
40
42
|
l0_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
|
|
41
43
|
l0_pipeline.add_node(
|
|
42
44
|
task=LinearityCorrection,
|
|
@@ -44,7 +46,6 @@ l0_pipeline.add_node(
|
|
|
44
46
|
upstreams=ParseL0CryonirspRampData,
|
|
45
47
|
)
|
|
46
48
|
l0_pipeline.add_node(task=ParseL0CryonirspSPLinearizedData, upstreams=LinearityCorrection)
|
|
47
|
-
l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData)
|
|
48
49
|
l0_pipeline.add_node(task=BadPixelMapCalibration, upstreams=ParseL0CryonirspSPLinearizedData)
|
|
49
50
|
l0_pipeline.add_node(task=SPBeamBoundariesCalibration, upstreams=BadPixelMapCalibration)
|
|
50
51
|
l0_pipeline.add_node(task=DarkCalibration, upstreams=SPBeamBoundariesCalibration)
|
|
@@ -58,19 +59,26 @@ l0_pipeline.add_node(
|
|
|
58
59
|
upstreams=[SPInstrumentPolarizationCalibration, SPDispersionAxisCorrection],
|
|
59
60
|
)
|
|
60
61
|
l0_pipeline.add_node(task=SPWriteL1Frame, upstreams=SPScienceCalibration)
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
|
|
63
|
+
# Movie flow
|
|
64
|
+
l0_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=SPScienceCalibration)
|
|
65
|
+
l0_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
|
|
66
|
+
|
|
67
|
+
# Quality flow
|
|
68
|
+
l0_pipeline.add_node(task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData)
|
|
69
|
+
l0_pipeline.add_node(task=QualityL1Metrics, upstreams=SPScienceCalibration)
|
|
70
|
+
l0_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=SPScienceCalibration)
|
|
63
71
|
l0_pipeline.add_node(
|
|
64
72
|
task=SPAssembleQualityData,
|
|
65
73
|
upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
|
|
66
74
|
)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
l0_pipeline.add_node(
|
|
70
|
-
|
|
71
|
-
)
|
|
72
|
-
l0_pipeline.add_node(task=TransferL1Data, upstreams=AssembleCryonirspMovie)
|
|
75
|
+
|
|
76
|
+
# Output flow
|
|
77
|
+
l0_pipeline.add_node(task=SubmitDatasetMetadata, upstreams=[SPWriteL1Frame, SPAssembleQualityData])
|
|
78
|
+
l0_pipeline.add_node(task=TransferL1Data, upstreams=[SPWriteL1Frame, AssembleCryonirspMovie])
|
|
73
79
|
l0_pipeline.add_node(
|
|
74
80
|
task=PublishCatalogAndQualityMessages, upstreams=[SubmitDatasetMetadata, TransferL1Data]
|
|
75
81
|
)
|
|
82
|
+
|
|
83
|
+
# goodbye
|
|
76
84
|
l0_pipeline.add_node(task=Teardown, upstreams=PublishCatalogAndQualityMessages)
|
|
@@ -47,6 +47,8 @@ full_trial_ci_pipeline = Workflow(
|
|
|
47
47
|
workflow_package=__package__,
|
|
48
48
|
)
|
|
49
49
|
full_trial_ci_pipeline.add_node(task=TransferL0Data, upstreams=None)
|
|
50
|
+
|
|
51
|
+
# Science flow
|
|
50
52
|
full_trial_ci_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
|
|
51
53
|
full_trial_ci_pipeline.add_node(
|
|
52
54
|
task=LinearityCorrection,
|
|
@@ -56,9 +58,6 @@ full_trial_ci_pipeline.add_node(
|
|
|
56
58
|
full_trial_ci_pipeline.add_node(
|
|
57
59
|
task=ParseL0CryonirspCILinearizedData, upstreams=LinearityCorrection
|
|
58
60
|
)
|
|
59
|
-
full_trial_ci_pipeline.add_node(
|
|
60
|
-
task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData
|
|
61
|
-
)
|
|
62
61
|
full_trial_ci_pipeline.add_node(
|
|
63
62
|
task=BadPixelMapCalibration, upstreams=ParseL0CryonirspCILinearizedData
|
|
64
63
|
)
|
|
@@ -73,14 +72,23 @@ full_trial_ci_pipeline.add_node(
|
|
|
73
72
|
task=CIScienceCalibration, upstreams=CIInstrumentPolarizationCalibration
|
|
74
73
|
)
|
|
75
74
|
full_trial_ci_pipeline.add_node(task=CIWriteL1Frame, upstreams=CIScienceCalibration)
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
|
|
76
|
+
# Movie flow
|
|
77
|
+
full_trial_ci_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=CIScienceCalibration)
|
|
78
|
+
full_trial_ci_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
|
|
79
|
+
|
|
80
|
+
# Quality flow
|
|
81
|
+
full_trial_ci_pipeline.add_node(
|
|
82
|
+
task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspCILinearizedData
|
|
83
|
+
)
|
|
84
|
+
full_trial_ci_pipeline.add_node(task=QualityL1Metrics, upstreams=CIScienceCalibration)
|
|
85
|
+
full_trial_ci_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=CIScienceCalibration)
|
|
78
86
|
full_trial_ci_pipeline.add_node(
|
|
79
87
|
task=CIAssembleQualityData,
|
|
80
88
|
upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
|
|
81
89
|
)
|
|
82
|
-
|
|
83
|
-
|
|
90
|
+
|
|
91
|
+
# Trial data generation
|
|
84
92
|
full_trial_ci_pipeline.add_node(
|
|
85
93
|
task=CreateTrialDatasetInventory, upstreams=CIWriteL1Frame, pip_extras=["inventory"]
|
|
86
94
|
)
|
|
@@ -88,6 +96,8 @@ full_trial_ci_pipeline.add_node(task=CreateTrialAsdf, upstreams=CIWriteL1Frame,
|
|
|
88
96
|
full_trial_ci_pipeline.add_node(
|
|
89
97
|
task=CreateTrialQualityReport, upstreams=CIAssembleQualityData, pip_extras=["quality"]
|
|
90
98
|
)
|
|
99
|
+
|
|
100
|
+
# Output flow
|
|
91
101
|
full_trial_ci_pipeline.add_node(
|
|
92
102
|
task=TransferCryoTrialData,
|
|
93
103
|
upstreams=[
|
|
@@ -97,8 +107,12 @@ full_trial_ci_pipeline.add_node(
|
|
|
97
107
|
AssembleCryonirspMovie,
|
|
98
108
|
],
|
|
99
109
|
)
|
|
110
|
+
|
|
111
|
+
# goodbye
|
|
100
112
|
full_trial_ci_pipeline.add_node(task=TrialTeardown, upstreams=TransferCryoTrialData)
|
|
101
113
|
|
|
114
|
+
#######################
|
|
115
|
+
#######################
|
|
102
116
|
full_trial_sp_pipeline = Workflow(
|
|
103
117
|
category="cryonirsp",
|
|
104
118
|
input_data="l0",
|
|
@@ -107,6 +121,8 @@ full_trial_sp_pipeline = Workflow(
|
|
|
107
121
|
workflow_package=__package__,
|
|
108
122
|
)
|
|
109
123
|
full_trial_sp_pipeline.add_node(task=TransferL0Data, upstreams=None)
|
|
124
|
+
|
|
125
|
+
# Science flow
|
|
110
126
|
full_trial_sp_pipeline.add_node(task=ParseL0CryonirspRampData, upstreams=TransferL0Data)
|
|
111
127
|
full_trial_sp_pipeline.add_node(
|
|
112
128
|
task=LinearityCorrection,
|
|
@@ -116,9 +132,6 @@ full_trial_sp_pipeline.add_node(
|
|
|
116
132
|
full_trial_sp_pipeline.add_node(
|
|
117
133
|
task=ParseL0CryonirspSPLinearizedData, upstreams=LinearityCorrection
|
|
118
134
|
)
|
|
119
|
-
full_trial_sp_pipeline.add_node(
|
|
120
|
-
task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData
|
|
121
|
-
)
|
|
122
135
|
full_trial_sp_pipeline.add_node(
|
|
123
136
|
task=BadPixelMapCalibration, upstreams=ParseL0CryonirspSPLinearizedData
|
|
124
137
|
)
|
|
@@ -137,14 +150,23 @@ full_trial_sp_pipeline.add_node(
|
|
|
137
150
|
upstreams=[SPInstrumentPolarizationCalibration, SPDispersionAxisCorrection],
|
|
138
151
|
)
|
|
139
152
|
full_trial_sp_pipeline.add_node(task=SPWriteL1Frame, upstreams=SPScienceCalibration)
|
|
140
|
-
|
|
141
|
-
|
|
153
|
+
|
|
154
|
+
# Movie flow
|
|
155
|
+
full_trial_sp_pipeline.add_node(task=MakeCryonirspMovieFrames, upstreams=SPScienceCalibration)
|
|
156
|
+
full_trial_sp_pipeline.add_node(task=AssembleCryonirspMovie, upstreams=MakeCryonirspMovieFrames)
|
|
157
|
+
|
|
158
|
+
# Quality flow
|
|
159
|
+
full_trial_sp_pipeline.add_node(
|
|
160
|
+
task=CryonirspL0QualityMetrics, upstreams=ParseL0CryonirspSPLinearizedData
|
|
161
|
+
)
|
|
162
|
+
full_trial_sp_pipeline.add_node(task=QualityL1Metrics, upstreams=SPScienceCalibration)
|
|
163
|
+
full_trial_sp_pipeline.add_node(task=CryonirspL1QualityMetrics, upstreams=SPScienceCalibration)
|
|
142
164
|
full_trial_sp_pipeline.add_node(
|
|
143
165
|
task=SPAssembleQualityData,
|
|
144
166
|
upstreams=[CryonirspL0QualityMetrics, QualityL1Metrics, CryonirspL1QualityMetrics],
|
|
145
167
|
)
|
|
146
|
-
|
|
147
|
-
|
|
168
|
+
|
|
169
|
+
# Trial data generation
|
|
148
170
|
full_trial_sp_pipeline.add_node(
|
|
149
171
|
task=CreateTrialDatasetInventory, upstreams=SPWriteL1Frame, pip_extras=["inventory"]
|
|
150
172
|
)
|
|
@@ -152,6 +174,8 @@ full_trial_sp_pipeline.add_node(task=CreateTrialAsdf, upstreams=SPWriteL1Frame,
|
|
|
152
174
|
full_trial_sp_pipeline.add_node(
|
|
153
175
|
task=CreateTrialQualityReport, upstreams=SPAssembleQualityData, pip_extras=["quality"]
|
|
154
176
|
)
|
|
177
|
+
|
|
178
|
+
# Output flow
|
|
155
179
|
full_trial_sp_pipeline.add_node(
|
|
156
180
|
task=TransferCryoTrialData,
|
|
157
181
|
upstreams=[
|
|
@@ -161,4 +185,6 @@ full_trial_sp_pipeline.add_node(
|
|
|
161
185
|
AssembleCryonirspMovie,
|
|
162
186
|
],
|
|
163
187
|
)
|
|
188
|
+
|
|
189
|
+
# goodbye
|
|
164
190
|
full_trial_sp_pipeline.add_node(task=TrialTeardown, upstreams=TransferCryoTrialData)
|
|
@@ -21,7 +21,7 @@ install_requires =
|
|
|
21
21
|
astropy == 6.1.0
|
|
22
22
|
dkist-fits-specifications == 4.6.0
|
|
23
23
|
dkist-header-validator == 5.1.1
|
|
24
|
-
dkist-processing-common ==
|
|
24
|
+
dkist-processing-common == 10.0.1
|
|
25
25
|
dkist-processing-math == 2.1.0
|
|
26
26
|
dkist-processing-pac == 3.0.2
|
|
27
27
|
dkist-spectral-lines == 3.0.0
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/bitbucket-pipelines.yml
RENAMED
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/check_changelog_updated.sh
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
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/bad_pixel_calibration.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
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_ci.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/l0_to_l1_cryonirsp_sp.rst
RENAMED
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/linearization.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/requirements_table.rst
RENAMED
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/docs/scientific_changelog.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_cryonirsp-1.1.2 → dkist_processing_cryonirsp-1.2.1}/towncrier_science.toml
RENAMED
|
File without changes
|