tomwer 1.3.17__py3-none-any.whl → 1.3.19__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.
- tomwer/core/process/reconstruction/nabu/utils.py +1 -0
- tomwer/gui/visualization/dataviewer.py +27 -15
- tomwer/gui/visualization/diffviewer/diffviewer.py +9 -8
- tomwer/version.py +1 -1
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/METADATA +3 -3
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/RECORD +12 -12
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/WHEEL +1 -1
- /tomwer-1.3.17-py3.11-nspkg.pth → /tomwer-1.3.19-py3.11-nspkg.pth +0 -0
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/LICENSE +0 -0
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/entry_points.txt +0 -0
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.3.17.dist-info → tomwer-1.3.19.dist-info}/top_level.txt +0 -0
@@ -467,6 +467,7 @@ def nabu_std_err_has_error(errs: typing.Optional[bytes]):
|
|
467
467
|
in line # debatable but very disturbing from the gui side... anyway EDF days are coming to an end
|
468
468
|
or "PerformanceWarning" in line
|
469
469
|
or "jitify._init_module()" in line
|
470
|
+
or " unable to import 'siphash24.siphash13" in line
|
470
471
|
)
|
471
472
|
|
472
473
|
if errs is None:
|
@@ -34,7 +34,6 @@ from silx.gui import qt
|
|
34
34
|
from silx.gui.dialog.ColormapDialog import DisplayMode
|
35
35
|
from silx.gui.plot.ImageStack import ImageStack as _ImageStack
|
36
36
|
from silx.gui.plot.ImageStack import UrlLoader
|
37
|
-
from silx.gui.utils.signal import SignalProxy
|
38
37
|
from silx.io.url import DataUrl
|
39
38
|
from silx.utils.enum import Enum as _Enum
|
40
39
|
|
@@ -86,17 +85,6 @@ class DataViewer(qt.QMainWindow):
|
|
86
85
|
self._viewer.getPlotWidget().setKeepDataAspectRatio(True)
|
87
86
|
self.setCentralWidget(self._viewer)
|
88
87
|
|
89
|
-
# signal / slot
|
90
|
-
# add a signal proxy on the QSlider
|
91
|
-
self._viewer._slider.sigCurrentUrlIndexChanged.disconnect(
|
92
|
-
self._viewer.setCurrentUrlIndex
|
93
|
-
)
|
94
|
-
self._proxySig = SignalProxy(
|
95
|
-
self._viewer._slider.sigCurrentUrlIndexChanged,
|
96
|
-
delay=0.3,
|
97
|
-
slot=self._urlIndexDelayed,
|
98
|
-
)
|
99
|
-
|
100
88
|
# display control
|
101
89
|
self._controls = DisplayControl(parent=self)
|
102
90
|
self._controlsDW = qt.QDockWidget(self)
|
@@ -110,6 +98,33 @@ class DataViewer(qt.QMainWindow):
|
|
110
98
|
self._controls.sigDisplayModeChanged.connect(self._updateDisplay)
|
111
99
|
self._controls.sigDisplayModeChanged.connect(self.sigConfigChanged)
|
112
100
|
|
101
|
+
# upgrade of the slider (see details in '__sliderPressed' docstring).
|
102
|
+
horizontal_slider = self._viewer._slider
|
103
|
+
horizontal_slider._slider.sliderReleased.connect(self.__sliderReleased)
|
104
|
+
horizontal_slider._slider.sliderPressed.connect(self.__sliderPressed)
|
105
|
+
|
106
|
+
def __sliderPressed(self):
|
107
|
+
"""
|
108
|
+
today each time the slider value is modified it will load the frame and display it
|
109
|
+
but in our case we cannot afford it as it will take too much memory.
|
110
|
+
So we will disconnect the callback (self._viewer.setCurrentUrlIndex) until the slider is active
|
111
|
+
and reactivate it afterwards
|
112
|
+
"""
|
113
|
+
self._viewer._slider.sigCurrentUrlIndexChanged.disconnect(
|
114
|
+
self._viewer.setCurrentUrlIndex
|
115
|
+
)
|
116
|
+
|
117
|
+
def __sliderReleased(self):
|
118
|
+
"""
|
119
|
+
See details in '__sliderPressed'
|
120
|
+
"""
|
121
|
+
horizontal_slider = self._viewer._slider
|
122
|
+
self._viewer._slider.sigCurrentUrlIndexChanged.connect(
|
123
|
+
self._viewer.setCurrentUrlIndex
|
124
|
+
)
|
125
|
+
# set the url with the latest value to display the requested frame
|
126
|
+
self._viewer.setCurrentUrlIndex(horizontal_slider.value())
|
127
|
+
|
113
128
|
def getPlotWidget(self):
|
114
129
|
return self._viewer.getPlotWidget()
|
115
130
|
|
@@ -134,9 +149,6 @@ class DataViewer(qt.QMainWindow):
|
|
134
149
|
self._viewer = None
|
135
150
|
super().close()
|
136
151
|
|
137
|
-
def _urlIndexDelayed(self, *args, **kwargs):
|
138
|
-
self._viewer.setCurrentUrlIndex(args[0][0])
|
139
|
-
|
140
152
|
def getScan(self):
|
141
153
|
if self._scan:
|
142
154
|
return self._scan()
|
@@ -25,6 +25,7 @@
|
|
25
25
|
"""
|
26
26
|
contains gui relative frame difference display
|
27
27
|
"""
|
28
|
+
from __future__ import annotations
|
28
29
|
|
29
30
|
__authors__ = ["H. Payno"]
|
30
31
|
__license__ = "MIT"
|
@@ -148,7 +149,7 @@ class _FrameSelector(qt.QWidget):
|
|
148
149
|
return
|
149
150
|
|
150
151
|
urls = []
|
151
|
-
|
152
|
+
urls_to_angles: dict[str, float] = {}
|
152
153
|
self._currentFrameUrlsText.clear()
|
153
154
|
self._frameUrlCB.clear()
|
154
155
|
if type_selected == self.FrameType.DARKS:
|
@@ -162,7 +163,7 @@ class _FrameSelector(qt.QWidget):
|
|
162
163
|
angles_and_urls = self._scan.get_proj_angle_url(with_alignment=False)
|
163
164
|
for angle, url in angles_and_urls.items():
|
164
165
|
urls.append(url)
|
165
|
-
|
166
|
+
urls_to_angles[url.path()] = angle
|
166
167
|
else:
|
167
168
|
urls = self._scan.projections.values()
|
168
169
|
elif type_selected == self.FrameType.ALIGN_PROJ:
|
@@ -174,14 +175,14 @@ class _FrameSelector(qt.QWidget):
|
|
174
175
|
raise ValueError(f"Type {type_selected} not managed")
|
175
176
|
urls = sorted(urls, key=lambda url: url.path())
|
176
177
|
|
177
|
-
# if
|
178
|
+
# if there is some angles missing, avoiding setting any angle because they are probably wrong
|
178
179
|
# this will probably fail with EDF but this is legacy
|
179
|
-
if len(
|
180
|
-
|
180
|
+
if len(urls_to_angles) != len(urls):
|
181
|
+
urls_to_angles.clear()
|
181
182
|
|
182
|
-
for
|
183
|
-
if len(
|
184
|
-
text = f"angle={
|
183
|
+
for url in urls:
|
184
|
+
if len(urls_to_angles) > 0:
|
185
|
+
text = f"angle={urls_to_angles[url.path()]}&"
|
185
186
|
else:
|
186
187
|
text = ""
|
187
188
|
if url.data_slice() is not None:
|
tomwer/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tomwer
|
3
|
-
Version: 1.3.
|
3
|
+
Version: 1.3.19
|
4
4
|
Summary: "tomography workflow tools"
|
5
5
|
Home-page: https://gitlab.esrf.fr/tomotools/tomwer
|
6
6
|
Author: data analysis unit
|
@@ -77,7 +77,7 @@ Requires-Dist: tifffile ; extra == 'dev'
|
|
77
77
|
Requires-Dist: hdf5plugin ; extra == 'dev'
|
78
78
|
Requires-Dist: pyicat-plus ; extra == 'dev'
|
79
79
|
Requires-Dist: nabu[full] >=2023.3.1dev ; extra == 'dev'
|
80
|
-
Requires-Dist: pycuda ; extra == 'dev'
|
80
|
+
Requires-Dist: pycuda <2024.1.1 ; extra == 'dev'
|
81
81
|
Requires-Dist: scikit-cuda ; extra == 'dev'
|
82
82
|
Requires-Dist: black ; extra == 'dev'
|
83
83
|
Requires-Dist: flake8 ; extra == 'dev'
|
@@ -151,7 +151,7 @@ Requires-Dist: tifffile ; extra == 'full'
|
|
151
151
|
Requires-Dist: hdf5plugin ; extra == 'full'
|
152
152
|
Requires-Dist: pyicat-plus ; extra == 'full'
|
153
153
|
Requires-Dist: nabu[full] >=2023.3.1dev ; extra == 'full'
|
154
|
-
Requires-Dist: pycuda ; extra == 'full'
|
154
|
+
Requires-Dist: pycuda <2024.1.1 ; extra == 'full'
|
155
155
|
Requires-Dist: scikit-cuda ; extra == 'full'
|
156
156
|
Provides-Extra: full_no_cuda
|
157
157
|
Requires-Dist: orange-canvas-core ; extra == 'full_no_cuda'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
tomwer-1.3.
|
1
|
+
tomwer-1.3.19-py3.11-nspkg.pth,sha256=UYCZtLWueceGiAlmXKRJUZ0TWQEubpPoQ1pVnAAsME0,502
|
2
2
|
orangecontrib/tomwer/__init__.py,sha256=B4DXy1gY_wXmNYa2aOfapmJb2mEuCAjoaNEGnpBs70g,148
|
3
3
|
orangecontrib/tomwer/state_summary.py,sha256=5_dPzweL3r0ye4ZfJo6IV2ThJI8fQhWoO2ySdJJajj8,1711
|
4
4
|
orangecontrib/tomwer/orange/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -220,7 +220,7 @@ orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg,sha256=2uT9_px
|
|
220
220
|
tomwer/__init__.py,sha256=82Jp1abyG4UWdGuT4nNU7LxaUV6xxkOte5pIz3w69Do,1745
|
221
221
|
tomwer/__main__.py,sha256=jsDfWA2yl5am0dHQVkYwlKLxxqKNont6VDF-LusuawE,8575
|
222
222
|
tomwer/utils.py,sha256=EgVwJ5CQVjoBvcKNwyVoXv_P4ciI11oxb8fNyy82Lck,8465
|
223
|
-
tomwer/version.py,sha256=
|
223
|
+
tomwer/version.py,sha256=VJ_-bE3-FEFoo4CnZiXHJfm5tSzpLVV78NRz2pnWGwo,4387
|
224
224
|
tomwer/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
225
225
|
tomwer/app/axis.py,sha256=Ax0wlTp9u0Ll_3ax23QP5Ck16_M9Kop7wx0hAbXrXyM,6004
|
226
226
|
tomwer/app/canvas.py,sha256=RbQqgE7DuNjv4nGG6BNfnSevQO5_lCl7N71hGcLoxwE,1561
|
@@ -331,7 +331,7 @@ tomwer/core/process/reconstruction/nabu/nabuvolume.py,sha256=z7nyfXhMrp0Q3hAN3NY
|
|
331
331
|
tomwer/core/process/reconstruction/nabu/plane.py,sha256=Cgzth77M0pFgLDULmvmPj4bqFm5MvIMJ7Ien8mRqLsE,134
|
332
332
|
tomwer/core/process/reconstruction/nabu/settings.py,sha256=JpHKf0smiXeWC8i9Mj7h3g67teJ3Gqycd-Uwg2yzGOQ,2279
|
333
333
|
tomwer/core/process/reconstruction/nabu/target.py,sha256=_Z4gViprjR3Vm4KASqsASStLA9GM1wTyoi3Pg0PUSeg,1481
|
334
|
-
tomwer/core/process/reconstruction/nabu/utils.py,sha256=
|
334
|
+
tomwer/core/process/reconstruction/nabu/utils.py,sha256=sJurDba6aUdIzbR_k9ZGoOlkGf66V9jhp6OCTiF5cz8,18349
|
335
335
|
tomwer/core/process/reconstruction/normalization/__init__.py,sha256=TDtATpMVFkEOT93wLXLpW0A_TOeiQDiM7AWAqX4FIB0,119
|
336
336
|
tomwer/core/process/reconstruction/normalization/normalization.py,sha256=G-eAZIct47RvzvHNMbKsG4Dt58vTSKhvH-NnIMzxzOs,13210
|
337
337
|
tomwer/core/process/reconstruction/normalization/params.py,sha256=porWC6G5lQWF-4JB03B56uGmuMxjx3u0ZMums-Bh2p8,4790
|
@@ -587,7 +587,7 @@ tomwer/gui/utils/waiterthread.py,sha256=XEp6CRQt4aHCuyS2C6ZeQIMWESGilbuhaJjm9CzQ
|
|
587
587
|
tomwer/gui/utils/lineselector/__init__.py,sha256=GZ847ef5X2wk_sAHxg6h24TarPYmb4NZjQI3jjkc7jE,75
|
588
588
|
tomwer/gui/utils/lineselector/lineselector.py,sha256=R-RhrTQj1wTPylD0D9MKNzM6voJx-O-z4nhIVwMqj5M,8179
|
589
589
|
tomwer/gui/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
590
|
-
tomwer/gui/visualization/dataviewer.py,sha256=
|
590
|
+
tomwer/gui/visualization/dataviewer.py,sha256=Hh76ttfOeZzJUQVaT5F5AGJONK6DdMu46A8OBkWIpGg,27694
|
591
591
|
tomwer/gui/visualization/fullscreenplot.py,sha256=ptLrhF8DUsYNMj-KDioe9Y-KxnOzqepGlS8K2A2hjck,3639
|
592
592
|
tomwer/gui/visualization/nxtomometadata.py,sha256=uR2bHPnMp66mOJkE9WscTcQaiasr01pt3IbLUPP1F5M,683
|
593
593
|
tomwer/gui/visualization/reconstructionparameters.py,sha256=19W0uAdkda8kzp9rWj4gbMuG4t16kBc3j6RwM_1hogk,10230
|
@@ -597,7 +597,7 @@ tomwer/gui/visualization/tomoobjoverview.py,sha256=YzocBQXhgnzI8IsJg5junE7218WcJ
|
|
597
597
|
tomwer/gui/visualization/volumeoverview.py,sha256=6Hv1TtsDlaGQPCJKW-IkGy_r5Buue-O95tl1KkpMD-0,2491
|
598
598
|
tomwer/gui/visualization/volumeviewer.py,sha256=LZq0sHlxpkPvBT5D4l7fbMj7jdwRBRylqswQy1bJD_c,16335
|
599
599
|
tomwer/gui/visualization/diffviewer/__init__.py,sha256=rZ7qOTfAChU3FouCdkZllXT9ZZqTdo1XhLZMfmOqUAE,39
|
600
|
-
tomwer/gui/visualization/diffviewer/diffviewer.py,sha256=
|
600
|
+
tomwer/gui/visualization/diffviewer/diffviewer.py,sha256=OZp3e8Fc8AkAKHIkfZI7wxLy9vmT8r40VXV1HPqQs5o,21910
|
601
601
|
tomwer/gui/visualization/diffviewer/shiftwidget.py,sha256=2hpGo6BvubcSbw2QOT823sL74AEWyU32UxnvVZ4bDok,20928
|
602
602
|
tomwer/gui/visualization/test/__init__.py,sha256=nRVmFmNtdzN5PElEurDCb9pDulWIha-fLu-VX8hNn5A,1368
|
603
603
|
tomwer/gui/visualization/test/test_dataviewer.py,sha256=uiF4_tYUsP2w9-R9JrpecerUj7XIQbv0AgRSYPV_itQ,2446
|
@@ -776,10 +776,10 @@ tomwer/tests/test_utils.py,sha256=D0rNDSK6csEOYBY_7gD-4A3jp8rYAm8L1_Xg34A9I2s,30
|
|
776
776
|
tomwer/tests/utils.py,sha256=RAXx5A99WD4Vyuv_wjHBdr-Xu7UiThHRKw2eiB5GX10,107
|
777
777
|
tomwer/third_part/WaitingOverlay.py,sha256=GnqiytcJDp_24Cmz_2nZAP5HfpL3Yh7AzR2ATIusGsg,3906
|
778
778
|
tomwer/third_part/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
779
|
-
tomwer-1.3.
|
780
|
-
tomwer-1.3.
|
781
|
-
tomwer-1.3.
|
782
|
-
tomwer-1.3.
|
783
|
-
tomwer-1.3.
|
784
|
-
tomwer-1.3.
|
785
|
-
tomwer-1.3.
|
779
|
+
tomwer-1.3.19.dist-info/LICENSE,sha256=yR_hIZ1MfDh9x2_s23uFqBH7m5DgrBl9nJKkE37YChM,1877
|
780
|
+
tomwer-1.3.19.dist-info/METADATA,sha256=BkzfF9K_Ml2LGJPeSCzF6-jUDxQoATUOaMxcPmHeehk,11487
|
781
|
+
tomwer-1.3.19.dist-info/WHEEL,sha256=Rp8gFpivVLXx-k3U95ozHnQw8yDcPxmhOpn_Gx8d5nc,91
|
782
|
+
tomwer-1.3.19.dist-info/entry_points.txt,sha256=fIcDnCxjgwzfIylLYhUsFyiNZjZMxsfRQBxi4f-cJg8,440
|
783
|
+
tomwer-1.3.19.dist-info/namespace_packages.txt,sha256=Iut-JTfT11SZHHm77_ZeszD7pZDWXcTweCbvrJpqDyQ,14
|
784
|
+
tomwer-1.3.19.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
|
785
|
+
tomwer-1.3.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|