tomwer 1.1.0rc7__py3-none-any.whl → 1.1.1__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.
@@ -190,7 +190,8 @@ class SAAxisWindow(_SAAxisWindow):
190
190
  if scan is None:
191
191
  return
192
192
  assert isinstance(scan, TomwerScanBase)
193
- selected_cor_value = self.getCurrentCorValue()
193
+ selected_cor_value = self.getCurrentCorValue() or scan.saaxis_params.autofocus
194
+ # if validate is done manually then pick current cor value; else we are in 'auto mode' and get it from the autofocus.
194
195
  details = ProcessManager().get_dataset_details(
195
196
  dataset_id=scan.get_identifier(), process=self._processing_stack
196
197
  )
@@ -453,9 +454,9 @@ class SAAxisOW(SuperviseOW, WidgetLongProcessing):
453
454
  "data": None,
454
455
  "sa_axis_params": self._widget.getConfiguration(),
455
456
  }
456
- self._ewoks_default_inputs["sa_axis_params"][
457
- "autofocus_lock"
458
- ] = self._widget.isAutoFocusLock()
457
+ self._ewoks_default_inputs["sa_axis_params"]["workflow"] = {
458
+ "autofocus_lock": self._widget.isAutoFocusLock(),
459
+ }
459
460
 
460
461
  def _raiseResults(self):
461
462
  if not self.isAutoFocusLock():
@@ -125,7 +125,9 @@ class SADeltaBetaWindow(_SADeltaBetaWindow):
125
125
  if scan is None:
126
126
  return
127
127
  assert isinstance(scan, TomwerScanBase)
128
- selected_db_value = self.getCurrentDeltaBetaValue()
128
+ selected_db_value = (
129
+ self.getCurrentDeltaBetaValue() or scan.sa_delta_beta_params.autofocus
130
+ )
129
131
  if selected_db_value is None:
