tomwer 1.0.3__py3-none-any.whl → 1.1.0__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/EBS_tomo_listener.ows +39 -0
- orangecontrib/tomwer/tutorials/cast_volume.ows +34 -0
- orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +39 -0
- orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows +49 -0
- orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +59 -0
- orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows +44 -0
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +1 -1
- orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +14 -4
- orangecontrib/tomwer/widgets/cluster/__init__.py +1 -1
- orangecontrib/tomwer/widgets/control/DataListOW.py +12 -5
- orangecontrib/tomwer/widgets/control/DataListenerOW.py +18 -9
- orangecontrib/tomwer/widgets/control/DataSelectorOW.py +13 -6
- orangecontrib/tomwer/widgets/control/DataTransfertOW.py +3 -5
- orangecontrib/tomwer/widgets/control/DataValidatorOW.py +8 -4
- orangecontrib/tomwer/widgets/control/DataWatcherOW.py +4 -6
- orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +49 -62
- orangecontrib/tomwer/widgets/control/FilterOW.py +2 -4
- orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +93 -0
- orangecontrib/tomwer/widgets/control/NXTomomillOW.py +135 -129
- orangecontrib/tomwer/widgets/control/NotifierOW.py +34 -9
- orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +3 -5
- orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +19 -13
- orangecontrib/tomwer/widgets/control/VolumeSelector.py +12 -4
- orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +11 -7
- orangecontrib/tomwer/widgets/control/icons/notification.svg +4 -4
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +8 -5
- orangecontrib/tomwer/widgets/control/icons/tomoobjserie.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/tomoobjserie.svg +73 -78
- orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +16 -4
- orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +100 -0
- orangecontrib/tomwer/widgets/edit/icons/image_key_editor.png +0 -0
- orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.png +0 -0
- orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.png +0 -0
- orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.svg +123 -0
- orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +21 -1
- orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +1 -1
- orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +1 -1
- orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +25 -0
- orangecontrib/tomwer/widgets/other/PythonScriptOW.py +19 -11
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +20 -14
- orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +24 -10
- orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +26 -21
- orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +29 -12
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +44 -17
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +28 -20
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +24 -18
- orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +6 -6
- orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +4 -2
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +11 -8
- orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +10 -4
- orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -1
- orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +69 -0
- orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +2 -4
- orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.png +0 -0
- orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.svg +105 -0
- tomwer/__main__.py +10 -5
- tomwer/app/canvas_launcher/config.py +10 -10
- tomwer/app/canvas_launcher/mainwindow.py +68 -6
- tomwer/app/canvas_launcher/widgetsscheme.py +1 -3
- tomwer/app/darkref.py +16 -12
- tomwer/app/imagekeyeditor.py +2 -2
- tomwer/app/imagekeyupgrader.py +104 -0
- tomwer/app/intensitynormalization.py +0 -1
- tomwer/app/nxtomoeditor.py +103 -0
- tomwer/app/rsync.py +1 -1
- tomwer/core/cluster/cluster.py +1 -1
- tomwer/core/futureobject.py +1 -0
- tomwer/core/process/control/datalistener/datalistener.py +7 -1
- tomwer/core/process/control/datalistener/rpcserver.py +3 -4
- tomwer/core/process/control/datawatcher/datawatcher.py +18 -18
- tomwer/core/process/control/datawatcher/datawatcherobserver.py +5 -8
- tomwer/core/process/control/datawatcher/datawatcherprocess.py +2 -3
- tomwer/core/process/control/datawatcher/edfdwprocess.py +2 -2
- tomwer/core/process/control/nxtomomill.py +33 -58
- tomwer/core/process/control/scanlist.py +2 -1
- tomwer/core/process/control/scanselector.py +7 -0
- tomwer/core/process/control/scantransfer.py +2 -2
- tomwer/core/process/control/scanvalidator.py +6 -5
- tomwer/core/process/control/singletomoobj.py +2 -1
- tomwer/core/process/control/timer.py +2 -1
- tomwer/core/process/control/tomoobjserie.py +8 -2
- tomwer/core/process/control/volumeselector.py +2 -1
- tomwer/core/process/control/volumesymlink.py +2 -1
- tomwer/core/process/edit/darkflatpatch.py +2 -1
- tomwer/core/process/edit/imagekeyeditor.py +4 -3
- tomwer/core/process/reconstruction/axis/axis.py +29 -32
- tomwer/core/process/reconstruction/axis/mode.py +3 -2
- tomwer/core/process/reconstruction/axis/params.py +35 -16
- tomwer/core/process/reconstruction/darkref/darkrefs.py +90 -707
- tomwer/core/process/reconstruction/darkref/darkrefscopy.py +44 -16
- tomwer/core/process/reconstruction/darkref/params.py +62 -67
- tomwer/core/process/reconstruction/lamino/tofu.py +1 -2
- tomwer/core/process/reconstruction/nabu/castvolume.py +21 -26
- tomwer/core/process/reconstruction/nabu/nabucommon.py +36 -38
- tomwer/core/process/reconstruction/nabu/nabuscores.py +28 -13
- tomwer/core/process/reconstruction/nabu/nabuslices.py +41 -14
- tomwer/core/process/reconstruction/nabu/nabuvolume.py +21 -12
- tomwer/core/process/reconstruction/nabu/utils.py +32 -3
- tomwer/core/process/reconstruction/normalization/normalization.py +9 -8
- tomwer/core/process/reconstruction/saaxis/saaxis.py +46 -20
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +38 -12
- tomwer/core/process/reconstruction/test/__init__.py +0 -39
- tomwer/core/process/reconstruction/test/test_axis_params.py +25 -3
- tomwer/core/process/reconstruction/test/test_darkref_copy.py +117 -1
- tomwer/core/process/script/python.py +16 -12
- tomwer/core/process/task.py +3 -7
- tomwer/core/process/test/test_axis.py +1 -1
- tomwer/core/process/test/test_dark_and_flat.py +41 -111
- tomwer/core/process/test/test_data_listener.py +0 -29
- tomwer/core/process/test/test_data_transfer.py +10 -14
- tomwer/core/process/test/test_nabu.py +1 -1
- tomwer/core/process/test/test_normalization.py +1 -1
- tomwer/core/process/visualization/liveslice.py +6 -0
- tomwer/core/scan/blissscan.py +37 -2
- tomwer/core/scan/edfscan.py +19 -8
- tomwer/core/scan/hdf5scan.py +10 -4
- tomwer/core/scan/scanbase.py +35 -29
- tomwer/core/scan/scanfactory.py +3 -17
- tomwer/core/scan/test/test_h5.py +1 -1
- tomwer/core/scan/test/test_process_registration.py +0 -11
- tomwer/core/scan/test/test_scan.py +32 -30
- tomwer/core/settings.py +2 -2
- tomwer/core/test/test_utils.py +1 -1
- tomwer/core/tomwer_object.py +19 -0
- tomwer/core/utils/__init__.py +0 -45
- tomwer/core/utils/char.py +2 -0
- tomwer/core/utils/gpu.py +5 -5
- tomwer/core/utils/nxtomoutils.py +2 -2
- tomwer/core/utils/scanutils.py +50 -0
- tomwer/core/utils/volumeutils.py +13 -0
- tomwer/core/volume/edfvolume.py +4 -0
- tomwer/core/volume/hdf5volume.py +4 -0
- tomwer/core/volume/jp2kvolume.py +4 -0
- tomwer/core/volume/rawvolume.py +22 -5
- tomwer/core/volume/tiffvolume.py +4 -0
- tomwer/core/volume/volumebase.py +19 -12
- tomwer/core/volume/volumefactory.py +20 -1
- tomwer/gui/cluster/slurm.py +1 -1
- tomwer/gui/cluster/supervisor.py +0 -2
- tomwer/gui/cluster/test/test_cluster.py +2 -2
- tomwer/gui/control/datalist.py +109 -36
- tomwer/gui/control/datatransfert.py +1 -1
- tomwer/gui/control/datawatcher/configuration.py +0 -2
- tomwer/gui/control/datawatcher/datawatcher.py +23 -13
- tomwer/gui/control/datawatcher/datawatcherobserver.py +1 -1
- tomwer/gui/control/observations.py +0 -3
- tomwer/gui/control/selectorwidgetbase.py +42 -12
- tomwer/gui/control/serie/seriecreator.py +967 -0
- tomwer/{web/__init__.py → gui/control/serie/seriewaiter.py} +5 -7
- tomwer/gui/control/singletomoobj.py +15 -4
- tomwer/gui/control/test/test_datalist.py +1 -1
- tomwer/gui/control/test/test_datalistener.py +1 -1
- tomwer/gui/control/test/test_inputwidget.py +1 -1
- tomwer/gui/control/test/test_process_manager.py +1 -13
- tomwer/gui/control/test/test_scanselector.py +1 -1
- tomwer/gui/control/test/test_scanvalidator.py +1 -1
- tomwer/gui/control/test/test_single_tomo_obj.py +1 -1
- tomwer/gui/control/test/test_volume_dialog.py +19 -7
- tomwer/gui/control/test/test_volumeselector.py +4 -4
- tomwer/gui/debugtools/datasetgenerator.py +1 -9
- tomwer/gui/edit/dkrfpatch.py +2 -3
- tomwer/gui/edit/imagekeyeditor.py +12 -11
- tomwer/gui/edit/nxtomoeditor.py +475 -0
- tomwer/gui/edit/test/test_dkrf_patch.py +2 -14
- tomwer/gui/edit/test/test_image_key_editor.py +2 -2
- tomwer/gui/edit/test/test_nx_editor.py +155 -0
- tomwer/gui/icons.py +0 -1
- tomwer/gui/qfolderdialog.py +11 -0
- tomwer/gui/reconstruction/axis/CompareImages.py +27 -29
- tomwer/gui/reconstruction/axis/axis.py +2 -0
- tomwer/gui/reconstruction/axis/radioaxis.py +70 -14
- tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +7 -9
- tomwer/gui/reconstruction/darkref/darkrefwidget.py +22 -24
- tomwer/gui/reconstruction/lamino/tofu/projections.py +1 -1
- tomwer/gui/reconstruction/lamino/tofu/tofu.py +3 -3
- tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +4 -4
- tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +10 -5
- tomwer/gui/reconstruction/nabu/castvolume.py +103 -24
- tomwer/gui/reconstruction/nabu/check.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +352 -0
- tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +0 -9
- tomwer/gui/reconstruction/nabu/nabuconfig/output.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +18 -19
- tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +30 -7
- tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +26 -15
- tomwer/gui/reconstruction/nabu/slices.py +10 -4
- tomwer/gui/reconstruction/nabu/slurm.py +1 -1
- tomwer/gui/reconstruction/nabu/volume.py +13 -7
- tomwer/gui/reconstruction/normalization/intensity.py +1 -5
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +10 -37
- tomwer/gui/reconstruction/saaxis/saaxis.py +11 -7
- tomwer/gui/reconstruction/saaxis/sliceselector.py +11 -26
- tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +13 -8
- tomwer/gui/reconstruction/scores/scoreplot.py +67 -62
- tomwer/gui/reconstruction/test/test_axis.py +2 -2
- tomwer/gui/reconstruction/test/test_lamino.py +2 -2
- tomwer/gui/reconstruction/test/test_nabu.py +14 -1
- tomwer/gui/reconstruction/test/test_saaxis.py +8 -17
- tomwer/gui/reconstruction/test/test_sadeltabeta.py +7 -13
- tomwer/gui/stackplot.py +11 -28
- tomwer/gui/test/test_axis_gui.py +4 -4
- tomwer/gui/test/test_qfolder_dialog.py +12 -0
- tomwer/gui/utils/inputwidget.py +42 -22
- tomwer/gui/utils/lineselector/lineselector.py +13 -21
- tomwer/gui/utils/scandescription.py +2 -4
- tomwer/gui/utils/slider.py +1 -102
- tomwer/gui/utils/unitsystem.py +48 -11
- tomwer/gui/visualization/dataviewer.py +24 -17
- tomwer/gui/visualization/diffviewer/diffviewer.py +2 -11
- tomwer/gui/visualization/nxtomometadata.py +21 -0
- tomwer/gui/visualization/scanoverview.py +0 -1
- tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +72 -0
- tomwer/gui/visualization/test/test_stacks.py +1 -1
- tomwer/gui/visualization/tomoobjoverview.py +49 -0
- tomwer/gui/visualization/volumeoverview.py +64 -0
- tomwer/gui/visualization/volumeviewer.py +1 -1
- tomwer/io/utils/utils.py +2 -2
- tomwer/resources/gui/icons/multi-document-save.png +0 -0
- tomwer/resources/gui/icons/multi-document-save.svg +101 -0
- tomwer/resources/gui/illustrations/ctf_z1.png +0 -0
- tomwer/resources/gui/illustrations/ctf_z1.svg +471 -0
- tomwer/synctools/axis.py +0 -1
- tomwer/synctools/darkref.py +0 -1
- tomwer/synctools/datalistener.py +5 -1
- tomwer/synctools/imageloaderthread.py +2 -2
- tomwer/synctools/saaxis.py +0 -1
- tomwer/synctools/sadeltabeta.py +0 -1
- tomwer/synctools/stacks/edit/imagekeyeditor.py +1 -1
- tomwer/synctools/stacks/processingstack.py +2 -2
- tomwer/synctools/stacks/reconstruction/castvolume.py +1 -0
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +1 -1
- tomwer/synctools/stacks/reconstruction/lamino.py +1 -3
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +0 -2
- tomwer/synctools/test/test_darkRefs.py +32 -149
- tomwer/synctools/test/test_foldertransfer.py +1 -1
- tomwer/synctools/test/test_scanstages.py +2 -2
- tomwer/tests/conftest.py +51 -0
- tomwer/{test → tests}/test_scripts.py +1 -1
- tomwer/tests/test_utils.py +10 -0
- tomwer/{test → tests}/utils/utilstest.py +0 -11
- tomwer/version.py +3 -3
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/METADATA +14 -16
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/RECORD +255 -235
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/WHEEL +1 -1
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/entry_points.txt +6 -0
- orangecontrib/tomwer/setup.py +0 -45
- orangecontrib/tomwer/widgets/setup.py +0 -49
- tomwer/app/process.py +0 -153
- tomwer/core/process/reconstruction/nabu/slurm.py +0 -36
- tomwer/core/process/reconstruction/utils/nabu_slice_exec.py +0 -10
- tomwer/core/utils/laminoutils.py +0 -80
- tomwer/gui/utils/lineselector/lineselection.py +0 -76
- tomwer/setup.py +0 -52
- tomwer/slurm/executor.py +0 -36
- tomwer/slurm/job.py +0 -349
- tomwer/slurm/utils.py +0 -44
- tomwer/web/client.py +0 -43
- tomwer/web/config.py +0 -36
- tomwer/web/test/test_graylog_connection.py +0 -59
- {tomwer/slurm → orangecontrib/tomwer/tutorials}/__init__.py +0 -0
- /tomwer/{test → gui/control/serie}/__init__.py +0 -0
- /tomwer/{web/test → tests}/__init__.py +0 -0
- /tomwer/{test → tests}/utils/__init__.py +0 -0
- /tomwer-1.0.3-py3.8-nspkg.pth → /tomwer-1.1.0-py3.9-nspkg.pth +0 -0
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/LICENSE +0 -0
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.0.3.dist-info → tomwer-1.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="EBS tomo listener" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="scan listener" qualified_name="orangecontrib.tomwer.widgets.control.DataListenerOW.DataListenerOW" project_name="tomwer" version="" title="scan listener" 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="(358.0, 190.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="(534.0, 226.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="(681.0, 260.0)" />
|
8
|
+
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(846.0, 297.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" />
|
12
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" />
|
13
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" />
|
14
|
+
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" />
|
15
|
+
</links>
|
16
|
+
<annotations>
|
17
|
+
<arrow id="0" start="(212.0, 58.0)" end="(174.0, 101.0)" fill="#C1272D" />
|
18
|
+
<text id="1" type="text/plain" rect="(248.0, 20.0, 202.0, 76.0)" font-family="Ubuntu" font-size="16">wait for bliss scan and create NXtomo</text>
|
19
|
+
<arrow id="2" start="(279.0, 360.0)" end="(332.0, 263.0)" fill="#C1272D" />
|
20
|
+
<text id="3" type="text/plain" rect="(224.0, 379.0, 135.0, 10.0)" font-family="Ubuntu" font-size="16">compute reduced darks and flats</text>
|
21
|
+
<text id="4" type="text/plain" rect="(611.0, 95.0, 114.0, 38.0)" font-family="Ubuntu" font-size="16">compute COR</text>
|
22
|
+
<arrow id="5" start="(616.0, 143.0)" end="(561.0, 183.0)" fill="#C1272D" />
|
23
|
+
<arrow id="6" start="(584.0, 412.0)" end="(642.0, 334.0)" fill="#C1272D" />
|
24
|
+
<text id="7" type="text/plain" rect="(557.0, 427.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">compute slice</text>
|
25
|
+
<text id="8" type="text/plain" rect="(902.0, 152.0, 117.0, 85.0)" font-family="Ubuntu" font-size="16">browse dataset and reconstructed slice(s)</text>
|
26
|
+
<arrow id="9" start="(883.0, 204.0)" end="(845.0, 253.0)" fill="#C1272D" />
|
27
|
+
</annotations>
|
28
|
+
<thumbnail />
|
29
|
+
<node_properties>
|
30
|
+
<properties node_id="0" format="literal">{'_blissConfiguration': {}, '_nxtomo_cfg_file': '', '_static_input': {'nxtomomill_cfg_file': ''}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
31
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
32
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'axis_params': {'MODE': 'sino-sliding-window', 'POSITION_VALUE': None, 'CALC_INPUT_TYPE': 'transmission_nopag', 'ANGLE_MODE': '0-180', 'USE_SINOGRAM': True, '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': 0.0, 'PADDING_MODE': 'edge', 'FLIP_LR': True, 'COMPOSITE_OPTS': {'theta': 10, 'oversampling': 4, 'n_subsampling_y': 10, 'take_log': True, 'near_pos': 0.0, 'near_width': 20}, 'SIDE': 'left', 'COR_OPTIONS': ''}, 'gui': {'mode_is_lock': True, 'value_is_lock': False, 'auto_update_estimated_cor': True}}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\x01k\x00\x00\x00\xac\x00\x00\x06\x01\x00\x00\x03\x8e\x00\x00\x01k\x00\x00\x00\xd1\x00\x00\x06\x01\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x07\x80\x00\x00\x01k\x00\x00\x00\xd1\x00\x00\x06\x01\x00\x00\x03\x8e', '__version__': 1}</properties>
|
33
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
34
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
35
|
+
</node_properties>
|
36
|
+
<session_state>
|
37
|
+
<window_groups />
|
38
|
+
</session_state>
|
39
|
+
</scheme>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="cast volume" description="">
|
3
|
+
<nodes>
|
4
|
+
<node id="0" name="volume selector" qualified_name="orangecontrib.tomwer.widgets.control.VolumeSelector.VolumeSelectorOW" project_name="tomwer" version="" title="volume selector" position="(166.0, 117.0)" />
|
5
|
+
<node id="1" name="cast volume" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CastNabuVolumeOW.CastNabuVolumeOW" project_name="tomwer" version="" title="cast volume" position="(322.0, 186.0)" />
|
6
|
+
<node id="2" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer" position="(532.0, 198.0)" />
|
7
|
+
<node id="3" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer (1)" position="(500.0, 311.0)" />
|
8
|
+
</nodes>
|
9
|
+
<links>
|
10
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="volume" sink_channel="volume" enabled="true" />
|
11
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="volume" sink_channel="volume" enabled="true" />
|
12
|
+
<link id="2" source_node_id="1" sink_node_id="3" source_channel="cast volume" sink_channel="volume" enabled="true" />
|
13
|
+
</links>
|
14
|
+
<annotations>
|
15
|
+
<text id="0" type="text/plain" rect="(15.0, 214.0, 150.0, 31.0)" font-family="Ubuntu" font-size="16">define volume</text>
|
16
|
+
<arrow id="1" start="(67.0, 211.0)" end="(109.0, 160.0)" fill="#C1272D" />
|
17
|
+
<arrow id="2" start="(379.0, 94.0)" end="(341.0, 148.0)" fill="#C1272D" />
|
18
|
+
<text id="3" type="text/plain" rect="(393.0, 64.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">volume casting</text>
|
19
|
+
<text id="4" type="text/plain" rect="(626.0, 110.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">display original volume</text>
|
20
|
+
<text id="5" type="text/plain" rect="(372.0, 418.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">display volume casted</text>
|
21
|
+
<arrow id="6" start="(597.0, 123.0)" end="(555.0, 171.0)" fill="#C1272D" />
|
22
|
+
<arrow id="7" start="(411.0, 410.0)" end="(460.0, 364.0)" fill="#C1272D" />
|
23
|
+
</annotations>
|
24
|
+
<thumbnail />
|
25
|
+
<node_properties>
|
26
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
27
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'cast_volume_params': {}}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
28
|
+
<properties node_id="2" format="literal">{'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
29
|
+
<properties node_id="3" format="literal">{'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
30
|
+
</node_properties>
|
31
|
+
<session_state>
|
32
|
+
<window_groups />
|
33
|
+
</session_state>
|
34
|
+
</scheme>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="simple slice reconstruction" 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="(820.0, 307.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" />
|
12
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" />
|
13
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" />
|
14
|
+
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" />
|
15
|
+
</links>
|
16
|
+
<annotations>
|
17
|
+
<arrow id="0" start="(267.0, 56.0)" end="(194.0, 105.0)" fill="#C1272D" />
|
18
|
+
<arrow id="1" start="(248.0, 298.0)" end="(292.0, 239.0)" fill="#C1272D" />
|
19
|
+
<arrow id="2" start="(576.0, 108.0)" end="(521.0, 168.0)" fill="#C1272D" />
|
20
|
+
<arrow id="3" start="(573.0, 405.0)" end="(625.0, 330.0)" fill="#C1272D" />
|
21
|
+
<arrow id="4" start="(913.0, 208.0)" end="(851.0, 258.0)" fill="#C1272D" />
|
22
|
+
<text id="5" type="text/plain" rect="(275.0, 19.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">provide dataset</text>
|
23
|
+
<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>
|
24
|
+
<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>
|
25
|
+
<text id="8" type="text/plain" rect="(522.0, 423.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">define one or several slice to be reconstructed</text>
|
26
|
+
<text id="9" type="text/plain" rect="(935.0, 174.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">display reconstructed slices and browse dataset</text>
|
27
|
+
</annotations>
|
28
|
+
<thumbnail />
|
29
|
+
<node_properties>
|
30
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
31
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
32
|
+
<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>
|
33
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
34
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
35
|
+
</node_properties>
|
36
|
+
<session_state>
|
37
|
+
<window_groups />
|
38
|
+
</session_state>
|
39
|
+
</scheme>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="simple volume reconstruction (local)" 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="(818.0, 248.0)" />
|
9
|
+
<node id="5" name="nabu volume reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuVolumeOW.NabuVolumeOW" project_name="tomwer" version="" title="nabu volume reconstruction" position="(812.0, 391.0)" />
|
10
|
+
<node id="6" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer" position="(978.0, 424.0)" />
|
11
|
+
</nodes>
|
12
|
+
<links>
|
13
|
+
<link id="0" source_node_id="0" sink_node_id="1" source_channel="data" sink_channel="data" enabled="true" />
|
14
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" />
|
15
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" />
|
16
|
+
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" />
|
17
|
+
<link id="4" source_node_id="3" sink_node_id="5" source_channel="data" sink_channel="data" enabled="true" />
|
18
|
+
<link id="5" source_node_id="5" sink_node_id="6" source_channel="data" sink_channel="data" enabled="true" />
|
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="(573.0, 405.0)" end="(625.0, 330.0)" fill="#C1272D" />
|
25
|
+
<arrow id="4" start="(905.0, 165.99999999999997)" end="(843.0, 215.99999999999997)" 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="(522.0, 423.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">define one or several slice to be reconstructed</text>
|
30
|
+
<text id="9" type="text/plain" rect="(919.0, 121.0, 150.0, 85.0)" font-family="Ubuntu" font-size="16">display reconstructed slices and browse dataset</text>
|
31
|
+
<arrow id="10" start="(716.9999999999999, 512.0)" end="(762.9999999999999, 455.0)" fill="#C1272D" />
|
32
|
+
<arrow id="11" start="(1042.0, 342.0)" end="(1005.0, 380.0)" fill="#C1272D" />
|
33
|
+
<text id="12" type="text/plain" rect="(1066.0, 309.0, 150.0, 67.0)" font-family="Ubuntu" font-size="16">browse reconstructed volume</text>
|
34
|
+
<text id="13" type="text/plain" rect="(690.0, 523.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">reconstruct volume</text>
|
35
|
+
</annotations>
|
36
|
+
<thumbnail />
|
37
|
+
<node_properties>
|
38
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
39
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
40
|
+
<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>
|
41
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
42
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
43
|
+
<properties node_id="5" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_volume_params': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
44
|
+
<properties node_id="6" format="literal">{'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
45
|
+
</node_properties>
|
46
|
+
<session_state>
|
47
|
+
<window_groups />
|
48
|
+
</session_state>
|
49
|
+
</scheme>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="simple volume 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="(818.0, 248.0)" />
|
9
|
+
<node id="5" name="nabu volume reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuVolumeOW.NabuVolumeOW" project_name="tomwer" version="" title="nabu volume reconstruction" position="(812.0, 391.0)" />
|
10
|
+
<node id="6" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer" position="(1136.75, 545.25)" />
|
11
|
+
<node id="7" name="slurm cluster" qualified_name="orangecontrib.tomwer.widgets.cluster.SlurmClusterOW.SlurmClusterOW" project_name="tomwer" version="" title="slurm cluster" position="(648.0, 486.5)" />
|
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
|
+
</nodes>
|
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="volume" sink_channel="volume" enabled="true" />
|
23
|
+
</links>
|
24
|
+
<annotations>
|
25
|
+
<arrow id="0" start="(267.0, 56.0)" end="(194.0, 105.0)" fill="#C1272D" />
|
26
|
+
<arrow id="1" start="(248.0, 298.0)" end="(292.0, 239.0)" fill="#C1272D" />
|
27
|
+
<arrow id="2" start="(576.0, 108.0)" end="(521.0, 168.0)" fill="#C1272D" />
|
28
|
+
<arrow id="3" start="(573.0, 405.0)" end="(625.0, 330.0)" fill="#C1272D" />
|
29
|
+
<arrow id="4" start="(905.0, 165.99999999999997)" end="(843.0, 215.99999999999997)" fill="#C1272D" />
|
30
|
+
<text id="5" type="text/plain" rect="(276.25, 17.75, 150.0, 31.0)" font-family="Ubuntu" font-size="16">provide dataset</text>
|
31
|
+
<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>
|
32
|
+
<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>
|
33
|
+
<text id="8" type="text/plain" rect="(460.75, 416.75, 150.0, 67.0)" font-family="Ubuntu" font-size="16">define one or several slice to be reconstructed</text>
|
34
|
+
<text id="9" type="text/plain" rect="(919.0, 121.0, 150.0, 85.0)" font-family="Ubuntu" font-size="16">display reconstructed slices and browse dataset</text>
|
35
|
+
<arrow id="10" start="(937.0, 320.75)" end="(845.5, 355.0)" fill="#C1272D" />
|
36
|
+
<arrow id="11" start="(1220.75, 472.0)" end="(1183.75, 510.0)" fill="#C1272D" />
|
37
|
+
<text id="12" type="text/plain" rect="(1244.75, 439.0, 150.0, 67.0)" font-family="Ubuntu" font-size="16">browse reconstructed volume</text>
|
38
|
+
<text id="13" type="text/plain" rect="(953.75, 289.25, 150.0, 49.0)" font-family="Ubuntu" font-size="16">reconstruct volume</text>
|
39
|
+
<arrow id="14" start="(578.75, 588.75)" end="(622.5, 523.75)" fill="#C1272D" />
|
40
|
+
<arrow id="15" start="(897.5, 612.5)" end="(948.75, 553.75)" fill="#C1272D" />
|
41
|
+
<text id="16" type="text/plain" rect="(842.5, 611.75, 150.0, 26.0)" font-family="Ubuntu" font-size="16">wait for the slurm job to be finished</text>
|
42
|
+
<text id="17" type="text/plain" rect="(531.25, 583.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">define slurm node to be used</text>
|
43
|
+
</annotations>
|
44
|
+
<thumbnail />
|
45
|
+
<node_properties>
|
46
|
+
<properties node_id="0" format="literal">{'_scanIDs': [], 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
47
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
48
|
+
<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>
|
49
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
50
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
51
|
+
<properties node_id="5" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_volume_params': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
52
|
+
<properties node_id="6" format="literal">{'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
53
|
+
<properties node_id="7" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
54
|
+
<properties node_id="8" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
55
|
+
</node_properties>
|
56
|
+
<session_state>
|
57
|
+
<window_groups />
|
58
|
+
</session_state>
|
59
|
+
</scheme>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<scheme version="2.0" title="using saaxis to find COR" 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="semi-automated center of rotation" qualified_name="orangecontrib.tomwer.widgets.reconstruction.SAAxisOW.SAAxisOW" project_name="tomwer" version="" title="semi-automated center of rotation" position="(605.0, 288.0)" />
|
8
|
+
<node id="4" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(772.0, 340.0)" />
|
9
|
+
<node id="5" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(931.0, 377.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" />
|
13
|
+
<link id="1" source_node_id="1" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" />
|
14
|
+
<link id="2" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" />
|
15
|
+
<link id="3" source_node_id="3" sink_node_id="4" source_channel="data" sink_channel="data" enabled="true" />
|
16
|
+
<link id="4" source_node_id="4" sink_node_id="5" source_channel="data" sink_channel="data" enabled="true" />
|
17
|
+
</links>
|
18
|
+
<annotations>
|
19
|
+
<text id="0" type="text/plain" rect="(223.0, 32.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">provide dataset</text>
|
20
|
+
<arrow id="1" start="(210.0, 73.0)" end="(159.0, 116.0)" fill="#C1272D" />
|
21
|
+
<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>
|
22
|
+
<arrow id="3" start="(232.0, 299.0)" end="(290.0, 249.0)" fill="#C1272D" />
|
23
|
+
<arrow id="4" start="(550.0, 149.0)" end="(484.0, 201.0)" fill="#C1272D" />
|
24
|
+
<text id="5" type="text/plain" rect="(577.0, 114.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">compute center of rotation</text>
|
25
|
+
<arrow id="6" start="(532.0, 427.0)" end="(579.0, 356.0)" fill="#C1272D" />
|
26
|
+
<text id="7" type="text/plain" rect="(465.0, 427.0, 150.0, 31.0)" font-family="Ubuntu" font-size="16">refine COR</text>
|
27
|
+
<arrow id="8" start="(867.0, 239.0)" end="(808.0, 292.0)" fill="#C1272D" />
|
28
|
+
<text id="9" type="text/plain" rect="(896.0, 198.0, 150.0, 26.0)" font-family="Ubuntu" font-size="16">reconstruct one or several slices</text>
|
29
|
+
<arrow id="10" start="(852.0, 501.0)" end="(895.0, 444.0)" fill="#C1272D" />
|
30
|
+
<text id="11" type="text/plain" rect="(822.2222222222223, 503.55555555555554, 150.0, 26.0)" font-family="Ubuntu" font-size="16">browse reconstructed slices and browse dataset</text>
|
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="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
36
|
+
<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>
|
37
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'sa_axis_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
38
|
+
<properties node_id="4" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
39
|
+
<properties node_id="5" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
40
|
+
</node_properties>
|
41
|
+
<session_state>
|
42
|
+
<window_groups />
|
43
|
+
</session_state>
|
44
|
+
</scheme>
|
@@ -57,7 +57,7 @@ class SlurmClusterOW(OWBaseWidget, openclass=True):
|
|
57
57
|
resizing_enabled = True
|
58
58
|
compress_signal = False
|
59
59
|
|
60
|
-
|
60
|
+
_ewoks_default_inputs = Setting(dict())
|
61
61
|
|
62
62
|
ewokstaskclass = tomwer.core.process.cluster.supervisor._SupervisorPlaceHolder
|
63
63
|
|
@@ -70,8 +70,8 @@ class SlurmClusterOW(OWBaseWidget, openclass=True):
|
|
70
70
|
self._widget = SlurmSettingsWidget(parent=self)
|
71
71
|
layout.addWidget(self._widget)
|
72
72
|
|
73
|
-
if self.
|
74
|
-
self._widget.setConfiguration(self.
|
73
|
+
if self._ewoks_default_inputs != {}:
|
74
|
+
self._widget.setConfiguration(self._ewoks_default_inputs)
|
75
75
|
|
76
76
|
# trigger the signal to avoid any user request
|
77
77
|
self.Outputs.data_out.send(self.getConfiguration())
|
@@ -79,10 +79,20 @@ class SlurmClusterOW(OWBaseWidget, openclass=True):
|
|
79
79
|
# connect signal / slot
|
80
80
|
self._widget.sigConfigChanged.connect(self._configurationChanged)
|
81
81
|
|
82
|
+
def __new__(cls, *args, **kwargs):
|
83
|
+
# ensure backward compatibility with 'static_input'
|
84
|
+
static_input = kwargs.get("stored_settings", {}).get("_static_input", None)
|
85
|
+
if static_input not in (None, {}):
|
86
|
+
_logger.warning(
|
87
|
+
"static_input has been deprecated. Will be replaced by _ewoks_default_inputs in the workflow file. Please save the workflow to apply modifications"
|
88
|
+
)
|
89
|
+
kwargs["stored_settings"]["_ewoks_default_inputs"] = static_input
|
90
|
+
return super().__new__(cls, *args, **kwargs)
|
91
|
+
|
82
92
|
def _configurationChanged(self):
|
83
93
|
slurmClusterconfiguration = self.getConfiguration()
|
84
94
|
self.Outputs.data_out.send(slurmClusterconfiguration)
|
85
|
-
self.
|
95
|
+
self._ewoks_default_inputs = slurmClusterconfiguration.to_dict()
|
86
96
|
|
87
97
|
def getConfiguration(self):
|
88
98
|
return self._widget.getSlurmClusterConfiguration()
|
@@ -27,11 +27,10 @@ __authors__ = ["C. Nemoz", "H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "01/12/2016"
|
29
29
|
|
30
|
-
from orangewidget import
|
30
|
+
from orangewidget import gui
|
31
31
|
from silx.gui import qt
|
32
32
|
from tomwer.gui.control.datalist import GenericScanListDialog
|
33
33
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
34
|
-
from tomwer.web.client import OWClient
|
35
34
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
36
35
|
import tomwer.core.process.control.scanlist
|
37
36
|
from orangewidget.settings import Setting
|
@@ -41,7 +40,7 @@ import logging
|
|
41
40
|
logger = logging.getLogger(__name__)
|
42
41
|
|
43
42
|
|
44
|
-
class DataListOW(OWBaseWidget,
|
43
|
+
class DataListOW(OWBaseWidget, openclass=True):
|
45
44
|
name = "scan list"
|
46
45
|
id = "orange.widgets.tomwer.scanlist"
|
47
46
|
description = "List path to reconstructions/scans. Those path will be send to the next box once validated."
|
@@ -72,8 +71,7 @@ class DataListOW(OWBaseWidget, OWClient, openclass=True):
|
|
72
71
|
|
73
72
|
:param parent: the parent widget
|
74
73
|
"""
|
75
|
-
|
76
|
-
OWClient.__init__(self)
|
74
|
+
super().__init__(parent)
|
77
75
|
self.widget = GenericScanListDialog(parent=self)
|
78
76
|
self.widget.sigUpdated.connect(self._updateSettings)
|
79
77
|
self._loadSettings()
|
@@ -117,3 +115,12 @@ class DataListOW(OWBaseWidget, OWClient, openclass=True):
|
|
117
115
|
self._scanIDs = []
|
118
116
|
for scan in self.widget.datalist._myitems:
|
119
117
|
self._scanIDs.append(scan)
|
118
|
+
|
119
|
+
def keyPressEvent(self, event):
|
120
|
+
"""
|
121
|
+
To shortcut orange and make sure the `delete` key will be interpreted we need to overwrite this function
|
122
|
+
"""
|
123
|
+
if event.key() == qt.Qt.Key_Delete:
|
124
|
+
self.widget._removeSelected()
|
125
|
+
else:
|
126
|
+
super().keyPressEvent(event)
|
@@ -143,19 +143,25 @@ class DataListenerOW(
|
|
143
143
|
self._loadSettings()
|
144
144
|
|
145
145
|
def _loadSettings(self):
|
146
|
-
if "bliss_server_configuration" in self._static_input:
|
147
|
-
bliss_configuration = self._static_input[
|
146
|
+
if "bliss_server_configuration" in self._static_input: # pylint: disable=E1135
|
147
|
+
bliss_configuration = self._static_input[ # pylint: disable=E1136
|
148
|
+
"bliss_server_configuration"
|
149
|
+
]
|
148
150
|
else:
|
149
151
|
bliss_configuration = self._blissConfiguration
|
150
152
|
if bliss_configuration != {}:
|
151
153
|
self._widget.setBlissServerConfiguation(bliss_configuration)
|
152
|
-
if "nxtomomill_cfg_file" in self._static_input:
|
153
|
-
nxtomo_cfg_file = self._static_input[
|
154
|
+
if "nxtomomill_cfg_file" in self._static_input: # pylint: disable=E1135
|
155
|
+
nxtomo_cfg_file = self._static_input[ # pylint: disable=E1136
|
156
|
+
"nxtomomill_cfg_file"
|
157
|
+
]
|
154
158
|
else:
|
155
159
|
nxtomo_cfg_file = self._nxtomo_cfg_file
|
156
160
|
self._widget.setCFGFilePath(nxtomo_cfg_file)
|
157
|
-
if "output_dir" in self._static_input:
|
158
|
-
self._widget.setOutputFolder(
|
161
|
+
if "output_dir" in self._static_input: # pylint: disable=E1135
|
162
|
+
self._widget.setOutputFolder(
|
163
|
+
self._static_input["output_dir"] # pylint: disable=E1136
|
164
|
+
)
|
159
165
|
|
160
166
|
def getNXTomomillConfiguration(self):
|
161
167
|
cfg_file = self._widget.getCFGFilePath()
|
@@ -192,6 +198,7 @@ class DataListenerOW(
|
|
192
198
|
bliss_scan.master_file,
|
193
199
|
entry=bliss_scan.entry,
|
194
200
|
outputdir=self._widget.getOutputFolder(),
|
201
|
+
scan=bliss_scan,
|
195
202
|
)
|
196
203
|
if success:
|
197
204
|
self._processingStack.add(data=bliss_scan, configuration=configuration)
|
@@ -252,17 +259,19 @@ class DataListenerOW(
|
|
252
259
|
|
253
260
|
def _jsonRPCConfigChanged(self):
|
254
261
|
self._blissConfiguration = self._widget.getBlissServerConfiguration()
|
255
|
-
self._static_input[
|
262
|
+
self._static_input[ # pylint: disable=E1137
|
256
263
|
"bliss_server_configuration"
|
257
264
|
] = self._widget.getBlissServerConfiguration()
|
258
|
-
self._static_input[
|
265
|
+
self._static_input[ # pylint: disable=E1137
|
266
|
+
"output_dir"
|
267
|
+
] = self._widget.getOutputFolder()
|
259
268
|
if self.is_active():
|
260
269
|
self.activate(False)
|
261
270
|
self.activate(True)
|
262
271
|
|
263
272
|
def _nxtomoFileChanged(self, cfg_file):
|
264
273
|
self._nxtomo_cfg_file = cfg_file
|
265
|
-
self._static_input["nxtomomill_cfg_file"] = cfg_file
|
274
|
+
self._static_input["nxtomomill_cfg_file"] = cfg_file # pylint: disable=E1137
|
266
275
|
|
267
276
|
def setMock(self, mock, acquisitions):
|
268
277
|
self._mock = mock
|
@@ -30,18 +30,17 @@ __date__ = "25/05/2018"
|
|
30
30
|
from silx.gui import qt
|
31
31
|
from orangewidget import gui
|
32
32
|
from orangewidget.widget import Output, Input, OWBaseWidget
|
33
|
-
from tomwer.web.client import OWClient
|
34
33
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
35
34
|
from tomwer.gui.control.scanselectorwidget import ScanSelectorWidget
|
36
35
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
36
|
from orangewidget.settings import Setting
|
38
|
-
import tomwer.core.process.control.
|
37
|
+
import tomwer.core.process.control.scanselector
|
39
38
|
import logging
|
40
39
|
|
41
40
|
logger = logging.getLogger(__name__)
|
42
41
|
|
43
42
|
|
44
|
-
class DataSelectorOW(OWBaseWidget,
|
43
|
+
class DataSelectorOW(OWBaseWidget, openclass=True):
|
45
44
|
name = "scan selector"
|
46
45
|
id = "orange.widgets.tomwer.scanselector"
|
47
46
|
description = (
|
@@ -52,7 +51,7 @@ class DataSelectorOW(OWBaseWidget, OWClient, openclass=True):
|
|
52
51
|
priority = 42
|
53
52
|
keywords = ["tomography", "selection", "tomwer", "scan", "data"]
|
54
53
|
|
55
|
-
ewokstaskclass = tomwer.core.process.control.
|
54
|
+
ewokstaskclass = tomwer.core.process.control.scanselector._ScanSelectorPlaceHolder
|
56
55
|
|
57
56
|
want_main_area = True
|
58
57
|
want_control_area = False
|
@@ -69,8 +68,7 @@ class DataSelectorOW(OWBaseWidget, OWClient, openclass=True):
|
|
69
68
|
|
70
69
|
def __init__(self, parent=None):
|
71
70
|
""" """
|
72
|
-
|
73
|
-
OWClient.__init__(self)
|
71
|
+
super().__init__(parent)
|
74
72
|
|
75
73
|
self.widget = ScanSelectorWidget(parent=self)
|
76
74
|
self._loadSettings()
|
@@ -124,3 +122,12 @@ class DataSelectorOW(OWBaseWidget, OWClient, openclass=True):
|
|
124
122
|
self._scanIDs = []
|
125
123
|
for scan in self.widget.dataList._myitems:
|
126
124
|
self._scanIDs.append(scan)
|
125
|
+
|
126
|
+
def keyPressEvent(self, event):
|
127
|
+
"""
|
128
|
+
To shortcut orange and make sure the `delete` key will be interpreted we need to overwrite this function
|
129
|
+
"""
|
130
|
+
if event.key() == qt.Qt.Key_Delete:
|
131
|
+
self.widget.removeSelectedDatasets()
|
132
|
+
else:
|
133
|
+
super().keyPressEvent(event)
|
@@ -36,7 +36,6 @@ from silx.gui import qt
|
|
36
36
|
import tomwer.core.process.control.scantransfer
|
37
37
|
from tomwer.core.process.control.scantransfer import ScanTransfer
|
38
38
|
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
39
|
-
from tomwer.web.client import OWClient
|
40
39
|
from tomwer.gui.control.datatransfert import DataTransfertSelector
|
41
40
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
42
41
|
from processview.core.manager import ProcessManager, DatasetState
|
@@ -47,7 +46,7 @@ import functools
|
|
47
46
|
logger = logging.getLogger(__name__)
|
48
47
|
|
49
48
|
|
50
|
-
class DataTransfertOW(SuperviseOW
|
49
|
+
class DataTransfertOW(SuperviseOW):
|
51
50
|
"""
|
52
51
|
A simple widget managing the copy of an incoming folder to an other one
|
53
52
|
|
@@ -91,8 +90,7 @@ class DataTransfertOW(SuperviseOW, OWClient):
|
|
91
90
|
data = Output(name="data", type=TomwerScanBase)
|
92
91
|
|
93
92
|
def __init__(self, parent=None):
|
94
|
-
|
95
|
-
OWClient.__init__(self)
|
93
|
+
super().__init__(parent)
|
96
94
|
|
97
95
|
self._destDir = None
|
98
96
|
self._forceSync = False
|
@@ -115,7 +113,7 @@ class DataTransfertOW(SuperviseOW, OWClient):
|
|
115
113
|
if self.dest_dir_settings != "":
|
116
114
|
self._widget.setFolder(self.dest_dir_settings)
|
117
115
|
|
118
|
-
def _requestFolder(self):
|
116
|
+
def _requestFolder(self): # pragma: no cover
|
119
117
|
"""Launch a QFileDialog to ask the user the output directory"""
|
120
118
|
dialog = qt.QFileDialog(self)
|
121
119
|
dialog.setWindowTitle("Destination folder")
|
@@ -157,7 +157,7 @@ class DataValidatorOW(SuperviseOW):
|
|
157
157
|
return self._widget.isValidationManual()
|
158
158
|
|
159
159
|
def _changeReconsParamsEmited(self, scan):
|
160
|
-
self.Outputs.
|
160
|
+
self.Outputs.recons_params_changed.send(scan)
|
161
161
|
|
162
162
|
def _scanReadyEmitted(self, scan):
|
163
163
|
ProcessManager().notify_dataset_state(
|
@@ -167,9 +167,13 @@ class DataValidatorOW(SuperviseOW):
|
|
167
167
|
|
168
168
|
def _updateSettings(self):
|
169
169
|
viewer = self._widget._centralWidget
|
170
|
-
self._viewer_config["mode"] = viewer.getDisplayMode()
|
171
|
-
self._viewer_config[
|
172
|
-
|
170
|
+
self._viewer_config["mode"] = viewer.getDisplayMode() # pylint: disable=E1137
|
171
|
+
self._viewer_config[ # pylint: disable=E1137
|
172
|
+
"slice_opt"
|
173
|
+
] = viewer.getSliceOption()
|
174
|
+
self._viewer_config[ # pylint: disable=E1137
|
175
|
+
"radio_opt"
|
176
|
+
] = viewer.getRadioOption()
|
173
177
|
|
174
178
|
def _setSettings(self, settings):
|
175
179
|
viewer = self._widget._centralWidget
|