dkist-processing-cryonirsp 1.12.1rc2__py3-none-any.whl → 1.12.2__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.

Potentially problematic release.


This version of dkist-processing-cryonirsp might be problematic. Click here for more details.

Files changed (80) hide show
  1. dkist_processing_cryonirsp/__init__.py +1 -0
  2. dkist_processing_cryonirsp/codecs/fits.py +1 -0
  3. dkist_processing_cryonirsp/config.py +1 -0
  4. dkist_processing_cryonirsp/models/beam_boundaries.py +1 -0
  5. dkist_processing_cryonirsp/models/constants.py +1 -0
  6. dkist_processing_cryonirsp/models/exposure_conditions.py +1 -0
  7. dkist_processing_cryonirsp/models/parameters.py +1 -0
  8. dkist_processing_cryonirsp/models/tags.py +1 -0
  9. dkist_processing_cryonirsp/models/task_name.py +1 -0
  10. dkist_processing_cryonirsp/parsers/check_for_gains.py +1 -0
  11. dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +1 -0
  12. dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +1 -0
  13. dkist_processing_cryonirsp/parsers/exposure_conditions.py +1 -0
  14. dkist_processing_cryonirsp/parsers/map_repeats.py +1 -0
  15. dkist_processing_cryonirsp/parsers/measurements.py +1 -0
  16. dkist_processing_cryonirsp/parsers/modstates.py +1 -0
  17. dkist_processing_cryonirsp/parsers/optical_density_filters.py +1 -0
  18. dkist_processing_cryonirsp/parsers/polarimetric_check.py +1 -0
  19. dkist_processing_cryonirsp/parsers/scan_step.py +1 -0
  20. dkist_processing_cryonirsp/parsers/time.py +1 -0
  21. dkist_processing_cryonirsp/parsers/wavelength.py +1 -0
  22. dkist_processing_cryonirsp/tasks/__init__.py +1 -0
  23. dkist_processing_cryonirsp/tasks/assemble_movie.py +1 -0
  24. dkist_processing_cryonirsp/tasks/bad_pixel_map.py +1 -0
  25. dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +1 -0
  26. dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +1 -0
  27. dkist_processing_cryonirsp/tasks/ci_science.py +1 -0
  28. dkist_processing_cryonirsp/tasks/cryonirsp_base.py +1 -0
  29. dkist_processing_cryonirsp/tasks/dark.py +1 -0
  30. dkist_processing_cryonirsp/tasks/gain.py +1 -0
  31. dkist_processing_cryonirsp/tasks/instrument_polarization.py +1 -0
  32. dkist_processing_cryonirsp/tasks/l1_output_data.py +1 -0
  33. dkist_processing_cryonirsp/tasks/linearity_correction.py +1 -0
  34. dkist_processing_cryonirsp/tasks/make_movie_frames.py +1 -0
  35. dkist_processing_cryonirsp/tasks/mixin/corrections.py +1 -0
  36. dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +1 -0
  37. dkist_processing_cryonirsp/tasks/parse.py +3 -3
  38. dkist_processing_cryonirsp/tasks/quality_metrics.py +1 -0
  39. dkist_processing_cryonirsp/tasks/science_base.py +1 -0
  40. dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +2 -1
  41. dkist_processing_cryonirsp/tasks/sp_geometric.py +2 -1
  42. dkist_processing_cryonirsp/tasks/sp_science.py +1 -0
  43. dkist_processing_cryonirsp/tasks/sp_solar_gain.py +1 -0
  44. dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +2 -1
  45. dkist_processing_cryonirsp/tasks/write_l1.py +25 -0
  46. dkist_processing_cryonirsp/tests/header_models.py +4 -0
  47. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +9 -9
  48. dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +9 -9
  49. dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +3 -3
  50. dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +3 -2
  51. dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +1 -1
  52. dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +1 -1
  53. dkist_processing_cryonirsp/tests/test_ci_science.py +1 -1
  54. dkist_processing_cryonirsp/tests/test_corrections.py +1 -2
  55. dkist_processing_cryonirsp/tests/test_cryo_base.py +3 -5
  56. dkist_processing_cryonirsp/tests/test_cryo_constants.py +1 -2
  57. dkist_processing_cryonirsp/tests/test_dark.py +1 -1
  58. dkist_processing_cryonirsp/tests/test_gain.py +1 -1
  59. dkist_processing_cryonirsp/tests/test_instrument_polarization.py +1 -1
  60. dkist_processing_cryonirsp/tests/test_linearity_correction.py +2 -1
  61. dkist_processing_cryonirsp/tests/test_parameters.py +3 -4
  62. dkist_processing_cryonirsp/tests/test_parse.py +3 -3
  63. dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +1 -1
  64. dkist_processing_cryonirsp/tests/test_sp_geometric.py +1 -1
  65. dkist_processing_cryonirsp/tests/test_sp_science.py +1 -1
  66. dkist_processing_cryonirsp/tests/test_sp_solar.py +1 -1
  67. dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +1 -1
  68. dkist_processing_cryonirsp/tests/test_workflows.py +1 -0
  69. dkist_processing_cryonirsp/tests/test_write_l1.py +8 -0
  70. dkist_processing_cryonirsp/workflows/__init__.py +1 -0
  71. dkist_processing_cryonirsp/workflows/ci_l0_processing.py +2 -3
  72. dkist_processing_cryonirsp/workflows/sp_l0_processing.py +2 -3
  73. dkist_processing_cryonirsp/workflows/trial_workflows.py +3 -6
  74. {dkist_processing_cryonirsp-1.12.1rc2.dist-info → dkist_processing_cryonirsp-1.12.2.dist-info}/METADATA +33 -34
  75. dkist_processing_cryonirsp-1.12.2.dist-info/RECORD +112 -0
  76. docs/conf.py +1 -0
  77. changelog/215.misc.rst +0 -1
  78. dkist_processing_cryonirsp-1.12.1rc2.dist-info/RECORD +0 -113
  79. {dkist_processing_cryonirsp-1.12.1rc2.dist-info → dkist_processing_cryonirsp-1.12.2.dist-info}/WHEEL +0 -0
  80. {dkist_processing_cryonirsp-1.12.1rc2.dist-info → dkist_processing_cryonirsp-1.12.2.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  """Init."""
2
+
2
3
  from importlib.metadata import PackageNotFoundError
3
4
  from importlib.metadata import version
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Encoders and decoders for writing and reading Cryo-NIRSP FITS files."""
2
+
2
3
  from pathlib import Path
3
4
 
4
5
  import numpy as np
@@ -1,4 +1,5 @@
1
1
  """Configuration for the dkist-processing-cryonirsp package and the logging thereof."""
2
+
2
3
  from dkist_processing_common.config import DKISTProcessingCommonConfiguration
3
4
  from pydantic import Field
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Beam boundary class."""
2
+
2
3
  from dataclasses import dataclass
3
4
 
4
5
  import numpy as np
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP additions to common constants."""
2
+
2
3
  from enum import Enum
3
4
  from enum import unique
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Support classes for exposure conditions."""
2
+
2
3
  from collections import namedtuple
3
4
  from enum import StrEnum
4
5
 
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP calibration pipeline parameters."""
2
+
2
3
  from datetime import datetime
3
4
  from functools import cached_property
4
5
 
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP tags."""
2
+
2
3
  from enum import Enum
3
4
 
4
5
  from dkist_processing_common.models.tags import StemName
@@ -1,4 +1,5 @@
1
1
  """List of intermediate task names."""
2
+
2
3
  from enum import Enum
3
4
 
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Pickybud to check for lamp gain and solar gain frames."""
2
+
2
3
  from typing import Hashable
3
4
  from typing import Type
4
5
 
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP FITS access for L0 data."""
2
+
2
3
  import numpy as np
3
4
  from astropy.io import fits
4
5
  from dkist_processing_common.parsers.l0_fits_access import L0FitsAccess
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP FITS access for L1 data."""
2
+
2
3
  from astropy.io import fits
3
4
  from dkist_processing_common.parsers.l1_fits_access import L1FitsAccess
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Buds to parse the combination of exposure time and filter name."""
2
+
2
3
  from collections import namedtuple
3
4
  from typing import Hashable
4
5
  from typing import Type
@@ -1,4 +1,5 @@
1
1
  """Stems for organizing files into separate dsps repeats."""
2
+
2
3
  from dkist_processing_cryonirsp.models.constants import CryonirspBudName
3
4
  from dkist_processing_cryonirsp.models.tags import CryonirspStemName
4
5
  from dkist_processing_cryonirsp.parsers.scan_step import MapScanStepStemBase
@@ -1,4 +1,5 @@
1
1
  """Copies of UniqueBud and SingleValueSingleKeyFlower from common that only activate if the frames are "observe" task."""
2
+
2
3
  from typing import Hashable
3
4
  from typing import Type
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Copy of SingleValueSingleKeyFlower from common that only activates if the frames are "observe" task."""
2
+
2
3
  from typing import Type
3
4
 
4
5
  from dkist_processing_common.models.flower_pot import SpilledDirt
@@ -1,4 +1,5 @@
1
1
  """PickyBud to implement early parsing of Optical Density Filter Names."""
2
+
2
3
  from typing import Hashable
3
4
 
4
5
  from dkist_processing_common.models.flower_pot import Stem
@@ -1,4 +1,5 @@
1
1
  """Copy of UniqueBud from common that only activates if the frames are polarimetric "observe" or "polcal" task, or non-polarimetric "observe" task."""
2
+
2
3
  from collections import namedtuple
3
4
  from typing import Type
4
5
 
@@ -3,6 +3,7 @@ Machinery for sorting files based on scan step.
3
3
 
4
4
  Also includes base classes that can be used to sort files based on map scan.
5
5
  """
6
+
6
7
  ######################
7
8
  # HOW THIS ALL WORKS #
8
9
  ######################
@@ -1,4 +1,5 @@
1
1
  """Buds to parse exposure time."""
2
+
2
3
  from typing import Hashable
3
4
  from typing import Type
4
5
 
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP bud to get the wavelength."""
2
+
2
3
  from dkist_processing_common.models.flower_pot import SpilledDirt
3
4
  from dkist_processing_common.parsers.unique_bud import UniqueBud
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Init."""
2
+
2
3
  from dkist_processing_cryonirsp.tasks.assemble_movie import *
3
4
  from dkist_processing_cryonirsp.tasks.bad_pixel_map import *
4
5
  from dkist_processing_cryonirsp.tasks.ci_beam_boundaries import *
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP-specific assemble movie task subclass."""
2
+
2
3
  import numpy as np
3
4
  from dkist_processing_common.tasks import AssembleMovie
4
5
  from dkist_service_configuration.logging import logger
@@ -1,4 +1,5 @@
1
1
  """Task class for bad pixel map computation."""
2
+
2
3
  import numpy as np
3
4
  import scipy.ndimage as spnd
4
5
  from dkist_processing_common.codecs.fits import fits_array_encoder
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP compute beam boundary task."""
2
+
2
3
  from abc import abstractmethod
3
4
 
4
5
  import numpy as np
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp CI beam boundaries task."""
2
+
2
3
  import largestinteriorrectangle as lir
3
4
  import numpy as np
4
5
  from dkist_service_configuration.logging import logger
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp CI science calibration task."""
2
+
2
3
  from collections import defaultdict
3
4
 
4
5
  from dkist_service_configuration.logging import logger
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP base class."""
2
+
2
3
  from abc import ABC
3
4
 
4
5
  from dkist_processing_common.tasks import WorkflowTaskBase
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP dark calibration task."""
2
+
2
3
  from dkist_processing_common.codecs.fits import fits_array_encoder
3
4
  from dkist_processing_common.models.task_name import TaskName
4
5
  from dkist_processing_math.statistics import average_numpy_arrays
@@ -1,4 +1,5 @@
1
1
  """Cryo gain task."""
2
+
2
3
  from abc import abstractmethod
3
4
 
4
5
  import numpy as np
@@ -1,4 +1,5 @@
1
1
  """Cryo instrument polarization task."""
2
+
2
3
  from abc import ABC
3
4
  from abc import abstractmethod
4
5
  from collections import defaultdict
@@ -1,4 +1,5 @@
1
1
  """Subclasses of AssembleQualityData that cause the correct polcal metrics to build."""
2
+
2
3
  from typing import Type
3
4
 
4
5
  from dkist_processing_common.tasks import AssembleQualityData
@@ -1,4 +1,5 @@
1
1
  """CryoNIRSP Linearity Correction Task."""
2
+
2
3
  from dataclasses import dataclass
3
4
  from typing import Generator
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp make movie frames task."""
2
+
2
3
  from abc import ABC
3
4
  from abc import abstractmethod
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Helper for CRYO-Nirsp array corrections."""
2
+
2
3
  from collections.abc import Generator
3
4
  from collections.abc import Iterable
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Mixin to support array shift calculations."""
2
+
2
3
  import math
3
4
  from dataclasses import dataclass
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Parse CryoNIRSP data."""
2
+
2
3
  from typing import TypeVar
3
4
 
4
5
  from dkist_processing_common.models.flower_pot import Stem
@@ -11,15 +12,15 @@ from dkist_processing_common.parsers.retarder import RetarderNameBud
11
12
  from dkist_processing_common.parsers.single_value_single_key_flower import (
12
13
  SingleValueSingleKeyFlower,
13
14
  )
14
- from dkist_processing_common.parsers.task import parse_header_ip_task_with_gains
15
15
  from dkist_processing_common.parsers.task import PolcalTaskFlower
16
16
  from dkist_processing_common.parsers.task import TaskTypeFlower
17
+ from dkist_processing_common.parsers.task import parse_header_ip_task_with_gains
17
18
  from dkist_processing_common.parsers.time import ObsIpStartTimeBud
18
19
  from dkist_processing_common.parsers.unique_bud import TaskUniqueBud
19
20
  from dkist_processing_common.parsers.unique_bud import UniqueBud
21
+ from dkist_processing_common.tasks import ParseDataBase
20
22
  from dkist_processing_common.tasks import default_constant_bud_factory
21
23
  from dkist_processing_common.tasks import default_tag_flower_factory
22
- from dkist_processing_common.tasks import ParseDataBase
23
24
 
24
25
  from dkist_processing_cryonirsp.models.constants import CryonirspBudName
25
26
  from dkist_processing_cryonirsp.models.parameters import CryonirspParsingParameters
@@ -57,7 +58,6 @@ from dkist_processing_cryonirsp.parsers.time import CryonirspSolarGainStartTimeB
57
58
  from dkist_processing_cryonirsp.parsers.time import CryonirspTimeObsBud
58
59
  from dkist_processing_cryonirsp.parsers.wavelength import ObserveWavelengthBud
59
60
 
60
-
61
61
  __all__ = [
62
62
  "ParseL0CryonirspRampData",
63
63
  "ParseL0CryonirspLinearizedData",
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp quality metrics task."""
2
+
2
3
  from dataclasses import dataclass
3
4
  from dataclasses import field
4
5
  from typing import Generator
@@ -1,4 +1,5 @@
1
1
  """Base frameworks for Cryonirsp science calibration."""
2
+
2
3
  from abc import ABC
3
4
  from abc import abstractmethod
4
5
  from collections.abc import Iterable
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp SP beam boundaries task."""
2
+
2
3
  import math
3
4
 
4
5
  import numpy as np
@@ -6,9 +7,9 @@ from dkist_service_configuration.logging import logger
6
7
 
7
8
  from dkist_processing_cryonirsp.models.beam_boundaries import BeamBoundary
8
9
  from dkist_processing_cryonirsp.tasks.beam_boundaries_base import BeamBoundariesCalibrationBase
9
- from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import ShiftMeasurementsMixin
10
10
  from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import SPATIAL
11
11
  from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import SPECTRAL
12
+ from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import ShiftMeasurementsMixin
12
13
 
13
14
  __all__ = ["SPBeamBoundariesCalibration"]
14
15
 
@@ -1,4 +1,5 @@
1
1
  """Cryo SP geometric task."""
2
+
2
3
  import math
3
4
 
4
5
  import numpy as np
@@ -19,9 +20,9 @@ from dkist_processing_cryonirsp.parsers.cryonirsp_l0_fits_access import (
19
20
  CryonirspLinearizedFitsAccess,
20
21
  )
21
22
  from dkist_processing_cryonirsp.tasks.cryonirsp_base import CryonirspTaskBase
22
- from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import ShiftMeasurementsMixin
23
23
  from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import SPATIAL
24
24
  from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import SPECTRAL
25
+ from dkist_processing_cryonirsp.tasks.mixin.shift_measurements import ShiftMeasurementsMixin
25
26
 
26
27
  __all__ = ["SPGeometricCalibration"]
27
28
 
@@ -1,4 +1,5 @@
1
1
  """Cryo SP science calibration task."""
2
+
2
3
  from collections import defaultdict
3
4
 
4
5
  import numpy as np
@@ -1,4 +1,5 @@
1
1
  """Cryo SP solar gain task."""
2
+
2
3
  import numpy as np
3
4
  import scipy.ndimage as spnd
4
5
  from dkist_processing_common.codecs.fits import fits_array_encoder
@@ -1,4 +1,5 @@
1
1
  """Cryo SP wavelength calibration task. See :doc:`this page </wavelength_calibration>` for more information."""
2
+
2
3
  import math
3
4
 
4
5
  import astropy.units as u
@@ -16,8 +17,8 @@ from solar_wavelength_calibration.fitter.parameters import DispersionBoundRange
16
17
  from solar_wavelength_calibration.fitter.parameters import LengthBoundRange
17
18
  from solar_wavelength_calibration.fitter.parameters import UnitlessBoundRange
18
19
  from solar_wavelength_calibration.fitter.parameters import WavelengthCalibrationParameters
19
- from solar_wavelength_calibration.fitter.wavelength_fitter import calculate_initial_crval_guess
20
20
  from solar_wavelength_calibration.fitter.wavelength_fitter import WavelengthParameters
21
+ from solar_wavelength_calibration.fitter.wavelength_fitter import calculate_initial_crval_guess
21
22
  from sunpy.coordinates import HeliocentricInertial
22
23
 
23
24
  from dkist_processing_cryonirsp.codecs.fits import cryo_fits_array_decoder
@@ -1,4 +1,5 @@
1
1
  """Cryonirsp write L1 task."""
2
+
2
3
  from abc import ABC
3
4
  from abc import abstractmethod
4
5
  from functools import cached_property
@@ -470,6 +471,30 @@ class CryonirspWriteL1Frame(WriteL1Frame, ABC):
470
471
  """Update spectral headers after spectral correction."""
471
472
  pass
472
473
 
474
+ def add_timing_headers(self, header: fits.Header) -> fits.Header:
475
+ """
476
+ Add timing headers to the FITS header.
477
+
478
+ This method adds or updates headers related to frame timings.
479
+ """
480
+ # The source data is based on L0 data but L1 data takes L0 cadence * modstates * number of measurements to obtain.
481
+ # This causes the cadence to be num_modstates * num_measurements times longer.
482
+ # This causes the exposure time to be num_modstates times longer.
483
+ header["CADENCE"] = (
484
+ self.constants.average_cadence * self.constants.num_modstates * self.constants.num_meas
485
+ )
486
+ header["CADMIN"] = (
487
+ self.constants.minimum_cadence * self.constants.num_modstates * self.constants.num_meas
488
+ )
489
+ header["CADMAX"] = (
490
+ self.constants.maximum_cadence * self.constants.num_modstates * self.constants.num_meas
491
+ )
492
+ header["CADVAR"] = (
493
+ self.constants.variance_cadence * self.constants.num_modstates * self.constants.num_meas
494
+ )
495
+ header["XPOSURE"] = header["XPOSURE"] * self.constants.num_modstates
496
+ return header
497
+
473
498
 
474
499
  class CIWriteL1Frame(CryonirspWriteL1Frame):
475
500
  """
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Model header objects
3
3
  """
4
+
4
5
  import datetime
5
6
  import random
6
7
  import uuid
@@ -25,6 +26,7 @@ class CryonirspHeaders(Spec122Dataset):
25
26
  array_shape: tuple[int, ...],
26
27
  time_delta: 10,
27
28
  instrument: str = "cryonirsp",
29
+ exp_time: float = 15.0,
28
30
  **kwargs,
29
31
  ):
30
32
  super().__init__(
@@ -50,6 +52,8 @@ class CryonirspHeaders(Spec122Dataset):
50
52
  self.add_constant_key("CRSP_053", 1083.0)
51
53
  self.add_constant_key("CRSP_054", 1.0)
52
54
 
55
+ self.add_constant_key("CAM__004", exp_time)
56
+
53
57
  @key_function("CRSP_042")
54
58
  # current modstate
55
59
  def current_modstate(self, key: str):
@@ -33,13 +33,7 @@ from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspSPLinearizedD
33
33
  from dkist_processing_cryonirsp.tasks.sp_beam_boundaries import SPBeamBoundariesCalibration
34
34
  from dkist_processing_cryonirsp.tasks.sp_geometric import SPGeometricCalibration
35
35
  from dkist_processing_cryonirsp.tasks.sp_solar_gain import SPSolarGainCalibration
36
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
37
- create_input_dataset_parameter_document,
38
- )
39
36
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import DBAccess
40
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
41
- load_parsing_task,
42
- )
43
37
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
44
38
  LoadBadPixelMap,
