dkist-processing-visp 5.2.1__py3-none-any.whl → 5.2.3__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.
@@ -12,4 +12,5 @@ from dkist_processing_visp.tasks.parse import *
12
12
  from dkist_processing_visp.tasks.quality_metrics import *
13
13
  from dkist_processing_visp.tasks.science import *
14
14
  from dkist_processing_visp.tasks.solar import *
15
+ from dkist_processing_visp.tasks.wavelength_calibration import WavelengthCalibration
15
16
  from dkist_processing_visp.tasks.write_l1 import *
@@ -46,6 +46,7 @@ from dkist_processing_visp.tasks.visp_base import VispTaskBase
46
46
  from dkist_processing_visp.tasks.wavelength_calibration import compute_initial_dispersion
47
47
  from dkist_processing_visp.tasks.wavelength_calibration import compute_input_wavelength_vector
48
48
  from dkist_processing_visp.tasks.wavelength_calibration import compute_order
49
+ from dkist_processing_visp.tasks.wavelength_calibration import estimate_relative_continuum_level
49
50
  from dkist_processing_visp.tasks.wavelength_calibration import get_doppler_velocity
50
51
 
51
52
  __all__ = [
@@ -638,11 +639,12 @@ class SolarCalibration(
638
639
  resolving_power = self.parameters.wavecal_init_resolving_power
639
640
  opacity_factor = self.parameters.wavecal_init_opacity_factor
640
641
  straylight_faction = self.parameters.wavecal_init_straylight_fraction
641
- relative_atlas_scaling = self.estimate_relative_continuum_level(
642
+ relative_atlas_scaling = estimate_relative_continuum_level(
642
643
  crval_init=crval_init,
643
644
  wavelength_range=wavelength_range,
644
645
  atlas=atlas,
645
646
  representative_spectrum=representative_spectrum,
647
+ normalization_percentile=self.parameters.wavecal_init_crval_guess_normalization_percentile,
646
648
  )
647
649
  logger.info(f"0th order coefficient initial guess: {relative_atlas_scaling}")
648
650
 
@@ -683,39 +685,6 @@ class SolarCalibration(
683
685
 
684
686
  return init_params
685
687
 
686
- def estimate_relative_continuum_level(
687
- self,
688
- *,
689
- crval_init: Quantity,
690
- wavelength_range: Quantity,
691
- atlas: Atlas,
692
- representative_spectrum: np.ndarray,
693
- ) -> float:
694
- """
695
- Estimate the multiplicative scaling between the representative spectrum and atlas solar transmission.
696
-
697
- This scaling is used to set the initial guess of 0th-order polynomial fit coefficient. We estimate the scaling
698
- factor by comparing the values of the two spectra at a given percent of the CDF. This percent is taken from
699
- the `~dkist_processing_visp.models.parameters.VispParameters.wavecal_init_crval_guess_normalization_percentile`
700
- pipeline parameter.
701
- """
702
- wave_min = crval_init - wavelength_range / 2
703
- wave_max = crval_init + wavelength_range / 2
704
-
705
- atlas_idx = np.where(
706
- (atlas.solar_atlas_wavelength >= wave_min) & (atlas.solar_atlas_wavelength <= wave_max)
707
- )
708
- atlas_norm = np.nanpercentile(
709
- atlas.solar_atlas_transmission[atlas_idx],
710
- self.parameters.wavecal_init_crval_guess_normalization_percentile,
711
- )
712
- spec_norm = np.nanpercentile(
713
- representative_spectrum,
714
- self.parameters.wavecal_init_crval_guess_normalization_percentile,
715
- )
716
-
717
- return spec_norm / atlas_norm
718
-
719
688
  def compute_final_vignette_estimate(self, init_vignette_correction: np.ndarray) -> np.ndarray:
720
689
  """
721
690
  Fit the spectral shape of continuum residuals for each spatial pixel.
@@ -26,8 +26,6 @@ from sunpy.coordinates import HeliocentricInertial
26
26
  from dkist_processing_visp.models.tags import VispTag
27
27
  from dkist_processing_visp.tasks.visp_base import VispTaskBase
28
28
 
29
- __all__ = ["WavelengthCalibration"]
30
-
31
29
 
32
30
  class WavelengthCalibration(VispTaskBase, QualityMixin):
33
31
  """Task class for correcting the dispersion axis wavelength values.
@@ -125,6 +123,7 @@ class WavelengthCalibration(VispTaskBase, QualityMixin):
125
123
  negative_limit=-wavelength_range / 2,
126
124
  positive_limit=wavelength_range / 2,
127
125
  num_steps=550,
126
+ normalization_percentile=self.parameters.wavecal_init_crval_guess_normalization_percentile,
128
127
  )
129
128
  logger.info(f"{crval_initial_guess = !s}")
130
129
 
@@ -135,6 +134,15 @@ class WavelengthCalibration(VispTaskBase, QualityMixin):
135
134
  resolving_power = self.parameters.wavecal_init_resolving_power
136
135
  logger.info(f"{resolving_power = }")
137
136
 
137
+ init_continuum_level = estimate_relative_continuum_level(
138
+ crval_init=crval_initial_guess,
139
+ wavelength_range=wavelength_range,
140
+ atlas=atlas,
141
+ representative_spectrum=input_spectrum,
142
+ normalization_percentile=self.parameters.wavecal_init_crval_guess_normalization_percentile,
143
+ )
144
+ logger.info(f"{init_continuum_level = !s}")
145
+
138
146
  logger.info("Setting bounds")
139
147
  wavelength_search_width = dispersion * self.parameters.wavecal_crval_bounds_px
140
148
  bounds = BoundsModel(
@@ -158,7 +166,9 @@ class WavelengthCalibration(VispTaskBase, QualityMixin):
158
166
  ),
159
167
  opacity_factor=UnitlessBoundRange(min=0.0, max=10.0),
160
168
  straylight_fraction=UnitlessBoundRange(min=0.0, max=0.4),
161
- continuum_level=UnitlessBoundRange(min=0.5, max=2.0),
169
+ continuum_level=UnitlessBoundRange(
170
+ min=init_continuum_level * 0.7, max=init_continuum_level * 1.3
171
+ ),
162
172
  )
163
173
 
164
174
  fit_flags = FitFlagsModel(
@@ -180,6 +190,7 @@ class WavelengthCalibration(VispTaskBase, QualityMixin):
180
190
  opacity_factor=self.parameters.wavecal_init_opacity_factor,
181
191
  straylight_fraction=self.parameters.wavecal_init_straylight_fraction,
182
192
  grating_constant=self.constants.grating_constant_inverse_mm,
193
+ continuum_level=init_continuum_level,
183
194
  doppler_velocity=doppler_velocity,
184
195
  order=order,
185
196
  bounds=bounds,
@@ -428,3 +439,33 @@ def compute_initial_dispersion(
428
439
  dispersion = pixel_pitch / linear_dispersion
429
440
 
430
441
  return dispersion.to(u.nm / u.pix)
442
+
443
+
444
+ def estimate_relative_continuum_level(
445
+ *,
446
+ crval_init: Quantity,
447
+ wavelength_range: Quantity,
448
+ atlas: Atlas,
449
+ representative_spectrum: np.ndarray,
450
+ normalization_percentile: float,
451
+ ) -> float:
452
+ """
453
+ Estimate the multiplicative scaling between the representative spectrum and atlas solar transmission.
454
+
455
+ This scaling is used to set the initial guess of 0th-order continuum scaling. We estimate the scaling factor by
456
+ comparing the values of the two spectra at a given percent of the CDF. This percent is taken from the
457
+ `~dkist_processing_visp.models.parameters.VispParameters.wavecal_init_crval_guess_normalization_percentile`
458
+ pipeline parameter.
459
+ """
460
+ wave_min = crval_init - wavelength_range / 2
461
+ wave_max = crval_init + wavelength_range / 2
462
+
463
+ atlas_idx = np.where(
464
+ (atlas.solar_atlas_wavelength >= wave_min) & (atlas.solar_atlas_wavelength <= wave_max)
465
+ )
466
+ atlas_norm = np.nanpercentile(
467
+ atlas.solar_atlas_transmission[atlas_idx], normalization_percentile
468
+ )
469
+ spec_norm = np.nanpercentile(representative_spectrum, normalization_percentile)
470
+
471
+ return spec_norm / atlas_norm
@@ -22,6 +22,8 @@ from dkist_processing_common.tasks import WorkflowTaskBase
22
22
 
23
23
  # Don't remove this; tests will break
24
24
  from dkist_processing_common.tests.mock_metadata_store import fake_gql_client
25
+ from solar_wavelength_calibration import Atlas
26
+ from solar_wavelength_calibration import DownloadConfig
25
27
 
26
28
  from dkist_processing_visp.models.constants import VispConstants
27
29
  from dkist_processing_visp.models.parameters import VispParameters
@@ -179,7 +181,7 @@ class VispInputDatasetParameterValues:
179
181
  visp_wavecal_pixel_pitch_micron_per_pix: float = 6.5
180
182
  visp_wavecal_atlas_download_config: dict[str, str] = field(
181
183
  default_factory=lambda: {
182
- "base_url": "doi:10.5281/zenodo.14646787/",
184
+ "base_url": "https://g-a36282.cd214.a567.data.globus.org/atlas/",
183
185
  "telluric_reference_atlas_file_name": "telluric_reference_atlas.npy",
184
186
  "telluric_reference_atlas_hash_id": "md5:8db5e12508b293bca3495d81a0747447",
185
187
  "solar_reference_atlas_file_name": "solar_reference_atlas.npy",
@@ -568,3 +570,10 @@ def write_calibrated_frames_to_task(
568
570
  data_func=make_random_data,
569
571
  )
570
572
  return num_written_frames
573
+
574
+
575
+ @pytest.fixture(scope="session")
576
+ def solar_atlas() -> Atlas:
577
+ config = VispInputDatasetParameterValues().visp_wavecal_atlas_download_config
578
+ config = DownloadConfig.model_validate(config)
579
+ return Atlas(config=config)
@@ -16,7 +16,6 @@ from dkist_processing_common.codecs.fits import fits_array_decoder
16
16
  from dkist_processing_common.codecs.fits import fits_array_encoder
17
17
  from dkist_processing_common.models.tags import Tag
18
18
  from scipy.ndimage import gaussian_filter1d
19
- from solar_wavelength_calibration import Atlas
20
19
  from sunpy.coordinates import HeliocentricInertial
21
20
 
22
21
  from dkist_processing_visp.models.tags import VispTag
@@ -136,11 +135,6 @@ def resolving_power() -> int:
136
135
  return int(1.15e5)
137
136
 
138
137
 
139
- @pytest.fixture(scope="session")
140
- def solar_atlas() -> Atlas:
141
- return Atlas()
142
-
143
-
144
138
  @pytest.fixture(scope="session")
145
139
  def spectral_vignette_function(num_wave_pix) -> np.ndarray:
146
140
  return (np.arange(num_wave_pix) - num_wave_pix // 2) / (num_wave_pix * 10) + 1.0
@@ -10,7 +10,6 @@ from dkist_processing_common.codecs.fits import fits_array_encoder
10
10
  from dkist_processing_common.codecs.json import json_decoder
11
11
  from dkist_processing_common.models.metric_code import MetricCode
12
12
  from scipy.ndimage import gaussian_filter
13
- from solar_wavelength_calibration import Atlas
14
13
 
15
14
  from dkist_processing_visp.models.tags import VispTag
16
15
  from dkist_processing_visp.tasks.wavelength_calibration import WavelengthCalibration
@@ -110,11 +109,6 @@ def resolving_power() -> int:
110
109
  return int(1.15e5)
111
110
 
112
111
 
113
- @pytest.fixture(scope="session")
114
- def solar_atlas() -> Atlas:
115
- return Atlas()
116
-
117
-
118
112
  @pytest.fixture(scope="function")
119
113
  def visp_wavelength_correction_task(
120
114
  tmp_path,
@@ -22,7 +22,7 @@ from dkist_processing_visp.tasks import VispAssembleQualityData
22
22
  from dkist_processing_visp.tasks import VispL0QualityMetrics
23
23
  from dkist_processing_visp.tasks import VispL1QualityMetrics
24
24
  from dkist_processing_visp.tasks import VispWriteL1Frame
25
- from dkist_processing_visp.tasks.wavelength_calibration import WavelengthCalibration
25
+ from dkist_processing_visp.tasks import WavelengthCalibration
26
26
 
27
27
  l0_pipeline = Workflow(
28
28
  category="visp",
@@ -23,7 +23,7 @@ from dkist_processing_visp.tasks import VispAssembleQualityData
23
23
  from dkist_processing_visp.tasks import VispL0QualityMetrics
24
24
  from dkist_processing_visp.tasks import VispL1QualityMetrics
25
25
  from dkist_processing_visp.tasks import VispWriteL1Frame
26
- from dkist_processing_visp.tasks.wavelength_calibration import WavelengthCalibration
26
+ from dkist_processing_visp.tasks import WavelengthCalibration
27
27
 
28
28
  full_trial_pipeline = Workflow(
29
29
  category="visp",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-visp
3
- Version: 5.2.1
3
+ Version: 5.2.3
4
4
  Summary: Science processing code for the ViSP instrument on DKIST
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Python: >=3.12
15
15
  Description-Content-Type: text/x-rst
16
- Requires-Dist: dkist-processing-common==11.9.1
16
+ Requires-Dist: dkist-processing-common==11.9.2
17
17
  Requires-Dist: dkist-processing-math==2.2.1
18
18
  Requires-Dist: dkist-processing-pac==3.1.1
19
19
  Requires-Dist: dkist-header-validator==5.2.1
@@ -118,16 +118,16 @@ Requires-Dist: asdf==3.5.0; extra == "frozen"
118
118
  Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
119
119
  Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
120
120
  Requires-Dist: asgiref==3.11.0; extra == "frozen"
121
- Requires-Dist: asteval==1.0.7; extra == "frozen"
121
+ Requires-Dist: asteval==1.0.8; extra == "frozen"
122
122
  Requires-Dist: astropy==7.0.2; extra == "frozen"
123
- Requires-Dist: astropy-iers-data==0.2025.12.15.0.40.51; extra == "frozen"
123
+ Requires-Dist: astropy-iers-data==0.2025.12.22.0.40.30; extra == "frozen"
124
124
  Requires-Dist: asyncpg==0.31.0; extra == "frozen"
125
125
  Requires-Dist: attrs==25.4.0; extra == "frozen"
126
126
  Requires-Dist: babel==2.17.0; extra == "frozen"
127
127
  Requires-Dist: billiard==4.2.4; extra == "frozen"
128
128
  Requires-Dist: blinker==1.9.0; extra == "frozen"
129
- Requires-Dist: boto3==1.42.10; extra == "frozen"
130
- Requires-Dist: botocore==1.42.10; extra == "frozen"
129
+ Requires-Dist: boto3==1.42.14; extra == "frozen"
130
+ Requires-Dist: botocore==1.42.14; extra == "frozen"
131
131
  Requires-Dist: cachelib==0.13.0; extra == "frozen"
132
132
  Requires-Dist: celery==5.6.0; extra == "frozen"
133
133
  Requires-Dist: certifi==2025.11.12; extra == "frozen"
@@ -150,11 +150,11 @@ Requires-Dist: dacite==1.9.2; extra == "frozen"
150
150
  Requires-Dist: decorator==5.2.1; extra == "frozen"
151
151
  Requires-Dist: dill==0.4.0; extra == "frozen"
152
152
  Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
153
- Requires-Dist: dkist-processing-common==11.9.1; extra == "frozen"
153
+ Requires-Dist: dkist-processing-common==11.9.2; extra == "frozen"
154
154
  Requires-Dist: dkist-processing-core==6.0.1; extra == "frozen"
155
155
  Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
156
156
  Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
157
- Requires-Dist: dkist-processing-visp==5.2.1; extra == "frozen"
157
+ Requires-Dist: dkist-processing-visp==5.2.3; extra == "frozen"
158
158
  Requires-Dist: dkist-service-configuration==4.1.13; extra == "frozen"
159
159
  Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
160
160
  Requires-Dist: dkist_fits_specifications==4.19.0; extra == "frozen"
@@ -166,7 +166,7 @@ Requires-Dist: flower==2.0.1; extra == "frozen"
166
166
  Requires-Dist: fonttools==4.61.1; extra == "frozen"
167
167
  Requires-Dist: frozenlist==1.8.0; extra == "frozen"
168
168
  Requires-Dist: fsspec==2025.12.0; extra == "frozen"
169
- Requires-Dist: globus-sdk==4.2.0; extra == "frozen"
169
+ Requires-Dist: globus-sdk==4.3.0; extra == "frozen"
170
170
  Requires-Dist: google-re2==1.1.20251105; extra == "frozen"
171
171
  Requires-Dist: googleapis-common-protos==1.72.0; extra == "frozen"
172
172
  Requires-Dist: gqlclient==1.2.3; extra == "frozen"
@@ -175,10 +175,10 @@ Requires-Dist: gunicorn==23.0.0; extra == "frozen"
175
175
  Requires-Dist: h11==0.16.0; extra == "frozen"
176
176
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
177
177
  Requires-Dist: httpx==0.28.1; extra == "frozen"
178
- Requires-Dist: humanize==4.14.0; extra == "frozen"
178
+ Requires-Dist: humanize==4.15.0; extra == "frozen"
179
179
  Requires-Dist: idna==3.11; extra == "frozen"
180
180
  Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
181
- Requires-Dist: importlib_metadata==8.7.0; extra == "frozen"
181
+ Requires-Dist: importlib_metadata==8.7.1; extra == "frozen"
182
182
  Requires-Dist: inflection==0.5.1; extra == "frozen"
183
183
  Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
184
184
  Requires-Dist: jmespath==1.0.1; extra == "frozen"
@@ -196,7 +196,7 @@ Requires-Dist: lmfit==1.3.4; extra == "frozen"
196
196
  Requires-Dist: lockfile==0.12.2; extra == "frozen"
197
197
  Requires-Dist: loguru==0.7.3; extra == "frozen"
198
198
  Requires-Dist: markdown-it-py==4.0.0; extra == "frozen"
199
- Requires-Dist: marshmallow==3.26.1; extra == "frozen"
199
+ Requires-Dist: marshmallow==3.26.2; extra == "frozen"
200
200
  Requires-Dist: marshmallow-oneofschema==3.2.0; extra == "frozen"
201
201
  Requires-Dist: marshmallow-sqlalchemy==0.28.2; extra == "frozen"
202
202
  Requires-Dist: matplotlib==3.10.8; extra == "frozen"
@@ -260,7 +260,7 @@ Requires-Dist: pydantic==2.12.5; extra == "frozen"
260
260
  Requires-Dist: pydantic-settings==2.12.0; extra == "frozen"
261
261
  Requires-Dist: pydantic_core==2.41.5; extra == "frozen"
262
262
  Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
263
- Requires-Dist: pyparsing==3.2.5; extra == "frozen"
263
+ Requires-Dist: pyparsing==3.3.0; extra == "frozen"
264
264
  Requires-Dist: python-daemon==3.1.2; extra == "frozen"
265
265
  Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
266
266
  Requires-Dist: python-dotenv==1.2.1; extra == "frozen"
@@ -284,7 +284,7 @@ Requires-Dist: setproctitle==1.3.7; extra == "frozen"
284
284
  Requires-Dist: six==1.17.0; extra == "frozen"
285
285
  Requires-Dist: solar-wavelength-calibration==2.0.0; extra == "frozen"
286
286
  Requires-Dist: sqids==0.5.1; extra == "frozen"
287
- Requires-Dist: sqlparse==0.5.4; extra == "frozen"
287
+ Requires-Dist: sqlparse==0.5.5; extra == "frozen"
288
288
  Requires-Dist: sunpy==6.1.1; extra == "frozen"
289
289
  Requires-Dist: tabulate==0.9.0; extra == "frozen"
290
290
  Requires-Dist: talus==1.3.4; extra == "frozen"
@@ -292,7 +292,7 @@ Requires-Dist: tenacity==8.5.0; extra == "frozen"
292
292
  Requires-Dist: termcolor==3.2.0; extra == "frozen"
293
293
  Requires-Dist: text-unidecode==1.3; extra == "frozen"
294
294
  Requires-Dist: threadpoolctl==3.6.0; extra == "frozen"
295
- Requires-Dist: tifffile==2025.12.12; extra == "frozen"
295
+ Requires-Dist: tifffile==2025.12.20; extra == "frozen"
296
296
  Requires-Dist: tornado==6.5.4; extra == "frozen"
297
297
  Requires-Dist: tqdm==4.67.1; extra == "frozen"
298
298
  Requires-Dist: traitlets==5.14.3; extra == "frozen"
@@ -305,7 +305,7 @@ Requires-Dist: uncertainties==3.2.3; extra == "frozen"
305
305
  Requires-Dist: universal_pathlib==0.3.7; extra == "frozen"
306
306
  Requires-Dist: urllib3==2.6.2; extra == "frozen"
307
307
  Requires-Dist: vine==5.1.0; extra == "frozen"
308
- Requires-Dist: voluptuous==0.15.2; extra == "frozen"
308
+ Requires-Dist: voluptuous==0.16.0; extra == "frozen"
309
309
  Requires-Dist: wcwidth==0.2.14; extra == "frozen"
310
310
  Requires-Dist: wirerope==1.0.0; extra == "frozen"
311
311
  Requires-Dist: wrapt==1.17.3; extra == "frozen"
@@ -18,7 +18,7 @@ dkist_processing_visp/parsers/spectrograph_configuration.py,sha256=YpMX1NhE7xySx
18
18
  dkist_processing_visp/parsers/time.py,sha256=uudQ5manYdL7SgxqABfFPDzW2iTNrTYF0klqCRsP0CI,4812
19
19
  dkist_processing_visp/parsers/visp_l0_fits_access.py,sha256=WDAgMp_70AKmzxGqboKA3McSGgF_mvgsGiihYmK1Nus,1973
20
20
  dkist_processing_visp/parsers/visp_l1_fits_access.py,sha256=1MrFfsJjT_7fd1cj8tFr5rHX2JdRSrlwiMCzu-Q8ejY,860
21
- dkist_processing_visp/tasks/__init__.py,sha256=qlPlahiM9_sCsaIj_wzQpzWkMITJ1dPdT93iV9q-fgg,713
21
+ dkist_processing_visp/tasks/__init__.py,sha256=wleMYKy1OmAJdvxmPCwtktM0koSLS5Vnd2H8C2uLdjQ,798
22
22
  dkist_processing_visp/tasks/assemble_movie.py,sha256=8UujniXlV_sSGeuISud8wMHihLy6Gc5fKZpwkXLUQB8,3330
23
23
  dkist_processing_visp/tasks/background_light.py,sha256=qQ3r1LR5qaOz2qNHnO5_QK8l1zbVP0GaCS3aLqJfNYY,16201
24
24
  dkist_processing_visp/tasks/dark.py,sha256=VVitrat08U7e5L1-NVnNNJI_KIx791_DvKEJokvCqXE,4334
@@ -30,9 +30,9 @@ dkist_processing_visp/tasks/make_movie_frames.py,sha256=fw25ksKiJJNS57XV5a7rHpYG
30
30
  dkist_processing_visp/tasks/parse.py,sha256=Fe_2svvMSKBup--Ulxbu0uaNW3dzPxQreafMEw0CY6E,7897
31
31
  dkist_processing_visp/tasks/quality_metrics.py,sha256=Pw55-PXW0cl39FuNkEQCGGhvI_zMDimwmh-swVPVBD4,8133
32
32
  dkist_processing_visp/tasks/science.py,sha256=fm-LLWxmLEjea0a8fhmN3x1v3n1Od4BJ3BioyjPuih8,38318
33
- dkist_processing_visp/tasks/solar.py,sha256=-OnpKKkUG0EwYK8S4QsMD5UWU6cIHc837nEDc_3OLl4,41156
33
+ dkist_processing_visp/tasks/solar.py,sha256=klV5TvSigFBvriR9YQE5YQzHSECk_J7Lfn1zxQHiWS4,39983
34
34
  dkist_processing_visp/tasks/visp_base.py,sha256=-yC-PVP9AqFeZJshJ_nqZpSyRsZyHWUlugWvkeWkPKA,1412
35
- dkist_processing_visp/tasks/wavelength_calibration.py,sha256=N-pYBRL6Iyb_Q8VrZBQXBWvVBty3LrdhyDVxgxk3n9g,17039
35
+ dkist_processing_visp/tasks/wavelength_calibration.py,sha256=GLp24j4VfXnHdYmFO0Qd2mV-5hNolx6RQE4GwJo4gTk,18839
36
36
  dkist_processing_visp/tasks/write_l1.py,sha256=UbugV6ilmeYdq-bC9WUiJxkFjn9VzJIkZXtoA7cs71k,8798
37
37
  dkist_processing_visp/tasks/mixin/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttYtog_jx4yN5I,12
38
38
  dkist_processing_visp/tasks/mixin/beam_access.py,sha256=1VSJkH6yMxCiZWdWOp_RJ37fX5ULMYmB_0_ulT7YJpI,870
@@ -40,7 +40,7 @@ dkist_processing_visp/tasks/mixin/corrections.py,sha256=FhLFgD9ZYLZd3SaC3PFF-szr
40
40
  dkist_processing_visp/tasks/mixin/downsample.py,sha256=SvKzY6HJRn-FeyG7O6HPvyOS5dmMu6uPoWkfnpPXpVw,1344
41
41
  dkist_processing_visp/tests/README.rst,sha256=rnedwwg25c0lB9Me7cT7QNZA17FYlqCu9ZnjQxR5hi0,12502
42
42
  dkist_processing_visp/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- dkist_processing_visp/tests/conftest.py,sha256=poJPxGK8RZlDYEoGkwaIyX08WDgf2aF566uJJbZsldk,19049
43
+ dkist_processing_visp/tests/conftest.py,sha256=JJLg-x4Rfzrk3wp-vBN0EpnnBzQzXS4qdGmr7GXBNwM,19402
44
44
  dkist_processing_visp/tests/header_models.py,sha256=gD1FUo5TtY_EMSnpWvkrJIOsckkgRAD-e1mthPCdiOw,21687
45
45
  dkist_processing_visp/tests/test_assemble_movie.py,sha256=T5EZzdB3sNY4HcSkN2W1ZBDaI4a68ZUNqPB-JpANSQ0,2247
46
46
  dkist_processing_visp/tests/test_assemble_quality.py,sha256=i2INzb73BM14A6VKD70eb5vaAv5_QjPy3VVVb4lonkc,4314
@@ -57,10 +57,10 @@ dkist_processing_visp/tests/test_parameters.py,sha256=kIwOak4PURFc6yNT9R1rLxfb4x
57
57
  dkist_processing_visp/tests/test_parse.py,sha256=XyH8oCk5C0CWl4ndNIyVjgXLoMg0679s4dj1MGlJs0c,23363
58
58
  dkist_processing_visp/tests/test_quality.py,sha256=YW24VjEHoILseFIXZBp4-o7egT26mfT1lafzajVjXu8,6905
59
59
  dkist_processing_visp/tests/test_science.py,sha256=B8bbtVTxJIXiPssIbJchPLbzVTPCAzpLAgn5DhpYCn0,26106
60
- dkist_processing_visp/tests/test_solar.py,sha256=xtw8cbunonOG_6dRJHF9GIiQ5Q-KTBCdo1FZWkiA7_c,16761
60
+ dkist_processing_visp/tests/test_solar.py,sha256=f5tk8RGOoC7fcxqp3s01p6I55iIDJBioKSXC1S56KMQ,16632
61
61
  dkist_processing_visp/tests/test_trial_create_quality_report.py,sha256=5LSvLiInp_ce_jObtBGNHQgVAkvJr9bYgY7IzIKrEuU,2799
62
62
  dkist_processing_visp/tests/test_visp_constants.py,sha256=y2x42Y-dK2lrCPufLAV1KHpu2fQ-FRpe8tSIhfHJEw8,3134
63
- dkist_processing_visp/tests/test_wavelength_calibration.py,sha256=usOCDd4yjmigpCjc5enQn14JJKojm8laxVJVDtV5PuU,9550
63
+ dkist_processing_visp/tests/test_wavelength_calibration.py,sha256=bDWehEUb1xRo0EufRb3Fc8n_ko6_S3OdzasVA5Bs3rQ,9421
64
64
  dkist_processing_visp/tests/test_workflows.py,sha256=qyWxagIDv-MmVN0u3KFswa5HdaHC6uGeJpvgxvPE30E,287
65
65
  dkist_processing_visp/tests/test_write_l1.py,sha256=ZrAWhfx_HZi7dOBRc5YowvkKtMS8TBE_iud_KPjFI8g,6572
66
66
  dkist_processing_visp/tests/local_trial_workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -70,9 +70,9 @@ dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py,sh
70
70
  dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py,sha256=q_rS8PVm6pA5EjayBhj2SfGSRnpsd_jY2IlIfiVpPC4,16101
71
71
  dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py,sha256=R7NZNEv0VQwwZoBwPa6RYY94_VBnM4JQJ1AQdQaCrGQ,29078
72
72
  dkist_processing_visp/workflows/__init__.py,sha256=1-GP9tOzjCxLJtyq0ry_x4dPdArfSso8Hxu65ydPpXQ,103
73
- dkist_processing_visp/workflows/l0_processing.py,sha256=XW7tbQLlH06ecEZ3QAt982gK9T_y3eN2U9KtUUq1R_0,3529
73
+ dkist_processing_visp/workflows/l0_processing.py,sha256=Gc-tlAPayg9WKq2jdRib83kvyaq1WuPaT_yrZ73sSu0,3506
74
74
  dkist_processing_visp/workflows/single_task_workflows.py,sha256=LK4dsshM0-lwy79WaMoTplyCxUyINnP9RU74MG_dhyc,33
75
- dkist_processing_visp/workflows/trial_workflows.py,sha256=IYdjVVZ6mCKGMQiy-_cqKLptHws3WzxrPZLjFccaZr0,4022
75
+ dkist_processing_visp/workflows/trial_workflows.py,sha256=52y5gqigVsqVeNDXH-5tnOubEQOLAWy50cMRRTo1BaM,3999
76
76
  docs/Makefile,sha256=qnlVz6PuBqE39NfHWuUnHhNEA-EFgT2-WJNNNy9ttfk,4598
77
77
  docs/background_light.rst,sha256=FWj8KH7H51BtoqPCJ1A_VIWJkjaXD8-dwM9RdY1rkIc,5147
78
78
  docs/changelog.rst,sha256=ZpZPJIyl4nI0Eicku6uSrLdiinNOF2GcZwrvTEsb-Zs,346
@@ -91,7 +91,7 @@ docs/science_calibration.rst,sha256=VN_g7xSjN-nbXhlBaFnPCbNcsc_Qu0207jEUfRAjnBE,
91
91
  docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
92
92
  docs/wavelength_calibration.rst,sha256=OSGYAeR8Acns2ZUectHzRj2xcAsuNEMLejcYfPYu-vw,3674
93
93
  licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
94
- dkist_processing_visp-5.2.1.dist-info/METADATA,sha256=srCdZcyRi9prrfFG7v5Eg84X71elIGN1gOw-i9QccUg,29973
95
- dkist_processing_visp-5.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
- dkist_processing_visp-5.2.1.dist-info/top_level.txt,sha256=9GHSn-ZMGQxaRNGrPP3HNc5ZkE7ftzluO74Jz5vUSTE,46
97
- dkist_processing_visp-5.2.1.dist-info/RECORD,,
94
+ dkist_processing_visp-5.2.3.dist-info/METADATA,sha256=ApkJp3pja5yuHGsSm2MJ151jW_4Q9095GLR8mW56IY0,29973
95
+ dkist_processing_visp-5.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
+ dkist_processing_visp-5.2.3.dist-info/top_level.txt,sha256=9GHSn-ZMGQxaRNGrPP3HNc5ZkE7ftzluO74Jz5vUSTE,46
97
+ dkist_processing_visp-5.2.3.dist-info/RECORD,,