dkist-processing-common 12.3.0__tar.gz → 12.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/CHANGELOG.rst +11 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/PKG-INFO +1 -1
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/write_extra.py +4 -1
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/write_l1.py +21 -17
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/write_l1_base.py +1 -1
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common.egg-info/PKG-INFO +1 -1
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/.gitignore +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/.pre-commit-config.yaml +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/.readthedocs.yml +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/.snyk +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/README.rst +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/changelog/.gitempty +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/_util/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/_util/constants.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/_util/graphql.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/_util/scratch.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/_util/tags.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/array.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/asdf.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/basemodel.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/bytes.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/fits.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/iobase.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/json.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/path.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/quality.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/codecs/str.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/config.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/fonts/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/manual.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/constants.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/dkist_location.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/extras.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/fits_access.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/flower_pot.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/fried_parameter.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/graphql.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/input_dataset.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/message.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/message_queue_binding.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/metric_code.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/parameters.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/quality.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/tags.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/task_name.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/telemetry.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/models/wavelength.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/average_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/cs_step.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/id_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/lookup_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/near_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/observing_program_id_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/quality.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/retarder.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/task.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/time.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/unique_bud.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/parsers/wavelength.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/assemble_movie.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/l1_output_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/globus.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/mixin/quality/_metrics.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/output_data_base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/quality_metrics.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/teardown.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/trial_catalog.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tasks/trial_output_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/__init__.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/conftest.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/mock_metadata_store.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_codecs.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_constants.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_construct_dataset_extras.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_cs_step.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_dkist_location.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_fits_access.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_flower_pot.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_input_dataset.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_manual_processing.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_output_data_base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_parameters.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_quality.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_quality_mixin.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_scratch.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_stems.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_tags.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_task_name.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_task_parsing.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_teardown.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_workflow_task_base.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/tests/test_write_l1.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common.egg-info/SOURCES.txt +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common.egg-info/requires.txt +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common.egg-info/top_level.txt +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/Makefile +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/changelog.rst +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/conf.py +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/index.rst +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/landing_page.rst +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/make.bat +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/docs/requirements.txt +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/licenses/LICENSE.rst +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/pyproject.toml +0 -0
- {dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/setup.cfg +0 -0
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
v12.4.0 (2026-02-04)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- When calculating the updated frame volume for the `FRAMEVOL` key, don't decompress the file. (`#292 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/292>`__)
|
|
8
|
+
- Refactor calculation of statistics headers for improved performance. (`#293 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/293>`__)
|
|
9
|
+
- Send the L1 header for validation instead of the whole file for performance improvements. (`#294 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/294>`__)
|
|
10
|
+
|
|
11
|
+
|
|
1
12
|
v12.3.0 (2026-02-02)
|
|
2
13
|
====================
|
|
3
14
|
|
|
@@ -320,7 +320,10 @@ class WriteL1DatasetExtras(WriteL1Base, ABC):
|
|
|
320
320
|
|
|
321
321
|
# Check that the written file passes spec 214 validation if requested
|
|
322
322
|
if self.validate_l1_on_write:
|
|
323
|
-
|
|
323
|
+
# Replace this logic with the fits_header_decoder once FITS library keys have been removed from the SPEC
|
|
324
|
+
with fits.open(self.scratch.absolute_path(filename)) as hdul:
|
|
325
|
+
header = hdul[1].header
|
|
326
|
+
spec_extras_validator.validate(header, extra=False)
|
|
324
327
|
|
|
325
328
|
@abstractmethod
|
|
326
329
|
def run(self) -> None:
|
|
@@ -27,6 +27,7 @@ from sunpy.coordinates import Helioprojective
|
|
|
27
27
|
|
|
28
28
|
from dkist_processing_common.codecs.fits import fits_access_decoder
|
|
29
29
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
30
|
+
from dkist_processing_common.codecs.fits import fits_header_decoder
|
|
30
31
|
from dkist_processing_common.models.dkist_location import location_of_dkist
|
|
31
32
|
from dkist_processing_common.models.fried_parameter import r0_valid
|
|
32
33
|
from dkist_processing_common.models.tags import Tag
|
|
@@ -102,9 +103,10 @@ class WriteL1Frame(WriteL1Base, ABC):
|
|
|
102
103
|
|
|
103
104
|
# Check that the written file passes spec 214 validation if requested
|
|
104
105
|
if self.validate_l1_on_write:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
# Replace this logic with the fits_header_decoder once FITS library keys have been removed from the SPEC
|
|
107
|
+
with fits.open(self.scratch.absolute_path(relative_path)) as hdul:
|
|
108
|
+
header = hdul[1].header
|
|
109
|
+
spec214_validator.validate(header, extra=False)
|
|
108
110
|
|
|
109
111
|
def replace_header_values(self, header: fits.Header, data: np.ndarray) -> fits.Header:
|
|
110
112
|
"""Replace header values that should already exist with new values."""
|
|
@@ -132,25 +134,27 @@ class WriteL1Frame(WriteL1Base, ABC):
|
|
|
132
134
|
@staticmethod
|
|
133
135
|
def add_stats_headers(header: fits.Header, data: np.ndarray) -> fits.Header:
|
|
134
136
|
"""Fill out the spec 214 statistics header table."""
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
header["
|
|
140
|
-
header["
|
|
137
|
+
flat_data = np.ravel(data)
|
|
138
|
+
nan_mask = np.isfinite(flat_data)
|
|
139
|
+
valid_data = flat_data[nan_mask]
|
|
140
|
+
percentiles = np.percentile(valid_data, [1, 2, 5, 10, 25, 50, 75, 90, 95, 98, 99])
|
|
141
|
+
header["DATAMIN"] = valid_data.min()
|
|
142
|
+
header["DATAMAX"] = valid_data.max()
|
|
143
|
+
header["DATAMEAN"] = valid_data.mean()
|
|
144
|
+
header["DATAMEDN"] = percentiles[5]
|
|
141
145
|
header["DATAP01"] = percentiles[0]
|
|
142
146
|
header["DATAP02"] = percentiles[1]
|
|
143
147
|
header["DATAP05"] = percentiles[2]
|
|
144
148
|
header["DATAP10"] = percentiles[3]
|
|
145
149
|
header["DATAP25"] = percentiles[4]
|
|
146
|
-
header["DATAP75"] = percentiles[
|
|
147
|
-
header["DATAP90"] = percentiles[
|
|
148
|
-
header["DATAP95"] = percentiles[
|
|
149
|
-
header["DATAP98"] = percentiles[
|
|
150
|
-
header["DATAP99"] = percentiles[
|
|
151
|
-
header["DATARMS"] = np.sqrt(np.
|
|
152
|
-
header["DATAKURT"] = kurtosis(
|
|
153
|
-
header["DATASKEW"] = skew(
|
|
150
|
+
header["DATAP75"] = percentiles[6]
|
|
151
|
+
header["DATAP90"] = percentiles[7]
|
|
152
|
+
header["DATAP95"] = percentiles[8]
|
|
153
|
+
header["DATAP98"] = percentiles[9]
|
|
154
|
+
header["DATAP99"] = percentiles[10]
|
|
155
|
+
header["DATARMS"] = np.sqrt(np.dot(valid_data, valid_data) / valid_data.size)
|
|
156
|
+
header["DATAKURT"] = kurtosis(valid_data)
|
|
157
|
+
header["DATASKEW"] = skew(valid_data)
|
|
154
158
|
return header
|
|
155
159
|
|
|
156
160
|
def add_datacenter_headers(
|
|
@@ -38,7 +38,7 @@ class WriteL1Base(WorkflowTaskBase, MetadataStoreMixin, ABC):
|
|
|
38
38
|
"""Update FRAMEVOL key to be exactly the size of the file on-disk."""
|
|
39
39
|
full_path = self.scratch.workflow_base_path / relative_path
|
|
40
40
|
compressed_size = full_path.stat().st_size / 1024 / 1024
|
|
41
|
-
hdul = fits.open(full_path, mode="update")
|
|
41
|
+
hdul = fits.open(full_path, mode="update", disable_image_compression=True)
|
|
42
42
|
for i in range(1, len(hdul)):
|
|
43
43
|
hdul[i].header["FRAMEVOL"] = compressed_size
|
|
44
44
|
hdul.flush()
|
|
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_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_common-12.3.0 → dkist_processing_common-12.4.0}/dkist_processing_common/manual.py
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
|
|
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
|