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.
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +5 -4
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +3 -1
- tomwer/core/process/reconstruction/nabu/slurm.py +36 -0
- tomwer/core/process/reconstruction/nabu/utils.py +1 -0
- tomwer/core/utils/laminoutils.py +80 -0
- tomwer/gui/utils/lineselector/lineselection.py +76 -0
- tomwer/version.py +2 -2
- tomwer/web/__init__.py +30 -0
- tomwer/web/client.py +43 -0
- tomwer/web/config.py +36 -0
- tomwer/web/test/__init__.py +0 -0
- tomwer/web/test/test_graylog_connection.py +59 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/METADATA +1 -1
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/RECORD +20 -12
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/WHEEL +1 -1
- /tomwer-1.1.0rc7-py3.9-nspkg.pth → /tomwer-1.1.1-py3.8-nspkg.pth +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/LICENSE +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/entry_points.txt +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.1.1.dist-info}/top_level.txt +0 -0
@@ -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
|
-
|
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 =
|
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
|
@@ -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
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,4 +1,4 @@
|
|
1
|
-
tomwer-1.1.
|
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=
|
122
|
-
orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py,sha256=
|
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=
|
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=
|
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
|
694
|
-
tomwer
|
695
|
-
tomwer
|
696
|
-
tomwer
|
697
|
-
tomwer
|
698
|
-
tomwer-1.1.
|
699
|
-
tomwer-1.1.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|