130
132
  infos = "no selected delta / beta value. {} skip SADeltaBetaParams".format(
131
133
  scan
@@ -0,0 +1,36 @@
1
+ import subprocess
2
+ import logging
3
+
4
+ _logger = logging.getLogger(__name__)
5
+
6
+
7
+ def check_n_gpu():
8
+ try:
9
+ from pycuda import driver # pylint: disable=E0401
10
+
11
+ driver.init()
12
+ n_gpus = driver.Device.count()
13
+ except Exception as e:
14
+ raise e
15
+ else:
16
+ if n_gpus == 0:
17
+ raise RuntimeError("No gpu detected to run nabu reconstruction")
18
+ else:
19
+ _logger.info(f"{n_gpus} detected by pycuda")
20
+
21
+
22
+ def _exec_nabu_on_slurm(conf_file: str, scan_path: str) -> tuple:
23
+ check_n_gpu()
24
+
25
+ NABU_FULL_FIELD_APP_PATH = "nabu.app.reconstruct"
26
+ # need to be executed in his own context
27
+ command = " ".join(("python", "-m", NABU_FULL_FIELD_APP_PATH, conf_file))
28
+ process = subprocess.Popen(
29
+ command,
30
+ shell=True,
31
+ cwd=scan_path,
32
+ stdout=subprocess.PIPE,
33
+ stderr=subprocess.PIPE,
34
+ )
35
+ res = process.communicate()
36
+ return res
@@ -413,6 +413,7 @@ def nabu_std_err_has_error(errs: typing.Optional[bytes]):
413
413
  return (
414
414
  "warning" in line
415
415
  or "Warning" in line
416
+ or "deprecated" in line
416
417
  or line.replace(" ", "") == ""
417
418
  or "unable to load" in line
418
419
  )
@@ -0,0 +1,80 @@
1
+ # coding: utf-8
2
+ # /*##########################################################################
3
+ #
4
+ # Copyright (c) 2017 European Synchrotron Radiation Facility
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ # THE SOFTWARE.
23
+ #
24
+ # ###########################################################################*/
25
+
26
+ __authors__ = ["H. Payno"]
27
+ __license__ = "MIT"
28
+ __date__ = "22/06/2018"
29
+
30
+
31
+ import fabio
32
+ import os
33
+ import logging
34
+
35
+ logger = logging.getLogger(__name__)
36
+
37
+
38
+ def getMotorInformationFromEDfFile(_file):
39
+ """
40
+
41
+ :param _file: file to the edf file containing header with information
42
+ :return: dictionary with motor name as key and motor position as value
43
+ :rtype: dict
44
+ """
45
+ assert type(_file) is str
46
+ assert _file.endswith(".edf")
47
+ if not os.path.isfile(_file):
48
+ warn = "%s is not a valid file. Cannot retrieve motor information" % _file
49
+ logger.warning(warn)
50
+ return None
51
+ else:
52
+ with fabio.open(_file) as dsc:
53
+ header = dsc.header
54
+
55
+ if "motor_mne" not in header:
56
+ logger.warning(
57
+ 'key "motor_mne" not found in the file header.'
58
+ "Cannot retrieve motor information"
59
+ )
60
+ return None
61
+
62
+ if "motor_pos" not in header:
63
+ logger.warning(
64
+ 'key "motor_pos" not found in the file header.'
65
+ "Cannot retrieve motor information"
66
+ )
67
+ return None
68
+
69
+ motor_mne_lst = header["motor_mne"].split(" ")
70
+ motor_pos_lst = header["motor_pos"].split(" ")
71
+ if len(motor_mne_lst) != len(motor_pos_lst):
72
+ logger.warning(
73
+ "Incoherent number of motor_mne and motor_pos."
74
+ "Cannot retrieve motor information"
75
+ )
76
+ return None
77
+ res = {}
78
+ for mne, pos in zip(motor_mne_lst, motor_pos_lst):
79
+ res[mne] = pos
80
+ return res
@@ -0,0 +1,76 @@
1
+ # coding: utf-8
2
+ # /*##########################################################################
3
+ #
4
+ # Copyright (c) 2016 European Synchrotron Radiation Facility
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ # THE SOFTWARE.
23
+ #
24
+ # ###########################################################################*/
25
+
26
+ __authors__ = ["H. Payno"]
27
+ __license__ = "MIT"
28
+ __date__ = "25/09/2017"
29
+
30
+ import re
31
+ import numpy
32
+
33
+ SELECTION_PATTERN = re.compile(r"\d?[:]?\d?")
34
+
35
+
36
+ def selectionIsValid(selection):
37
+ """
38
+ Return true if the given selection as a string is valid
39
+
40
+ :return: bool
41
+ """
42
+ assert type(selection) is str
43
+ _selection = selection.replace(" ", "")
44
+ selections = _selection.split(";")
45
+ for sel in selections:
46
+ if not re.match(SELECTION_PATTERN, sel):
47
+ return False
48
+ return True
49
+
50
+
51
+ def getSelection(projections, selection):
52
+ """
53
+
54
+ :param str selection:
55
+ :return numpy.ndarray:
56
+ """
57
+
58
+ def evalSelection(projections, sel):
59
+ assert type(projections) is numpy.ndarray
60
+ return eval("projections[" + sel + "]")
61
+
62
+ assert type(selection) is str
63
+ if selection == "":
64
+ return projections
65
+ _selection = selection.replace(" ", "")
66
+ selections = _selection.split(";")
67
+ if len(selections) == 1:
68
+ return evalSelection(projections, selection)
69
+ else:
70
+ res = None
71
+ for iSel, sel in enumerate(range(len(selections))):
72
+ if iSel == 0:
73
+ res = evalSelection(projections, selections[iSel])
74
+ else:
75
+ res = numpy.append(res, evalSelection(projections, selections[iSel]))
76
+ return res
tomwer/version.py CHANGED
@@ -77,8 +77,8 @@ RELEASE_LEVEL_VALUE = {
77
77
 
78
78
  MAJOR = 1
79
79
  MINOR = 1
80
- MICRO = 0
81
- RELEV = "rc" # <16
80
+ MICRO = 1
81
+ RELEV = "final" # <16
82
82
  SERIAL = 7 # <16
83
83
 
84
84
  date = __date__
tomwer/web/__init__.py ADDED
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ # /*##########################################################################
3
+ # Copyright (C) 2016 European Synchrotron Radiation Facility
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+ #
23
+ #############################################################################*/
24
+ """Module containing process relative to the web (like classes used to link
25
+ with graylog)
26
+ """
27
+
28
+ __authors__ = ["H.Payno"]
29
+ __license__ = "MIT"
30
+ __date__ = "15/05/2017"
tomwer/web/client.py ADDED
@@ -0,0 +1,43 @@
1
+ # coding: utf-8
2
+ # /*##########################################################################
3
+ # Copyright (C) 2016 European Synchrotron Radiation Facility
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+ #
23
+ #############################################################################*/
24
+ """module defining functions and class to communicate a status to the
25
+ orange-server.
26
+ The orange-server is used to display the advancement of the workflow.
27
+ """
28
+
29
+ __authors__ = ["H.Payno"]
30
+ __license__ = "MIT"
31
+ __date__ = "28/04/2017"
32
+
33
+
34
+ import logging
35
+
36
+ _logger = logging.getLogger(__name__)
37
+
38
+
39
+ class OWClient(object):
40
+ """Orange widget Client can emit information about his advancement"""
41
+
42
+ WORKFLOW_INFO = "workflow" # general information about a workflow
43
+ SCAN_INFO = "scan" # information focus on a scan
tomwer/web/config.py ADDED
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ ###########################################################################
3
+ # Copyright (C) 2016 European Synchrotron Radiation Facility
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+ #
23
+ #############################################################################
24
+ """module defining functions and class to communicate a status to the
25
+ orange-server.
26
+ The orange-server is used to display the advancement of the workflow.
27
+ """
28
+
29
+ __authors__ = ["H.Payno"]
30
+ __license__ = "MIT"
31
+ __date__ = "11/05/2017"
32
+
33
+ grayport_port = 12204
34
+ """Port of connection"""
35
+ grayport_host = "graylog-dau"
36
+ """host of connection"""
File without changes
@@ -0,0 +1,59 @@
1
+ # # coding: utf-8
2
+ # # /*##########################################################################
3
+ # #
4
+ # # Copyright (c) 2016-2017 European Synchrotron Radiation Facility
5
+ # #
6
+ # # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # # of this software and associated documentation files (the "Software"), to deal
8
+ # # in the Software without restriction, including without limitation the rights
9
+ # # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # # copies of the Software, and to permit persons to whom the Software is
11
+ # # furnished to do so, subject to the following conditions:
12
+ # #
13
+ # # The above copyright notice and this permission notice shall be included in
14
+ # # all copies or substantial portions of the Software.
15
+ # #
16
+ # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ # # THE SOFTWARE.
23
+ # #
24
+ # # ###########################################################################*/
25
+ # """ Not a unit test but send a simple test message error to gray log"""
26
+ #
27
+ # __authors__ = ["H. Payno"]
28
+ # __license__ = "MIT"
29
+ # __date__ = "24/01/2017"
30
+ #
31
+ # from tomwer.web.client import OWClient
32
+ # import logging
33
+ #
34
+ # logger = logging.getLogger(__name__)
35
+ #
36
+ #
37
+ # class TestGrayLog(OWClient):
38
+ # def __init__(self):
39
+ # OWClient.__init__(self)
40
+ #
41
+ # def sendErrorMessage(self):
42
+ # logger.error("test error message")
43
+ #
44
+ # def sendwarningMessage(self):
45
+ # logger.warning("test warning message")
46
+ #
47
+ # def sendInfoMessage(self):
48
+ # logger.info("test info message")
49
+ #
50
+ # def sendProcessEndedMessage(self):
51
+ # logger.processEnded("test processEnded message")
52
+ #
53
+ #
54
+ # if __name__ == "__main__":
55
+ # c = TestGrayLog()
56
+ # c.sendErrorMessage()
57
+ # c.sendwarningMessage()
58
+ # c.sendInfoMessage()
59
+ # c.sendProcessEndedMessage()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tomwer
3
- Version: 1.1.0rc7
3
+ Version: 1.1.1
4
4
  Summary: "tomography workflow tools"
5
5
  Home-page: https://gitlab.esrf.fr/tomotools/tomwer
6
6
  Author: data analysis unit
@@ -1,4 +1,4 @@
1
- tomwer-1.1.0rc7-py3.9-nspkg.pth,sha256=xeeGR3TjdoVxdFeF6T-zSwZWh6Et--EYuPWu67LxL_c,574
1
+ tomwer-1.1.1-py3.8-nspkg.pth,sha256=xeeGR3TjdoVxdFeF6T-zSwZWh6Et--EYuPWu67LxL_c,574
2
2
  orangecontrib/tomwer/__init__.py,sha256=B3VLqV-jCha0MgRp-9_W6EbAjEFnFz6FvgtqHGA6EoQ,147
3
3
  orangecontrib/tomwer/state_summary.py,sha256=3wnJdLg9jiXSM8iTP8SxL1a92bnntxO9RhBZ71z5dY4,1710
4
4
  orangecontrib/tomwer/orange/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -118,8 +118,8 @@ orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py,sha256=02qpJUdjr
118
118
  orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py,sha256=IvE4-yDaktCUOnq8NnQB6jHsjddynHlOHSkh_1504Gk,10518
119
119
  orangecontrib/tomwer/widgets/reconstruction/NabuOW.py,sha256=OHVqsEr48vIbpNLNaQZrgL3pEn_FvEQJ5uryajzQon0,10884
120
120
  orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py,sha256=ZtKVU804Aj9RdZLYsNzOylCo02bQNJ1mFt8lEu1QsB8,17622
121
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py,sha256=s4zFYBalUQ642_2-B-4IuQn34JqCuSpwm1fyk9czebs,17679
122
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py,sha256=3y1rdfIsRGmwYVqX6frQvIiHtrWWOFPspjnjk5I5bjw,14573
121
+ orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py,sha256=GPMR0dbv3t0FdlCXM_gLNxZDto-QULjlOEiDgqu3KYE,17852
122
+ orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py,sha256=tmLBFWa9oBT1335t-Ta2otM5ndhxoLo3AtSO2nW1zqo,14636
123
123
  orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py,sha256=Tx6rXjjrYN8JawMNZFr-AGr1upa0GX_-aIuoU6s5XMM,10845
124
124
  orangecontrib/tomwer/widgets/reconstruction/TofuOW.py,sha256=X889aNXwB-h5mTa9XuXSX35j15LZvr7DCnP8nfjuCsk,7820
125
125
  orangecontrib/tomwer/widgets/reconstruction/__init__.py,sha256=lgfP-eyIPCwy2R5FVl7uBcO17ESpLbkB1YSvieFRqq4,1601
@@ -182,7 +182,7 @@ orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg,sha256=2uT9_px
182
182
  tomwer/__init__.py,sha256=UkYK_aDTsg7Qfv3IbRaQZ8lm9hRD93U7fLzbvXoLwn4,1745
183
183
  tomwer/__main__.py,sha256=r6aj9eSuARnS6tFeDalCx5EM6L5RsD4iW2qfleUQi-k,5962
184
184
  tomwer/utils.py,sha256=UVEewsSmUpPXkUSP0zwg-sHZ5HfU9AZNPxKdwYjL7h0,8544
185
- tomwer/version.py,sha256=bsWel_SyCONyblT_JjYz1xZvrvBxCIUmuUiul3_fmUI,4383
185
+ tomwer/version.py,sha256=hOyRtOJbmMFuNlxcmKfH4yrrayUl0Bc87Qj59p5r6gM,4386
186
186
  tomwer/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  tomwer/app/axis.py,sha256=m8-fOYcX8dRWHa-EjOO9cKiW9nBl7Z5nhOi5d4YovSQ,6473
188
188
  tomwer/app/canvas.py,sha256=TVh-E_LnCzfDVYL_r0Hy5KC47nJ4Bk_L6XVurXaab4s,1377
@@ -276,8 +276,9 @@ tomwer/core/process/reconstruction/nabu/nabuscores.py,sha256=1cNBEElw_XDoYQueh88
276
276
  tomwer/core/process/reconstruction/nabu/nabuslices.py,sha256=x1EyvTKQYuCSMLSex-yI1GVLPE5-_fXMm3_OrzEjZUU,29421
277
277
  tomwer/core/process/reconstruction/nabu/nabuvolume.py,sha256=p9yKpCMA2uF7IULnU0zvSwDUauc7qqfD8p1GxMWEr4U,16307
278
278
  tomwer/core/process/reconstruction/nabu/settings.py,sha256=bH5bW88tikwGQXIBNVznefXNldlClhKk-LhhU3qOcO0,2264
279
+ tomwer/core/process/reconstruction/nabu/slurm.py,sha256=MXcQY9z1PZXr0x7Aj8brp1f6wFPV6jzECEQLEjEDBQU,921
279
280
  tomwer/core/process/reconstruction/nabu/target.py,sha256=_Z4gViprjR3Vm4KASqsASStLA9GM1wTyoi3Pg0PUSeg,1481
280
- tomwer/core/process/reconstruction/nabu/utils.py,sha256=GtRZiJ114l_5yWRbeVvkAKS_VdUk-2Wrxul6pd_ERlY,13909
281
+ tomwer/core/process/reconstruction/nabu/utils.py,sha256=qcsxxc63uBoq7pO2uNChgtI6LB2_9PoJxDOGmdOVRV8,13945
281
282
  tomwer/core/process/reconstruction/normalization/__init__.py,sha256=iyTlaMg14Q1eXFr8ICZovTjNd8gt6oe4e3T-6Ldo25k,128
282
283
  tomwer/core/process/reconstruction/normalization/normalization.py,sha256=uS8ueUfwbyIW8k6boHlJ7UOWiJhLTubac0cXci1N7SQ,13088
283
284
  tomwer/core/process/reconstruction/normalization/params.py,sha256=EwYypv75SkqnqPRIZqnm7k8VdwpBmaJszYI5qaCpG5Y,4790
@@ -347,6 +348,7 @@ tomwer/core/utils/deprecation.py,sha256=2eIFwhOR08afzhF8dolSoM5M8ScPAj_JB9CT-QXN
347
348
  tomwer/core/utils/ftseriesutils.py,sha256=urIZfVN0j0PAD3RHVAzBMaMNAN-sFudxFKNZ8cCKWXs,2382
348
349
  tomwer/core/utils/gpu.py,sha256=7s1LpN7e5ZTf1lqx0OLo-R45oE1L0JWmnLe2Hmhph6M,1812
349
350
  tomwer/core/utils/image.py,sha256=tp7MWdXL2KuY3Aghf344_AULh3aUU18WnWZKrF1UH_4,4984
351
+ tomwer/core/utils/laminoutils.py,sha256=FzZseoKHPss4ZieS2lVuq4MVvM5DrCDDRTz0UWO5aK4,2896
350
352
  tomwer/core/utils/locker.py,sha256=rDBfM8amysWaPbNIWkk9MZcCr_o3s5_xE4JnVj9w708,2271
351
353
  tomwer/core/utils/logconfig.py,sha256=xlMqmecIAfnvs4-xFTvbtmZZ_FrX1fY39jq8NC0Km3w,1434
352
354
  tomwer/core/utils/normalization.py,sha256=xBZEushzmP2yl-1ezw_WEh_LDJx9bQb99Zr8W4TFW70,2899
@@ -497,6 +499,7 @@ tomwer/gui/utils/unitsystem.py,sha256=wRZ_T1tFTAXqaGuffcFksAWey5qk2Ggi2WD-oJcsjc
497
499
  tomwer/gui/utils/vignettes.py,sha256=Y8aqnanN5U5syXs0MPoyYt_tCfflybCyC2hSxDEePSw,12980
498
500
  tomwer/gui/utils/waiterthread.py,sha256=-3rgoIV461MnsXH0xCFLaYOWhPWOkFm-oD2ybfBde1Q,1843
499
501
  tomwer/gui/utils/lineselector/__init__.py,sha256=GZ847ef5X2wk_sAHxg6h24TarPYmb4NZjQI3jjkc7jE,75
502
+ tomwer/gui/utils/lineselector/lineselection.py,sha256=q9yrpH6cpDEKqgOhJL5Mvq46ifFlgNil5kyikgC936E,2614
500
503
  tomwer/gui/utils/lineselector/lineselector.py,sha256=VueUHAiLB87uVCYkDyybDGWJs3ajLQdfj4KeznD8Z1Q,8228
501
504
  tomwer/gui/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
502
505
  tomwer/gui/visualization/dataviewer.py,sha256=tpEHUDMPqW3fNBa7Suhos_hbIBDPBlZo7lXDBXcmhxk,24611
@@ -690,10 +693,15 @@ tomwer/third_party/nabu/preproc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
690
693
  tomwer/third_party/nabu/preproc/phase.py,sha256=ABa2PnJSUS3u9ahucauPtwJmljcWlkY-iyGGybeLQ5k,14386
691
694
  tomwer/third_party/tango/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
692
695
  tomwer/third_party/tango/device.py,sha256=RP1HbQkWQKWpE8GdcxIz-lXvhTfrdhoEKe4OxBDbLtE,220
693
- tomwer-1.1.0rc7.dist-info/LICENSE,sha256=yR_hIZ1MfDh9x2_s23uFqBH7m5DgrBl9nJKkE37YChM,1877
694
- tomwer-1.1.0rc7.dist-info/METADATA,sha256=_9wtTnDfjS6Vd3cnTky-XC4_xfpfl_1Po3W_Z3ng1mM,11644
695
- tomwer-1.1.0rc7.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
696
- tomwer-1.1.0rc7.dist-info/entry_points.txt,sha256=aDZTIsXRj1SgQ0tixWsmYGjM4y6gcYK7ykK6z7XlLjw,368
697
- tomwer-1.1.0rc7.dist-info/namespace_packages.txt,sha256=Iut-JTfT11SZHHm77_ZeszD7pZDWXcTweCbvrJpqDyQ,14
698
- tomwer-1.1.0rc7.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
699
- tomwer-1.1.0rc7.dist-info/RECORD,,
696
+ tomwer/web/__init__.py,sha256=mbB9mcglDZ5ujxOPGg70xJNTcyPWUwoLBUIo7vJlayU,1460
697
+ tomwer/web/client.py,sha256=Ldu_rsW5O53QBH3iJ_gDlo9ip2d1-GQuVYo0KX_fzUU,1807
698
+ tomwer/web/config.py,sha256=K-mGjde07maay9arYdfx3DHIEdFfeRBZX6IuxUL5UlA,1623
699
+ tomwer/web/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
700
+ tomwer/web/test/test_graylog_connection.py,sha256=SUNOC2mKEINGQMZkHzFgCPFpx7feDUCvhaJ83xb2thc,2220
701
+ tomwer-1.1.1.dist-info/LICENSE,sha256=yR_hIZ1MfDh9x2_s23uFqBH7m5DgrBl9nJKkE37YChM,1877
702
+ tomwer-1.1.1.dist-info/METADATA,sha256=RtIELVb6JZ5GgBrzavoySzYTOzk9oNWxxbbkPj6dgMo,11641
703
+ tomwer-1.1.1.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
704
+ tomwer-1.1.1.dist-info/entry_points.txt,sha256=aDZTIsXRj1SgQ0tixWsmYGjM4y6gcYK7ykK6z7XlLjw,368
705
+ tomwer-1.1.1.dist-info/namespace_packages.txt,sha256=Iut-JTfT11SZHHm77_ZeszD7pZDWXcTweCbvrJpqDyQ,14
706
+ tomwer-1.1.1.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
707
+ tomwer-1.1.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.36.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5