tomwer 1.4.0rc1__py3-none-any.whl → 1.4.0rc3__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/scan/nxtomoscan.py +2 -0
- tomwer/gui/reconstruction/axis/CalculationWidget.py +4 -0
- tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +24 -13
- tomwer/version.py +1 -1
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/METADATA +1 -1
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/RECORD +10 -11
- orangecontrib/tomwer/tutorials/test_cor.ows +0 -19
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/LICENSE +0 -0
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/WHEEL +0 -0
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/entry_points.txt +0 -0
- {tomwer-1.4.0rc1.dist-info → tomwer-1.4.0rc3.dist-info}/top_level.txt +0 -0
tomwer/core/scan/nxtomoscan.py
CHANGED
@@ -18,6 +18,7 @@ from tomoscan.esrf.identifier.hdf5Identifier import (
|
|
18
18
|
)
|
19
19
|
from tomoscan.esrf.identifier.url_utils import UrlSettings, split_path, split_query
|
20
20
|
from tomoscan.esrf.scan.nxtomoscan import NXtomoScan as _tsNXtomoScan
|
21
|
+
from tomoscan.utils.io import filter_esrf_mounting_points
|
21
22
|
from nxtomo.nxobject.nxdetector import ImageKey
|
22
23
|
from nxtomo.paths.nxtomo import get_paths as _get_nexus_paths
|
23
24
|
|
@@ -487,6 +488,7 @@ class NXtomoScan(_tsNXtomoScan, TomwerScanBase):
|
|
487
488
|
bliss_raw_data_files[0] if len(bliss_raw_data_files) > 0 else None
|
488
489
|
)
|
489
490
|
if bliss_raw_data_file is not None:
|
491
|
+
bliss_raw_data_file = filter_esrf_mounting_points(bliss_raw_data_file)
|
490
492
|
strips = bliss_raw_data_file.lstrip("/").split("/")
|
491
493
|
if len(strips) > 2 and bliss_raw_data_file.startswith(
|
492
494
|
("/data/visitor", "/data/visitor")
|
@@ -180,6 +180,10 @@ class CalculationWidget(qt.QWidget):
|
|
180
180
|
return axis_mode.AxisMode.from_value(self._qcbPosition.currentText())
|
181
181
|
|
182
182
|
def setMode(self, mode: axis_mode.AxisMode):
|
183
|
+
if mode == self.getMode():
|
184
|
+
# when set mode the estimated cor might changed.
|
185
|
+
# that we want to avoid.
|
186
|
+
return
|
183
187
|
with block_signals(self._qcbPosition):
|
184
188
|
index = self._qcbPosition.findText(mode.value)
|
185
189
|
if index >= 0:
|
@@ -124,9 +124,8 @@ class EstimatedCORWidget(qt.QGroupBox):
|
|
124
124
|
|
125
125
|
"""
|
126
126
|
mode = axis_mode.AxisMode.from_value(mode)
|
127
|
-
|
128
|
-
|
129
|
-
)
|
127
|
+
valid_sides = axis_mode.AXIS_MODE_METADATAS[mode].valid_sides
|
128
|
+
self._estimatedCORQCB.setSidesVisible(valid_sides)
|
130
129
|
first_guess_available = axis_mode.AXIS_MODE_METADATAS[
|
131
130
|
mode
|
132
131
|
].allows_estimated_cor_as_numerical_value
|
@@ -135,9 +134,10 @@ class EstimatedCORWidget(qt.QGroupBox):
|
|
135
134
|
if first_guess_available:
|
136
135
|
# if the first guess is valid, when the sides visibility is modify we want to activate it.
|
137
136
|
self._estimatedCORQCB.selectFirstGuess()
|
138
|
-
elif
|
139
|
-
#
|
140
|
-
|
137
|
+
elif valid_sides:
|
138
|
+
# Proceed only if there are valid sides
|
139
|
+
current_side = self._estimatedCORQCB.getCurrentCorValue()
|
140
|
+
if not isinstance(current_side, Side) or current_side not in valid_sides:
|
141
141
|
with block_signals(self._estimatedCORQCB):
|
142
142
|
cor_guess = self._estimatedCORQCB.getCurrentCorValue()
|
143
143
|
if cor_guess is not None and self._imageWidth is not None:
|
@@ -150,18 +150,29 @@ class EstimatedCORWidget(qt.QGroupBox):
|
|
150
150
|
2 * self._imageWidth / 3 - self._imageWidth / 2
|
151
151
|
)
|
152
152
|
|
153
|
-
if
|
153
|
+
if (
|
154
|
+
Side.LEFT in valid_sides
|
155
|
+
and left_boundary <= cor_guess < middle_left_boundary
|
156
|
+
):
|
154
157
|
new_side = Side.LEFT
|
155
|
-
elif
|
158
|
+
elif (
|
159
|
+
Side.CENTER in valid_sides
|
160
|
+
and middle_left_boundary
|
161
|
+
<= cor_guess
|
162
|
+
< middle_right_boundary
|
163
|
+
):
|
156
164
|
new_side = Side.CENTER
|
157
|
-
elif
|
165
|
+
elif (
|
166
|
+
Side.RIGHT in valid_sides
|
167
|
+
and middle_right_boundary <= cor_guess <= right_boundary
|
168
|
+
):
|
158
169
|
new_side = Side.RIGHT
|
159
170
|
else:
|
160
|
-
|
161
|
-
|
162
|
-
] # Handle out-of-bound cases if needed
|
171
|
+
# Fallback to the first available valid side
|
172
|
+
new_side = valid_sides[0]
|
163
173
|
else:
|
164
|
-
|
174
|
+
# If no guess or boundaries are available, fallback to the first valid side
|
175
|
+
new_side = valid_sides[0]
|
165
176
|
self._estimatedCORQCB.setCurrentCorValue(new_side)
|
166
177
|
self._axis_params.estimated_cor = new_side
|
167
178
|
|
tomwer/version.py
CHANGED
@@ -18,7 +18,6 @@ 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=BBxkMX98PjDZsgxiVz4i-xPFw4WMdzif2YPnRQfONP4,5945
|
20
20
|
orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows,sha256=TxVvFAfuV-HCIq9k_J45w9VtHDhLfmsN6wWuTNVYnPI,9163
|
21
|
-
orangecontrib/tomwer/tutorials/test_cor.ows,sha256=tlpNXVRRhGQR5yGMvWvVR5DqVyl1G3f8hSQ8u17hmLU,2464
|
22
21
|
orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows,sha256=TUZNkXEsQyj7Qra1GEb4IhGFDWv3uJzqXbp3P04jwbs,5192
|
23
22
|
orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows,sha256=yKa6pvd4UB6XDDlj_o7T8Md6bI8aQJXMCUnxyecdXbc,7568
|
24
23
|
orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows,sha256=eSxYxrZ-0WKsmDqXivsHxND7SR2dSwdgG6Wcjbr06Ew,1727
|
@@ -220,7 +219,7 @@ orangecontrib/tomwer/widgets/visualization/tests/__init__.py,sha256=47DEQpj8HBSa
|
|
220
219
|
tomwer/__init__.py,sha256=GeLSeY4__z-HQZu1y4ptZ5Y1OeXFvG8kuEwWXhkeaMA,360
|
221
220
|
tomwer/__main__.py,sha256=7tCADiS4u7k1PCxFhlRAcYSIOpxQTGUTx8sCEQ-hi1E,8707
|
222
221
|
tomwer/utils.py,sha256=7h7dEgKAEUmQ43jkULvC1B9Adl55nkCty-SEKUKCl4U,7008
|
223
|
-
tomwer/version.py,sha256=
|
222
|
+
tomwer/version.py,sha256=UuEkt01Y05Kcy01F62oh2NLZE9fErohrIU8VDCRcm78,4383
|
224
223
|
tomwer/app/__init__.py,sha256=RYMB2YhbQaoMXC8W-oOyfZ_Y1vmHD7L13YkKeAMuShM,85
|
225
224
|
tomwer/app/axis.py,sha256=BJNuwMOjw1vS2w-9sKxltIgWMEWAPetnK2sAOFmXoZg,5880
|
226
225
|
tomwer/app/canvas.py,sha256=sM368nniUwbQXLA-oNCg1iNwMMol_ZGTKbiw8WsC4yw,1539
|
@@ -406,7 +405,7 @@ tomwer/core/scan/edfscan.py,sha256=hsFzpYyPIrvsLM61J9aDmpdVskMTFO94fNcF3HEG_iI,2
|
|
406
405
|
tomwer/core/scan/futurescan.py,sha256=chXjteQ4_6cSyFBoCil-DeHkHGGzM-xb21xJRYLEfhI,213
|
407
406
|
tomwer/core/scan/hdf5scan.py,sha256=rQ-WtbOIgNtnMxA2kC23fEAcJIJIKboAv7UQColkrBg,966
|
408
407
|
tomwer/core/scan/helicalmetadata.py,sha256=JRBxqHkyTe5f3FDlbIeDfN31P6Ms48SqGiFRXHuZ8sw,472
|
409
|
-
tomwer/core/scan/nxtomoscan.py,sha256=
|
408
|
+
tomwer/core/scan/nxtomoscan.py,sha256=H-qSuRiO8orBV5EJBkg5uhUDAJOG2oF1nj5o13MO1xw,18913
|
410
409
|
tomwer/core/scan/scanbase.py,sha256=TMfoQHJgaWTNJfjXiOVYDLT58A03T-O-8MDOM6bwt3E,28514
|
411
410
|
tomwer/core/scan/scanfactory.py,sha256=-bF0Ru9bn8bnGk4MKXhbt5Oli19qN1WvFPDMtqw81BA,9116
|
412
411
|
tomwer/core/scan/scantype.py,sha256=pQjWuCy_014uK5cdb8pFAkE_EPHJvPdSo3NM8aWTo58,137
|
@@ -544,10 +543,10 @@ tomwer/gui/reconstruction/axis/AxisMainWindow.py,sha256=7w2LhdQ1pa8vU9U-XTA3ohGQ
|
|
544
543
|
tomwer/gui/reconstruction/axis/AxisOptionsWidget.py,sha256=M47xflZ68KkTDg8tksFt8n7ZFVIr8tJxstlPyG4Odq0,12168
|
545
544
|
tomwer/gui/reconstruction/axis/AxisSettingsWidget.py,sha256=7GpHteE2j9RUo-jUQoJdXJ-GnIi9VnY13Lveq3mvd1M,28120
|
546
545
|
tomwer/gui/reconstruction/axis/AxisWidget.py,sha256=nkORZHLo8D3Sk8j-8QVr9l3Qse66s-Nv-tB6kCkSMTY,19794
|
547
|
-
tomwer/gui/reconstruction/axis/CalculationWidget.py,sha256=
|
546
|
+
tomwer/gui/reconstruction/axis/CalculationWidget.py,sha256=OgEeOCml6p-vJwEpKZLIoHLXfIrU9X7nLWewPswN1jE,8628
|
548
547
|
tomwer/gui/reconstruction/axis/CompareImages.py,sha256=jqzlMBU_tfIdR1yHuZa8Avt8Te0EPBkjI6R4TY6kIlw,11425
|
549
548
|
tomwer/gui/reconstruction/axis/ControlWidget.py,sha256=DsBPFIEZCva-JPUFxORjkAnoYfgb5udfJ71W-fCwgRY,10686
|
550
|
-
tomwer/gui/reconstruction/axis/EstimatedCORWidget.py,sha256=
|
549
|
+
tomwer/gui/reconstruction/axis/EstimatedCORWidget.py,sha256=dL9SCjPEZ7MQLGZP0gZARb-rxD8YYSl-gcFyuN14jwg,17081
|
551
550
|
tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py,sha256=Hq8o6X5-iVMqltGcpy2E5OpCP5nNV353Mepsf_R7zVY,4434
|
552
551
|
tomwer/gui/reconstruction/axis/InputWidget.py,sha256=UhEWL3aJG56PfkI7DKw-sBd6hDsRJ2NnQ0XN0nBmM6g,13052
|
553
552
|
tomwer/gui/reconstruction/axis/ManualFramesSelection.py,sha256=b7-OjYyLuMQxG19AuvUNdwhSV5ewwfC4s9Yn8-6yZLQ,6481
|
@@ -904,9 +903,9 @@ tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewer
|
|
904
903
|
tomwer/tests/test_ewoks/test_conversion.py,sha256=a8cEWbErXiFCAkaapi0jeEoRKYxcFQCoa-Jr_u77_OM,3656
|
905
904
|
tomwer/tests/test_ewoks/test_single_node_execution.py,sha256=YBUHfiAnkciv_kjj7biC5fOs7c7ofNImM_azGMn4LZM,2813
|
906
905
|
tomwer/tests/test_ewoks/test_workflows.py,sha256=L0vNnfGpI6Soy8b_w6OjTMhLzUSutMFhWjPOe6kZO-E,5081
|
907
|
-
tomwer-1.4.
|
908
|
-
tomwer-1.4.
|
909
|
-
tomwer-1.4.
|
910
|
-
tomwer-1.4.
|
911
|
-
tomwer-1.4.
|
912
|
-
tomwer-1.4.
|
906
|
+
tomwer-1.4.0rc3.dist-info/LICENSE,sha256=62p1wL0n9WMTu8x2YDv0odYgTqeSvTd9mQ0v6Mq7lzE,1876
|
907
|
+
tomwer-1.4.0rc3.dist-info/METADATA,sha256=3izJhmCSSMMMnTD2V-ixLN46I6rYAWSear15PeMWW3Q,13406
|
908
|
+
tomwer-1.4.0rc3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
909
|
+
tomwer-1.4.0rc3.dist-info/entry_points.txt,sha256=py3ZUWvGnWGc5c7Yhw_uBTm8Fmew0BDw3aQZnWMBNZI,500
|
910
|
+
tomwer-1.4.0rc3.dist-info/top_level.txt,sha256=Yz5zKh0FPiImtzHYcPuztG1AO8-6KEpUWgoChGbA0Ys,21
|
911
|
+
tomwer-1.4.0rc3.dist-info/RECORD,,
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<?xml version='1.0' encoding='utf-8'?>
|
2
|
-
<scheme version="2.0" title="" description="">
|
3
|
-
<nodes>
|
4
|
-
<node id="0" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.AxisOW.AxisOW" project_name="tomwer" version="" title="center of rotation finder" position="(375.0, 146.0)" />
|
5
|
-
<node id="1" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(150.0, 115.0)" />
|
6
|
-
</nodes>
|
7
|
-
<links>
|
8
|
-
<link id="0" source_node_id="1" sink_node_id="0" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
9
|
-
</links>
|
10
|
-
<annotations />
|
11
|
-
<thumbnail />
|
12
|
-
<node_properties>
|
13
|
-
<properties node_id="0" format="literal">{'_ewoks_default_inputs': {'data': None, 'axis_params': {'MODE': 'sino-coarse-to-fine', 'POSITION_VALUE': None, 'CALC_INPUT_TYPE': 'transmission_nopag', 'ANGLE_MODE': '0-180', 'SINOGRAM_LINE': 'middle', 'SINOGRAM_SUBSAMPLING': 10, 'AXIS_URL_1': '', 'AXIS_URL_2': '', 'LOOK_AT_STDMAX': False, 'NEAR_WX': 5, 'FINE_STEP_X': 0.1, 'SCALE_IMG2_TO_IMG1': False, 'NEAR_POSITION': 'right', 'PADDING_MODE': 'edge', 'FLIP_LR': True, 'COMPOSITE_OPTS': {'theta': 5, 'oversampling': 4, 'n_subsampling_y': 40, 'take_log': True, 'near_width': 40}, 'COR_OPTIONS': '', 'MOTOR_OFFSET': 0.0, 'X_ROTATION_AXIS_PIXEL_POSITION': 0.0}, 'gui': {'mode_is_lock': False, 'value_is_lock': False, 'auto_update_estimated_cor': True, 'y_axis_inverted': True}}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x017\x00\x00\x00\xe5\x00\x00\x06H\x00\x00\x03\xa6\x00\x00\x017\x00\x00\x01\n\x00\x00\x06H\x00\x00\x03\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x07\x80\x00\x00\x017\x00\x00\x01\n\x00\x00\x06H\x00\x00\x03\xa6', '__version__': 1}</properties>
|
14
|
-
<properties node_id="1" format="literal">{'_scanIDs': ['hdf5:scan:/home/payno/Datasets/tomography/bamboo_hercules/bambou_hercules_0001/bambou_hercules_0001_0000.nx?path=/entry0000'], 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\n\xa0\x00\x00\x01Z\x00\x00\x0b\xcb\x00\x00\x03\x06\x00\x00\n\xa0\x00\x00\x01Z\x00\x00\x0b\xcb\x00\x00\x03\x06\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\n\xa0\x00\x00\x01Z\x00\x00\x0b\xcb\x00\x00\x03\x06', '__version__': 1}</properties>
|
15
|
-
</node_properties>
|
16
|
-
<session_state>
|
17
|
-
<window_groups />
|
18
|
-
</session_state>
|
19
|
-
</scheme>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|