45
39
  )
@@ -61,9 +55,6 @@ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers
61
55
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
62
56
  LoadWavelengthCorrection,
63
57
  )
64
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
65
- save_parsing_task,
66
- )
67
58
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
68
59
  SaveBadPixelMap,
69
60
  )
@@ -85,6 +76,15 @@ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers
85
76
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
86
77
  SaveWavelengthCorrection,
87
78
  )
79
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
80
+ create_input_dataset_parameter_document,
81
+ )
82
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
83
+ load_parsing_task,
84
+ )
85
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
86
+ save_parsing_task,
87
+ )
88
88
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
89
89
  tag_inputs_task,
90
90
  )
@@ -45,13 +45,7 @@ from dkist_processing_cryonirsp.tasks.sp_solar_gain import SPSolarGainCalibratio
45
45
  from dkist_processing_cryonirsp.tasks.sp_wavelength_calibration import SPWavelengthCalibration
46
46
  from dkist_processing_cryonirsp.tasks.write_l1 import CIWriteL1Frame
47
47
  from dkist_processing_cryonirsp.tasks.write_l1 import SPWriteL1Frame
48
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
49
- create_input_dataset_parameter_document,
50
- )
51
48
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import DBAccess
52
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
53
- load_parsing_task,
54
- )
55
49
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
56
50
  LoadBadPixelMap,
