tomwer 1.5.1__py3-none-any.whl → 1.5.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.
@@ -0,0 +1,15 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <scheme version="2.0" title="" description="">
3
+ <nodes>
4
+ <node id="0" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(234.0, 102.0)" />
5
+ </nodes>
6
+ <links />
7
+ <annotations />
8
+ <thumbnail />
9
+ <node_properties>
10
+ <properties node_id="0" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': {'preproc': {'flatfield': 1, 'double_flatfield': 0, 'dff_sigma': 0.0, 'ccd_filter_enabled': 0, 'ccd_filter_threshold': 0.04, 'take_logarithm': True, 'log_min_clip': 1e-06, 'log_max_clip': 10.0, 'sino_rings_correction': 'None', 'sino_rings_options': 'sigma=1.0 ; levels=10 ; padding=False', 'tilt_correction': '', 'autotilt_options': '', 'normalize_srcurrent': 1, 'rotate_projections_center': '', 'flat_distortion_correction_enabled': True, 'flat_distortion_params': "tile_size=100; interpolation_kind='linear'; padding_mode='edge'; correction_spike_threshold=None", 'detector_distortion_correction': False, 'detector_distortion_correction_options': {'map_x': '', 'map_z': ''}}, 'reconstruction': {'method': 'FBP', 'slice_plane': 'XY', 'angles_file': '', 'axis_correction_file': '', 'angle_offset': 0.0, 'fbp_filter_type': 'ramlak', 'padding_type': 'edges', 'iterations': 200, 'optim_algorithm': 'chambolle-pock', 'weight_tv': 0.01, 'preconditioning_filter': 1, 'positivity_constraint': 1, 'rotation_axis_position': '', 'translation_movements_file': '', 'clip_outer_circle': 1, 'centered_axis': 1, 'start_x': 0, 'end_x': -1, 'start_y': 0, 'end_y': -1, 'start_z': 0, 'end_z': -1, 'enable_halftomo': 0}, 'dataset': {'binning': 1, 'binning_z': 1, 'projections_subsampling': 1, 'exclude_projections': ''}, 'tomwer_slices': 'middle', 'output': {'file_format': 'hdf5', 'location': '', 'output_dir_mode': 'same folder as scan'}, 'phase': {'method': 'None', 'unsharp_coeff': 0, 'unsharp_sigma': 0, 'ctf_geometry': ' z1_v=None; z1_h=None; detec_pixel_size=None; magnification=True', 'beam_shape': 'parallel', 'ctf_advanced_params': ' length_scale=1e-05; lim1=1e-05; lim2=0.2; normalize_by_mean=True'}, 'gpu_mem_fraction': 0.9, 'cpu_mem_fraction': 0.9, 'configuration_level': 'advanced', 'mode_locked': False, 'cluster_config': None}}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\t\xb8\x00\x00\x00\xdb\x00\x00\x0c\xb4\x00\x00\x03!\x00\x00\t\xb8\x00\x00\x00\xdb\x00\x00\x0c\xb4\x00\x00\x03!\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\t\xb8\x00\x00\x00\xdb\x00\x00\x0c\xb4\x00\x00\x03!', '__version__': 1}</properties>
11
+ </node_properties>
12
+ <session_state>
13
+ <window_groups />
14
+ </session_state>
15
+ </scheme>
@@ -206,6 +206,8 @@ class FutureTomwerObjectObserverWidget(
206
206
  return
207
207
  elif future_tomo_obj.status == "error":
208
208
  state = DatasetState.FAILED
209
+ if future_tomo_obj.job_id is None:
210
+ details = "Job submission to Slurm has failed. This is likely due to an invalid configuration request, such as requesting a GPU on a partition that does not support GPUs. Please review your configuration and try again."
209
211
  elif future_tomo_obj.status == "pending":
210
212
  details = "\n".join([details, "pending"])
211
213
  state = DatasetState.PENDING
@@ -9,7 +9,11 @@ import logging
9
9
  import tomwer.version
10
10
  from tomwer.gui import icons
11
11
 
12
- from ewoksorange.pkg_meta import iter_entry_points
12
+ try:
13
+ from ewoksorange.pkg_meta import entry_points
14
+ except ImportError:
15
+ # ewoksorange < 2.0
16
+ from ewoksorange.pkg_meta import iter_entry_points as entry_points
13
17
  from . import environ
14
18
  from .splash import getIcon, splash_screen
15
19
  from .widgetsscheme import WidgetsScheme
@@ -82,7 +86,7 @@ class TomwerConfig(config.Config):
82
86
  return entry.name.lower() not in ("ewoks demo",)
83
87
 
84
88
  try:
85
- all_eps = filter(accept_extension, iter_entry_points(group=WIDGETS_ENTRY))
89
+ all_eps = filter(accept_extension, entry_points(group=WIDGETS_ENTRY))
86
90
  except Exception as e:
87
91
  _logger.error(f"fail to find add-ons. Error is {e}")
88
92
  return iter(all_eps)
@@ -342,6 +342,7 @@ class _NabuPhaseMethod(Enum):
342
342
  PAGANIN = "Paganin"
343
343
  CTF = "CTF"
344
344
  NONE = "None"
345
+ CONE = "cone"
345
346
 
346
347
  @classmethod
347
348
  def from_value(cls, value):
@@ -9,8 +9,6 @@ from tomwer.gui.reconstruction.nabu.nabuconfig import base
9
9
  from tomwer.gui.utils.illustrations import _IllustrationWidget
10
10
  from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel
11
11
 
12
- from .reconstruction import AnglesFileWidget as Filewidget
13
-
14
12
 
15
13
  def nabu_param_ligne_to_dict(str_ligne: str) -> dict:
16
14
  ddict = {}
@@ -324,10 +322,6 @@ class CTFConfig(qt.QGroupBox, base._NabuStageConfigBase):
324
322
  self._geometryWidget = CTFGeometry(parent=self, title="geometry")
325
323
  self.layout().addRow(self._geometryWidget)
326
324
  self.registerWidget(self._geometryWidget, "optional")
327
- # translation file
328
- self._translationFile = Filewidget(self)
329
- self.layout().addRow("translation file", self._translationFile)
330
- self.registerWidget(self._translationFile, "optional")
331
325
  # advanced parameters
332
326
  self._advancedParamsWidget = CTFAdvancedParams(
333
327
  parent=self, title="advanced parameters"
@@ -338,7 +332,6 @@ class CTFConfig(qt.QGroupBox, base._NabuStageConfigBase):
338
332
  # connect signal / slot
339
333
  self._geometryWidget.sigConfChanged.connect(self._confChanged)
340
334
  self._advancedParamsWidget.sigConfChanged.connect(self._confChanged)
341
- self._translationFile._qle.textEdited.connect(self._confChanged)
342
335
 
343
336
  def _confChanged(self, *args, **kwargs):
344
337
  self.sigConfChanged.emit("phase")
@@ -346,11 +339,8 @@ class CTFConfig(qt.QGroupBox, base._NabuStageConfigBase):
346
339
  def getConfiguration(self) -> dict:
347
340
  ddict = self._geometryWidget.getConfiguration()
348
341
  ddict.update(self._advancedParamsWidget.getConfiguration())
349
- ddict["ctf_translations_file"] = self._translationFile.getFile()
350
342
  return ddict
351
343
 
352
344
  def setConfiguration(self, ddict):
353
345
  self._geometryWidget.setConfiguration(ddict=ddict)
354
346
  self._advancedParamsWidget.setConfiguration(ddict=ddict)
355
- if "ctf_translations_file" in ddict:
356
- self._translationFile.setFile(ddict["ctf_translations_file"])
@@ -0,0 +1,42 @@
1
+ from __future__ import annotations
2
+
3
+ from tomwer.tests.conftest import qtapp # noqa F401
4
+ from tomwer.gui.reconstruction.nabu.nabuconfig.nabuconfig import (
5
+ NabuConfiguration,
6
+ )
7
+ from nabu.pipeline.config import _extract_nabuconfig_keyvals
8
+ from nabu.pipeline.fullfield.nabu_config import (
9
+ nabu_config as nabu_fullfield_default_config,
10
+ )
11
+
12
+
13
+ def test_NabuConfiguration(
14
+ qtapp, # noqa F811
15
+ ):
16
+ """Test that the 'NabuConfiguration' produce only keys understandable by nabu"""
17
+ widget = NabuConfiguration(parent=None)
18
+
19
+ tomwer_config = widget.getConfiguration()
20
+ nabu_config = _extract_nabuconfig_keyvals(nabu_fullfield_default_config)
21
+
22
+ tomwer_section_keys = set(tomwer_config.keys())
23
+ nabu_section_keys = set(nabu_config.keys())
24
+ tomwer_section_keys.remove("tomwer_slices")
25
+ assert tomwer_section_keys.issubset(
26
+ nabu_section_keys
27
+ ), f"tomwer provide sections undefined by nabu: {tomwer_section_keys - nabu_section_keys}"
28
+
29
+ for section_key in nabu_config.keys():
30
+ if section_key in tomwer_config:
31
+ nabu_sub_section_keys = set(nabu_config[section_key].keys())
32
+ tomwer_sub_section_keys = set(tomwer_config[section_key].keys())
33
+ if section_key == "phase":
34
+ # this key is pop by tomwer before calling nabu. It is used internally only
35
+ tomwer_sub_section_keys.remove("beam_shape")
36
+ elif section_key == "reconstruction":
37
+ tomwer_sub_section_keys.remove("slice_plane")
38
+ elif section_key == "output":
39
+ tomwer_sub_section_keys.remove("output_dir_mode")
40
+ assert tomwer_sub_section_keys.issubset(
41
+ nabu_sub_section_keys
42
+ ), f"tomwer provides keys undefined by nabu: {tomwer_sub_section_keys - nabu_sub_section_keys}"
@@ -29,12 +29,10 @@ class TestFutureSupervisorOW(TestCaseQt):
29
29
  assert config == {
30
30
  "ctf_geometry": " z1_v=None; z1_h=None; detec_pixel_size=None; magnification=True",
31
31
  "ctf_advanced_params": " length_scale=1e-05; lim1=1e-05; lim2=0.2; normalize_by_mean=True",
32
- "ctf_translations_file": "",
33
32
  "beam_shape": "parallel",
34
33
  }
35
34
 
36
35
  config["beam_shape"] = "cone"
37
- config["ctf_translations_file"] = "my_file.txt"
38
36
  config["ctf_geometry"] = (
39
37
  " z1_v=10.2; z1_h=3.6; detec_pixel_size=1e-05; magnification=False"
40
38
  )
@@ -150,7 +150,6 @@ class TestNabuPhaseConfig(TestCaseQt):
150
150
  "beam_shape": "parallel",
151
151
  "ctf_advanced_params": " length_scale=1e-05; lim1=1e-05; lim2=0.2; normalize_by_mean=True",
152
152
  "ctf_geometry": " z1_v=None; z1_h=None; detec_pixel_size=None; magnification=True",
153
- "ctf_translations_file": "",
154
153
  }
155
154
  self.assertEqual(self.nabuWidget.getConfiguration(), ini_conf)
156
155
 
@@ -165,7 +164,6 @@ class TestNabuPhaseConfig(TestCaseQt):
165
164
  "beam_shape": "cone",
166
165
  "ctf_advanced_params": " length_scale=1e-05; lim1=1e-05; lim2=0.2; normalize_by_mean=True",
167
166
  "ctf_geometry": " z1_v=0.0; z1_h=0.0; detec_pixel_size=None; magnification=True",
168
- "ctf_translations_file": "",
169
167
  }
