tomwer 1.4.9__py3-none-any.whl → 1.4.11__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.
@@ -147,11 +147,13 @@ class FutureSupervisorOW(OWBaseWidget, openclass=True):
147
147
  source_scan=tomo_obj,
148
148
  )
149
149
 
150
- self.Outputs.data_portal_processed_datasets = tuple(
151
- [
152
- build_drac_dataset(vol_id=vol_id)
153
- for vol_id in tomo_obj.latest_vol_reconstructions
154
- ]
150
+ self.Outputs.data_portal_processed_datasets.send(
151
+ tuple(
152
+ [
153
+ build_drac_dataset(vol_id=vol_id)
154
+ for vol_id in tomo_obj.latest_vol_reconstructions
155
+ ]
156
+ )
155
157
  )
156
158
 
157
159
  elif isinstance(tomo_obj, TomwerVolumeBase):
@@ -139,9 +139,8 @@ class DataListenerOW(
139
139
 
140
140
  def create_default_config():
141
141
  configuration = HDF5Config()
142
- # insure minimal bacward compatibility
143
- if hasattr(configuration, "bam_single_file"):
144
- configuration.bam_single_file = True
142
+ configuration.bam_single_file = True
143
+ configuration.no_master_file = True
145
144
  return configuration
146
145
 
147
146
  if cfg_file in (None, ""):
@@ -150,7 +149,7 @@ class DataListenerOW(
150
149
  try:
151
150
  config = HDF5Config.from_cfg_file(cfg_file)
152
151
  except Exception as e:
153
- logger.warning(f"Fail to load configuraiton file. Error is {e}")
152
+ logger.warning(f"Fail to load configuration file. Error is {e}")
154
153
  config = create_default_config()
155
154
 
156
155
  return config
@@ -85,6 +85,7 @@ class H5ToNxProcess(
85
85
  "h5_to_nx_configuration should be a dict or an instance of {HDF5Config}"
86
86
  )
87
87
  config.bam_single_file = True
88
+ config.no_master_file = True
88
89
  try:
89
90
  convs = nxtomomill_converter.from_h5_to_nx(
90
91
  configuration=config, progress=self.progress
@@ -139,7 +139,7 @@ class NXtomoEditorTask(
139
139
  _logger.debug(
140
140
  "Old version of NXtomo found. No information about transformation will be saved"
141
141
  )
142
- return
142
+ return None, None
143
143
 
144
144
  nx_transformations = NXtransformations()
145
145
  nx_transformations.add_transformation(DetYFlipTransformation(flip=y_flip))
tomwer/version.py CHANGED
@@ -77,7 +77,7 @@ RELEASE_LEVEL_VALUE = {
77
77
 
78
78
  MAJOR = 1
79
79
  MINOR = 4
80
- MICRO = 9
80
+ MICRO = 11
81
81
  RELEV = "final" # <16
82
82
  SERIAL = 0 # <16
83
83
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tomwer
3
- Version: 1.4.9
3
+ Version: 1.4.11
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
@@ -26,7 +26,7 @@ orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows,sha256=kFGXGxc3eW7i
26
26
  orangecontrib/tomwer/tutorials/id16b/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  orangecontrib/tomwer/widgets/__init__.py,sha256=dX_TpkBh3mVsrj3EeGglEESsnZAEVq7V0Nb9bnBrb-8,1214
28
28
  orangecontrib/tomwer/widgets/utils.py,sha256=yq1wZfpfY3iVAhwMRBls57q02lhljO89WRKN7MxMMNg,983
29
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py,sha256=iFbgx5SeztXfxomL488rnR2MQJIS1OGSOTmsEKuEMa4,9865
29
+ orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py,sha256=zXjddYmkhyBnoRCstZ6AYN1mG84xiOKaIntg5tqe4jw,9927
30
30
  orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py,sha256=L_fX3EFyyx71Fg-FI8ab34ZPSUzrwKGJLcS2FnYCY_c,2565
31
31
  orangecontrib/tomwer/widgets/cluster/__init__.py,sha256=vOOJnIIaLWAj8tnxD9MRzWDyYgk-cyuBsN7QQ5FrIoQ,385
32
32
  orangecontrib/tomwer/widgets/cluster/icons/slurm.png,sha256=C-YBLwXCnh0oo4nvEt80WxX_jKYGUAFpWMUSlzt6ke0,1995
@@ -36,7 +36,7 @@ orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.svg,sha256=N22gP4exnQP5
36
36
  orangecontrib/tomwer/widgets/cluster/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  orangecontrib/tomwer/widgets/control/AdvancementOW.py,sha256=XCZ3UEVNa_QneIBtcK03jbjmimszhs0_JiIcQAVS8y8,1108
38
38
  orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py,sha256=kGzxJZMMw30ZaMm_cVv_a-99AvkWHVhHcZS7RRZvmJM,8039
39
- orangecontrib/tomwer/widgets/control/DataListenerOW.py,sha256=PV7AOW5dIEk88uMf39y_oR8DhJJvfy67MBA6zJGsxig,13902
39
+ orangecontrib/tomwer/widgets/control/DataListenerOW.py,sha256=YEjPbDJCEi9O0YYxy9lIHiZ68jO_jQmPtbmNMyG9LuI,13837
40
40
  orangecontrib/tomwer/widgets/control/DataSelectorOW.py,sha256=zQNxYEJTxprjc83eyG6b9Ng0JVWmaZxhGb1T-jovMlU,4078
41
41
  orangecontrib/tomwer/widgets/control/DataTransfertOW.py,sha256=SKokOHQT-LPDB1hpnsaLyUzCw_GValyC-B9WyXMjxzM,5942
42
42
  orangecontrib/tomwer/widgets/control/DataValidatorOW.py,sha256=p19UYGoXtem_OxfQm_kEjQf3xKsqwyF_Ay5tQYDlVeY,5774
@@ -219,7 +219,7 @@ orangecontrib/tomwer/widgets/visualization/tests/__init__.py,sha256=47DEQpj8HBSa
219
219
  tomwer/__init__.py,sha256=cMIyH-uRxpa9WVnAuWjiBD7k9TK57WO21RzP_S-Mb8I,460
220
220
  tomwer/__main__.py,sha256=7tCADiS4u7k1PCxFhlRAcYSIOpxQTGUTx8sCEQ-hi1E,8707
221
221
  tomwer/utils.py,sha256=7h7dEgKAEUmQ43jkULvC1B9Adl55nkCty-SEKUKCl4U,7008
222
- tomwer/version.py,sha256=2tlKJNuy_7mdqerRMwrXUS210Pm2p0BxM-HwT3_tfsU,4386
222
+ tomwer/version.py,sha256=n3CqDxj5kf_QPmQ3-LqwLdY1J9aJiQgW9_dN0vfGnJg,4387
223
223
  tomwer/app/__init__.py,sha256=h1FKED7Tw5f99yikygt7ruXsdrxQhcJxO7kagLGxhJg,84
224
224
  tomwer/app/axis.py,sha256=lB-IZx1o6KTWLIelITvYCIu2flFTB9NhuIfD2MhUZZA,5826
225
225
  tomwer/app/canvas.py,sha256=y8rYOiwmv6ug7JcjgkOzEiGQnNXjKWNNmKofT0n8TFg,1538
@@ -275,7 +275,7 @@ tomwer/core/process/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
275
275
  tomwer/core/process/control/datadiscovery.py,sha256=Rihr0KI0EhrgG9WTotx3r9gXKkIgRic5lu5jXPRSy-o,377
276
276
  tomwer/core/process/control/emailnotifier.py,sha256=N6tOQO2f0IBbIfUtSChl3XQCrkTJzNOiaRFDl3Ghbhk,4433
277
277
  tomwer/core/process/control/nxtomoconcatenate.py,sha256=fRa8XeLyc4ocQGQtwcHYX4dbN5vM2oHO-2_3fv3HtII,3866
278
- tomwer/core/process/control/nxtomomill.py,sha256=Wnkm1xCh4vuqdCvBKVpl_xfogynTe-NGpckgC-UB6hk,7753
278
+ tomwer/core/process/control/nxtomomill.py,sha256=4G5AvsRRzUdl-OjNjb3G8RO9Mn5iNe1Ux0XednfbAHQ,7790
279
279
  tomwer/core/process/control/scanlist.py,sha256=bDUf7TDUslhCUPElUXTT_1fHAKRvhrDTzz3Gr1Wg640,697
280
280
  tomwer/core/process/control/scanselector.py,sha256=YD41hajIF4KdDEb6bkP2ZqMyCRmwvVNXzRyzqD5nSNQ,368
281
281
  tomwer/core/process/control/scantransfer.py,sha256=WoXwalXem7G3baP1cH4czpq1DqlTX614TilT6ojsNOs,24366
@@ -312,7 +312,7 @@ tomwer/core/process/drac/tests/test_icat_raw_dataset.py,sha256=2ufJs_1BBjrK8aVxV
312
312
  tomwer/core/process/edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
313
  tomwer/core/process/edit/darkflatpatch.py,sha256=ONMoe2RqXddR7roNWjFUizjPPJKZPmKu3M10kZ0DLl4,3642
314
314
  tomwer/core/process/edit/imagekeyeditor.py,sha256=S44xxXXAbB1jmLe-O2wCabDeTCtF6vojv-80n9cCbeI,7403
315
- tomwer/core/process/edit/nxtomoeditor.py,sha256=HUYInTVIUbqVtFXQKMCOpQ-tvgFz5w3UrU-QSuCKd0c,11202
315
+ tomwer/core/process/edit/nxtomoeditor.py,sha256=dNq6ZkhatIVHU7_kYeZnUYd4iwxYje7JVQW-s5Rww1w,11213
316
316
  tomwer/core/process/edit/tests/test_darkflatpatch.py,sha256=0QOjUgiYkjuWDZvI5pkuiViK4HUJA5E2sXF5LXtf_vY,9366
317
317
  tomwer/core/process/edit/tests/test_imagekey_editor.py,sha256=ft-xDMRk6CRs7DehNEnh1uJ9gLKJ-SxZAb0GmsLek0w,2345
318
318
  tomwer/core/process/reconstruction/__init__.py,sha256=G_vePtIyh1WlXtcmOyQI3nRsP-F0bsaDSdLWHC0bVzo,159
@@ -416,7 +416,6 @@ tomwer/core/scan/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
416
416
  tomwer/core/scan/tests/test_edf.py,sha256=JI7wH5emdjlYl08OhmjIO_8mui7rHa-aRCUwmkCRyys,830
417
417
  tomwer/core/scan/tests/test_future_scan.py,sha256=tsF9p57dCOmW0fPyl6BP2lLSo0rRYRF6hSF-kryLMDM,848
418
418
  tomwer/core/scan/tests/test_nxtomoscan.py,sha256=w2mNuCsfWMl1b9jP_-vkTDkCD_z9oM02yx42f6-DzY8,4751
419
- tomwer/core/scan/tests/test_process_registration.py,sha256=g4Toef92SjxCBUE82MTbjonFJpc3PQqfpF6FSCarN5U,1988
420
419
  tomwer/core/scan/tests/test_scan.py,sha256=mHFPi2Tc7Z2_5rWvAp3YmObVSTB5yi-sTkHm1iOJlDo,12228
421
420
  tomwer/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
422
421
  tomwer/core/tests/test_scanutils.py,sha256=xWwd1nycVDWmFaIaL2gQ_xxrUMhVCARaNHI2SxT9NOI,844
@@ -848,7 +847,6 @@ tomwer/synctools/tests/test_darkRefs.py,sha256=1OgWaV-hgDmi4rkh0hxjCW_codBAnxNhp
848
847
  tomwer/synctools/tests/test_foldertransfer.py,sha256=ZFIJWSjgYAWw3ktzamid5DJZNnMkAV6Pj72dKG69cJc,12024
849
848
  tomwer/synctools/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
850
849
  tomwer/synctools/utils/scanstages.py,sha256=vIUKVDSfM2UwPjjmZTiIN1tNg4antnGcSPv1aYapJCY,7830
851
- tomwer/tasks/reconstruction/cleardarkflat.py,sha256=_V_x7W8vp1_AqqtQ9xk2VRgwlivn4IPTLEpWySjSZRE,1353
852
850
  tomwer/tests/__init__.py,sha256=dPPaIvpzHssjwxsMzYJM_gxQ2e0cnRyQHXxi9ux6ZOY,19
853
851
  tomwer/tests/conftest.py,sha256=0XlKfOrVtPg8VmyQn4BoK_mzcliFUtacDGLlZ5wD_PM,1912
854
852
  tomwer/tests/datasets.py,sha256=QXQ3jSwgWzfq4CaELOSrk9kHg5GmrP7kGHsdOlNSEIE,336
@@ -905,9 +903,9 @@ tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewer
905
903
  tomwer/tests/test_ewoks/test_conversion.py,sha256=a8cEWbErXiFCAkaapi0jeEoRKYxcFQCoa-Jr_u77_OM,3656
906
904
  tomwer/tests/test_ewoks/test_single_node_execution.py,sha256=YBUHfiAnkciv_kjj7biC5fOs7c7ofNImM_azGMn4LZM,2813
907
905
  tomwer/tests/test_ewoks/test_workflows.py,sha256=Eq80eexf5NVL7SzvwctLOaUeuQ8V3vDiFiHgbJA4Yb8,4871
908
- tomwer-1.4.9.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
909
- tomwer-1.4.9.dist-info/METADATA,sha256=NPzI78ud1GOKO6eFvOqUWdAr3uUtZ7h0VdJdWAVFy3c,13415
910
- tomwer-1.4.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
911
- tomwer-1.4.9.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
912
- tomwer-1.4.9.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
913
- tomwer-1.4.9.dist-info/RECORD,,
906
+ tomwer-1.4.11.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
907
+ tomwer-1.4.11.dist-info/METADATA,sha256=M84LcLUCPsi1bQDUkRE6EOZww_25wETf53Gff3lwUhI,13416
908
+ tomwer-1.4.11.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
909
+ tomwer-1.4.11.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
910
+ tomwer-1.4.11.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
911
+ tomwer-1.4.11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,64 +0,0 @@
1
- # coding: utf-8
2
- from __future__ import annotations
3
-
4
- import shutil
5
- import tempfile
6
- import unittest
7
-
8
- from tomoscan.io import HDF5File, get_swmr_mode
9
-
10
- from tomwer.core.process.task import Task
11
- from tomwer.core.utils.scanutils import MockNXtomo
12
-
13
-
14
- class TestProcessRegistration(unittest.TestCase):
15
- """
16
- Make sure utils link to the process registration are
17
- correctly working
18
- """
19
-
20
- class DummyProcess(Task):
21
- @staticmethod
22
- def program_name():
23
- """Name of the program used for this processing"""
24
- return "dummy program"
25
-
26
- @staticmethod
27
- def program_version():
28
- """version of the program used for this processing"""
29
- return "0.0.0"
30
-
31
- @staticmethod
32
- def definition():
33
- """definition of the process"""
34
- return "no definition"
35
-
36
- def setUp(self):
37
- self.tmp_dir = tempfile.mkdtemp()
38
- self.scan = MockNXtomo(scan_path=self.tmp_dir, n_proj=2).scan
39
-
40
- def tearDown(self):
41
- shutil.rmtree(self.tmp_dir)
42
-
43
- def testGetProcessNodes(self):
44
- """insure it return the last dark process based on the processing index"""
45
-
46
- for i in range(20):
47
- Task._register_process(
48
- self.scan.process_file,
49
- process=self.DummyProcess,
50
- entry=self.scan.entry,
51
- configuration=None,
52
- results={"output": i},
53
- process_index=i,
54
- )
55
-
56
- with HDF5File(self.scan.process_file, "r", swmr=get_swmr_mode()) as h5f:
57
- nodes = Task._get_process_nodes(
58
- root_node=h5f[self.scan.entry], process=self.DummyProcess
59
- )
60
- self.assertEqual(len(nodes), 20)
61
- self.assertTrue("/entry/tomwer_process_16" in nodes)
62
- self.assertEqual(nodes["/entry/tomwer_process_16"], 16)
63
- self.assertTrue("/entry/tomwer_process_1" in nodes)
64
- self.assertEqual(nodes["/entry/tomwer_process_1"], 1)
@@ -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