dkist-processing-common 11.7.0rc2__py3-none-any.whl → 11.7.1rc1__py3-none-any.whl
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.
- changelog/271.misc.rst +1 -0
- dkist_processing_common/models/constants.py +21 -357
- dkist_processing_common/models/fits_access.py +25 -16
- dkist_processing_common/parsers/experiment_id_bud.py +4 -8
- dkist_processing_common/parsers/id_bud.py +19 -35
- dkist_processing_common/parsers/l0_fits_access.py +3 -3
- dkist_processing_common/parsers/l1_fits_access.py +21 -47
- dkist_processing_common/parsers/near_bud.py +4 -4
- dkist_processing_common/parsers/proposal_id_bud.py +5 -11
- dkist_processing_common/parsers/single_value_single_key_flower.py +1 -0
- dkist_processing_common/parsers/time.py +27 -141
- dkist_processing_common/tasks/mixin/quality/_metrics.py +4 -6
- dkist_processing_common/tasks/parse_l0_input_data.py +1 -249
- dkist_processing_common/tests/test_fits_access.py +44 -19
- dkist_processing_common/tests/test_parse_l0_input_data.py +5 -39
- dkist_processing_common/tests/test_quality_mixin.py +11 -3
- dkist_processing_common/tests/test_stems.py +10 -127
- dkist_processing_common/tests/test_task_parsing.py +6 -6
- {dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/METADATA +2 -2
- {dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/RECORD +22 -28
- changelog/267.feature.1.rst +0 -1
- changelog/267.feature.2.rst +0 -1
- changelog/267.feature.rst +0 -1
- changelog/267.misc.rst +0 -1
- changelog/267.removal.1.rst +0 -2
- changelog/267.removal.rst +0 -1
- dkist_processing_common/parsers/average_bud.py +0 -48
- {dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/WHEEL +0 -0
- {dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/top_level.txt +0 -0
|
@@ -6,17 +6,14 @@ from astropy.io import fits
|
|
|
6
6
|
|
|
7
7
|
from dkist_processing_common.models.constants import BudName
|
|
8
8
|
from dkist_processing_common.models.fits_access import FitsAccessBase
|
|
9
|
-
from dkist_processing_common.models.fits_access import MetadataKey
|
|
10
9
|
from dkist_processing_common.models.tags import StemName
|
|
11
10
|
from dkist_processing_common.models.task_name import TaskName
|
|
12
|
-
from dkist_processing_common.parsers.average_bud import TaskAverageBud
|
|
13
11
|
from dkist_processing_common.parsers.cs_step import CSStepFlower
|
|
14
12
|
from dkist_processing_common.parsers.cs_step import NumCSStepBud
|
|
15
13
|
from dkist_processing_common.parsers.dsps_repeat import DspsRepeatNumberFlower
|
|
16
14
|
from dkist_processing_common.parsers.dsps_repeat import TotalDspsRepeatsBud
|
|
17
15
|
from dkist_processing_common.parsers.experiment_id_bud import ContributingExperimentIdsBud
|
|
18
16
|
from dkist_processing_common.parsers.experiment_id_bud import ExperimentIdBud
|
|
19
|
-
from dkist_processing_common.parsers.id_bud import TaskContributingIdsBud
|
|
20
17
|
from dkist_processing_common.parsers.near_bud import NearFloatBud
|
|
21
18
|
from dkist_processing_common.parsers.near_bud import TaskNearFloatBud
|
|
22
19
|
from dkist_processing_common.parsers.proposal_id_bud import ContributingProposalIdsBud
|
|
@@ -34,11 +31,9 @@ from dkist_processing_common.parsers.time import MaximumCadenceBud
|
|
|
34
31
|
from dkist_processing_common.parsers.time import MinimumCadenceBud
|
|
35
32
|
from dkist_processing_common.parsers.time import ObsIpStartTimeBud
|
|
36
33
|
from dkist_processing_common.parsers.time import ReadoutExpTimeFlower
|
|
37
|
-
from dkist_processing_common.parsers.time import TaskDateBeginBud
|
|
38
|
-
from dkist_processing_common.parsers.time import TaskDatetimeBudBase
|
|
39
34
|
from dkist_processing_common.parsers.time import TaskExposureTimesBud
|
|
40
35
|
from dkist_processing_common.parsers.time import TaskReadoutExpTimesBud
|
|
41
|
-
from dkist_processing_common.parsers.time import
|
|
36
|
+
from dkist_processing_common.parsers.time import TaskTimeBudBase
|
|
42
37
|
from dkist_processing_common.parsers.time import VarianceCadenceBud
|
|
43
38
|
from dkist_processing_common.parsers.unique_bud import TaskUniqueBud
|
|
44
39
|
from dkist_processing_common.parsers.unique_bud import UniqueBud
|
|
@@ -71,35 +66,12 @@ class FitsReaderMetadataKey(StrEnum):
|
|
|
71
66
|
class FitsReader(FitsAccessBase):
|
|
72
67
|
def __init__(self, hdu, name):
|
|
73
68
|
super().__init__(hdu, name)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
self.
|
|
77
|
-
|
|
78
|
-
self.proposal_id: str = self.header.get(FitsReaderMetadataKey.proposal_id)
|
|
79
|
-
self.experiment_id: str = self.header.get(FitsReaderMetadataKey.experiment_id)
|
|
80
|
-
self.ip_task_type: str = self.header.get(FitsReaderMetadataKey.ip_task_type)
|
|
81
|
-
self.ip_start_time: str = self.header.get(FitsReaderMetadataKey.ip_start_time)
|
|
82
|
-
self.fpa_exposure_time_ms: float = self.header.get(
|
|
83
|
-
FitsReaderMetadataKey.fpa_exposure_time_ms
|
|
84
|
-
)
|
|
85
|
-
self.sensor_readout_exposure_time_ms: float = self.header.get(
|
|
86
|
-
FitsReaderMetadataKey.sensor_readout_exposure_time_ms
|
|
87
|
-
)
|
|
88
|
-
self.num_raw_frames_per_fpa: int = self.header.get(
|
|
89
|
-
FitsReaderMetadataKey.num_raw_frames_per_fpa
|
|
90
|
-
)
|
|
91
|
-
self.num_dsps_repeats: int = self.header.get(FitsReaderMetadataKey.num_dsps_repeats)
|
|
92
|
-
self.current_dsps_repeat: int = self.header.get(FitsReaderMetadataKey.current_dsps_repeat)
|
|
93
|
-
self.time_obs: str = self.header.get(FitsReaderMetadataKey.time_obs)
|
|
94
|
-
self.gos_level3_status: str = self.header.get(FitsReaderMetadataKey.gos_level3_status)
|
|
95
|
-
self.gos_level3_lamp_status: str = self.header.get(
|
|
96
|
-
FitsReaderMetadataKey.gos_level3_lamp_status
|
|
69
|
+
for key in FitsReaderMetadataKey:
|
|
70
|
+
self._set_metadata_key_value(key=key, optional=True)
|
|
71
|
+
self._set_metadata_key_value(
|
|
72
|
+
FitsReaderMetadataKey.roundable_time, optional=True, default=0.0
|
|
97
73
|
)
|
|
98
|
-
self.
|
|
99
|
-
self.gos_retarder_status: str = self.header.get(FitsReaderMetadataKey.gos_retarder_status)
|
|
100
|
-
self.gos_polarizer_status: str = self.header.get(FitsReaderMetadataKey.gos_polarizer_status)
|
|
101
|
-
self.wavelength: str = self.header.get(FitsReaderMetadataKey.wavelength)
|
|
102
|
-
self.roundable_time: float = self.header.get(FitsReaderMetadataKey.roundable_time, 0.0)
|
|
74
|
+
self.name = name
|
|
103
75
|
|
|
104
76
|
|
|
105
77
|
@pytest.fixture()
|
|
@@ -414,38 +386,6 @@ def test_single_value_single_key_flower(basic_header_objs):
|
|
|
414
386
|
assert petals[2].keys == ["thing2"]
|
|
415
387
|
|
|
416
388
|
|
|
417
|
-
@pytest.mark.parametrize(
|
|
418
|
-
"ip_task_type, expected_value",
|
|
419
|
-
[
|
|
420
|
-
pytest.param("dark", (1655503202.0,), id="single_task_type"),
|
|
421
|
-
pytest.param(["dark", "gain"], (1655503202.0, 1655503203.0), id="task_type_list"),
|
|
422
|
-
pytest.param(
|
|
423
|
-
["dark", "gain", "observe"],
|
|
424
|
-
(1655503200.0, 1655503201.0, 1655503202.0, 1655503203.0, 1655503203.0),
|
|
425
|
-
id="task_type_list2",
|
|
426
|
-
),
|
|
427
|
-
],
|
|
428
|
-
)
|
|
429
|
-
def test_task_datetime_base_bud(basic_header_objs, ip_task_type, expected_value):
|
|
430
|
-
"""
|
|
431
|
-
Given: A set of headers with a datetime value that does not need to be rounded
|
|
432
|
-
When: Ingesting headers with a `TaskDatetimeBudBase` bud and asking for the value
|
|
433
|
-
Then: The bud's value is the list of datetimes in seconds
|
|
434
|
-
"""
|
|
435
|
-
bud = TaskDatetimeBudBase(
|
|
436
|
-
stem_name="datetimes",
|
|
437
|
-
metadata_key=FitsReaderMetadataKey.time_obs,
|
|
438
|
-
ip_task_types=ip_task_type,
|
|
439
|
-
)
|
|
440
|
-
assert bud.stem_name == "datetimes"
|
|
441
|
-
for fo in basic_header_objs:
|
|
442
|
-
key = fo.name
|
|
443
|
-
bud.update(key, fo)
|
|
444
|
-
|
|
445
|
-
petal = list(bud.petals)
|
|
446
|
-
assert petal[0].value == expected_value
|
|
447
|
-
|
|
448
|
-
|
|
449
389
|
@pytest.mark.parametrize(
|
|
450
390
|
"ip_task_type, expected_value",
|
|
451
391
|
[
|
|
@@ -454,13 +394,13 @@ def test_task_datetime_base_bud(basic_header_objs, ip_task_type, expected_value)
|
|
|
454
394
|
pytest.param(["dark", "gain", "observe"], (0.0, 2.34), id="task_type_list2"),
|
|
455
395
|
],
|
|
456
396
|
)
|
|
457
|
-
def
|
|
397
|
+
def test_task_time_base_bud(basic_header_objs, ip_task_type, expected_value):
|
|
458
398
|
"""
|
|
459
|
-
Given: A set of headers with a
|
|
460
|
-
When: Ingesting headers with a `
|
|
399
|
+
Given: A set of headers with a value that needs to be rounded
|
|
400
|
+
When: Ingesting headers with a `TaskTimeBudBase` bud and asking for the value
|
|
461
401
|
Then: The bud's value is the header constant value
|
|
462
402
|
"""
|
|
463
|
-
bud =
|
|
403
|
+
bud = TaskTimeBudBase(
|
|
464
404
|
stem_name="rounded_time", metadata_key="roundable_time", ip_task_types=ip_task_type
|
|
465
405
|
)
|
|
466
406
|
assert bud.stem_name == "rounded_time"
|
|
@@ -582,27 +522,6 @@ def test_contributing_experiment_ids_bud(basic_header_objs):
|
|
|
582
522
|
assert sorted(list(petal[0].value)) == ["experiment_id_1", "experiment_id_2"]
|
|
583
523
|
|
|
584
524
|
|
|
585
|
-
def test_task_contributing_ids_bud(basic_header_objs):
|
|
586
|
-
"""
|
|
587
|
-
Given: A set of headers with experiment ID values for different tasks
|
|
588
|
-
When: Ingesting the headers with a TaskContributingIdsBud for the dark task
|
|
589
|
-
Then: The Bud's petal is just the experiment ID for the dark task
|
|
590
|
-
"""
|
|
591
|
-
bud = TaskContributingIdsBud(
|
|
592
|
-
constant_name=BudName.experiment_id,
|
|
593
|
-
metadata_key=MetadataKey.experiment_id,
|
|
594
|
-
ip_task_types=TaskName.dark,
|
|
595
|
-
)
|
|
596
|
-
assert bud.stem_name == BudName.experiment_id.value
|
|
597
|
-
for fo in basic_header_objs:
|
|
598
|
-
key = fo.name
|
|
599
|
-
bud.update(key, fo)
|
|
600
|
-
|
|
601
|
-
petal = list(bud.petals)
|
|
602
|
-
assert len(petal) == 1
|
|
603
|
-
assert sorted(list(petal[0].value)) == ["experiment_id_2"]
|
|
604
|
-
|
|
605
|
-
|
|
606
525
|
def test_exp_time_flower(basic_header_objs):
|
|
607
526
|
"""
|
|
608
527
|
Given: A set of filepaths and associated headers with XPOSURE keywords
|
|
@@ -864,23 +783,6 @@ def test_variance_cadence_bud(basic_header_objs):
|
|
|
864
783
|
assert petal[0].value == 0.25
|
|
865
784
|
|
|
866
785
|
|
|
867
|
-
def test_task_date_begin_bud(basic_header_objs):
|
|
868
|
-
"""
|
|
869
|
-
Given: A set of filepaths and associated headers with time_obs metadata keys
|
|
870
|
-
When: Ingesting with the TaskDateBeginBud
|
|
871
|
-
Then: The correct value is returned
|
|
872
|
-
"""
|
|
873
|
-
bud = TaskDateBeginBud(constant_name=BudName.dark_date_begin, ip_task_types=TaskName.dark)
|
|
874
|
-
assert bud.stem_name == BudName.dark_date_begin.value
|
|
875
|
-
for fo in basic_header_objs:
|
|
876
|
-
key = fo.name
|
|
877
|
-
bud.update(key, fo)
|
|
878
|
-
|
|
879
|
-
petal = list(bud.petals)
|
|
880
|
-
assert len(petal) == 1
|
|
881
|
-
assert petal[0].value == "2022-06-17T22:00:02.000000"
|
|
882
|
-
|
|
883
|
-
|
|
884
786
|
def test_observe_wavelength_bud(basic_header_objs):
|
|
885
787
|
"""
|
|
886
788
|
Given: A set of headers with wavelength values
|
|
@@ -1033,23 +935,4 @@ def test_retarder_name_bud_error(bad_polcal_header_objs):
|
|
|
1033
935
|
_ = bud.bud
|
|
1034
936
|
|
|
1035
937
|
|
|
1036
|
-
def test_task_average_bud(basic_header_objs):
|
|
1037
|
-
"""
|
|
1038
|
-
Given: A set of headers with a differently valued header key
|
|
1039
|
-
When: Ingesting headers with an TaskAverageBud and asking for the value
|
|
1040
|
-
Then: The bud's value is the average of the header values of that task type
|
|
1041
|
-
"""
|
|
1042
|
-
bud = TaskAverageBud(
|
|
1043
|
-
constant_name="average", metadata_key="near_thing", ip_task_types="observe"
|
|
1044
|
-
)
|
|
1045
|
-
assert bud.stem_name == "average"
|
|
1046
|
-
for fo in basic_header_objs:
|
|
1047
|
-
key = fo.name
|
|
1048
|
-
bud.update(key, fo)
|
|
1049
|
-
|
|
1050
|
-
petal = list(bud.petals)
|
|
1051
|
-
assert len(petal) == 1
|
|
1052
|
-
assert round(petal[0].value, 3) == 1.227
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
938
|
# TODO: test new stem types that have been added to parse_l0_input_data
|
|
@@ -28,12 +28,12 @@ class DummyFitsAccess(FitsAccessBase):
|
|
|
28
28
|
auto_squeeze: bool = False, # Because L1 data should always have the right form, right?
|
|
29
29
|
):
|
|
30
30
|
super().__init__(hdu=hdu, name=name, auto_squeeze=auto_squeeze)
|
|
31
|
-
self.
|
|
32
|
-
self.
|
|
33
|
-
self.
|
|
34
|
-
self.
|
|
35
|
-
self.
|
|
36
|
-
self.
|
|
31
|
+
self._set_metadata_key_value(DummyMetadataKey.ip_task_type)
|
|
32
|
+
self._set_metadata_key_value(DummyMetadataKey.gos_level3_status)
|
|
33
|
+
self._set_metadata_key_value(DummyMetadataKey.gos_level3_lamp_status)
|
|
34
|
+
self._set_metadata_key_value(DummyMetadataKey.gos_level0_status)
|
|
35
|
+
self._set_metadata_key_value(DummyMetadataKey.gos_retarder_status)
|
|
36
|
+
self._set_metadata_key_value(DummyMetadataKey.gos_polarizer_status)
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
@pytest.fixture
|
{dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-common
|
|
3
|
-
Version: 11.7.
|
|
3
|
+
Version: 11.7.1rc1
|
|
4
4
|
Summary: Common task classes used by the DKIST science data processing pipelines
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -21,7 +21,7 @@ Requires-Dist: dkist-processing-core==6.0.0
|
|
|
21
21
|
Requires-Dist: dkist-processing-pac<4.0,>=3.1
|
|
22
22
|
Requires-Dist: dkist-service-configuration<5.0,>=4.1.7
|
|
23
23
|
Requires-Dist: dkist-spectral-lines<4.0,>=3.0.0
|
|
24
|
-
Requires-Dist: solar-wavelength-calibration<
|
|
24
|
+
Requires-Dist: solar-wavelength-calibration<3.0,>=2.0.0rc1
|
|
25
25
|
Requires-Dist: globus-sdk>=3.12.0
|
|
26
26
|
Requires-Dist: gqlclient[pydantic]==1.2.3
|
|
27
27
|
Requires-Dist: sqids==0.5.1
|
{dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/RECORD
RENAMED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
changelog/.gitempty,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
changelog/
|
|
3
|
-
changelog/267.feature.2.rst,sha256=1z0TqX3159m-wFvEgElBjUp0XPWQvmqMlVlf4BzO-J8,99
|
|
4
|
-
changelog/267.feature.rst,sha256=g4bBK3EFQiQljW9lQrFh6rVOL8C6yxBYbXI4WOH8NE0,65
|
|
5
|
-
changelog/267.misc.rst,sha256=ciUqUesBbdxh41euyLhyD3Bl6IVT2TSIGeOg3LFjIvg,105
|
|
6
|
-
changelog/267.removal.1.rst,sha256=qiGl1FAy9ioLwfCh8EvM788wjFbOY3jM3eUJHPOzpu8,207
|
|
7
|
-
changelog/267.removal.rst,sha256=ecpctwJ-AE59sfbsTy-j3GYaPaN8h6oWphXUMNQ42Yw,103
|
|
2
|
+
changelog/271.misc.rst,sha256=YxeCttyTuraW8dlIRP99Pf9XHQrjQMPdSO9bm8r2Kk0,104
|
|
8
3
|
dkist_processing_common/__init__.py,sha256=GQ9EBnYhkOnt-qODclAoLS_g5YVhurxfg1tjVtI9rDI,320
|
|
9
4
|
dkist_processing_common/config.py,sha256=kkFm-Q6jGGoV3Zdf3PSfk3xNYd2vSH0J2R8dBBav3Og,5218
|
|
10
5
|
dkist_processing_common/manual.py,sha256=bIVVyLsbXMh-g_2L3kGROL-1TtJe0_XviHsp7Br31x8,7023
|
|
@@ -27,9 +22,9 @@ dkist_processing_common/codecs/str.py,sha256=Xqt5k8IhLc95KiiNiFwB1JWcVVc6T8AfcLr
|
|
|
27
22
|
dkist_processing_common/fonts/Lato-Regular.ttf,sha256=1jbkaDIx-THtoiLViOlE0IK_0726AvkovuRhwPGFslE,656568
|
|
28
23
|
dkist_processing_common/fonts/__init__.py,sha256=hBvZRtkoGRPlNDWCK-ZePXdSIlThCcjwBDfYaamVgAw,101
|
|
29
24
|
dkist_processing_common/models/__init__.py,sha256=6LMqemdzVZ87fRrpAsbEnTtWZ02_Gu_oajsUlwGRH_Q,74
|
|
30
|
-
dkist_processing_common/models/constants.py,sha256=
|
|
25
|
+
dkist_processing_common/models/constants.py,sha256=oghBiVmtVk7YLkaQ2v8oZ-COHlAhmfjSvO9ZwzXCvLw,5828
|
|
31
26
|
dkist_processing_common/models/dkist_location.py,sha256=6Nk0wvv4R8ptlrV7BXon7abq4YLvmTdUmPsDN5G8nWc,971
|
|
32
|
-
dkist_processing_common/models/fits_access.py,sha256=
|
|
27
|
+
dkist_processing_common/models/fits_access.py,sha256=NLxvIsaFrv4Fui1EhGzkV5XXjv-Vi8DQaLfMHOrRdzc,5949
|
|
33
28
|
dkist_processing_common/models/flower_pot.py,sha256=_J7DwHM8u5kQfdPCpk5pUmALtLrM1L_h-x8JW5BSjXA,5129
|
|
34
29
|
dkist_processing_common/models/fried_parameter.py,sha256=ro_H2Eo3I88lRf1wJjZfTc_XOjhgLt4whIQR_sjAFbM,1609
|
|
35
30
|
dkist_processing_common/models/graphql.py,sha256=oSEcdVsVRytnIDEORLs4b6r3C2Lr7gqEEMHu82zpOOg,5912
|
|
@@ -44,20 +39,19 @@ dkist_processing_common/models/task_name.py,sha256=uAl7qTK4Xx1nqPAhNAe5nAXqxwPwQ
|
|
|
44
39
|
dkist_processing_common/models/telemetry.py,sha256=XVcLNgHCZsP9L7oYiklyLUoqQtWt_xjEkuf70Kbudz4,839
|
|
45
40
|
dkist_processing_common/models/wavelength.py,sha256=4UhRVoNvCHZitXo5S1oRdewadbmGfmDK6wetMV06POA,967
|
|
46
41
|
dkist_processing_common/parsers/__init__.py,sha256=XJQzHtPb78F6-qXXKXjyztc0x-aHVlgv1C_l4dR88tI,67
|
|
47
|
-
dkist_processing_common/parsers/average_bud.py,sha256=86zgcgLdDd8_Stf4RhZ9wfsmeuLXLA1jc-zcPHAz4YQ,1454
|
|
48
42
|
dkist_processing_common/parsers/cs_step.py,sha256=rL2gdstKEV5aqdPDs3a5EuUaOT_6YXDJVqIPIVKSw8M,6450
|
|
49
43
|
dkist_processing_common/parsers/dsps_repeat.py,sha256=Jg6oI9-PtFQbQHbGul6_eiRzBKr0Z2HIGOitG0G5CD4,1642
|
|
50
|
-
dkist_processing_common/parsers/experiment_id_bud.py,sha256=
|
|
51
|
-
dkist_processing_common/parsers/id_bud.py,sha256=
|
|
52
|
-
dkist_processing_common/parsers/l0_fits_access.py,sha256=
|
|
53
|
-
dkist_processing_common/parsers/l1_fits_access.py,sha256=
|
|
54
|
-
dkist_processing_common/parsers/near_bud.py,sha256=
|
|
55
|
-
dkist_processing_common/parsers/proposal_id_bud.py,sha256=
|
|
44
|
+
dkist_processing_common/parsers/experiment_id_bud.py,sha256=5ARnj6M5PEef_5-IVD1W6zl5DkYqx8eyt5-26Se-X2s,804
|
|
45
|
+
dkist_processing_common/parsers/id_bud.py,sha256=XohLGwVC-AD66qJe6I3AKdm5ArQIf3ryfDzPCQ5hEBk,1688
|
|
46
|
+
dkist_processing_common/parsers/l0_fits_access.py,sha256=gbE_4vFexOeKNLvqWvUFNxg-zBRpY1rCfRpIWHFpt_0,1009
|
|
47
|
+
dkist_processing_common/parsers/l1_fits_access.py,sha256=dJbbKRExoRpl94cSpgZg5SQZLh4tkV8p0vsKO8P8FLE,2814
|
|
48
|
+
dkist_processing_common/parsers/near_bud.py,sha256=lOHrjERKh3ooFusbd3_N-IDDpEOD9VWq2G82_wJ2c08,4002
|
|
49
|
+
dkist_processing_common/parsers/proposal_id_bud.py,sha256=tKW8dwh7XkECU1Z0T1E4AHj42emV3-RRVBBpVUZloTk,753
|
|
56
50
|
dkist_processing_common/parsers/quality.py,sha256=hhCT-bHODOYSp9jvgsiWfYcLYtQCSWgfuy0xZnkYXwo,1141
|
|
57
51
|
dkist_processing_common/parsers/retarder.py,sha256=AvDrMLmxuwKOIP3NNm9mtV7dV2kw_aqW92hTLd1UdK0,1507
|
|
58
|
-
dkist_processing_common/parsers/single_value_single_key_flower.py,sha256=
|
|
52
|
+
dkist_processing_common/parsers/single_value_single_key_flower.py,sha256=3mcPOG6dEU7IHWm0Jtjx3FVzbxAJCiKtLyVwZqFd2lA,1425
|
|
59
53
|
dkist_processing_common/parsers/task.py,sha256=nuGxDl5_gjbi07jMOrCPD5J9L51lyZZ6VS25FuDC3V8,3990
|
|
60
|
-
dkist_processing_common/parsers/time.py,sha256=
|
|
54
|
+
dkist_processing_common/parsers/time.py,sha256=z9zHV3Fz6ebEDgiPhv6H-aAS8e-sSW3EkBbPbtHpzGY,8576
|
|
61
55
|
dkist_processing_common/parsers/unique_bud.py,sha256=IkS2zZkVzn3PRsYF2ksBkUxl_HJ4TxCqBKJUs1WdL54,3310
|
|
62
56
|
dkist_processing_common/parsers/wavelength.py,sha256=P5C9mG8DAKK3GB3vWNRBI5l7pAW68lJK-kw-4eqERuQ,612
|
|
63
57
|
dkist_processing_common/tasks/__init__.py,sha256=l23ctjNsKJbHbbqaZBMeOPaOtw0hmITEljI_JJ-CVsU,627
|
|
@@ -65,7 +59,7 @@ dkist_processing_common/tasks/assemble_movie.py,sha256=1ixDG-f4ODt0vywqVccG3aodL
|
|
|
65
59
|
dkist_processing_common/tasks/base.py,sha256=itAHCvzcodo-q8_AjpWoRaM86BlcjWDpCIiUP7uwmP0,13236
|
|
66
60
|
dkist_processing_common/tasks/l1_output_data.py,sha256=D4S3kH2uRKp1b8_xF2YiWO_mGj19UJS5wKQZ4OdatGs,10568
|
|
67
61
|
dkist_processing_common/tasks/output_data_base.py,sha256=r1Bu3FX5zTVj66GTMWtaV_NdhxjyjSm661Bt2Mxmfi4,3685
|
|
68
|
-
dkist_processing_common/tasks/parse_l0_input_data.py,sha256=
|
|
62
|
+
dkist_processing_common/tasks/parse_l0_input_data.py,sha256=Gf8tA0aKqKuhkuxJqtblLL9y_ARCKoMb1cztSt_2hSU,8343
|
|
69
63
|
dkist_processing_common/tasks/quality_metrics.py,sha256=cvGF6tJ8yAvxOvkeG3tWxYwL885BrFW5X3V7_MSzL-A,12481
|
|
70
64
|
dkist_processing_common/tasks/teardown.py,sha256=rwT9lWINVDF11-az_nx-Z5ykMTX_SJCchobpU6sErgk,2360
|
|
71
65
|
dkist_processing_common/tasks/transfer_input_data.py,sha256=DAYfS-B1o-iBT9MXU-TiJG4Hv05Z0c_JzPrnFgvnK9g,5786
|
|
@@ -79,7 +73,7 @@ dkist_processing_common/tasks/mixin/metadata_store.py,sha256=QeZV3BITUzCErUt7mbk
|
|
|
79
73
|
dkist_processing_common/tasks/mixin/object_store.py,sha256=zGAyRR1O6EN52p7sFQtDWxa7ASx3HJSsO4d4tJr-beE,3237
|
|
80
74
|
dkist_processing_common/tasks/mixin/quality/__init__.py,sha256=GOI_PBUxTmYp5IIuYFbwpA5Vx0jUwpdBBYYrnZMTh0E,384
|
|
81
75
|
dkist_processing_common/tasks/mixin/quality/_base.py,sha256=qt9TZZ140skFWFmabrjlGdm60OLWEfx_xZAaohr6dLM,8492
|
|
82
|
-
dkist_processing_common/tasks/mixin/quality/_metrics.py,sha256=
|
|
76
|
+
dkist_processing_common/tasks/mixin/quality/_metrics.py,sha256=TtM6V7qy0U6ofFmjXNoJKkaECoPSfJsU4Ziu1UQgPZs,60457
|
|
83
77
|
dkist_processing_common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
78
|
dkist_processing_common/tests/conftest.py,sha256=Tm-Yq956EAafpDtu1d7JjdVY0Unp9e4z9ak-yf4wnH4,22320
|
|
85
79
|
dkist_processing_common/tests/mock_metadata_store.py,sha256=fbCvSk1-s0ojN6l538RWodPW7dx6k4eXqipemnHKO0Y,8248
|
|
@@ -90,7 +84,7 @@ dkist_processing_common/tests/test_codecs.py,sha256=XuvG1sG8DECMPmxtDEi98TxlvTSA
|
|
|
90
84
|
dkist_processing_common/tests/test_constants.py,sha256=I_KcJs7ScCn53GYhEO6qjWrrnfZuyC1IVYOy87Pjlg4,6565
|
|
91
85
|
dkist_processing_common/tests/test_cs_step.py,sha256=RA0QD3D8eaL3YSOL_gIJ9wkngy14RQ2jbD-05KAziW4,2408
|
|
92
86
|
dkist_processing_common/tests/test_dkist_location.py,sha256=-_OoSw4SZDLFyIuOltHvM6PQjxm5hTiJQsiTGZ8Sadc,456
|
|
93
|
-
dkist_processing_common/tests/test_fits_access.py,sha256=
|
|
87
|
+
dkist_processing_common/tests/test_fits_access.py,sha256=IYLrGRq71ve_yKJA6N-Gxz2-r9iISExwM8Zt6bB-jJI,13832
|
|
94
88
|
dkist_processing_common/tests/test_flower_pot.py,sha256=X9_UI3maa3ZQncV3jYHgovWnawDsdEkEB5vw6EAB96o,3151
|
|
95
89
|
dkist_processing_common/tests/test_fried_parameter.py,sha256=iXtlQIifZ6cDOkEi-YDgP3oAlss2loq08Uohgvy1byQ,1295
|
|
96
90
|
dkist_processing_common/tests/test_input_dataset.py,sha256=pQ01rWAkQ2XQojyHWzAqeOdrMXshNcgEVL5I_9bBTdo,9610
|
|
@@ -99,16 +93,16 @@ dkist_processing_common/tests/test_interservice_bus_mixin.py,sha256=IptJkW7Qeu2Y
|
|
|
99
93
|
dkist_processing_common/tests/test_manual_processing.py,sha256=iHF7yQPlar9niYAGXtFv28Gw3Undlds38yMfszk4ccY,1037
|
|
100
94
|
dkist_processing_common/tests/test_output_data_base.py,sha256=D8b1XKvbE3C5cGOiHq58yJ2pzQL3iL0wLZy_AkDdB9Y,3085
|
|
101
95
|
dkist_processing_common/tests/test_parameters.py,sha256=CUEUIGBPMCUXPll0G0UxFDbMXi8lmnjRwXBarGX1PAQ,14033
|
|
102
|
-
dkist_processing_common/tests/test_parse_l0_input_data.py,sha256=
|
|
96
|
+
dkist_processing_common/tests/test_parse_l0_input_data.py,sha256=rwmtQJQo7SNdzPVzMOFxXS35H_nOLWYgbZsc9QuMEgc,10503
|
|
103
97
|
dkist_processing_common/tests/test_publish_catalog_messages.py,sha256=l6Wga1s2wNBIf4wGZ78ZIO_rtqjdidmtvlN9nMnQUAs,3222
|
|
104
98
|
dkist_processing_common/tests/test_quality.py,sha256=IPz7liXcmoqWIsY78oX07Ui0nWHxoUH2FbKGEmMle7E,10258
|
|
105
|
-
dkist_processing_common/tests/test_quality_mixin.py,sha256=
|
|
99
|
+
dkist_processing_common/tests/test_quality_mixin.py,sha256=L-_kSIKs8A48LGt9QaItZWZqIcRF0MhBCAZQZYdSflk,55575
|
|
106
100
|
dkist_processing_common/tests/test_scratch.py,sha256=WO8C1VJlkcC5IzST9Hj08CyyrINwYcN8pyteD9x38xs,16482
|
|
107
|
-
dkist_processing_common/tests/test_stems.py,sha256=
|
|
101
|
+
dkist_processing_common/tests/test_stems.py,sha256=8Im6TtEEwkU6MN5wAAbq2gL4Z5bCQp-rbVH_QEdc880,32316
|
|
108
102
|
dkist_processing_common/tests/test_submit_dataset_metadata.py,sha256=LHEyjoIxJHXXssqKkr8Qn1NzzHD1FLJiD3lP8yaLiXU,3764
|
|
109
103
|
dkist_processing_common/tests/test_tags.py,sha256=w5gmVfp3Ck92KNV80lJQRMz0OYgTYzWtwVUFWv1b5i8,5024
|
|
110
104
|
dkist_processing_common/tests/test_task_name.py,sha256=kqFr59XX2K87xzfTlClzDV4-Je1dx72LvdaJ22UE8UU,1233
|
|
111
|
-
dkist_processing_common/tests/test_task_parsing.py,sha256=
|
|
105
|
+
dkist_processing_common/tests/test_task_parsing.py,sha256=leXQrIWU5CIkUWRaiG0hW4NCmFtlpxHNsgl4Jz2EghA,4368
|
|
112
106
|
dkist_processing_common/tests/test_teardown.py,sha256=DaliHSGsiQBZaFkf5wb3XBo6rHNPmx2bmQtVymYeBN4,5601
|
|
113
107
|
dkist_processing_common/tests/test_transfer_input_data.py,sha256=eyAAWXpTHQ8aew87-MncWpYBn4DAZrTSOL3LvlQfR5Q,12611
|
|
114
108
|
dkist_processing_common/tests/test_transfer_l1_output_data.py,sha256=PVGDJBEUk4kAeu8ivrhlCE7yd29R18t9kZLFx-mpBwY,2063
|
|
@@ -124,7 +118,7 @@ docs/landing_page.rst,sha256=aPAuXFhBx73lEZ59B6E6JXxkK0LlxzD0n-HXqHrfumQ,746
|
|
|
124
118
|
docs/make.bat,sha256=mBAhtURwhQ7yc95pqwJzlhqBSvRknr1aqZ5s8NKvdKs,4513
|
|
125
119
|
docs/requirements.txt,sha256=Kbl_X4c7RQZw035YTeNB63We6I7pvXFU4T0Uflp2yDY,29
|
|
126
120
|
licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
|
|
127
|
-
dkist_processing_common-11.7.
|
|
128
|
-
dkist_processing_common-11.7.
|
|
129
|
-
dkist_processing_common-11.7.
|
|
130
|
-
dkist_processing_common-11.7.
|
|
121
|
+
dkist_processing_common-11.7.1rc1.dist-info/METADATA,sha256=VLi5DszJYXgtOb_O0CZV9_JCPEQe8-cPFdkJnWavVLQ,13321
|
|
122
|
+
dkist_processing_common-11.7.1rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
123
|
+
dkist_processing_common-11.7.1rc1.dist-info/top_level.txt,sha256=LJhd1W-Vn90K8HnQDIE4r52YDpUjjMWDnllAWHBByW0,48
|
|
124
|
+
dkist_processing_common-11.7.1rc1.dist-info/RECORD,,
|
changelog/267.feature.1.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add new bud types TaskAverageBud and TaskBeginDateBud, which is based on new TaskDatetimeBudBase.
|
changelog/267.feature.2.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add new bud type TaskContributingIdsBud, based on ContributingIdsBud, for for specific task types.
|
changelog/267.feature.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Add new buds to parsing for what will become the dataset extras.
|
changelog/267.misc.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Rename TimeFlowerBase and TaskTimeBudBase to RoundTimeFlowerBase and TaskRoundTimeBudBase, respectively.
|
changelog/267.removal.1.rst
DELETED
changelog/267.removal.rst
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Remove IdBud, which is just a TaskUniqueBud with the task set to observe, and therefore is not needed.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"""Pre-made flower that reads a single header key from all files with specific task types and returns the average."""
|
|
2
|
-
|
|
3
|
-
from enum import StrEnum
|
|
4
|
-
from statistics import mean
|
|
5
|
-
from typing import Callable
|
|
6
|
-
from typing import Hashable
|
|
7
|
-
|
|
8
|
-
import numpy as np
|
|
9
|
-
|
|
10
|
-
from dkist_processing_common.parsers.near_bud import TaskNearFloatBud
|
|
11
|
-
from dkist_processing_common.parsers.task import passthrough_header_ip_task
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class TaskAverageBud(TaskNearFloatBud):
|
|
15
|
-
"""
|
|
16
|
-
Pre-made bud that returns the average of a single header key from all files with specific task types.
|
|
17
|
-
|
|
18
|
-
Parameters
|
|
19
|
-
----------
|
|
20
|
-
constant_name
|
|
21
|
-
The name for the constant to be defined
|
|
22
|
-
|
|
23
|
-
metadata_key
|
|
24
|
-
The metadata key associated with the constant
|
|
25
|
-
|
|
26
|
-
ip_task_types
|
|
27
|
-
Only consider objects whose parsed header IP task type matches a string in this list
|
|
28
|
-
|
|
29
|
-
task_type_parsing_function
|
|
30
|
-
The function used to convert a header into an IP task type
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
|
-
key_to_petal_dict: dict[str, float]
|
|
34
|
-
|
|
35
|
-
def __init__(
|
|
36
|
-
self,
|
|
37
|
-
constant_name: str,
|
|
38
|
-
metadata_key: str | StrEnum,
|
|
39
|
-
ip_task_types: str | list[str],
|
|
40
|
-
task_type_parsing_function: Callable = passthrough_header_ip_task,
|
|
41
|
-
):
|
|
42
|
-
super().__init__(
|
|
43
|
-
constant_name=constant_name,
|
|
44
|
-
metadata_key=metadata_key,
|
|
45
|
-
ip_task_types=ip_task_types,
|
|
46
|
-
tolerance=np.inf,
|
|
47
|
-
task_type_parsing_function=task_type_parsing_function,
|
|
48
|
-
)
|
{dkist_processing_common-11.7.0rc2.dist-info → dkist_processing_common-11.7.1rc1.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|