170
168
  self.nabuWidget.setConfiguration(conf)
171
169
  self.nabuWidget.show()
tomwer/version.py CHANGED
@@ -77,7 +77,7 @@ RELEASE_LEVEL_VALUE = {
77
77
 
78
78
  MAJOR = 1
79
79
  MINOR = 5
80
- MICRO = 1
80
+ MICRO = 2
81
81
  RELEV = "final" # <16
82
82
  SERIAL = 0 # <16
83
83
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tomwer
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: "tomography workflow tools"
5
5
  Home-page: https://gitlab.esrf.fr/tomotools/tomwer
6
6
  Author: Henri Payno, Pierre Paleo, Pierre-Olivier Autran, Jérôme Lesaint, Alessandro Mirone
@@ -25,12 +25,11 @@ Requires-Dist: numpy
25
25
  Requires-Dist: setuptools
26
26
  Requires-Dist: psutil
27
27
  Requires-Dist: silx[full]>=2.1.1
28
- Requires-Dist: tomoscan>=2.2.0a6
28
+ Requires-Dist: tomoscan[full_no_compression_plugins]>=2.2.0a6
29
29
  Requires-Dist: nxtomo>=2.0.0dev2
30
30
  Requires-Dist: nxtomomill>=1.2.0dev1
31
31
  Requires-Dist: processview>=1.5.0
32
32
  Requires-Dist: ewoks>=0.1.1
33
- Requires-Dist: ewokscore<1.1.0
34
33
  Requires-Dist: sluurp>=0.4.1
35
34
  Requires-Dist: packaging
36
35
  Requires-Dist: pint
@@ -39,83 +38,63 @@ Provides-Extra: full-base
39
38
  Requires-Dist: orange-canvas-core; extra == "full-base"
40
39
  Requires-Dist: orange-widget-base; extra == "full-base"
41
40
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-base"
42
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "full-base"
41
+ Requires-Dist: ewoksorange==1.1; extra == "full-base"
43
42
  Requires-Dist: rsyncmanager; extra == "full-base"
44
43
  Requires-Dist: fabio; extra == "full-base"
45
- Requires-Dist: h5py>=3; extra == "full-base"
46
- Requires-Dist: lxml; extra == "full-base"
47
44
  Requires-Dist: werkzeug; extra == "full-base"
48
45
  Requires-Dist: json-rpc; extra == "full-base"
49
46
  Requires-Dist: scipy; extra == "full-base"
50
47
  Requires-Dist: Pillow; extra == "full-base"
51
- Requires-Dist: glymur<0.14; extra == "full-base"
52
48
  Requires-Dist: resource; extra == "full-base"
53
- Requires-Dist: tifffile; extra == "full-base"
54
49
  Requires-Dist: hdf5plugin; extra == "full-base"
55
50
  Requires-Dist: pyicat_plus; extra == "full-base"
56
51
  Requires-Dist: ewoksnotify[full]; extra == "full-base"
57
- Requires-Dist: pyicat_plus; extra == "full-base"
58
52
  Provides-Extra: full-no-nabu
59
53
  Requires-Dist: orange-canvas-core; extra == "full-no-nabu"
60
54
  Requires-Dist: orange-widget-base; extra == "full-no-nabu"
61
55
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-no-nabu"
62
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "full-no-nabu"
56
+ Requires-Dist: ewoksorange==1.1; extra == "full-no-nabu"
63
57
  Requires-Dist: rsyncmanager; extra == "full-no-nabu"
64
58
  Requires-Dist: fabio; extra == "full-no-nabu"
65
- Requires-Dist: h5py>=3; extra == "full-no-nabu"
66
- Requires-Dist: lxml; extra == "full-no-nabu"
67
59
  Requires-Dist: werkzeug; extra == "full-no-nabu"
68
60
  Requires-Dist: json-rpc; extra == "full-no-nabu"
69
61
  Requires-Dist: scipy; extra == "full-no-nabu"
70
62
  Requires-Dist: Pillow; extra == "full-no-nabu"
71
- Requires-Dist: glymur<0.14; extra == "full-no-nabu"
72
63
  Requires-Dist: resource; extra == "full-no-nabu"
73
- Requires-Dist: tifffile; extra == "full-no-nabu"
74
64
  Requires-Dist: hdf5plugin; extra == "full-no-nabu"
75
65
  Requires-Dist: pyicat_plus; extra == "full-no-nabu"
76
66
  Requires-Dist: ewoksnotify[full]; extra == "full-no-nabu"
77
- Requires-Dist: pyicat_plus; extra == "full-no-nabu"
78
67
  Provides-Extra: full-no-cuda
79
68
  Requires-Dist: orange-canvas-core; extra == "full-no-cuda"
80
69
  Requires-Dist: orange-widget-base; extra == "full-no-cuda"
81
70
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "full-no-cuda"
82
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "full-no-cuda"
71
+ Requires-Dist: ewoksorange==1.1; extra == "full-no-cuda"
83
72
  Requires-Dist: rsyncmanager; extra == "full-no-cuda"
84
73
  Requires-Dist: fabio; extra == "full-no-cuda"
85
- Requires-Dist: h5py>=3; extra == "full-no-cuda"
86
- Requires-Dist: lxml; extra == "full-no-cuda"
87
74
  Requires-Dist: werkzeug; extra == "full-no-cuda"
88
75
  Requires-Dist: json-rpc; extra == "full-no-cuda"
89
76
  Requires-Dist: scipy; extra == "full-no-cuda"
90
77
  Requires-Dist: Pillow; extra == "full-no-cuda"
91
- Requires-Dist: glymur<0.14; extra == "full-no-cuda"
92
78
  Requires-Dist: resource; extra == "full-no-cuda"
93
- Requires-Dist: tifffile; extra == "full-no-cuda"
94
79
  Requires-Dist: hdf5plugin; extra == "full-no-cuda"
95
80
  Requires-Dist: pyicat_plus; extra == "full-no-cuda"
96
81
  Requires-Dist: ewoksnotify[full]; extra == "full-no-cuda"
97
- Requires-Dist: pyicat_plus; extra == "full-no-cuda"
98
82
  Requires-Dist: nabu>=2023.3.1dev; extra == "full-no-cuda"
99
83
  Provides-Extra: full
100
84
  Requires-Dist: orange-canvas-core; extra == "full"
101
85
  Requires-Dist: orange-widget-base; extra == "full"
102
86
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "full"
103
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "full"
87
+ Requires-Dist: ewoksorange==1.1; extra == "full"
104
88
  Requires-Dist: rsyncmanager; extra == "full"
105
89
  Requires-Dist: fabio; extra == "full"
106
- Requires-Dist: h5py>=3; extra == "full"
107
- Requires-Dist: lxml; extra == "full"
108
90
  Requires-Dist: werkzeug; extra == "full"
109
91
  Requires-Dist: json-rpc; extra == "full"
110
92
  Requires-Dist: scipy; extra == "full"
111
93
  Requires-Dist: Pillow; extra == "full"
112
- Requires-Dist: glymur<0.14; extra == "full"
113
94
  Requires-Dist: resource; extra == "full"
114
- Requires-Dist: tifffile; extra == "full"
115
95
  Requires-Dist: hdf5plugin; extra == "full"
116
96
  Requires-Dist: pyicat_plus; extra == "full"
117
97
  Requires-Dist: ewoksnotify[full]; extra == "full"
118
- Requires-Dist: pyicat_plus; extra == "full"
119
98
  Requires-Dist: nabu[full]>=2023.3.1dev; extra == "full"
120
99
  Requires-Dist: pycuda<2024.1.1; extra == "full"
121
100
  Requires-Dist: scikit-cuda; extra == "full"
@@ -123,22 +102,17 @@ Provides-Extra: doc
123
102
  Requires-Dist: orange-canvas-core; extra == "doc"
124
103
  Requires-Dist: orange-widget-base; extra == "doc"
125
104
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "doc"
126
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "doc"
105
+ Requires-Dist: ewoksorange==1.1; extra == "doc"
127
106
  Requires-Dist: rsyncmanager; extra == "doc"
128
107
  Requires-Dist: fabio; extra == "doc"
129
- Requires-Dist: h5py>=3; extra == "doc"
130
- Requires-Dist: lxml; extra == "doc"
131
108
  Requires-Dist: werkzeug; extra == "doc"
132
109
  Requires-Dist: json-rpc; extra == "doc"
133
110
  Requires-Dist: scipy; extra == "doc"
134
111
  Requires-Dist: Pillow; extra == "doc"
135
- Requires-Dist: glymur<0.14; extra == "doc"
136
112
  Requires-Dist: resource; extra == "doc"
137
- Requires-Dist: tifffile; extra == "doc"
138
113
  Requires-Dist: hdf5plugin; extra == "doc"
139
114
  Requires-Dist: pyicat_plus; extra == "doc"
140
115
  Requires-Dist: ewoksnotify[full]; extra == "doc"
141
- Requires-Dist: pyicat_plus; extra == "doc"
142
116
  Requires-Dist: nabu>=2023.3.1dev; extra == "doc"
143
117
  Requires-Dist: Sphinx>=4.0.0; extra == "doc"
144
118
  Requires-Dist: nbsphinx; extra == "doc"
@@ -157,22 +131,17 @@ Provides-Extra: dev
157
131
  Requires-Dist: orange-canvas-core; extra == "dev"
158
132
  Requires-Dist: orange-widget-base; extra == "dev"
159
133
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "dev"
160
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "dev"
134
+ Requires-Dist: ewoksorange==1.1; extra == "dev"
161
135
  Requires-Dist: rsyncmanager; extra == "dev"
162
136
  Requires-Dist: fabio; extra == "dev"
163
- Requires-Dist: h5py>=3; extra == "dev"
164
- Requires-Dist: lxml; extra == "dev"
165
137
  Requires-Dist: werkzeug; extra == "dev"
166
138
  Requires-Dist: json-rpc; extra == "dev"
167
139
  Requires-Dist: scipy; extra == "dev"
168
140
  Requires-Dist: Pillow; extra == "dev"
169
- Requires-Dist: glymur<0.14; extra == "dev"
170
141
  Requires-Dist: resource; extra == "dev"
171
- Requires-Dist: tifffile; extra == "dev"
172
142
  Requires-Dist: hdf5plugin; extra == "dev"
173
143
  Requires-Dist: pyicat_plus; extra == "dev"
174
144
  Requires-Dist: ewoksnotify[full]; extra == "dev"
175
- Requires-Dist: pyicat_plus; extra == "dev"
176
145
  Requires-Dist: nabu[full]>=2023.3.1dev; extra == "dev"
177
146
  Requires-Dist: pycuda<2024.1.1; extra == "dev"
178
147
  Requires-Dist: scikit-cuda; extra == "dev"
@@ -184,22 +153,17 @@ Provides-Extra: dev-no-cuda
184
153
  Requires-Dist: orange-canvas-core; extra == "dev-no-cuda"
185
154
  Requires-Dist: orange-widget-base; extra == "dev-no-cuda"
186
155
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "dev-no-cuda"
187
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "dev-no-cuda"
156
+ Requires-Dist: ewoksorange==1.1; extra == "dev-no-cuda"
188
157
  Requires-Dist: rsyncmanager; extra == "dev-no-cuda"
189
158
  Requires-Dist: fabio; extra == "dev-no-cuda"
190
- Requires-Dist: h5py>=3; extra == "dev-no-cuda"
191
- Requires-Dist: lxml; extra == "dev-no-cuda"
192
159
  Requires-Dist: werkzeug; extra == "dev-no-cuda"
193
160
  Requires-Dist: json-rpc; extra == "dev-no-cuda"
194
161
  Requires-Dist: scipy; extra == "dev-no-cuda"
195
162
  Requires-Dist: Pillow; extra == "dev-no-cuda"
196
- Requires-Dist: glymur<0.14; extra == "dev-no-cuda"
197
163
  Requires-Dist: resource; extra == "dev-no-cuda"
198
- Requires-Dist: tifffile; extra == "dev-no-cuda"
199
164
  Requires-Dist: hdf5plugin; extra == "dev-no-cuda"
200
165
  Requires-Dist: pyicat_plus; extra == "dev-no-cuda"
201
166
  Requires-Dist: ewoksnotify[full]; extra == "dev-no-cuda"
202
- Requires-Dist: pyicat_plus; extra == "dev-no-cuda"
203
167
  Requires-Dist: nabu>=2023.3.1dev; extra == "dev-no-cuda"
204
168
  Requires-Dist: black; extra == "dev-no-cuda"
205
169
  Requires-Dist: flake8; extra == "dev-no-cuda"
@@ -209,22 +173,17 @@ Provides-Extra: test
209
173
  Requires-Dist: orange-canvas-core; extra == "test"
210
174
  Requires-Dist: orange-widget-base; extra == "test"
211
175
  Requires-Dist: ewoks[orange]>=0.1.1; extra == "test"
212
- Requires-Dist: ewoksorange>=0.7.0rc0; extra == "test"
176
+ Requires-Dist: ewoksorange==1.1; extra == "test"
213
177
  Requires-Dist: rsyncmanager; extra == "test"
214
178
  Requires-Dist: fabio; extra == "test"
215
- Requires-Dist: h5py>=3; extra == "test"
216
- Requires-Dist: lxml; extra == "test"
217
179
  Requires-Dist: werkzeug; extra == "test"
218
180
  Requires-Dist: json-rpc; extra == "test"
219
181
  Requires-Dist: scipy; extra == "test"
220
182
  Requires-Dist: Pillow; extra == "test"
221
- Requires-Dist: glymur<0.14; extra == "test"
222
183
  Requires-Dist: resource; extra == "test"
223
- Requires-Dist: tifffile; extra == "test"
224
184
  Requires-Dist: hdf5plugin; extra == "test"
225
185
  Requires-Dist: pyicat_plus; extra == "test"
226
186
  Requires-Dist: ewoksnotify[full]; extra == "test"
227
- Requires-Dist: pyicat_plus; extra == "test"
228
187
  Requires-Dist: nabu>=2023.3.1dev; extra == "test"
229
188
  Requires-Dist: pytest-asyncio; extra == "test"
230
189
  Requires-Dist: tomoscan[test]>=2.2.0a6; extra == "test"
@@ -18,6 +18,7 @@ orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows,sha256=O9Bnunjh0Q
18
18
  orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows,sha256=t-fwTMCvqQV17AIZWM0lSCmjC6loLEHNZSFmAADF9xY,6584
19
19
  orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows,sha256=mhvCyFqXnFznRPaTG6wgjpxkte8n_SOzg3W8yJkWy1s,7025
20
20
  orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows,sha256=jHOERmyBFo7NmmmOUO6KroAfvyAD8ds92lkl0g73C-8,9830
21
+ orangecontrib/tomwer/tutorials/untitled.ows,sha256=dBokmKHOdqZqHTrZqrZgjBg7xzQacKWUXBjY7lTaYVU,2731
21
22
  orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows,sha256=TUZNkXEsQyj7Qra1GEb4IhGFDWv3uJzqXbp3P04jwbs,5192
22
23
  orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows,sha256=yKa6pvd4UB6XDDlj_o7T8Md6bI8aQJXMCUnxyecdXbc,7568
23
24
  orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows,sha256=eSxYxrZ-0WKsmDqXivsHxND7SR2dSwdgG6Wcjbr06Ew,1727
@@ -26,7 +27,7 @@ orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows,sha256=eufyC3wPbnzp
26
27
  orangecontrib/tomwer/tutorials/id16b/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
28
  orangecontrib/tomwer/widgets/__init__.py,sha256=dX_TpkBh3mVsrj3EeGglEESsnZAEVq7V0Nb9bnBrb-8,1214
28
29
  orangecontrib/tomwer/widgets/utils.py,sha256=yq1wZfpfY3iVAhwMRBls57q02lhljO89WRKN7MxMMNg,983
29
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py,sha256=zXjddYmkhyBnoRCstZ6AYN1mG84xiOKaIntg5tqe4jw,9927
30
+ orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py,sha256=JodqMVgu2krTWmrPEPze0E_SinOyX7UghDDbbsN8dSE,10210
30
31
  orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py,sha256=O44AZGt7cC1KaAl4U9f78OuzKKMXOSm22voUodyvqnk,3003
31
32
  orangecontrib/tomwer/widgets/cluster/__init__.py,sha256=vOOJnIIaLWAj8tnxD9MRzWDyYgk-cyuBsN7QQ5FrIoQ,385
32
33
  orangecontrib/tomwer/widgets/cluster/icons/slurm.png,sha256=C-YBLwXCnh0oo4nvEt80WxX_jKYGUAFpWMUSlzt6ke0,1995
@@ -219,7 +220,7 @@ orangecontrib/tomwer/widgets/visualization/tests/__init__.py,sha256=47DEQpj8HBSa
219
220
  tomwer/__init__.py,sha256=cMIyH-uRxpa9WVnAuWjiBD7k9TK57WO21RzP_S-Mb8I,460
220
221
  tomwer/__main__.py,sha256=7tCADiS4u7k1PCxFhlRAcYSIOpxQTGUTx8sCEQ-hi1E,8707
221
222
  tomwer/utils.py,sha256=7h7dEgKAEUmQ43jkULvC1B9Adl55nkCty-SEKUKCl4U,7008
222
- tomwer/version.py,sha256=K5a0x_MIZk2c2KnjS9jTsWtptvB-LYnkQQEw0IH9mdc,4386
223
+ tomwer/version.py,sha256=DKeug4r2Q7g-Ny4eovdPe5bCCM6RkITFNm8wikj1IUE,4386
223
224
  tomwer/app/__init__.py,sha256=h1FKED7Tw5f99yikygt7ruXsdrxQhcJxO7kagLGxhJg,84
224
225
  tomwer/app/axis.py,sha256=1TZU27QPhq6Sa5-1kRMr4VDv2Qntg4ZHTQOjwucXf4I,5842
225
226
  tomwer/app/canvas.py,sha256=y8rYOiwmv6ug7JcjgkOzEiGQnNXjKWNNmKofT0n8TFg,1538
@@ -245,7 +246,7 @@ tomwer/app/stopdatalistener.py,sha256=WADEHM5LHHjWP2HM-ru-RinXWzvV3PQv72E5Y1Xeio
245
246
  tomwer/app/ystitching.py,sha256=QvXUHBnmr3R--lTvd_RkjpXMAedbnpiC01bSD99_BPE,562
246
247
  tomwer/app/zstitching.py,sha256=pTV_ESnARpabvo038pSCuUoV0DjrPxKubIKfhjyIZZ0,562
247
248
  tomwer/app/canvas_launcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
- tomwer/app/canvas_launcher/config.py,sha256=sLlsp7iy1s2IyxqvSohGbaOpPUP6syuj5P-8bvyPNzI,3952
249
+ tomwer/app/canvas_launcher/config.py,sha256=vzpYdoPI0zP3uogwU5TLggDGQrSpw2ew-Fvs0-wjinU,4066
249
250
  tomwer/app/canvas_launcher/environ.py,sha256=ljQyPL_u9ai1CWmmq8uGHbn437CZWyX4uJtrDIyabGk,2453
250
251
  tomwer/app/canvas_launcher/mainwindow.py,sha256=KZzbY3AuHITdaS8K4jG2QomD5DEgQqHRYcIe9hymC9g,22283
251
252
  tomwer/app/canvas_launcher/splash.py,sha256=cpUuZVKwlQbeAWfAqjpjP4q1v1MmkfxU6WWllLSVZo8,508
@@ -341,7 +342,7 @@ tomwer/core/process/reconstruction/nabu/nabuvolume.py,sha256=Fn0tkPDTDJQaMEJA4Lz
341
342
  tomwer/core/process/reconstruction/nabu/plane.py,sha256=1SFNJgl1_cDYVW6gq7zjw2jpvRjiEmzzEQEBCxUseGM,380
342
343
  tomwer/core/process/reconstruction/nabu/settings.py,sha256=3AJpxVQbJziw4v6F26Ppz8Q9vc9ZNepTWygqpCAbIEM,955
343
344
  tomwer/core/process/reconstruction/nabu/target.py,sha256=I_7X2Nfr5VC4doaodtCzTeg7JVG1Lnbv123uI8AKEeU,111
344
- tomwer/core/process/reconstruction/nabu/utils.py,sha256=VLyF3JUBSCDOfOB4gtKuQoFr0ZwpbgeuJ1wZL5NZ4wM,16253
345
+ tomwer/core/process/reconstruction/nabu/utils.py,sha256=YtcEj3pLYKjArklZD7cREsuafeNMjQ203VIR8Oeo-i4,16271
345
346
  tomwer/core/process/reconstruction/nabu/test/test_castvolume.py,sha256=yEqVFrmp8vVpiIuhASMR9bWLF3Cgnag2u8S_SaI8BSo,3985
346
347
  tomwer/core/process/reconstruction/nabu/test/test_nabu_utils.py,sha256=vmB02KUGcP_AyUEWuDByGm0UAOCDIHEhePfRV1UGQQg,15608
347
348
  tomwer/core/process/reconstruction/nabu/test/test_nabunormalization.py,sha256=5rHDwUROEBlsEFsZoy8mmcdRpziEetF9g_oFyxlvS6k,6010
@@ -566,15 +567,17 @@ tomwer/gui/reconstruction/nabu/slurm.py,sha256=yfJD8KgX45Be5CUi6bn2CdocrQemJPxDY
566
567
  tomwer/gui/reconstruction/nabu/volume.py,sha256=OGstMDOd7DHY0PVUJdPRxOtSH7SaJyy7VNWU1F6ci6g,17826
567
568
  tomwer/gui/reconstruction/nabu/nabuconfig/__init__.py,sha256=WgEFXIrUDhX0vpBNlKiymHEY9p1DMdk4QZkvnXIC8yk,77
568
569
  tomwer/gui/reconstruction/nabu/nabuconfig/base.py,sha256=7jB8VKVk5zt2QP4z1Vx2k7vLfPN5jjeGnCL_dLXr1J4,2133
569
- tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py,sha256=_2eDt-Y5LaJ5J0Q2wm0sIFQuSHXYjPqQGYC28Iqr4LE,13095
570
+ tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py,sha256=6zFiWhaJcJAWsZS0-djZ3HUROxUGHKa0Zw_XTsDvN10,12559
570
571
  tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py,sha256=5tCkwvgCv_Rdt7yP4ZUrq9ZGKE7Yy9Ht-n7XvCGIoTw,9048
571
572
  tomwer/gui/reconstruction/nabu/nabuconfig/output.py,sha256=0SShYqvFj-motxTw20e3I1Z0WiierSqgOsN15qwe-TY,11907
572
573
  tomwer/gui/reconstruction/nabu/nabuconfig/phase.py,sha256=t4rVi6DCwRkrfGv_9hD1SWMwu9CMpzxjAwyH_YmC3Gw,16238
573
574
  tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py,sha256=utJgcburzX_WNdXItAKuENd97oLIs4QzFmLrNUF0n3c,32532
574
575
  tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py,sha256=W0EXvvEgtlOtxgg7CjsSj2aTjfpRwYfQ_I1fDX0cPxE,42571
576
+ tomwer/gui/reconstruction/nabu/nabuconfig/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
577
+ tomwer/gui/reconstruction/nabu/nabuconfig/tests/test_NabuConfiguration.py,sha256=xORtyJ9I4UDC_COEA2RMqvEAARLLorZFkwZoeuDa67c,1811
575
578
  tomwer/gui/reconstruction/nabu/test/test_cast_volume.py,sha256=Gtz_LduqKQNiVuVYrvtoPkE-DgG9QotS1mK-siSl8HU,3451
576
579
  tomwer/gui/reconstruction/nabu/test/test_check.py,sha256=KXg1Gg4FVjQ9GkBOgb0ZJh6_c3JMeJTtyX5UVY6vdms,2318
577
- tomwer/gui/reconstruction/nabu/test/test_ctf.py,sha256=uiJznrY6ScH51xaaSUFfplg9XJcFacczIV8_7k9tuRg,1554
580
+ tomwer/gui/reconstruction/nabu/test/test_ctf.py,sha256=9LaonqdG7kp1Tst_kzTnVp9HCCGQjxo1vIKWj1zCFiY,1457
578
581
  tomwer/gui/reconstruction/nabu/test/test_helical.py,sha256=6vB_xXJOuNPHbXKLw8JWUtl-BB-Ntm8xkNEMV08ocEM,754
579
582
  tomwer/gui/reconstruction/nabu/test/test_nabu_preprocessing.py,sha256=OcTJ6-GQrIMETlezvJ7HlWE7_eWMKdfbfueohl_lZ-c,2258
580
583
  tomwer/gui/reconstruction/normalization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -592,7 +595,7 @@ tomwer/gui/reconstruction/scores/control.py,sha256=SVWMruB--sa_LSM1oZhjoFM5ci1oQ
592
595
  tomwer/gui/reconstruction/scores/scoreplot.py,sha256=_mHvuc8EoSgEFiQkDJM9p21CLkgLe3c3d-bvPfQ0mFc,31166
593
596
  tomwer/gui/reconstruction/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
594
597
  tomwer/gui/reconstruction/tests/test_axis.py,sha256=h0u_tTnQp57rg4oFtwjGSYNw5IujoxydOpnvNd98INA,7498
595
- tomwer/gui/reconstruction/tests/test_nabu.py,sha256=JI3GFzUXR_SsDMQfj2joVv6ToEqS-QdMyB12y14OvdI,13628
598
+ tomwer/gui/reconstruction/tests/test_nabu.py,sha256=MbyaQcRYGOs20fO3sUY-KPHhOoRzXpEPrx_jCjKwLiA,13546
596
599
  tomwer/gui/reconstruction/tests/test_saaxis.py,sha256=dQjhULF913WMevo0ePIy6JQbnrP6zGVnde9XLRLBtFM,6792
597
600
  tomwer/gui/reconstruction/tests/test_sadeltabeta.py,sha256=96tE_gxIcmp0qDXQmIwSEkYl3Js7dT2CyUH1doyjGc0,4491
598
601
  tomwer/gui/samplemoved/__init__.py,sha256=jNA03mYWfP3_S1MRet6ijYe5DNCTK3Br7-5yrW3oEG4,8240
@@ -689,7 +692,6 @@ tomwer/io/utils/tomoobj.py,sha256=PGcTc2nMDMzKGvL7u5LgIMc9MYhJwLN9yecA1gttmzE,28
689
692
  tomwer/io/utils/utils.py,sha256=BGXWRMl0l0VNHJDo5EA33gs9IHLiVCYbc4ThtU8-xPU,9292
690
693
  tomwer/io/utils/test/test_raw_and_processed_data.py,sha256=2TgR3GZZ1PJ2wlyCqRU4qxh6XrQF-thvSqLZFMSV5es,552
691
694
  tomwer/io/utils/test/test_utils.py,sha256=1EVY_N0vryUJYAe-l_CM0HbqQr-8tf7DAM6XyVy_4-U,1922
692
- tomwer/model/dataset.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
693
695
  tomwer/resources/__init__.py,sha256=yGvSUNzqb_1F2qvcXARl3m6yqZYagpeUWjOayUY4B8s,4613
694
696
  tomwer/resources/gui/icons/Imagej_icon.png,sha256=JFDzPw20pzRrf6wLBnScXEcmTVt6orXPzwPwniKeVss,1618960
695
697
  tomwer/resources/gui/icons/a.png,sha256=YrYFndLl3SUcsYNJDloU9YeJLBUkiMmgvDjDNJCMipI,3858
@@ -704,7 +706,6 @@ tomwer/resources/gui/icons/background.png,sha256=o4479aVkI5oI6LyiHVbRnFtnfwXP-wS
704
706
  tomwer/resources/gui/icons/background.svg,sha256=ydyBCNZy_uQK7ro1L-e03qJyACmOb1GoB9OuFwlcIzg,10778
705
707
  tomwer/resources/gui/icons/basic_user.png,sha256=9bHI9dU-6SVbVGxokRZTq4XyK8lNDwTd1HU2tSseM4w,4694
706
708
  tomwer/resources/gui/icons/basic_user.svg,sha256=KOk8j33FLmie4cGpD4wJN9UYIKQfXOyK9_5_id6Iaa4,9246
707
- tomwer/resources/gui/icons/borders.png,sha256=E8rkw2TiZSgBzSiuLz6DdFw6cyKOI7K5bIAcIz85J5k,1541
708
709
  tomwer/resources/gui/icons/cfg_file_active.png,sha256=XA80Ltn7y9I5MlQHTrjKi-WO5RpI2_z-zrIgHUG0GO8,2150
709
710
  tomwer/resources/gui/icons/cfg_file_active.svg,sha256=ExCvTt8QZ99q3B9WqfsMTqfylv_hjvvZjSB615GWkro,7344
710
711
  tomwer/resources/gui/icons/cfg_file_inactive.png,sha256=9ezxJCR6jIQhFbJ8kOGSQ_klpwjp-rKiU135ddvtywo,1979
@@ -850,7 +851,6 @@ tomwer/synctools/tests/test_darkRefs.py,sha256=1OgWaV-hgDmi4rkh0hxjCW_codBAnxNhp
850
851
  tomwer/synctools/tests/test_foldertransfer.py,sha256=ZFIJWSjgYAWw3ktzamid5DJZNnMkAV6Pj72dKG69cJc,12024
851
852
  tomwer/synctools/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
852
853
  tomwer/synctools/utils/scanstages.py,sha256=xd27Y1mIcL9YGTHER7MX7oS_ky12R_y2fjIznT6p2rg,7797
853
- tomwer/tasks/reconstruction/cleardarkflat.py,sha256=_V_x7W8vp1_AqqtQ9xk2VRgwlivn4IPTLEpWySjSZRE,1353
854
854
  tomwer/tests/__init__.py,sha256=dPPaIvpzHssjwxsMzYJM_gxQ2e0cnRyQHXxi9ux6ZOY,19
855
855
  tomwer/tests/conftest.py,sha256=0XlKfOrVtPg8VmyQn4BoK_mzcliFUtacDGLlZ5wD_PM,1912
856
856
  tomwer/tests/datasets.py,sha256=QXQ3jSwgWzfq4CaELOSrk9kHg5GmrP7kGHsdOlNSEIE,336
@@ -907,9 +907,9 @@ tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewer
907
907
  tomwer/tests/test_ewoks/test_conversion.py,sha256=a8cEWbErXiFCAkaapi0jeEoRKYxcFQCoa-Jr_u77_OM,3656
908
908
  tomwer/tests/test_ewoks/test_single_node_execution.py,sha256=YBUHfiAnkciv_kjj7biC5fOs7c7ofNImM_azGMn4LZM,2813
909
909
  tomwer/tests/test_ewoks/test_workflows.py,sha256=Eq80eexf5NVL7SzvwctLOaUeuQ8V3vDiFiHgbJA4Yb8,4871
910
- tomwer-1.5.1.dist-info/licenses/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
911
- tomwer-1.5.1.dist-info/METADATA,sha256=hQC84pwhh-IbdRxuVIaVjU_GixxKgGbcVX4dywQxhwU,13456
912
- tomwer-1.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
913
- tomwer-1.5.1.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
914
- tomwer-1.5.1.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
915
- tomwer-1.5.1.dist-info/RECORD,,
910
+ tomwer-1.5.2.dist-info/licenses/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
911
+ tomwer-1.5.2.dist-info/METADATA,sha256=GIxAXiLuueEJjDNgHpJLxxSxCWI3nXYdkWvtn9wWo88,11636
912
+ tomwer-1.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
913
+ tomwer-1.5.2.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
914
+ tomwer-1.5.2.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
915
+ tomwer-1.5.2.dist-info/RECORD,,
Binary file
@@ -1,42 +0,0 @@
1
- """
2
- Contains task to clear reduced dark and flat frames
3
- """
4
-
5
- from __future__ import annotations
6
-
7
- from tomoscan.scanbase import TomoScanBase as TomoscanScanBase
8
-
9
- from processview.core.manager import DatasetState, ProcessManager
10
- from processview.core.superviseprocess import SuperviseProcess
11
-
12
- from tomwer.tasks.task import Task
13
- from tomwer.core.scan.scanbase import TomwerScanBase
14
- from tomwer.core.scan.scanfactory import ScanFactory
15
- from tomwer.core.utils.scanutils import data_identifier_to_scan
16
- from tomwer.core.reconstruction.darkflat import params as dkrf_reconsparams
17
- from tomwer.utils import docstring
18
-
19
-
20
- class ClearReducedDarkAndFlat(
21
- Task,
22
- SuperviseProcess,
23
- input_names=("data",),
24
- output_names=("data",),
25
- ):
26
- """
27
- Task to clear reduced darks and flats. Both on disk and on the object cache.
28
- th goal of this task is to make sure the scan is cleared of any reduced frames to reprocess it later.
29
- """
30
-
31
- def run(self):
32
- scan = self.inputs.data
33
- if not isinstance(scan, TomoscanScanBase):
34
- raise TypeError(
35
- f"scan should be an instance of {TomoscanScanBase}. Got {type(scan)}"
36
- )
37
- scan.set_reduced_flats(None)
38
- scan.reduced_flats_infos = None
39
- scan.set_reduced_darks(None)
40
- scan.reduced_darks_infos = None
41
-
42
- self.outputs.data = scan
File without changes