57
51
  )
@@ -73,9 +67,6 @@ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers
73
67
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
74
68
  LoadWavelengthCorrection,
75
69
  )
76
- from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
77
- save_parsing_task,
78
- )
79
70
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
80
71
  SaveBadPixelMap,
81
72
  )
@@ -97,6 +88,15 @@ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers
97
88
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
98
89
  SaveWavelengthCorrection,
99
90
  )
91
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
92
+ create_input_dataset_parameter_document,
93
+ )
94
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
95
+ load_parsing_task,
96
+ )
97
+ from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
98
+ save_parsing_task,
99
+ )
100
100
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
101
101
  tag_inputs_task,
102
102
  )
@@ -8,13 +8,13 @@ from dkist_processing_cryonirsp.models.tags import CryonirspTag
8
8
  from dkist_processing_cryonirsp.tasks.linearity_correction import LinearityCorrection
9
9
  from dkist_processing_cryonirsp.tasks.parse import ParseL0CryonirspRampData
10
10
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
11
- create_input_dataset_parameter_document,
11
+ SaveLinearizedFiles,
12
12
  )
13
13
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
14
- save_parsing_task,
14
+ create_input_dataset_parameter_document,
15
15
  )
16
16
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
17
- SaveLinearizedFiles,
17
+ save_parsing_task,
18
18
  )
