tomwer 1.2.0a1__py3-none-any.whl → 1.2.0a3__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/append_raw_darks_and_flats_frames_to_NXtomos.ows +44 -0
- orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +55 -0
- orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth2.ows +48 -0
- orangecontrib/tomwer/tutorials/default_cor_search.ows +40 -0
- orangecontrib/tomwer/tutorials/hello_world_python_script.ows +50 -0
- orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +50 -0
- orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +8 -8
- orangecontrib/tomwer/widgets/__init__.py +1 -1
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +0 -1
- orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +8 -6
- orangecontrib/tomwer/widgets/control/AdvancementOW.py +0 -1
- orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +1 -6
- orangecontrib/tomwer/widgets/control/DataListOW.py +0 -1
- orangecontrib/tomwer/widgets/control/DataListenerOW.py +4 -4
- orangecontrib/tomwer/widgets/control/DataSelectorOW.py +0 -1
- orangecontrib/tomwer/widgets/control/DataTransfertOW.py +7 -7
- orangecontrib/tomwer/widgets/control/DataValidatorOW.py +0 -1
- orangecontrib/tomwer/widgets/control/DataWatcherOW.py +0 -3
- orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +3 -2
- orangecontrib/tomwer/widgets/control/EmailOW.py +82 -0
- orangecontrib/tomwer/widgets/control/FilterOW.py +3 -3
- orangecontrib/tomwer/widgets/control/NXTomomillOW.py +1 -1
- orangecontrib/tomwer/widgets/control/NotifierOW.py +0 -1
- orangecontrib/tomwer/widgets/control/ReduceDarkFlatSelectorOW.py +93 -0
- orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +29 -5
- orangecontrib/tomwer/widgets/control/TimerOW.py +1 -2
- orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +0 -1
- orangecontrib/tomwer/widgets/control/VolumeSelector.py +0 -1
- orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +4 -10
- orangecontrib/tomwer/widgets/control/icons/email.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/email.svg +58 -0
- orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +199 -0
- orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +0 -1
- orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +0 -1
- orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +1 -2
- orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +1 -2
- orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +0 -1
- orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +0 -1
- orangecontrib/tomwer/widgets/other/PythonScriptOW.py +29 -1
- orangecontrib/tomwer/widgets/other/TomoObjsHub.py +28 -0
- orangecontrib/tomwer/widgets/other/icons/hub.png +0 -0
- orangecontrib/tomwer/widgets/other/icons/hub.svg +113 -0
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +18 -12
- orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +0 -2
- orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +21 -6
- orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +29 -7
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +18 -5
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +40 -13
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +37 -10
- orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +2 -3
- orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +5 -4
- orangecontrib/tomwer/widgets/stitching/StitcherOW.py +0 -1
- orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +0 -1
- orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +10 -4
- orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -1
- orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +0 -1
- orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +0 -1
- orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +7 -5
- orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +1 -1
- orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -3
- orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +7 -5
- orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +4 -4
- tomwer/__main__.py +139 -5
- tomwer/app/axis.py +16 -5
- tomwer/app/canvas_launcher/config.py +1 -1
- tomwer/app/canvas_launcher/mainwindow.py +164 -6
- tomwer/app/darkref.py +10 -181
- tomwer/app/darkrefpatch.py +10 -131
- tomwer/app/diffframe.py +11 -0
- tomwer/app/imagekeyeditor.py +12 -19
- tomwer/app/intensitynormalization.py +1 -0
- tomwer/app/lamino.py +7 -2
- tomwer/app/patchrawdarkflat.py +131 -0
- tomwer/app/radiostack.py +10 -0
- tomwer/app/reducedarkflat.py +205 -0
- tomwer/app/saaxis.py +27 -8
- tomwer/app/sadeltabeta.py +29 -8
- tomwer/app/samplemoved.py +11 -0
- tomwer/app/scanviewer.py +12 -0
- tomwer/app/sinogramviewer.py +11 -0
- tomwer/app/slicestack.py +11 -0
- tomwer/app/zstitching.py +12 -0
- tomwer/core/futureobject.py +4 -2
- tomwer/core/process/conditions/filters.py +26 -4
- tomwer/core/process/control/datadiscovery.py +4 -0
- tomwer/core/process/control/datawatcher/datawatcher.py +5 -1
- tomwer/core/process/control/email.py +148 -0
- tomwer/core/process/control/nxtomoconcatenate.py +9 -2
- tomwer/core/process/control/nxtomomill.py +58 -16
- tomwer/core/process/control/scanselector.py +4 -0
- tomwer/core/process/control/scantransfer.py +52 -23
- tomwer/core/process/control/test/test_concatenate_nxtomos.py +1 -0
- tomwer/core/process/control/test/test_email.py +52 -0
- tomwer/core/process/control/test/test_h52nx_process.py +106 -0
- tomwer/core/process/control/test/test_volume_link.py +5 -4
- tomwer/core/process/control/timer.py +27 -6
- tomwer/core/process/control/tomoobjserie.py +4 -0
- tomwer/core/process/control/volumeselector.py +4 -0
- tomwer/core/process/control/volumesymlink.py +47 -8
- tomwer/core/process/edit/darkflatpatch.py +49 -8
- tomwer/core/process/edit/imagekeyeditor.py +63 -13
- tomwer/core/process/reconstruction/axis/__init__.py +1 -1
- tomwer/core/process/reconstruction/axis/axis.py +61 -41
- tomwer/core/process/reconstruction/axis/params.py +4 -6
- tomwer/core/process/reconstruction/darkref/darkrefs.py +53 -16
- tomwer/core/process/reconstruction/darkref/darkrefscopy.py +12 -2
- tomwer/core/process/reconstruction/lamino/__init__.py +1 -1
- tomwer/core/process/reconstruction/lamino/tofu.py +22 -2
- tomwer/core/process/reconstruction/nabu/nabucommon.py +93 -14
- tomwer/core/process/reconstruction/nabu/nabuscores.py +70 -33
- tomwer/core/process/reconstruction/nabu/nabuslices.py +219 -41
- tomwer/core/process/reconstruction/nabu/nabuvolume.py +240 -108
- tomwer/core/process/reconstruction/nabu/utils.py +10 -36
- tomwer/core/process/reconstruction/normalization/normalization.py +10 -3
- tomwer/core/process/reconstruction/saaxis/__init__.py +1 -0
- tomwer/core/process/reconstruction/saaxis/saaxis.py +564 -376
- tomwer/core/process/reconstruction/sadeltabeta/__init__.py +1 -0
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +481 -268
- tomwer/core/process/reconstruction/scores/params.py +21 -8
- tomwer/core/process/reconstruction/test/test_darkref_copy.py +2 -0
- tomwer/core/process/reconstruction/test/test_saaxis.py +21 -8
- tomwer/core/process/reconstruction/test/test_sadeltabeta.py +8 -5
- tomwer/core/process/script/python.py +7 -2
- tomwer/core/process/stitching/nabustitcher.py +10 -3
- tomwer/core/process/task.py +2 -9
- tomwer/core/process/test/test_axis.py +25 -15
- tomwer/core/process/test/test_conditions.py +6 -6
- tomwer/core/process/test/test_dark_and_flat.py +20 -15
- tomwer/core/process/test/test_data_transfer.py +8 -8
- tomwer/core/process/test/test_data_watcher.py +1 -1
- tomwer/core/process/test/test_lamino.py +6 -6
- tomwer/core/process/test/test_nabu.py +13 -8
- tomwer/core/process/test/test_normalization.py +1 -0
- tomwer/core/process/test/test_timer.py +6 -6
- tomwer/core/process/visualization/dataviewer.py +4 -0
- tomwer/core/process/visualization/diffviewer.py +4 -0
- tomwer/core/process/visualization/imagestackviewer.py +4 -0
- tomwer/core/process/visualization/radiostack.py +4 -0
- tomwer/core/process/visualization/samplemoved.py +4 -0
- tomwer/core/process/visualization/sinogramviewer.py +4 -0
- tomwer/core/process/visualization/slicestack.py +4 -0
- tomwer/core/process/visualization/volumeviewer.py +4 -0
- tomwer/core/scan/hdf5scan.py +4 -4
- tomwer/core/scan/scanbase.py +5 -1
- tomwer/core/scan/test/test_process_registration.py +9 -9
- tomwer/core/settings.py +59 -1
- tomwer/core/test/test_lamino.py +2 -1
- tomwer/core/utils/__init__.py +16 -0
- tomwer/core/utils/locker.py +0 -1
- tomwer/core/utils/resource.py +6 -11
- tomwer/core/utils/scanutils.py +2 -0
- tomwer/gui/cluster/slurm.py +91 -7
- tomwer/gui/cluster/supervisor.py +16 -11
- tomwer/gui/cluster/test/test_cluster.py +16 -1
- tomwer/gui/conditions/filter.py +3 -3
- tomwer/gui/control/datalist.py +24 -11
- tomwer/gui/control/email.py +183 -0
- tomwer/gui/control/reducedarkflatselector.py +545 -0
- tomwer/gui/control/singletomoobj.py +23 -1
- tomwer/gui/control/test/test_email.py +35 -0
- tomwer/gui/control/test/test_reducedarkflat_selector.py +280 -0
- tomwer/gui/reconstruction/axis/CompareImages.py +1 -1
- tomwer/gui/reconstruction/axis/axis.py +10 -6
- tomwer/gui/reconstruction/axis/radioaxis.py +14 -6
- tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +2 -0
- tomwer/gui/reconstruction/darkref/darkrefwidget.py +4 -4
- tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +3 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +34 -33
- tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +1 -1
- tomwer/gui/reconstruction/normalization/intensity.py +5 -5
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +1 -0
- tomwer/gui/reconstruction/saaxis/saaxis.py +6 -6
- tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +6 -6
- tomwer/gui/reconstruction/scores/scoreplot.py +6 -4
- tomwer/gui/samplemoved/__init__.py +2 -2
- tomwer/gui/stackplot.py +18 -7
- tomwer/gui/stacks.py +2 -2
- tomwer/gui/stitching/stitchandbackground.py +2 -2
- tomwer/gui/stitching/stitching.py +1 -1
- tomwer/gui/stitching/stitching_raw.py +1 -1
- tomwer/gui/utils/__init__.py +1 -85
- tomwer/gui/utils/illustrations.py +1 -1
- tomwer/gui/utils/inputwidget.py +41 -36
- tomwer/gui/utils/slider.py +2 -2
- tomwer/gui/utils/utils.py +93 -0
- tomwer/gui/visualization/dataviewer.py +8 -5
- tomwer/gui/visualization/diffviewer/diffviewer.py +4 -4
- tomwer/gui/visualization/reconstructionparameters.py +26 -6
- tomwer/gui/visualization/sinogramviewer.py +7 -1
- tomwer/gui/visualization/test/test_reconstruction_parameters.py +2 -4
- tomwer/gui/visualization/volumeviewer.py +2 -0
- tomwer/resources/__init__.py +55 -43
- tomwer/resources/gui/icons/compose.png +0 -0
- tomwer/resources/gui/icons/compose.svg +75 -0
- tomwer/synctools/datatransfert.py +3 -1
- tomwer/synctools/stacks/edit/darkflatpatch.py +39 -34
- tomwer/synctools/stacks/edit/imagekeyeditor.py +8 -27
- tomwer/synctools/stacks/processingstack.py +45 -9
- tomwer/synctools/stacks/reconstruction/axis.py +6 -5
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +1 -0
- tomwer/synctools/stacks/reconstruction/lamino.py +3 -3
- tomwer/synctools/stacks/reconstruction/nabu.py +49 -140
- tomwer/synctools/stacks/reconstruction/normalization.py +1 -0
- tomwer/synctools/stacks/reconstruction/saaxis.py +19 -33
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +16 -32
- tomwer/synctools/test/test_darkRefs.py +19 -10
- tomwer/synctools/test/test_foldertransfer.py +7 -7
- tomwer/third_party/nabu/preproc/phase.py +6 -8
- tomwer/third_party/nabu/utils.py +2 -3
- tomwer/version.py +1 -1
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/METADATA +15 -54
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/RECORD +219 -192
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/WHEEL +1 -1
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/entry_points.txt +3 -3
- /tomwer-1.2.0a1-py3.9-nspkg.pth → /tomwer-1.2.0a3-py3.11-nspkg.pth +0 -0
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/LICENSE +0 -0
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.2.0a1.dist-info → tomwer-1.2.0a3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="Append dark and flat frames to an NXtomo" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="image-key-upgrader" qualified_name="orangecontrib.tomwer.widgets.edit.ImageKeyUpgraderOW.ImageKeyUpgraderOW" project_name="tomwer" version="" title="image-key-upgrader" position="(336.0, 221.0)" />
|
5
|
+
<node id="1" name="dark-flat-patch" qualified_name="orangecontrib.tomwer.widgets.edit.DarkFlatPatchOW.DarkFlatPatchOW" project_name="tomwer" version="" title="dark-flat-patch" position="(579.0, 221.0)" />
|
6
|
+
<node id="2" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.DarkRefAndCopyOW.DarkRefAndCopyOW" project_name="tomwer" version="" title="reduced darks and flats" position="(781.0, 221.0)" />
|
7
|
+
<node id="3" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(133.0, 222.0)" />
|
8
|
+
<node id="4" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector (1)" position="(981.0, 222.0)" />
|
9
|
+
</nodes>
|
10
|
+
<links>
|
11
|
+
<link id="0" source_node_id="3" sink_node_id="0" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
12
|
+
<link id="1" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
13
|
+
<link id="2" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
14
|
+
<link id="3" source_node_id="2" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
15
|
+
</links>
|
16
|
+
<annotations>
|
17
|
+
<text id="0" type="text/plain" rect="(68.0, 8.0, 740.0, 86.0)" font-family="Sans" font-size="16">Context: we want to modify an NXtomo in order to append some (raw) darks / flats to it.
|
18
|
+
Then those raw darks and flats will be used for reduced darks / flats calculation.
|
19
|
+
|
20
|
+
warning: reduced darks and flats are usually mean / median of a serie of darks / flats. when raw darks and flats are raw frame before mean / median 'reduction'</text>
|
21
|
+
<text id="1" type="text/plain" rect="(65.0, 360.0, 150.0, 88.0)" font-family="Sans" font-size="16">NXtomo to be patched
|
22
|
+
Step 3 : process NXtomo</text>
|
23
|
+
<text id="2" type="text/plain" rect="(249.0, 355.0, 220.0, 135.0)" font-family="Sans" font-size="16">step1: define frame series to be ignored (here darks and flats series to avoid conflict with the one added by the dark / flat patch)</text>
|
24
|
+
<arrow id="3" start="(130.0, 345.0)" end="(131.0, 286.0)" fill="#C1272D" />
|
25
|
+
<arrow id="4" start="(337.0, 345.0)" end="(336.99999999999994, 283.0)" fill="#C1272D" />
|
26
|
+
<text id="5" type="text/plain" rect="(912.0, 350.0, 233.0, 158.0)" font-family="Sans" font-size="16">result: NXtomo with patched frame (step 2) and reduced darks and flats to be used for reconstruction</text>
|
27
|
+
<arrow id="6" start="(981.9999999999999, 332.0)" end="(982.9999999999999, 278.0)" fill="#C1272D" />
|
28
|
+
<text id="7" type="text/plain" rect="(700.0, 349.0, 183.0, 126.0)" font-family="Sans" font-size="16">standard darks / flats reduction (but taking into account patched darks / flats frames)</text>
|
29
|
+
<arrow id="8" start="(780.0000000000001, 342.0)" end="(782.0000000000001, 296.0)" fill="#C1272D" />
|
30
|
+
<text id="9" type="text/plain" rect="(506.0, 347.0, 150.0, 145.0)" font-family="Sans" font-size="16">step2: provide series of darks / flats from other(s) NXtomo to be added to the `NXtomo to be patched`</text>
|
31
|
+
<arrow id="10" start="(574.0, 338.0)" end="(573.0, 281.0)" fill="#C1272D" />
|
32
|
+
</annotations>
|
33
|
+
<thumbnail />
|
34
|
+
<node_properties>
|
35
|
+
<properties node_id="0" format="literal">{'_ewoks_default_inputs': {'operations': {}}, '_ewoks_execinfo': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x07\xe6\x00\x00\x01\x18\x00\x00\n/\x00\x00\x03-\x00\x00\x07\xeb\x00\x00\x015\x00\x00\n*\x00\x00\x03(\x00\x00\x00\x01\x00\x00\x00\x00\x07\x7f\x00\x00\x07\xeb\x00\x00\x015\x00\x00\n*\x00\x00\x03(', '__version__': 1}</properties>
|
36
|
+
<properties node_id="1" format="literal">{'_urlsSetting': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
37
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': {'DOWHEN': 'before', 'DARKCAL': 'mean', 'DARKOVE': 0, 'DARKRMV': 0, 'DKFILE': 'darkend[0-9]{3,4}', 'REFSCAL': 'median', 'REFSOVE': 0, 'REFSRMV': 0, 'RFFILE': 'ref*.*[0-9]{3,4}_[0-9]{3,4}'}}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x06\x9b\x00\x00\x02K\x00\x00\n\x95\x00\x00\x04\x8f\x00\x00\x06\xa0\x00\x00\x02h\x00\x00\n\x90\x00\x00\x04\x8a\x00\x00\x00\x01\x00\x00\x00\x00\x07\x7f\x00\x00\x06\xa0\x00\x00\x02h\x00\x00\n\x90\x00\x00\x04\x8a', '__version__': 1}</properties>
|
38
|
+
<properties node_id="3" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
39
|
+
<properties node_id="4" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
40
|
+
</node_properties>
|
41
|
+
<session_state>
|
42
|
+
<window_groups />
|
43
|
+
</session_state>
|
44
|
+
</scheme>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="darks and flats copy - method 1" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(-519.0, -209.0)" />
|
5
|
+
<node id="1" name="image-key-upgrader" qualified_name="orangecontrib.tomwer.widgets.edit.ImageKeyUpgraderOW.ImageKeyUpgraderOW" project_name="tomwer" version="" title="image-key-upgrader" position="(-293.0, -209.0)" />
|
6
|
+
<node id="2" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.DarkRefAndCopyOW.DarkRefAndCopyOW" project_name="tomwer" version="" title="reduced darks and flats" position="(65.0, -226.0)" />
|
7
|
+
<node id="3" name="single tomo obj" qualified_name="orangecontrib.tomwer.widgets.control.SingleTomoObjOW.SingleTomoObjOW" project_name="tomwer" version="" title="scan with darks to be used" position="(-79.0, -439.0)" />
|
8
|
+
<node id="4" name="single tomo obj" qualified_name="orangecontrib.tomwer.widgets.control.SingleTomoObjOW.SingleTomoObjOW" project_name="tomwer" version="" title="scan with reduced flats to be used" position="(-191.0, -335.0)" />
|
9
|
+
<node id="5" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector (1)" position="(286.0, -227.0)" />
|
10
|
+
</nodes>
|
11
|
+
<links>
|
12
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
13
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
14
|
+
<link id="2" source_node_id="3" sink_node_id="2" source_channel="reduced dark(s)" sink_channel="reduced dark(s)" enabled="true" source_channel_id="reduced_darks" sink_channel_id="reduced_darks" />
|
15
|
+
<link id="3" source_node_id="4" sink_node_id="2" source_channel="reduced flat(s)" sink_channel="reduced flat(s)" enabled="true" source_channel_id="reduced_flats" sink_channel_id="reduced_flats" />
|
16
|
+
<link id="4" source_node_id="2" sink_node_id="5" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
17
|
+
</links>
|
18
|
+
<annotations>
|
19
|
+
<text id="0" type="text/plain" rect="(-597.0, -79.0, 150.0, 126.0)" font-family="Sans" font-size="16">step2: provide scans for which we need to copy reduced darks and flats</text>
|
20
|
+
<arrow id="1" start="(-522.0, -87.0)" end="(-523.0, -151.0)" fill="#C1272D" />
|
21
|
+
<text id="2" type="text/plain" rect="(-379.0, -87.0, 236.0, 111.0)" font-family="Sans" font-size="16">invalid any existing darks or flats frames (else reduced darks and flats will use them instead of making the copy)</text>
|
22
|
+
<arrow id="3" start="(-293.0, -97.0)" end="(-290.0, -158.0)" fill="#C1272D" />
|
23
|
+
<text id="4" type="text/plain" rect="(-71.0, -96.0, 270.0, 80.0)" font-family="Sans" font-size="16">will copy reduced darks / flats to `dataset_{darks|flats}.hdf5` to be used for reconstruction</text>
|
24
|
+
<arrow id="5" start="(69.99999999999997, -105.0)" end="(69.99999999999997, -156.0)" fill="#C1272D" />
|
25
|
+
<text id="6" type="text/plain" rect="(-390.0, -471.0, 150.0, 107.0)" font-family="Sans" font-size="16">step1: provide scan with already computed darks and flats</text>
|
26
|
+
<arrow id="7" start="(-236.0, -419.0)" end="(-130.0, -428.0)" fill="#C1272D" />
|
27
|
+
<arrow id="8" start="(-277.0, -357.00000000000006)" end="(-228.00000000000003, -333.00000000000006)" fill="#C1272D" />
|
28
|
+
<text id="9" type="text/plain" rect="(241.0, -96.0, 150.0, 88.0)" font-family="Sans" font-size="16">result: scans with copied reduced darks / flats</text>
|
29
|
+
<text id="10" type="text/plain" rect="(-623.0, -603.0, 932.0, 145.0)" font-family="Sans" font-size="16">Context: on this workflow we want to copy reduced flats / darks from a dataset to others.
|
30
|
+
This one of the various way to do this.
|
31
|
+
</text>
|
32
|
+
<text id="11" type="text/plain" rect="(-593.0, 94.0, 919.0, 84.0)" font-family="Sans" font-size="16">Note: You can also replace the two upper widgets (providing reduced darks and flats) by a python script providing a python dictionnary.
|
33
|
+
* Key should be position of the flat / dark in the sequence (so 0 if at the beginning for example)
|
34
|
+
* Value is the 2D numpy array with mean / median /xxx of the darks and flats serie</text>
|
35
|
+
<arrow id="12" start="(288.0, -105.0)" end="(286.0, -165.0)" fill="#C1272D" />
|
36
|
+
</annotations>
|
37
|
+
<thumbnail />
|
38
|
+
<node_properties>
|
39
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
40
|
+
<properties node_id="1" format="pickle">gASVLwEAAAAAAAB9lCiMFV9ld29rc19kZWZhdWx0X2lucHV0c5R9lIwKb3BlcmF0aW9uc5R9lCiM
|
41
|
+
G3RvbW9zY2FuLmVzcmYuc2Nhbi5oZGY1c2NhbpSMCEltYWdlS2V5lJOUSwKFlFKUaAdLA4WUUpRo
|
42
|
+
B0sBhZRSlGgLdXOMD19ld29rc19leGVjaW5mb5R9lIwOX2V3b2tzX3ZhcmluZm+UfZSMEmNvbnRy
|
43
|
+
b2xBcmVhVmlzaWJsZZSIjA5kZWZhdWx0X2lucHV0c5R9lIwTc2F2ZWRXaWRnZXRHZW9tZXRyeZRD
|
44
|
+
QgHZ0MsAAwAAAAAH5gAAARgAAAovAAADLQAAB+sAAAE1AAAKKgAAAygAAAABAAAAAAd/AAAH6wAA
|
45
|
+
ATUAAAoqAAADKJSMC19fdmVyc2lvbl9flEsBdS4=
|
46
|
+
</properties>
|
47
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x07\x0e\x00\x00\x015\x00\x00\x0b\x08\x00\x00\x03\x10\x00\x00\x07\x13\x00\x00\x01R\x00\x00\x0b\x03\x00\x00\x03\x0b\x00\x00\x00\x01\x00\x00\x00\x00\x07\x7f\x00\x00\x07\x13\x00\x00\x01R\x00\x00\x0b\x03\x00\x00\x03\x0b', '__version__': 1}</properties>
|
48
|
+
<properties node_id="3" format="literal">{'_tomo_obj_setting': '', 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
49
|
+
<properties node_id="4" format="literal">{'_tomo_obj_setting': '', 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
50
|
+
<properties node_id="5" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
51
|
+
</node_properties>
|
52
|
+
<session_state>
|
53
|
+
<window_groups />
|
54
|
+
</session_state>
|
55
|
+
</scheme>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="darks and flats copy - method 2" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(-519.0, -209.0)" />
|
5
|
+
<node id="1" name="image-key-upgrader" qualified_name="orangecontrib.tomwer.widgets.edit.ImageKeyUpgraderOW.ImageKeyUpgraderOW" project_name="tomwer" version="" title="image-key-upgrader" position="(-293.0, -209.0)" />
|
6
|
+
<node id="2" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.DarkRefAndCopyOW.DarkRefAndCopyOW" project_name="tomwer" version="" title="reduced darks and flats" position="(62.0, -212.0)" />
|
7
|
+
<node id="3" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector (1)" position="(291.0, -211.0)" />
|
8
|
+
</nodes>
|
9
|
+
<links>
|
10
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
11
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
12
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
13
|
+
</links>
|
14
|
+
<annotations>
|
15
|
+
<text id="0" type="text/plain" rect="(-597.0, -79.0, 150.0, 126.0)" font-family="Sans" font-size="16">step2: provide scans for which we need to copy reduced darks and flats</text>
|
16
|
+
<arrow id="1" start="(-522.0, -87.0)" end="(-523.0, -151.0)" fill="#C1272D" />
|
17
|
+
<text id="2" type="text/plain" rect="(-379.0, -87.0, 236.0, 111.0)" font-family="Sans" font-size="16">invalid any existing darks or flats frames (else reduced darks and flats will use them instead of making the copy)</text>
|
18
|
+
<arrow id="3" start="(-293.0, -97.0)" end="(-290.0, -158.0)" fill="#C1272D" />
|
19
|
+
<text id="4" type="text/plain" rect="(-70.0, -81.0, 270.0, 80.0)" font-family="Sans" font-size="16">will copy reduced darks / flats to `dataset_{darks|flats}.hdf5` to be used for reconstruction</text>
|
20
|
+
<arrow id="5" start="(61.99999999999998, -91.0)" end="(61.99999999999998, -142.0)" fill="#C1272D" />
|
21
|
+
<text id="6" type="text/plain" rect="(-141.0, -427.0, 464.0, 85.0)" font-family="Sans" font-size="16">step1: provide reduced darks and flats from the 'copy' tab,
|
22
|
+
unselecting auto and setting them through `select darks url` and `select flats url`</text>
|
23
|
+
<arrow id="7" start="(57.0, -334.0)" end="(58.99999999999997, -259.00000000000006)" fill="#C1272D" />
|
24
|
+
<text id="8" type="text/plain" rect="(241.0, -94.0, 150.0, 88.0)" font-family="Sans" font-size="16">result: scans with copied reduced darks / flats</text>
|
25
|
+
<text id="9" type="text/plain" rect="(-601.0, -590.0, 932.0, 68.0)" font-family="Sans" font-size="16">Context: on this workflow we want to copy reduced flats / darks from a dataset to others.
|
26
|
+
This one of the various way to do this.
|
27
|
+
</text>
|
28
|
+
<text id="10" type="text/plain" rect="(-593.0, 94.0, 919.0, 84.0)" font-family="Sans" font-size="16">Note: reduced darks / flats can be saved to disk from another python script using the `silx.io.dictdump` dicttoh5 function.
|
29
|
+
Reduced darks and flats are dictionary with index in the sequence as key (so index==0 if the dark / flat serie is done at the beginning) and the reduced darks / flats as value (2D numpy array) </text>
|
30
|
+
<arrow id="11" start="(291.0, -109.0)" end="(290.0, -158.0)" fill="#C1272D" />
|
31
|
+
</annotations>
|
32
|
+
<thumbnail />
|
33
|
+
<node_properties>
|
34
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
35
|
+
<properties node_id="1" format="pickle">gASVLwEAAAAAAAB9lCiMFV9ld29rc19kZWZhdWx0X2lucHV0c5R9lIwKb3BlcmF0aW9uc5R9lCiM
|
36
|
+
G3RvbW9zY2FuLmVzcmYuc2Nhbi5oZGY1c2NhbpSMCEltYWdlS2V5lJOUSwKFlFKUaAdLA4WUUpRo
|
37
|
+
B0sBhZRSlGgLdXOMD19ld29rc19leGVjaW5mb5R9lIwOX2V3b2tzX3ZhcmluZm+UfZSMEmNvbnRy
|
38
|
+
b2xBcmVhVmlzaWJsZZSIjA5kZWZhdWx0X2lucHV0c5R9lIwTc2F2ZWRXaWRnZXRHZW9tZXRyeZRD
|
39
|
+
QgHZ0MsAAwAAAAAH5gAAARgAAAovAAADLQAAB+sAAAE1AAAKKgAAAygAAAABAAAAAAd/AAAH6wAA
|
40
|
+
ATUAAAoqAAADKJSMC19fdmVyc2lvbl9flEsBdS4=
|
41
|
+
</properties>
|
42
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': {'DOWHEN': 'before', 'DARKCAL': 'mean', 'DARKOVE': 0, 'DARKRMV': 0, 'DKFILE': 'darkend[0-9]{3,4}', 'REFSCAL': 'median', 'REFSOVE': 0, 'REFSRMV': 0, 'RFFILE': 'ref*.*[0-9]{3,4}_[0-9]{3,4}'}}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x06\x9b\x00\x00\x02K\x00\x00\n\x95\x00\x00\x04\x8f\x00\x00\x06\xa0\x00\x00\x02h\x00\x00\n\x90\x00\x00\x04\x8a\x00\x00\x00\x01\x00\x00\x00\x00\x07\x7f\x00\x00\x06\xa0\x00\x00\x02h\x00\x00\n\x90\x00\x00\x04\x8a', '__version__': 1}</properties>
|
43
|
+
<properties node_id="3" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
44
|
+
</node_properties>
|
45
|
+
<session_state>
|
46
|
+
<window_groups />
|
47
|
+
</session_state>
|
48
|
+
</scheme>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="default cor search" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(150, 150)" />
|
5
|
+
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.DarkRefAndCopyOW.DarkRefAndCopyOW" project_name="tomwer" version="" title="reduced darks and flats" position="(319.0, 189.0)" />
|
6
|
+
<node id="2" name="default center of rotation" qualified_name="orangecontrib.tomwer.widgets.reconstruction.AxisOW.AxisOW" project_name="tomwer" version="" title="default center of rotation" position="(469.0, 237.0)" />
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(659.0, 325.0)" />
|
8
|
+
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(818.0, 362.0)" />
|
9
|
+
</nodes>
|
10
|
+
<links>
|
11
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
12
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
13
|
+
<link id="2" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
14
|
+
<link id="3" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
15
|
+
</links>
|
16
|
+
<annotations>
|
17
|
+
<text id="0" type="text/plain" rect="(223.0, 32.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">provide dataset</text>
|
18
|
+
<arrow id="1" start="(210.0, 73.0)" end="(159.0, 116.0)" fill="#C1272D" />
|
19
|
+
<text id="2" type="text/plain" rect="(157.0, 304.0, 150.0, 49.0)" font-family="Ubuntu" font-size="16">compute reduced darks and flats</text>
|
20
|
+
<arrow id="3" start="(232.0, 299.0)" end="(290.0, 249.0)" fill="#C1272D" />
|
21
|
+
<arrow id="4" start="(550.0, 149.0)" end="(484.0, 201.0)" fill="#C1272D" />
|
22
|
+
<text id="5" type="text/plain" rect="(552.0, 76.0, 281.0, 72.0)" font-family="Ubuntu" font-size="16">compute center of rotation
|
23
|
+
manually or using one of the numerous existing algorithms</text>
|
24
|
+
<arrow id="6" start="(754.0, 224.00000000000003)" end="(695.0, 277.0)" fill="#C1272D" />
|
25
|
+
<text id="7" type="text/plain" rect="(783.0, 183.0, 150.0, 50.0)" font-family="Ubuntu" font-size="16">reconstruct one or several slices</text>
|
26
|
+
<arrow id="8" start="(739.0, 486.0)" end="(782.0, 429.0)" fill="#C1272D" />
|
27
|
+
<text id="9" type="text/plain" rect="(709.2222222222222, 488.55555555555554, 150.0, 88.0)" font-family="Ubuntu" font-size="16">browse reconstructed slices and browse dataset</text>
|
28
|
+
</annotations>
|
29
|
+
<thumbnail />
|
30
|
+
<node_properties>
|
31
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
32
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
33
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'axis_params': {'MODE': 'manual', 'POSITION_VALUE': None, 'CALC_INPUT_TYPE': 'transmission_nopag', 'ANGLE_MODE': '0-180', 'USE_SINOGRAM': False, 'SINOGRAM_LINE': '', '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': 0.0, 'PADDING_MODE': 'edge', 'FLIP_LR': True, 'COMPOSITE_OPTS': {'theta': 10, 'n_subsampling_y': 10, 'oversampling': 4, 'take_log': True, 'near_pos': 0, 'near_width': 20}, 'SIDE': 'all', 'COR_OPTIONS': ''}, 'gui': {'mode_is_lock': False, 'value_is_lock': False, 'auto_update_estimated_cor': True}}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
34
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
35
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
36
|
+
</node_properties>
|
37
|
+
<session_state>
|
38
|
+
<window_groups />
|
39
|
+
</session_state>
|
40
|
+
</scheme>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="Python script hello world" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="single tomo obj" qualified_name="orangecontrib.tomwer.widgets.control.SingleTomoObjOW.SingleTomoObjOW" project_name="tomwer" version="" title="single tomo obj" position="(215.0, 171.0)" />
|
5
|
+
<node id="1" name="Python Script" qualified_name="orangecontrib.tomwer.widgets.other.PythonScriptOW.OWPythonScript" project_name="tomwer" version="" title="Python Script" position="(395.0, 238.0)" />
|
6
|
+
</nodes>
|
7
|
+
<links>
|
8
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="tomo_obj" sink_channel="data" enabled="true" source_channel_id="tomo_obj" sink_channel_id="data" />
|
9
|
+
</links>
|
10
|
+
<annotations>
|
11
|
+
<arrow id="0" start="(155.0, 343.0)" end="(199.0, 238.0)" fill="#C1272D" />
|
12
|
+
<text id="1" type="text/plain" rect="(22.0, 370.0, 211.0, 103.0)" font-family="Cantarell" font-size="16">1: provide a scan either by:
|
13
|
+
* using the 'select button'
|
14
|
+
* copy-paste a file containing a NXtomo to the interface</text>
|
15
|
+
<arrow id="2" start="(369.0, 406.0)" end="(374.0, 308.0)" fill="#C1272D" />
|
16
|
+
<text id="3" type="text/plain" rect="(329.0, 414.0, 150.0, 70.0)" font-family="Cantarell" font-size="16">2: print some information about this scan</text>
|
17
|
+
</annotations>
|
18
|
+
<thumbnail />
|
19
|
+
<node_properties>
|
20
|
+
<properties node_id="0" format="literal">{'_tomo_obj_setting': '', 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x08C\x00\x00\x02=\x00\x00\r\xb3\x00\x00\x02\xd8\x00\x00\x08C\x00\x00\x02b\x00\x00\r\xb3\x00\x00\x02\xd8\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\x08C\x00\x00\x02b\x00\x00\r\xb3\x00\x00\x02\xd8', '__version__': 1}</properties>
|
21
|
+
<properties node_id="1" format="pickle">gASVKQUAAAAAAAB9lCiMEmNvbnRyb2xBcmVhVmlzaWJsZZSIjBJjdXJyZW50U2NyaXB0SW5kZXiU
|
22
|
+
SwCMEWxpYnJhcnlMaXN0U291cmNllF2UjDFvcmFuZ2Vjb250cmliLnRvbXdlci53aWRnZXRzLm90
|
23
|
+
aGVyLlB5dGhvblNjcmlwdE9XlIwGU2NyaXB0lJOUKYGUfZQojARuYW1llIwLSGVsbG8gd29ybGSU
|
24
|
+
jAZzY3JpcHSUWOgBAABmcm9tIHRvbXdlci5jb3JlLnNjYW4uaGRmNXNjYW4gaW1wb3J0IEhERjVU
|
25
|
+
b21vU2Nhbgpmcm9tIHRvbXdlci5jb3JlLnNjYW4uZWRmc2NhbiBpbXBvcnQgRURGVG9tb1NjYW4K
|
26
|
+
c2NhbiA9IGluX2RhdGEKaWYgaXNpbnN0YW5jZShzY2FuLCBIREY1VG9tb1NjYW4pOgogICAgcHJp
|
27
|
+
bnQoInNjYW4gbWFzdGVyIGZpbGUgaXMiLCBzY2FuLm1hc3Rlcl9maWxlKQplbHNlOgogICAgcHJp
|
28
|
+
bnQoInNjYW4gZGlyZWN0b3J5IGlzIiwgc2Nhbi5wYXRoKQoKcHJpbnQoZiJzY2FuIGhhcyB7bGVu
|
29
|
+
KHNjYW4ucHJvamVjdGlvbnMpfSBwcm9qZWN0aW9ucywge2xlbihzY2FuLmRhcmtzKX0gZGFya3Mg
|
30
|
+
YW5kIHtsZW4oc2Nhbi5mbGF0cyl9IGZsYXRzIikKCnByaW50KGYic2NhbiBlbmVyZ3kgaXMge3Nj
|
31
|
+
YW4uZW5lcmd5fSwgcm90YXRpb24gYW5nbGUgZ29lcyBmcm9tIHttaW4oc2Nhbi5yb3RhdGlvbl9h
|
32
|
+
bmdsZSl9IHRvIHttYXgoc2Nhbi5yb3RhdGlvbl9hbmdsZSl9IGRlZ3JlZXMiKZSMBWZsYWdzlEsA
|
33
|
+
jAhmaWxlbmFtZZROdWJhjBNzYXZlZFdpZGdldEdlb21ldHJ5lENCAdnQywADAAAAAAhKAAAA0wAA
|
34
|
+
DWYAAARRAAAISgAAAPgAAA1mAAAEUQAAAAEAAAAAB4AAAAhKAAAA+AAADWYAAARRlIwKc2NyaXB0
|
35
|
+
VGV4dJRY6AEAAGZyb20gdG9td2VyLmNvcmUuc2Nhbi5oZGY1c2NhbiBpbXBvcnQgSERGNVRvbW9T
|
36
|
+
Y2FuCmZyb20gdG9td2VyLmNvcmUuc2Nhbi5lZGZzY2FuIGltcG9ydCBFREZUb21vU2NhbgpzY2Fu
|
37
|
+
ID0gaW5fZGF0YQppZiBpc2luc3RhbmNlKHNjYW4sIEhERjVUb21vU2Nhbik6CiAgICBwcmludCgi
|
38
|
+
c2NhbiBtYXN0ZXIgZmlsZSBpcyIsIHNjYW4ubWFzdGVyX2ZpbGUpCmVsc2U6CiAgICBwcmludCgi
|
39
|
+
c2NhbiBkaXJlY3RvcnkgaXMiLCBzY2FuLnBhdGgpCgpwcmludChmInNjYW4gaGFzIHtsZW4oc2Nh
|
40
|
+
bi5wcm9qZWN0aW9ucyl9IHByb2plY3Rpb25zLCB7bGVuKHNjYW4uZGFya3MpfSBkYXJrcyBhbmQg
|
41
|
+
e2xlbihzY2FuLmZsYXRzKX0gZmxhdHMiKQoKcHJpbnQoZiJzY2FuIGVuZXJneSBpcyB7c2Nhbi5l
|
42
|
+
bmVyZ3l9LCByb3RhdGlvbiBhbmdsZSBnb2VzIGZyb20ge21pbihzY2FuLnJvdGF0aW9uX2FuZ2xl
|
43
|
+
KX0gdG8ge21heChzY2FuLnJvdGF0aW9uX2FuZ2xlKX0gZGVncmVlcyIplIwNc3BsaXR0ZXJTdGF0
|
44
|
+
ZZROjAtfX3ZlcnNpb25fX5RLAXUu
|
45
|
+
</properties>
|
46
|
+
</node_properties>
|
47
|
+
<session_state>
|
48
|
+
<window_groups />
|
49
|
+
</session_state>
|
50
|
+
</scheme>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="simple slice reconstruction on slurm" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(150, 150)" />
|
5
|
+
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.DarkRefAndCopyOW.DarkRefAndCopyOW" project_name="tomwer" version="" title="reduced darks and flats" position="(324.0, 183.0)" />
|
6
|
+
<node id="2" name="default center of rotation" qualified_name="orangecontrib.tomwer.widgets.reconstruction.AxisOW.AxisOW" project_name="tomwer" version="" title="default center of rotation" position="(490.0, 218.0)" />
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.0)" />
|
8
|
+
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(945.0, 368.0)" />
|
9
|
+
<node id="5" name="slurm cluster" qualified_name="orangecontrib.tomwer.widgets.cluster.SlurmClusterOW.SlurmClusterOW" project_name="tomwer" version="" title="slurm cluster" position="(412.0, 387.0)" />
|
10
|
+
<node id="6" name="future supervisor" qualified_name="orangecontrib.tomwer.widgets.cluster.FutureSupervisorOW.FutureSupervisorOW" project_name="tomwer" version="" title="future supervisor" position="(803.5, 315.5)" />
|
11
|
+
</nodes>
|
12
|
+
<links>
|
13
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
14
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
15
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
16
|
+
<link id="3" source_node_id="5" sink_node_id="3" source_channel="cluster_config" sink_channel="cluster_config" enabled="true" source_channel_id="data_out" sink_channel_id="cluster_in" />
|
17
|
+
<link id="4" source_node_id="3" sink_node_id="6" source_channel="future_tomo_obj" sink_channel="future_tomo_obj" enabled="true" source_channel_id="future_out" sink_channel_id="future_in" />
|
18
|
+
<link id="5" source_node_id="6" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
19
|
+
</links>
|
20
|
+
<annotations>
|
21
|
+
<arrow id="0" start="(267.0, 56.0)" end="(194.0, 105.0)" fill="#C1272D" />
|
22
|
+
<arrow id="1" start="(248.0, 298.0)" end="(292.0, 239.0)" fill="#C1272D" />
|
23
|
+
<arrow id="2" start="(576.0, 108.0)" end="(521.0, 168.0)" fill="#C1272D" />
|
24
|
+
<arrow id="3" start="(647.0, 420.0)" end="(649.0, 328.0)" fill="#C1272D" />
|
25
|
+
<arrow id="4" start="(1013.0, 272.0)" end="(951.0, 322.0)" fill="#C1272D" />
|
26
|
+
<text id="5" type="text/plain" rect="(275.0, 19.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">provide dataset</text>
|
27
|
+
<text id="6" type="text/plain" rect="(187.0, 309.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">compute reduced darks and flats</text>
|
28
|
+
<text id="7" type="text/plain" rect="(596.0, 53.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">compute center of rotation</text>
|
29
|
+
<text id="8" type="text/plain" rect="(557.0, 428.0, 214.0, 94.0)" font-family="Ubuntu" font-size="16">slice reconstruction will be done on slurm as it has a 'slurm cluster' input</text>
|
30
|
+
<text id="9" type="text/plain" rect="(979.4444444444443, 459.11111111111114, 150.0, 88.0)" font-family="Ubuntu" font-size="16">display reconstructed slices and browse dataset</text>
|
31
|
+
<arrow id="10" start="(256.0, 528.0)" end="(341.0, 433.0)" fill="#C1272D" />
|
32
|
+
<text id="11" type="text/plain" rect="(126.0, 534.0, 267.0, 77.0)" font-family="Cantarell" font-size="16">Define the slurm partition to be used for the reconstruction.
|
33
|
+
Warning: you must ask for one GPU</text>
|
34
|
+
<arrow id="12" start="(854.0, 176.0)" end="(817.0, 273.0)" fill="#C1272D" />
|
35
|
+
<text id="13" type="text/plain" rect="(859.0, 112.0, 219.0, 50.0)" font-family="Cantarell" font-size="16">wait for reconstruction to be done over slurm</text>
|
36
|
+
</annotations>
|
37
|
+
<thumbnail />
|
38
|
+
<node_properties>
|
39
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
40
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
41
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'axis_params': {'MODE': 'manual', 'POSITION_VALUE': None, 'CALC_INPUT_TYPE': 'transmission_nopag', 'ANGLE_MODE': '0-180', 'USE_SINOGRAM': False, 'SINOGRAM_LINE': '', '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': 0.0, 'PADDING_MODE': 'edge', 'FLIP_LR': True, 'COMPOSITE_OPTS': {'theta': 10, 'n_subsampling_y': 10, 'oversampling': 4, 'take_log': True, 'near_pos': 0, 'near_width': 20}, 'SIDE': 'all', 'COR_OPTIONS': ''}, 'gui': {'mode_is_lock': False, 'value_is_lock': False, 'auto_update_estimated_cor': True}}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
42
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
43
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
44
|
+
<properties node_id="5" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\nH\x00\x00\x01l\x00\x00\x0c#\x00\x00\x02\xce\x00\x00\nH\x00\x00\x01\x91\x00\x00\x0c#\x00\x00\x02\xce\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\nH\x00\x00\x01\x91\x00\x00\x0c#\x00\x00\x02\xce', '__version__': 1}</properties>
|
45
|
+
<properties node_id="6" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
46
|
+
</node_properties>
|
47
|
+
<session_state>
|
48
|
+
<window_groups />
|
49
|
+
</session_state>
|
50
|
+
</scheme>
|
@@ -12,14 +12,14 @@
|
|
12
12
|
<node id="8" name="future supervisor" qualified_name="orangecontrib.tomwer.widgets.cluster.FutureSupervisorOW.FutureSupervisorOW" project_name="tomwer" version="" title="future supervisor" position="(988.0, 497.75)" />
|
13
13
|
</nodes>
|
14
14
|
<links>
|
15
|
-
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" />
|
16
|
-
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" />
|
17
|
-
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" />
|
18
|
-
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" />
|
19
|
-
<link id="4" source_node_id="3" sink_node_id="5" source_channel="data" sink_channel="data" enabled="true" />
|
20
|
-
<link id="5" source_node_id="7" sink_node_id="5" source_channel="cluster_config" sink_channel="cluster_config" enabled="true" />
|
21
|
-
<link id="6" source_node_id="5" sink_node_id="8" source_channel="future_tomo_obj" sink_channel="future_tomo_obj" enabled="true" />
|
22
|
-
<link id="7" source_node_id="8" sink_node_id="6" source_channel="
|
15
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
16
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
17
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
18
|
+
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
19
|
+
<link id="4" source_node_id="3" sink_node_id="5" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
20
|
+
<link id="5" source_node_id="7" sink_node_id="5" source_channel="cluster_config" sink_channel="cluster_config" enabled="true" source_channel_id="data_out" sink_channel_id="cluster_in" />
|
21
|
+
<link id="6" source_node_id="5" sink_node_id="8" source_channel="future_tomo_obj" sink_channel="future_tomo_obj" enabled="true" source_channel_id="future_out" sink_channel_id="future_in" />
|
22
|
+
<link id="7" source_node_id="8" sink_node_id="6" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
23
23
|
</links>
|
24
24
|
<annotations>
|
25
25
|
<arrow id="0" start="(267.0, 56.0)" end="(194.0, 105.0)" fill="#C1272D" />
|
@@ -40,7 +40,7 @@ def widget_discovery(discovery):
|
|
40
40
|
"orangecontrib.tomwer.widgets.debugtools",
|
41
41
|
"orangecontrib.tomwer.widgets.edit",
|
42
42
|
"orangecontrib.tomwer.widgets.reconstruction",
|
43
|
-
"orangecontrib.tomwer.widgets.stitching",
|
43
|
+
# "orangecontrib.tomwer.widgets.stitching",
|
44
44
|
"orangecontrib.tomwer.widgets.visualization",
|
45
45
|
"orangecontrib.tomwer.widgets.other",
|
46
46
|
]
|
@@ -29,13 +29,15 @@ __date__ = "13/10/2021"
|
|
29
29
|
|
30
30
|
import logging
|
31
31
|
|
32
|
+
from silx.gui import qt
|
33
|
+
|
32
34
|
from orangewidget import gui
|
33
35
|
from orangewidget.settings import Setting
|
34
36
|
from orangewidget.widget import Output, OWBaseWidget
|
35
37
|
|
36
38
|
import tomwer.core.process.cluster.supervisor
|
37
39
|
from tomwer.core.cluster import SlurmClusterConfiguration
|
38
|
-
from tomwer.gui.cluster.slurm import
|
40
|
+
from tomwer.gui.cluster.slurm import SlurmSettingsWindow
|
39
41
|
|
40
42
|
_logger = logging.getLogger(__name__)
|
41
43
|
|
@@ -56,26 +58,26 @@ class SlurmClusterOW(OWBaseWidget, openclass=True):
|
|
56
58
|
want_main_area = True
|
57
59
|
want_control_area = False
|
58
60
|
resizing_enabled = True
|
59
|
-
compress_signal = False
|
60
61
|
|
61
62
|
_ewoks_default_inputs = Setting(dict())
|
62
63
|
|
63
64
|
ewokstaskclass = tomwer.core.process.cluster.supervisor._SupervisorPlaceHolder
|
64
65
|
|
65
66
|
class Outputs:
|
66
|
-
|
67
|
+
config_out = Output(name="cluster_config", type=SlurmClusterConfiguration)
|
67
68
|
|
68
69
|
def __init__(self, parent=None) -> None:
|
69
70
|
super().__init__(parent)
|
70
71
|
layout = gui.vBox(self.mainArea, self.name).layout()
|
71
|
-
self._widget =
|
72
|
+
self._widget = SlurmSettingsWindow(parent=self)
|
73
|
+
self._widget.setWindowFlags(qt.Qt.Widget)
|
72
74
|
layout.addWidget(self._widget)
|
73
75
|
|
74
76
|
if self._ewoks_default_inputs != {}:
|
75
77
|
self._widget.setConfiguration(self._ewoks_default_inputs)
|
76
78
|
|
77
79
|
# trigger the signal to avoid any user request
|
78
|
-
self.Outputs.
|
80
|
+
self.Outputs.config_out.send(self.getConfiguration())
|
79
81
|
|
80
82
|
# connect signal / slot
|
81
83
|
self._widget.sigConfigChanged.connect(self._configurationChanged)
|
@@ -92,7 +94,7 @@ class SlurmClusterOW(OWBaseWidget, openclass=True):
|
|
92
94
|
|
93
95
|
def _configurationChanged(self):
|
94
96
|
slurmClusterconfiguration = self.getConfiguration()
|
95
|
-
self.Outputs.
|
97
|
+
self.Outputs.config_out.send(slurmClusterconfiguration)
|
96
98
|
self._ewoks_default_inputs = slurmClusterconfiguration.to_dict()
|
97
99
|
|
98
100
|
def getConfiguration(self):
|
@@ -48,15 +48,11 @@ class DataDiscoveryOW(widget.OWBaseWidget, WidgetLongProcessing, openclass=True)
|
|
48
48
|
"NXtomo",
|
49
49
|
]
|
50
50
|
|
51
|
-
compress_signal = False
|
52
|
-
|
53
51
|
want_main_area = True
|
54
52
|
want_control_area = False
|
55
53
|
resizing_enabled = True
|
56
54
|
|
57
|
-
|
58
|
-
tomwer.core.process.control.datadiscovery._DataDiscoveryPlaceHolder
|
59
|
-
)
|
55
|
+
ewokstaskclass = tomwer.core.process.control.datadiscovery._DataDiscoveryPlaceHolder
|
60
56
|
|
61
57
|
class Outputs:
|
62
58
|
data = Output(name="data", type=TomwerScanBase, doc="one scan to be process")
|
@@ -94,7 +90,6 @@ class DataDiscoveryOW(widget.OWBaseWidget, WidgetLongProcessing, openclass=True)
|
|
94
90
|
)
|
95
91
|
|
96
92
|
def _updatesettings(self):
|
97
|
-
print("update settings")
|
98
93
|
self.settings = self.getConfiguration()
|
99
94
|
|
100
95
|
# expose some API
|
@@ -90,14 +90,11 @@ class DataListenerOW(
|
|
90
90
|
"NXtomo",
|
91
91
|
]
|
92
92
|
|
93
|
-
allows_cycle = True
|
94
|
-
compress_signal = False
|
95
|
-
|
96
93
|
want_main_area = True
|
97
94
|
want_control_area = False
|
98
95
|
resizing_enabled = True
|
99
96
|
|
100
|
-
|
97
|
+
ewokstaskclass = (
|
101
98
|
tomwer.core.process.control.datalistener.datalistener._DataListenerTaskPlaceHolder
|
102
99
|
)
|
103
100
|
|
@@ -141,6 +138,9 @@ class DataListenerOW(
|
|
141
138
|
# set up
|
142
139
|
self._loadSettings()
|
143
140
|
|
141
|
+
# for conveniance start the listener when create it.
|
142
|
+
self.activate(True)
|
143
|
+
|
144
144
|
def _loadSettings(self):
|
145
145
|
if "bliss_server_configuration" in self._static_input: # pylint: disable=E1135
|
146
146
|
bliss_configuration = self._static_input[ # pylint: disable=E1136
|
@@ -38,7 +38,7 @@ from silx.gui import qt
|
|
38
38
|
import tomwer.core.process.control.scantransfer
|
39
39
|
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
40
40
|
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
41
|
-
from tomwer.core.process.control.scantransfer import
|
41
|
+
from tomwer.core.process.control.scantransfer import ScanTransferTask
|
42
42
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
43
43
|
from tomwer.gui.control.datatransfert import DataTransfertSelector
|
44
44
|
from tomwer.utils import docstring
|
@@ -70,13 +70,12 @@ class DataTransfertOW(SuperviseOW):
|
|
70
70
|
"folder",
|
71
71
|
]
|
72
72
|
|
73
|
-
ewokstaskclass = tomwer.core.process.control.scantransfer.
|
73
|
+
ewokstaskclass = tomwer.core.process.control.scantransfer.ScanTransferTask
|
74
74
|
|
75
75
|
settingsHandler = CallbackSettingsHandler()
|
76
76
|
|
77
77
|
want_main_area = True
|
78
78
|
resizing_enabled = True
|
79
|
-
compress_signal = False
|
80
79
|
|
81
80
|
dest_dir_settings = settings.Setting(str())
|
82
81
|
"""Parameters directly editabled from the TOFU interface"""
|
@@ -100,7 +99,7 @@ class DataTransfertOW(SuperviseOW):
|
|
100
99
|
self._widget = DataTransfertSelector(
|
101
100
|
parent=self,
|
102
101
|
rnice_option=True,
|
103
|
-
default_root_folder=
|
102
|
+
default_root_folder=ScanTransferTask.getDefaultOutputDir(),
|
104
103
|
)
|
105
104
|
self._layout = gui.vBox(self.mainArea, self.name).layout()
|
106
105
|
self._layout.addWidget(self._widget)
|
@@ -152,10 +151,11 @@ class DataTransfertOW(SuperviseOW):
|
|
152
151
|
inputs = {
|
153
152
|
"data": data,
|
154
153
|
"move": move,
|
155
|
-
"
|
154
|
+
"overwrite": force,
|
156
155
|
"noRsync": noRsync,
|
157
156
|
"dest_dir": self._destDir,
|
158
157
|
"block": self._forceSync,
|
158
|
+
"serialize_output_data": False,
|
159
159
|
}
|
160
160
|
thread = ThreadDataTransfer(
|
161
161
|
inputs=inputs,
|
@@ -163,7 +163,7 @@ class DataTransfertOW(SuperviseOW):
|
|
163
163
|
process=self,
|
164
164
|
)
|
165
165
|
try:
|
166
|
-
process =
|
166
|
+
process = ScanTransferTask(inputs=inputs)
|
167
167
|
except Exception as e:
|
168
168
|
logger.error(e)
|
169
169
|
else:
|
@@ -204,7 +204,7 @@ class ThreadDataTransfer(qt.QThread):
|
|
204
204
|
|
205
205
|
def run(self):
|
206
206
|
try:
|
207
|
-
process =
|
207
|
+
process = ScanTransferTask(inputs=self._inputs)
|
208
208
|
process.run()
|
209
209
|
except Exception as e:
|
210
210
|
logger.error(f"data transfer failed. Reason is {e}")
|
@@ -63,9 +63,6 @@ class DataWatcherOW(widget.OWBaseWidget, WidgetLongProcessing, openclass=True):
|
|
63
63
|
priority = 12
|
64
64
|
keywords = ["tomography", "file", "tomwer", "observer", "datawatcher"]
|
65
65
|
|
66
|
-
allows_cycle = True
|
67
|
-
compress_signal = False
|
68
|
-
|
69
66
|
want_main_area = True
|
70
67
|
want_control_area = False
|
71
68
|
resizing_enabled = True
|