tomwer 1.4.0rc0__py3-none-any.whl → 1.4.0rc2__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/tutorials/test_cor.ows +3 -3
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +6 -14
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +4 -2
- tomwer/app/axis.py +0 -3
- tomwer/app/multipag.py +11 -3
- tomwer/core/process/reconstruction/axis/axis.py +27 -736
- tomwer/core/process/reconstruction/axis/mode.py +86 -24
- tomwer/core/process/reconstruction/axis/params.py +127 -138
- tomwer/core/process/reconstruction/axis/side.py +8 -0
- tomwer/core/process/reconstruction/nabu/nabuscores.py +17 -20
- tomwer/core/process/reconstruction/nabu/nabuslices.py +5 -1
- tomwer/core/process/reconstruction/saaxis/saaxis.py +4 -4
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +4 -4
- tomwer/core/process/reconstruction/tests/test_axis.py +1 -1
- tomwer/core/process/reconstruction/tests/test_utils.py +4 -4
- tomwer/core/process/reconstruction/utils/cor.py +8 -4
- tomwer/core/process/tests/test_nabu.py +1 -3
- tomwer/core/scan/nxtomoscan.py +2 -0
- tomwer/core/scan/scanbase.py +4 -4
- tomwer/core/scan/tests/test_process_registration.py +0 -18
- tomwer/gui/fonts.py +5 -0
- tomwer/gui/reconstruction/axis/AxisMainWindow.py +20 -9
- tomwer/gui/reconstruction/axis/AxisOptionsWidget.py +239 -79
- tomwer/gui/reconstruction/axis/AxisSettingsWidget.py +38 -17
- tomwer/gui/reconstruction/axis/AxisWidget.py +16 -8
- tomwer/gui/reconstruction/axis/CalculationWidget.py +40 -200
- tomwer/gui/reconstruction/axis/ControlWidget.py +10 -2
- tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +394 -0
- tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py +118 -0
- tomwer/gui/reconstruction/axis/InputWidget.py +11 -155
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +19 -10
- tomwer/gui/reconstruction/scores/scoreplot.py +5 -2
- tomwer/gui/reconstruction/tests/test_nabu.py +8 -0
- tomwer/gui/stitching/z_stitching/fineestimation.py +1 -1
- tomwer/gui/tests/test_axis_gui.py +31 -15
- tomwer/synctools/stacks/reconstruction/axis.py +5 -23
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +1 -1
- tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
- tomwer/synctools/stacks/reconstruction/normalization.py +1 -1
- tomwer/synctools/stacks/reconstruction/saaxis.py +1 -1
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +1 -1
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py +0 -16
- tomwer/tests/test_ewoks/test_single_node_execution.py +1 -1
- tomwer/tests/test_ewoks/test_workflows.py +1 -1
- tomwer/version.py +1 -1
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/METADATA +2 -2
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/RECORD +51 -48
- tomwer/core/process/tests/test_axis.py +0 -231
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/LICENSE +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/WHEEL +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/entry_points.txt +0 -0
- {tomwer-1.4.0rc0.dist-info → tomwer-1.4.0rc2.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version='1.0' encoding='utf-8'?>
|
2
2
|
<scheme version="2.0" title="" description="">
|
3
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="(
|
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
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
6
|
</nodes>
|
7
7
|
<links>
|
@@ -10,8 +10,8 @@
|
|
10
10
|
<annotations />
|
11
11
|
<thumbnail />
|
12
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':
|
14
|
-
<properties node_id="1" format="literal">{'_scanIDs': ['hdf5:scan:/home/payno/Datasets/tomography/
|
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
15
|
</node_properties>
|
16
16
|
<session_state>
|
17
17
|
<window_groups />
|
@@ -141,16 +141,6 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
141
141
|
|
142
142
|
self._layout.addWidget(self._widget)
|
143
143
|
|
144
|
-
# expose API
|
145
|
-
self.setMode = self._widget.setMode
|
146
|
-
self.getMode = self._widget.getMode
|
147
|
-
self.getEstimatedCor = self._widget.getEstimatedCor
|
148
|
-
self.setEstimatedCor = self._widget.setEstimatedCor
|
149
|
-
self.getAxisParams = self._widget.getAxisParams
|
150
|
-
self.setValueLock = self._widget.setValueLock
|
151
|
-
self._setModeLockFrmSettings = self._widget._setModeLockFrmSettings
|
152
|
-
self._setValueLockFrmSettings = self._widget._setValueLockFrmSettings
|
153
|
-
|
154
144
|
# load settings
|
155
145
|
try:
|
156
146
|
if "mode_is_lock" in gui_settings:
|
@@ -170,6 +160,7 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
170
160
|
"auto_update_estimated_cor", True
|
171
161
|
)
|
172
162
|
self._widget.setAutoUpdateEstimatedCor(auto_update_estimated_cor)
|
163
|
+
self._widget.setYAxisInverted(gui_settings.get("y_axis_inverted", False))
|
173
164
|
|
174
165
|
except Exception as e:
|
175
166
|
logger.warning(f"Fail to load settings. Error is {str(e)}")
|
@@ -184,11 +175,14 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
184
175
|
self._processingStack.sigComputationEnded.connect(self._scanProcessed)
|
185
176
|
|
186
177
|
self._axis_params.sigChanged.connect(self._updateSettingsVals)
|
178
|
+
self._widget._axisWidget._settingsWidget._mainWidget._calculationWidget.sigUpdateXRotAxisPixelPosOnNewScan.connect(
|
179
|
+
self._updateSettingsVals
|
180
|
+
)
|
187
181
|
self._widget.sigAxisEditionLocked.connect(self._updateSettingsVals)
|
188
182
|
self._widget.sigModeChanged.connect(self._updateSettingsVals)
|
189
183
|
self._widget.sigLockModeChanged.connect(self._updateSettingsVals)
|
190
184
|
|
191
|
-
self._widget._axisWidget._settingsWidget._mainWidget._calculationWidget.
|
185
|
+
self._widget._axisWidget._settingsWidget._mainWidget._calculationWidget._estimatedCorWidget.sigValueChanged.connect(
|
192
186
|
self._updateSettingsVals
|
193
187
|
)
|
194
188
|
|
@@ -353,6 +347,7 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
353
347
|
"mode_is_lock": self.isModeLocked(),
|
354
348
|
"value_is_lock": self.isValueLock(),
|
355
349
|
"auto_update_estimated_cor": self._widget.getAutoUpdateEstimatedCor(),
|
350
|
+
"y_axis_inverted": self._widget.isYAxisInverted(),
|
356
351
|
},
|
357
352
|
}
|
358
353
|
|
@@ -458,9 +453,6 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
458
453
|
"serialize_output_data": False,
|
459
454
|
}
|
460
455
|
)
|
461
|
-
for patch in self._patches:
|
462
|
-
mode, function = patch
|
463
|
-
processing_class._CALCULATIONS_METHODS[mode] = function
|
464
456
|
processing_class.run()
|
465
457
|
self._updatePosition(scan=self.__scan)
|
466
458
|
if self.isModeLocked() or self.isValueLock():
|
@@ -312,8 +312,10 @@ class NabuVolumeOW(WidgetLongProcessing, SuperviseOW):
|
|
312
312
|
)
|
313
313
|
drac_processed_datasets.append(icatReconstructedDataset)
|
314
314
|
|
315
|
-
|
316
|
-
|
315
|
+
if len(drac_processed_datasets) > 0:
|
316
|
+
self.Outputs.data_portal_processed_datasets.send(
|
317
|
+
drac_processed_datasets
|
318
|
+
)
|
317
319
|
|
318
320
|
if future_tomo_obj is not None:
|
319
321
|
self.Outputs.future_out.send(future_tomo_obj)
|
tomwer/app/axis.py
CHANGED
@@ -169,9 +169,6 @@ def main(argv):
|
|
169
169
|
_logger.setLevel(logging.DEBUG)
|
170
170
|
|
171
171
|
axis_params = QAxisRP()
|
172
|
-
axis_params.use_sinogram = options.use_sinogram
|
173
|
-
if scan.dim_2 is not None:
|
174
|
-
axis_params.sinogram_line = scan.dim_2 // 2
|
175
172
|
|
176
173
|
window = _AxisProcessGUI(scan=scan, axis_params=axis_params)
|
177
174
|
window.setWindowTitle("axis")
|
tomwer/app/multipag.py
CHANGED
@@ -23,6 +23,10 @@ from tomwer.core.process.reconstruction.darkref.darkrefs import (
|
|
23
23
|
from tomwer.core.process.reconstruction.sadeltabeta.sadeltabeta import (
|
24
24
|
SADeltaBetaTask,
|
25
25
|
)
|
26
|
+
from tomwer.core.process.reconstruction.utils.cor import (
|
27
|
+
relative_pos_to_absolute,
|
28
|
+
absolute_pos_to_relative,
|
29
|
+
)
|
26
30
|
from tomwer.core.process.task import Task
|
27
31
|
from tomwer.core.scan.scanfactory import ScanFactory
|
28
32
|
from tomwer.core.utils.resource import increase_max_number_file
|
@@ -136,13 +140,17 @@ class SADeltaBetaWindow(_SADeltaBetaWindow):
|
|
136
140
|
|
137
141
|
def _relativeValueEdited(self):
|
138
142
|
old = self._absoluteCORValueQLE.blockSignals(True)
|
139
|
-
value =
|
143
|
+
value = relative_pos_to_absolute(
|
144
|
+
relative_pos=self._relativeCORValueQLE.value(), det_width=self._imageWidth
|
145
|
+
)
|
140
146
|
self._absoluteCORValueQLE.setValue(value)
|
141
147
|
self._absoluteCORValueQLE.blockSignals(old)
|
142
148
|
|
143
|
-
def
|
149
|
+
def _absoluteValueEdited(self):
|
144
150
|
old = self._relativeCORValueQLE.blockSignals(True)
|
145
|
-
value =
|
151
|
+
value = absolute_pos_to_relative(
|
152
|
+
absolute_pos=self._absoluteCORValueQLE.value(), det_width=self._imageWidth
|
153
|
+
)
|
146
154
|
self._relativeCORValueQLE.setValue(value)
|
147
155
|
self._relativeCORValueQLE.blockSignals(old)
|
148
156
|
|