19
19
  from dkist_processing_cryonirsp.tests.local_trial_workflows.local_trial_helpers import (
20
20
  tag_inputs_task,
@@ -19,8 +19,8 @@ from dkist_service_configuration.logging import logger
19
19
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
20
20
  from dkist_processing_cryonirsp.models.task_name import CryonirspTaskName
21
21
  from dkist_processing_cryonirsp.tasks.cryonirsp_base import CryonirspTaskBase
22
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
23
22
  from dkist_processing_cryonirsp.tests.conftest import FileParameter
23
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
24
24
 
25
25
  # These are the workflow versions of the polyfit coefficient parameters
26
26
  WORKFLOW_LINEARIZATION_POLYFIT_COEFFS_CI = [
@@ -365,7 +365,7 @@ class SaveWavelengthCorrection(SaveTaskTags):
365
365
 
366
366
  @property
367
367
  def relative_save_file(self) -> str:
368
- return "sp_dispersion_axis_correction.asdf"
368
+ return "sp_wavelength_correction.asdf"
369
369
 
370
370
  @property
371
371
  def tag_lists_to_save(self) -> list[list[str]]:
@@ -475,6 +475,7 @@ def create_input_dataset_parameter_document(param_path: Path):
475
475
  relative_path=relative_path,
476
476
  tags=CryonirspTag.input_dataset_parameters(),
477
477
  encoder=basemodel_encoder,
478
+ overwrite=True,
478
479
  )
479
480
  logger.info(f"Wrote input dataset parameter doc to {relative_path}")
480
481
  self.copy_and_tag_parameter_files(param_path=param_path)
@@ -10,8 +10,8 @@ from dkist_service_configuration.logging import logger
10
10
 
11
11
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
12
12
  from dkist_processing_cryonirsp.tasks.bad_pixel_map import BadPixelMapCalibration
13
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
14
13
  from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
14
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
15
15
  from dkist_processing_cryonirsp.tests.conftest import generate_fits_frame
16
16
  from dkist_processing_cryonirsp.tests.header_models import CryonirspHeadersValidCISolarGainFrames
17
17
 
@@ -10,8 +10,8 @@ from dkist_processing_common.codecs.fits import fits_hdulist_encoder
10
10
 
11
11
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
12
12
  from dkist_processing_cryonirsp.tasks.ci_beam_boundaries import CIBeamBoundariesCalibration
13
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
14
13
  from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
14
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
15
15
  from dkist_processing_cryonirsp.tests.conftest import generate_fits_frame
16
16
  from dkist_processing_cryonirsp.tests.header_models import CryonirspHeadersValidCISolarGainFrames
17
17
 
@@ -17,8 +17,8 @@ from dkist_processing_cryonirsp.models.exposure_conditions import ExposureCondit
17
17
  from dkist_processing_cryonirsp.models.tags import CryonirspStemName
18
18
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
19
19
  from dkist_processing_cryonirsp.tasks.ci_science import CIScienceCalibration
20
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
21
20
  from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
21
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
22
22
  from dkist_processing_cryonirsp.tests.conftest import generate_fits_frame
23
23
  from dkist_processing_cryonirsp.tests.header_models import CryonirspHeadersValidObserveFrames
24
24
 
@@ -7,9 +7,8 @@ from dkist_processing_common.tasks import WorkflowTaskBase
7
7
 
8
8
  from dkist_processing_cryonirsp.models.constants import CryonirspConstants
9
9
  from dkist_processing_cryonirsp.tasks.mixin.corrections import CorrectionsMixin
10
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
11
10
  from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
12
-
11
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
13
12
 
14
13
  base_bad_pixel_map = np.zeros(shape=(10, 10))
15
14
 
@@ -8,8 +8,8 @@ from dkist_processing_common.codecs.fits import fits_hdu_decoder
8
8
  from dkist_processing_cryonirsp.codecs.fits import cryo_fits_array_decoder
9
9
  from dkist_processing_cryonirsp.models.tags import CryonirspTag
10
10
  from dkist_processing_cryonirsp.tasks.cryonirsp_base import CryonirspTaskBase
11
- from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
12
11
  from dkist_processing_cryonirsp.tests.conftest import CryonirspConstantsDb
12
+ from dkist_processing_cryonirsp.tests.conftest import cryonirsp_testing_parameters_factory
13
13
 
14
14
  NUM_BEAMS = 2
15
15
  NUM_MODSTATES = 8
@@ -23,8 +23,7 @@ def cryo_science_task(
23
23
  tmp_path, recipe_run_id, assign_input_dataset_doc_to_task, init_cryonirsp_constants_db
24
24
  ):
25
25
  class Task(CryonirspTaskBase):
26
- def run(self):
27
- ...
26
+ def run(self): ...
28
27
 
29
28
  constants_db = CryonirspConstantsDb(
30
29
  NUM_MODSTATES=NUM_MODSTATES,
@@ -153,8 +152,7 @@ def cryo_science_task_with_tagged_intermediates(
153
152
  recipe_run_id, tmpdir_factory, init_cryonirsp_constants_db
154
153
  ):
155
154
  class Task(CryonirspTaskBase):
156
- def run(self):
157
- ...
155
+ def run(self): ...
158
156
 
159
157
  init_cryonirsp_constants_db(recipe_run_id, CryonirspConstantsDb())
160
158
  with Task(