dkist-processing-common 6.2.2__tar.gz → 6.2.3rc1__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-common might be problematic. Click here for more details.
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/CHANGELOG.rst +6 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/PKG-INFO +1 -1
- dkist-processing-common-6.2.3rc1/changelog/189.misc.rst +1 -0
- dkist-processing-common-6.2.3rc1/changelog/190.bugfix.rst +1 -0
- dkist-processing-common-6.2.3rc1/changelog/191.feature.rst +1 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/assemble_movie.py +5 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/quality/_base.py +14 -14
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/write_l1.py +9 -4
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_quality_mixin.py +20 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common.egg-info/PKG-INFO +1 -1
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common.egg-info/SOURCES.txt +3 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/.gitignore +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/.pre-commit-config.yaml +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/.readthedocs.yml +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/README.rst +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/bitbucket-pipelines.yml +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/changelog/.gitempty +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/check_changelog_updated.sh +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/config.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/constants.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/dkist_location.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/graphql.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/scratch.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/_util/tags.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/asdf.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/bytes.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/fits.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/iobase.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/json.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/path.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/quality.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/codecs/str.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/fonts/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/manual.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/constants.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/fits_access.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/flower_pot.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/graphql.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/message.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/parameters.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/quality.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/tags.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/task_name.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/models/wavelength.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/cs_step.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/id_bud.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/quality.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/task.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/time.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/unique_bud.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/parsers/wavelength.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/base.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/l1_output_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/globus.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/input_dataset.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/mixin/quality/_metrics.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/output_data_base.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/quality_metrics.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/teardown.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/trial_catalog.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tasks/trial_output_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/__init__.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/conftest.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_base.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_codecs.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_constants.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_cs_step.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_dkist_location.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_fits_access.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_flower_pot.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_input_dataset.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_output_data_base.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_parameters.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_quality.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_scratch.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_stems.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_tags.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_task_name.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_task_parsing.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_teardown.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_workflow_task_base.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common/tests/test_write_l1.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common.egg-info/requires.txt +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/dkist_processing_common.egg-info/top_level.txt +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/Makefile +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/changelog.rst +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/conf.py +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/index.rst +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/make.bat +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/docs/requirements.txt +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/licenses/LICENSE.rst +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/pyproject.toml +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/setup.cfg +0 -0
- {dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/setup.py +0 -0
|
@@ -7,6 +7,12 @@ Features
|
|
|
7
7
|
- Add the ability to create a quality report from a trial workflow. (`#185 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/185>`__)
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
Bugfixes
|
|
11
|
+
--------
|
|
12
|
+
|
|
13
|
+
- `QualityL0Metrics.calculate_l0_metrics` now correctly identifies the TASK type. Previously it could have erroneously used the WORKFLOWTASK tag to find the IP TASK TYPE. (`#185 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/185>`__)
|
|
14
|
+
|
|
15
|
+
|
|
10
16
|
v6.2.1 (2024-05-01)
|
|
11
17
|
===================
|
|
12
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dkist-processing-common
|
|
3
|
-
Version: 6.2.
|
|
3
|
+
Version: 6.2.3rc1
|
|
4
4
|
Summary: Common task classes used by the DKIST Science Data Processing pipelines to process DKIST data.
|
|
5
5
|
Home-page: https://bitbucket.org/dkistdc/dkist-processing-common/src/main/
|
|
6
6
|
Author: NSO / AURA
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Cap the length of browse movies at 60 seconds by default.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
`QualityMixin.avg_noise` is now NaN aware. I.e., it will ignore NaN values when computing the noise.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Save all floating point arrays as float32. The extra precision of float64 is not needed, especially when lossy quantization is applied before compression.
|
|
@@ -64,6 +64,7 @@ class AssembleMovie(WorkflowTaskBase, ABC):
|
|
|
64
64
|
MOVIE_FRAME_SHAPE = (2048, 1536) # Is this a/THE standard size?
|
|
65
65
|
IMAGES_PER_SEC = 3
|
|
66
66
|
MINIMUM_DURATION = 10 # seconds
|
|
67
|
+
MAXIMUM_DURATION = 60 # seconds
|
|
67
68
|
FPS = 15
|
|
68
69
|
FONT_FILE = pkg_resources.resource_filename("dkist_processing_common", "fonts/Lato-Regular.ttf")
|
|
69
70
|
TEXT_MARGIN_PX = 5
|
|
@@ -126,6 +127,10 @@ class AssembleMovie(WorkflowTaskBase, ABC):
|
|
|
126
127
|
self.IMAGES_PER_SEC = self.num_images / self.MINIMUM_DURATION
|
|
127
128
|
self.FPS = round(self.num_images / self.MINIMUM_DURATION) or 1
|
|
128
129
|
|
|
130
|
+
# IF movie length would be more than maximum duration, stride the frames
|
|
131
|
+
if (self.num_images / self.IMAGES_PER_SEC) > self.MAXIMUM_DURATION:
|
|
132
|
+
self.IMAGES_PER_SEC = self.num_images / self.MAXIMUM_DURATION
|
|
133
|
+
|
|
129
134
|
self.duration = self.num_images / self.IMAGES_PER_SEC
|
|
130
135
|
|
|
131
136
|
## This is here to fix a floating point bug in moviepy
|
|
@@ -133,12 +133,12 @@ class QualityMixin(
|
|
|
133
133
|
|
|
134
134
|
square_4 = data[-corner_square_length:, -corner_square_height:] # bottom right
|
|
135
135
|
|
|
136
|
-
return np.
|
|
136
|
+
return np.nanmean(
|
|
137
137
|
[
|
|
138
|
-
np.
|
|
139
|
-
np.
|
|
140
|
-
np.
|
|
141
|
-
np.
|
|
138
|
+
np.nanstd(square_1),
|
|
139
|
+
np.nanstd(square_2),
|
|
140
|
+
np.nanstd(square_3),
|
|
141
|
+
np.nanstd(square_4),
|
|
142
142
|
]
|
|
143
143
|
)
|
|
144
144
|
|
|
@@ -179,15 +179,15 @@ class QualityMixin(
|
|
|
179
179
|
-corner_cube_length:, -corner_cube_height:, -corner_cube_width:
|
|
180
180
|
] # bottom right back
|
|
181
181
|
|
|
182
|
-
return np.
|
|
182
|
+
return np.nanmean(
|
|
183
183
|
[
|
|
184
|
-
np.
|
|
185
|
-
np.
|
|
186
|
-
np.
|
|
187
|
-
np.
|
|
188
|
-
np.
|
|
189
|
-
np.
|
|
190
|
-
np.
|
|
191
|
-
np.
|
|
184
|
+
np.nanstd(cube_1),
|
|
185
|
+
np.nanstd(cube_2),
|
|
186
|
+
np.nanstd(cube_3),
|
|
187
|
+
np.nanstd(cube_4),
|
|
188
|
+
np.nanstd(cube_5),
|
|
189
|
+
np.nanstd(cube_6),
|
|
190
|
+
np.nanstd(cube_7),
|
|
191
|
+
np.nanstd(cube_8),
|
|
192
192
|
]
|
|
193
193
|
)
|
|
@@ -68,12 +68,17 @@ class WriteL1Frame(WorkflowTaskBase, MetadataStoreMixin, ABC):
|
|
|
68
68
|
stokes_param=stokes_param,
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
+
data_array = calibrated_fits_object.data
|
|
72
|
+
# Cast array to float32 if float64
|
|
73
|
+
if np.issubdtype(data_array.dtype, np.float64):
|
|
74
|
+
# Cast to float32 with the conservative casting option
|
|
75
|
+
# just incase something weird has happened.
|
|
76
|
+
data_array = data_array.astype(np.float32, casting="same_kind")
|
|
77
|
+
|
|
71
78
|
# Get the tile size to use for compression. None means use astropy defaults
|
|
72
|
-
tile_size = self._get_tile_size(
|
|
79
|
+
tile_size = self._get_tile_size(data_array)
|
|
73
80
|
# Write frame to disk - compressed
|
|
74
|
-
hdu = fits.CompImageHDU(
|
|
75
|
-
header=l1_header, data=calibrated_fits_object.data, tile_shape=tile_size
|
|
76
|
-
)
|
|
81
|
+
hdu = fits.CompImageHDU(header=l1_header, data=data_array, tile_shape=tile_size)
|
|
77
82
|
formatted_header = reformat_spec214_header(hdu.header)
|
|
78
83
|
hdu = fits.CompImageHDU(
|
|
79
84
|
header=formatted_header, data=hdu.data, tile_shape=tile_size
|
|
@@ -974,3 +974,23 @@ def test_polcal_build_efficiency(quality_task, polcal_efficiency_json):
|
|
|
974
974
|
assert metric["name"] == f"PolCal Modulation Efficiency - {label}"
|
|
975
975
|
efficiency_data = metric["efficiency_data"]
|
|
976
976
|
assert efficiency_data["efficiency_list"] == [[1.0, 2.0], [2.0, 3.0]]
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
@pytest.mark.parametrize(
|
|
980
|
+
"array_shape", [pytest.param((100, 100), id="2D"), pytest.param((100, 100, 100), id="3D")]
|
|
981
|
+
)
|
|
982
|
+
def test_avg_noise_nan_values(quality_task, array_shape):
|
|
983
|
+
"""
|
|
984
|
+
Given: A data array that contains NaN values
|
|
985
|
+
When: Computing the noise with `avg_noise`
|
|
986
|
+
Then: A non-NaN value is returned
|
|
987
|
+
"""
|
|
988
|
+
rng = np.random.default_rng()
|
|
989
|
+
data = rng.random(array_shape)
|
|
990
|
+
|
|
991
|
+
# Make 1/3 of the px NaNs
|
|
992
|
+
nan_idx = np.where((data > 0.333) & (data < 0.666))
|
|
993
|
+
data[nan_idx] = np.nan
|
|
994
|
+
result = quality_task.avg_noise(data)
|
|
995
|
+
|
|
996
|
+
assert not np.isnan(result)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dkist-processing-common
|
|
3
|
-
Version: 6.2.
|
|
3
|
+
Version: 6.2.3rc1
|
|
4
4
|
Summary: Common task classes used by the DKIST Science Data Processing pipelines to process DKIST data.
|
|
5
5
|
Home-page: https://bitbucket.org/dkistdc/dkist-processing-common/src/main/
|
|
6
6
|
Author: NSO / AURA
|
|
@@ -9,6 +9,9 @@ pyproject.toml
|
|
|
9
9
|
setup.cfg
|
|
10
10
|
setup.py
|
|
11
11
|
changelog/.gitempty
|
|
12
|
+
changelog/189.misc.rst
|
|
13
|
+
changelog/190.bugfix.rst
|
|
14
|
+
changelog/191.feature.rst
|
|
12
15
|
dkist_processing_common/__init__.py
|
|
13
16
|
dkist_processing_common/manual.py
|
|
14
17
|
dkist_processing_common.egg-info/PKG-INFO
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/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
|
{dkist-processing-common-6.2.2 → dkist-processing-common-6.2.3rc1}/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
|