tomwer 2.0.0.dev2__py3-none-any.whl → 2.0.0.dev4__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/state_summary.py +1 -1
- orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +1 -1
- orangecontrib/tomwer/tutorials/complete_on_the_fly.ows +73 -0
- orangecontrib/tomwer/tutorials/default_cor_search.ows +1 -1
- orangecontrib/tomwer/tutorials/drac_publication.ows +1 -1
- orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +1 -1
- orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +1 -1
- orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +1 -1
- orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +1 -1
- orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +1 -1
- orangecontrib/tomwer/tutorials/using_multicor_to_find_cor.ows +1 -1
- orangecontrib/tomwer/widgets/cluster/MonitorOW.py +18 -13
- orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +1 -1
- orangecontrib/tomwer/widgets/other/PythonScriptOW.py +1 -1
- orangecontrib/tomwer/widgets/reconstruction/BaseNabuRecOW.py +4 -1
- orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +2 -2
- orangecontrib/tomwer/widgets/reconstruction/MultiCoROW.py +38 -11
- orangecontrib/tomwer/widgets/reconstruction/MultiPagOW.py +170 -69
- orangecontrib/tomwer/widgets/reconstruction/NabuSettingsOW.py +1 -1
- orangecontrib/tomwer/widgets/reconstruction/{NabuOW.py → NabuSlicesOW.py} +20 -25
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +10 -8
- orangecontrib/tomwer/widgets/stitching/StitcherOW.py +1 -1
- orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +8 -2
- tomwer/app/canvas_launcher/mainwindow.py +2 -1
- tomwer/app/multicor.py +4 -5
- tomwer/app/multipag.py +73 -226
- tomwer/app/nabuapp.py +1 -1
- tomwer/core/cluster/__init__.py +0 -2
- tomwer/core/drac/processeddataset.py +1 -1
- tomwer/core/reconstruction/{nabu → common}/NabuBaseReconstructor.py +31 -67
- tomwer/core/reconstruction/common/test/test_NabuBaseReconstructor.py +16 -0
- tomwer/core/reconstruction/{nabu → common}/test/test_nabu_utils.py +1 -1
- tomwer/core/reconstruction/{nabu → common}/test/test_slice_interpreter.py +3 -3
- tomwer/core/reconstruction/{nabu → common}/utils.py +1 -1
- tomwer/core/reconstruction/multi/MultiBaseParams.py +1 -1
- tomwer/core/reconstruction/multi/multipag/params.py +1 -1
- tomwer/core/reconstruction/multi/reconstructions.py +8 -8
- tomwer/core/reconstruction/{nabu/slice → slice}/NabuSliceMode.py +2 -2
- tomwer/core/reconstruction/{nabu/slice → slice}/SingleSliceRunner.py +7 -5
- tomwer/core/reconstruction/{nabu/slice → slice}/SliceInterpreter.py +3 -3
- tomwer/core/reconstruction/{nabu/slice → slice}/slices.py +4 -4
- tomwer/core/reconstruction/{nabu/nabuvolume.py → volume.py} +5 -4
- tomwer/core/scan/scanbase.py +1 -1
- tomwer/core/scan/tests/test_scan.py +1 -1
- tomwer/gui/cluster/slurm.py +1 -1
- tomwer/gui/reconstruction/cor/ControlWidget.py +20 -1
- tomwer/gui/reconstruction/multicor/CoRScorePlot.py +1 -1
- tomwer/gui/reconstruction/multicor/MultiCoRWindow.py +2 -1
- tomwer/gui/reconstruction/multicor/corrangeselector.py +16 -10
- tomwer/gui/reconstruction/multipag/DBScorePlot.py +1 -1
- tomwer/gui/reconstruction/multipag/MultiPagSelectionWidget.py +1 -1
- tomwer/gui/reconstruction/multipag/MultiPagTabWidget.py +6 -3
- tomwer/gui/reconstruction/multipag/{MultiPagWindowBase.py → MultiPagWindow.py} +18 -24
- tomwer/gui/reconstruction/nabu/estimate_motion/mainwindow.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWidget.py +6 -16
- tomwer/gui/reconstruction/nabu/nabuconfig/base.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/output.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +5 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +2 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +4 -4
- tomwer/gui/reconstruction/nabu/nabuconfig/stages.py +1 -1
- tomwer/gui/reconstruction/nabu/nabuflow.py +2 -1
- tomwer/gui/reconstruction/nabu/slices/NabuSlicesWidget.py +2 -2
- tomwer/gui/reconstruction/nabu/slices/SliceGroupBox.py +1 -1
- tomwer/gui/reconstruction/nabu/test/test_cast_volume.py +7 -7
- tomwer/gui/reconstruction/nabu/volume/NabuVolumeWidget.py +1 -1
- tomwer/gui/reconstruction/tests/test_multipag.py +4 -4
- tomwer/gui/utils/reconstruction.py +50 -0
- tomwer/gui/visualization/dataviewer.py +5 -24
- tomwer/gui/visualization/imagestack.py +8 -2
- tomwer/gui/visualization/scanoverview.py +31 -1
- tomwer/models/cluster/slurm_cluster.py +82 -0
- tomwer/models/field_validators/cluster_config.py +14 -0
- tomwer/models/reconstruction/cast_volume.py +22 -3
- tomwer/models/reconstruction/multicor.py +12 -2
- tomwer/models/reconstruction/multipag.py +62 -0
- tomwer/models/reconstruction/nabu_slices.py +21 -17
- tomwer/models/reconstruction/nabu_volume.py +20 -1
- tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
- tomwer/tasks/reconstruction/{nabu/castvolume.py → castvolume.py} +2 -2
- tomwer/tasks/reconstruction/{nabu/multicor.py → multicor.py} +4 -4
- tomwer/tasks/reconstruction/{nabu/multipag.py → multipag.py} +26 -76
- tomwer/tasks/reconstruction/{nabu/nabuvolume.py → nabuvolume.py} +5 -5
- tomwer/tasks/reconstruction/{nabu/slices.py → slices.py} +3 -3
- tomwer/tasks/reconstruction/tests/test_castvolume.py +1 -1
- tomwer/tasks/reconstruction/tests/test_multipag.py +37 -0
- tomwer/tasks/reconstruction/tests/test_nabu.py +2 -2
- tomwer/tasks/reconstruction/tests/test_nabu_estimate_motion.py +1 -1
- tomwer/tasks/reconstruction/tests/test_nabu_multicor.py +1 -1
- tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +1 -1
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py +1 -1
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multipag.py +11 -82
- tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_slices.py +3 -3
- tomwer/tests/test_ewoks/test_conversion.py +2 -2
- tomwer/tests/test_ewoks/test_single_node_execution.py +1 -1
- tomwer/tests/test_ewoks/test_workflows.py +12 -4
- tomwer/version.py +1 -1
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/METADATA +1 -1
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/RECORD +121 -169
- orangecontrib/tomwer/tutorials/darks and flats copy - method 2.ows +0 -42
- orangecontrib/tomwer/tutorials/untitled.ows +0 -15
- orangecontrib/tomwer/widgets/reconstruction/MultiPagWindow.py +0 -153
- tomwer/core/cluster/cluster.py +0 -216
- tomwer/core/reconstruction/normalization/__init__.py +0 -1
- tomwer/core/reconstruction/normalization/params.py +0 -137
- tomwer/models/model/__init__.py +0 -1
- tomwer/models/model/_common/data.py +0 -36
- tomwer/models/model/_common/process.py +0 -12
- tomwer/models/model/_common/tomoobj.py +0 -45
- tomwer/models/model/_common/volume.py +0 -26
- tomwer/models/model/cluster/__init__.py +0 -0
- tomwer/models/model/cluster/future_supervisor.py +0 -23
- tomwer/models/model/conditions/__init__.py +0 -0
- tomwer/models/model/conditions/filters.py +0 -26
- tomwer/models/model/control/__init__.py +0 -0
- tomwer/models/model/control/datadiscovery.py +0 -13
- tomwer/models/model/control/scanselector.py +0 -13
- tomwer/models/model/control/singletomoobj.py +0 -16
- tomwer/models/model/control/volumeselector.py +0 -13
- tomwer/models/model/dataportal/__init__.py +0 -0
- tomwer/models/model/dataportal/publish.py +0 -24
- tomwer/models/model/edit/__init__.py +0 -1
- tomwer/models/model/edit/dark_flat_patch.py +0 -13
- tomwer/models/model/edit/imagekey_editor.py +0 -13
- tomwer/models/model/edit/imagekey_upgrader.py +0 -13
- tomwer/models/model/reconstruction/__init__.py +0 -0
- tomwer/models/model/reconstruction/cast_volume.py +0 -145
- tomwer/models/model/reconstruction/compute_dark_flat.py +0 -56
- tomwer/models/model/reconstruction/copy_reduced_frames.py +0 -140
- tomwer/models/model/reconstruction/cor.py +0 -58
- tomwer/models/model/reconstruction/estimate_motion_io.py +0 -44
- tomwer/models/model/reconstruction/multicor.py +0 -73
- tomwer/models/model/reconstruction/nabu_settings.py +0 -20
- tomwer/models/model/reconstruction/nabu_slices.py +0 -78
- tomwer/models/model/reconstruction/nabu_volume.py +0 -62
- tomwer/models/model/reconstruction/reduced_frames.py +0 -46
- tomwer/models/model/visualization/__init__.py +0 -0
- tomwer/models/model/visualization/dataviewer.py +0 -8
- tomwer/models/model/visualization/volume_viewer.py +0 -23
- tomwer/resources/gui/icons/roman_four.png +0 -0
- tomwer/resources/gui/icons/roman_four.svg +0 -116
- tomwer/resources/gui/icons/roman_one.png +0 -0
- tomwer/resources/gui/icons/roman_one.svg +0 -93
- tomwer/resources/gui/icons/roman_three.png +0 -0
- tomwer/resources/gui/icons/roman_three.svg +0 -114
- tomwer/resources/gui/icons/roman_two.png +0 -0
- tomwer/resources/gui/icons/roman_two.svg +0 -104
- tomwer/synctools/stacks/reconstruction/multipag.py +0 -172
- tomwer/tasks/reconstruction/nabu/__init__.py +0 -1
- tomwer/tasks/reconstruction/normalization.py +0 -293
- tomwer/tasks/reconstruction/tests/test_multidb.py +0 -45
- tomwer/tasks/reconstruction/tests/test_nabu_normalization.py +0 -252
- tomwer-2.0.0.dev2.dist-info/pkg_info +0 -205
- tomwer-2.0.0.dev2.dist-info/sources.txt +0 -1030
- /tomwer/core/reconstruction/{nabu → common}/__init__.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/filter.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/method.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/mode.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/nabucommon.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/padding.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/phase.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/plane.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/ringcorrection.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/settings.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/stages.py +0 -0
- /tomwer/core/reconstruction/{nabu → common}/target.py +0 -0
- /tomwer/core/reconstruction/{nabu/slice → slice}/__init__.py +0 -0
- /tomwer/models/{model/_common → field_validators}/__init__.py +0 -0
- /tomwer/tasks/reconstruction/{nabu/config.py → config.py} +0 -0
- /tomwer/tasks/reconstruction/{nabu/estimate_motion.py → estimate_motion.py} +0 -0
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/WHEEL +0 -0
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/entry_points.txt +0 -0
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/licenses/LICENSE +0 -0
- {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev4.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from orangewidget.utils.signals import PartialSummary, summarize
|
|
2
2
|
|
|
3
|
-
from tomwer.
|
|
3
|
+
from tomwer.models.cluster.slurm_cluster import SlurmClusterConfiguration
|
|
4
4
|
from tomwer.core.futureobject import FutureTomwerObject
|
|
5
5
|
from tomwer.core.scan.blissscan import BlissScan
|
|
6
6
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<node id="0" name="bliss-data listener" qualified_name="orangecontrib.tomwer.widgets.control.BlissDataListenerOW.BlissDataListenerOW" project_name="tomwer" version="" title="scan listener" position="(150, 150)" />
|
|
5
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(296.13186813186815, 180.10989010989013)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(619.0, 258.0)" />
|
|
7
|
-
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(766.0, 292.0)" />
|
|
8
8
|
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(931.0, 329.0)" />
|
|
9
9
|
<node id="5" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(605.0, 400.0)" />
|
|
10
10
|
<node id="6" name="copy reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CopyReducedDarkAndFlatOW.CopyReducedDarkAndFlatOW" project_name="tomwer" version="" title="copy reduced darks and flats" position="(439.8461538461538, 210.30769230769235)" />
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
+
<scheme version="2.0" title="compete on the fly" description="Workflow that goes from scan listener to the final converted volume.">
|
|
3
|
+
<nodes>
|
|
4
|
+
<node id="0" name="Blissdata Listener" qualified_name="orangecontrib.tomwer.widgets.control.BlissDataListenerOW.BlissDataListenerOW" project_name="tomwer" version="" title="scan listener" position="(120.0, 247.0)" />
|
|
5
|
+
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(275.13186813186815, 247.1098901098901)" />
|
|
6
|
+
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(594.0, 248.0)" />
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(766.0, 292.0)" />
|
|
8
|
+
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(932.0, 285.0)" />
|
|
9
|
+
<node id="5" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(596.0, 390.0)" />
|
|
10
|
+
<node id="6" name="copy reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CopyReducedDarkAndFlatOW.CopyReducedDarkAndFlatOW" project_name="tomwer" version="" title="copy reduced darks and flats" position="(433.8461538461538, 246.30769230769238)" />
|
|
11
|
+
<node id="7" name="nabu volume reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuVolumeOW.NabuVolumeOW" project_name="tomwer" version="" title="nabu volume reconstruction" position="(947.0, 395.0)" />
|
|
12
|
+
<node id="8" name="cast volume" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CastNabuVolumeOW.CastNabuVolumeOW" project_name="tomwer" version="" title="cast volume" position="(1280.0, 413.0)" />
|
|
13
|
+
<node id="9" name="Cluster Configuration" qualified_name="orangecontrib.tomwer.widgets.cluster.SlurmClusterOW.SlurmClusterOW" project_name="tomwer" version="" title="Cluster Configuration Volume reconstruction" position="(784.0, 555.0)" />
|
|
14
|
+
<node id="10" name="Cluster monitor" qualified_name="orangecontrib.tomwer.widgets.cluster.MonitorOW.MonitorOW" project_name="tomwer" version="" title="Cluster monitor" position="(1111.0, 403.5)" />
|
|
15
|
+
<node id="11" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer" position="(1098.0, 279.0)" />
|
|
16
|
+
<node id="12" name="Cluster Configuration" qualified_name="orangecontrib.tomwer.widgets.cluster.SlurmClusterOW.SlurmClusterOW" project_name="tomwer" version="" title="Cluster configuration cast volume" position="(1116.0, 559.0)" />
|
|
17
|
+
<node id="13" name="Cluster monitor" qualified_name="orangecontrib.tomwer.widgets.cluster.MonitorOW.MonitorOW" project_name="tomwer" version="" title="Cluster monitor (1)" position="(1445.0, 411.0)" />
|
|
18
|
+
</nodes>
|
|
19
|
+
<links>
|
|
20
|
+
<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" />
|
|
21
|
+
<link id="1" source_node_id="2" sink_node_id="3" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
|
22
|
+
<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" />
|
|
23
|
+
<link id="3" source_node_id="5" sink_node_id="3" source_channel="nabu_params" sink_channel="nabu_params" enabled="true" source_channel_id="nabu_params" sink_channel_id="nabu_params" />
|
|
24
|
+
<link id="4" source_node_id="1" sink_node_id="6" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
|
25
|
+
<link id="5" source_node_id="6" sink_node_id="2" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
|
26
|
+
<link id="6" source_node_id="3" sink_node_id="7" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
|
27
|
+
<link id="7" source_node_id="5" sink_node_id="7" source_channel="nabu_params" sink_channel="nabu_params" enabled="true" source_channel_id="nabu_params" sink_channel_id="nabu_params" />
|
|
28
|
+
<link id="8" source_node_id="9" sink_node_id="7" source_channel="cluster_config" sink_channel="cluster_config" enabled="true" source_channel_id="config_out" sink_channel_id="cluster_config" />
|
|
29
|
+
<link id="9" source_node_id="7" sink_node_id="10" source_channel="future_tomo_obj" sink_channel="future_tomo_obj" enabled="true" source_channel_id="future_out" sink_channel_id="future_tomo_obj" />
|
|
30
|
+
<link id="10" source_node_id="10" sink_node_id="8" source_channel="data" sink_channel="data" enabled="true" source_channel_id="data" sink_channel_id="data" />
|
|
31
|
+
<link id="11" source_node_id="7" sink_node_id="11" source_channel="volume" sink_channel="volume" enabled="true" source_channel_id="volume" sink_channel_id="volume" />
|
|
32
|
+
<link id="12" source_node_id="12" sink_node_id="8" source_channel="cluster_config" sink_channel="cluster_config" enabled="true" source_channel_id="config_out" sink_channel_id="cluster_config" />
|
|
33
|
+
<link id="13" source_node_id="8" sink_node_id="13" source_channel="future_tomo_obj" sink_channel="future_tomo_obj" enabled="true" source_channel_id="future_tomo_obj" sink_channel_id="future_tomo_obj" />
|
|
34
|
+
</links>
|
|
35
|
+
<annotations>
|
|
36
|
+
<arrow id="0" start="(83.53846153846158, 360.61538461538464)" end="(86.07692307692312, 310.5384615384615)" fill="#C1272D" />
|
|
37
|
+
<text id="1" type="text/plain" rect="(29.999999999999943, 369.2307692307693, 202.0, 76.0)" font-family="Ubuntu" font-size="16">wait for bliss scan and create NXtomo</text>
|
|
38
|
+
<arrow id="2" start="(298.9230769230769, 143.0769230769231)" end="(290.0769230769231, 207.30769230769232)" fill="#C1272D" />
|
|
39
|
+
<text id="3" type="text/plain" rect="(287.30769230769226, 55.0, 135.0, 69.0)" font-family="Ubuntu" font-size="16">compute reduced darks and flats</text>
|
|
40
|
+
<text id="4" type="text/plain" rect="(536.0, 76.0, 114.0, 50.0)" font-family="Ubuntu" font-size="16">compute CoR</text>
|
|
41
|
+
<arrow id="5" start="(589.0, 136.0)" end="(587.0, 194.99999999999997)" fill="#C1272D" />
|
|
42
|
+
<arrow id="6" start="(758.9999999999999, 195.0)" end="(760.0, 254.0)" fill="#C1272D" />
|
|
43
|
+
<text id="7" type="text/plain" rect="(680.0, 151.0, 150.0, 31.0)" font-family="Ubuntu" font-size="16">compute slice</text>
|
|
44
|
+
<text id="8" type="text/plain" rect="(897.0, 76.0, 128.0, 89.0)" font-family="Ubuntu" font-size="16">browse dataset and reconstructed slice(s)</text>
|
|
45
|
+
<arrow id="9" start="(941.0, 175.0)" end="(933.0, 237.0)" fill="#C1272D" />
|
|
46
|
+
<arrow id="10" start="(563.0, 536.0)" end="(594.0, 463.0)" fill="#C1272D" />
|
|
47
|
+
<text id="11" type="text/plain" rect="(493.0, 513.0, 150.0, 69.0)" font-family="Sans Serif" font-size="16">define reconstruction settings</text>
|
|
48
|
+
<text id="12" type="text/plain" rect="(296.7692307692307, 382.46153846153845, 150.0, 50.0)" font-family="Sans Serif" font-size="16">copy reduced darks and flats</text>
|
|
49
|
+
<arrow id="13" start="(379.0, 371.0)" end="(403.99999999999994, 319.0)" fill="#C1272D" />
|
|
50
|
+
<text id="14" type="text/plain" rect="(1180.0, 124.0, 150.0, 27.0)" font-family="Cantarell" font-size="16">View reconstructed volume</text>
|
|
51
|
+
<arrow id="15" start="(1162.0, 167.0)" end="(1115.0, 241.0)" fill="#C1272D" />
|
|
52
|
+
</annotations>
|
|
53
|
+
<thumbnail />
|
|
54
|
+
<node_properties>
|
|
55
|
+
<properties node_id="0" format="literal">{'_blissConfiguration': {}, '_nxtomo_cfg_file': '', '_static_input': {'nxtomomill_cfg_file': ''}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
56
|
+
<properties node_id="1" format="literal">{'_ewoks_default_inputs': {'data': None, 'dark_ref_params': None}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\nu\x00\x00\x013\x00\x00\x0b\xf6\x00\x00\x02\x8f\x00\x00\nu\x00\x00\x01X\x00\x00\x0b\xf6\x00\x00\x02\x8f\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\nu\x00\x00\x01X\x00\x00\x0b\xf6\x00\x00\x02\x8f', '__version__': 1}</properties>
|
|
57
|
+
<properties node_id="2" format="literal">{'_ewoks_default_inputs': {'data': None, 'cor_params': {'MODE': 'manual', 'POSITION_VALUE': None, 'CALC_INPUT_TYPE': 'transmission_nopag', 'ANGLE_MODE': '0-180', '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': 5, 'oversampling': 4, 'n_subsampling_y': 40, 'take_log': True, 'near_width': 40}, 'COR_OPTIONS': '', 'MOTOR_OFFSET': 0.0, 'X_ROTATION_AXIS_PIXEL_POSITION': None}, 'gui': {'mode_is_lock': False, 'value_is_lock': False, 'auto_update_estimated_cor': True, 'y_axis_inverted': False}, 'relative_value': None}, '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>
|
|
58
|
+
<properties node_id="3" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': None}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
59
|
+
<properties node_id="4" format="literal">{'_viewer_config': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
60
|
+
<properties node_id="5" format="literal">{'_ewoks_default_inputs': {'nabu_params': {'preproc': {'flatfield': 1, 'double_flatfield': 0, 'dff_sigma': 0.0, 'ccd_filter_enabled': 0, 'ccd_filter_threshold': 0.04, 'take_logarithm': True, 'log_min_clip': 1e-06, 'log_max_clip': 10.0, 'sino_rings_correction': 'None', 'sino_rings_options': 'sigma=1.0 ; levels=10 ; padding=False', 'tilt_correction': '', 'autotilt_options': '', 'normalize_srcurrent': 1, 'rotate_projections_center': ''}, 'reconstruction': {'method': 'FBP', 'angles_file': '', 'axis_correction_file': '', 'angle_offset': 0.0, 'fbp_filter_type': 'ramlak', 'padding_type': 'edges', 'iterations': 200, 'optim_algorithm': 'chambolle-pock', 'regularization_weight': 0.0, 'preconditioning_filter': 1, 'positivity_constraint': 1, 'rotation_axis_position': '', 'translation_movements_file': '', 'clip_outer_circle': 1, 'centered_axis': 1, 'start_x': 0, 'end_x': -1, 'start_y': 0, 'end_y': -1, 'start_z': 0, 'end_z': -1, 'enable_halftomo': 'auto'}, 'dataset': {'binning': 1, 'binning_z': 1, 'projections_subsampling': 1, 'exclude_projections': ''}, 'output': {'file_format': 'hdf5'}, 'phase': {'method': 'None', 'unsharp_coeff': 0, 'unsharp_sigma': 0, 'ctf_geometry': ' z1_v=None; z1_h=None; detec_pixel_size=None; magnification=True', 'beam_shape': 'parallel', 'ctf_advanced_params': ' length_scale=1e-05; lim1=1e-05; lim2=0.2; normalize_by_mean=True'}, 'configuration_level': 'optional'}}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
61
|
+
<properties node_id="6" format="literal">{'_auto_mode': True, '_ewoks_default_inputs': {}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\n\\\x00\x00\x01k\x00\x00\x0c\x0f\x00\x00\x02}\x00\x00\n\\\x00\x00\x01k\x00\x00\x0c\x0f\x00\x00\x02}\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\n\\\x00\x00\x01k\x00\x00\x0c\x0f\x00\x00\x02}', '__version__': 1}</properties>
|
|
62
|
+
<properties node_id="7" format="literal">{'_ewoks_default_inputs': {'data': None, 'nabu_params': {}, 'slurm_settings': {}}, 'controlAreaVisible': True, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
63
|
+
<properties node_id="8" format="literal">{'_ewoks_default_inputs': {}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
64
|
+
<properties node_id="9" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\n\x84\x00\x00\x00\xb1\x00\x00\x0b\xe7\x00\x00\x03\x11\x00\x00\n\x84\x00\x00\x00\xd6\x00\x00\x0b\xe7\x00\x00\x03\x11\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\n\x84\x00\x00\x00\xd6\x00\x00\x0b\xe7\x00\x00\x03\x11', '__version__': 1}</properties>
|
|
65
|
+
<properties node_id="10" format="literal">{'_ewoks_default_inputs': {}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
66
|
+
<properties node_id="11" format="literal">{'_ewoks_default_inputs': {'load_volume': False}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
67
|
+
<properties node_id="12" format="literal">{'_ewoks_default_inputs': {}, 'controlAreaVisible': True, 'savedWidgetGeometry': b'\x01\xd9\xd0\xcb\x00\x03\x00\x00\x00\x00\n\x84\x00\x00\x00\xd6\x00\x00\x0b\xe7\x00\x00\x03\x11\x00\x00\n\x84\x00\x00\x00\xd6\x00\x00\x0b\xe7\x00\x00\x03\x11\x00\x00\x00\x01\x00\x00\x00\x00\x07\x80\x00\x00\n\x84\x00\x00\x00\xd6\x00\x00\x0b\xe7\x00\x00\x03\x11', '__version__': 1}</properties>
|
|
68
|
+
<properties node_id="13" format="literal">{'_ewoks_default_inputs': {}, '_ewoks_execinfo': {}, '_ewoks_task_options': {}, '_ewoks_varinfo': {}, 'controlAreaVisible': True, 'default_inputs': {}, 'savedWidgetGeometry': None, '__version__': 1}</properties>
|
|
69
|
+
</node_properties>
|
|
70
|
+
<session_state>
|
|
71
|
+
<window_groups />
|
|
72
|
+
</session_state>
|
|
73
|
+
</scheme>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
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
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(319.0, 189.0)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" 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.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(659.0, 325.0)" />
|
|
8
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
9
|
<node id="5" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(515.0, 427.0)" />
|
|
10
10
|
</nodes>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
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
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(324.0, 183.0)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" 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.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.0)" />
|
|
8
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
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
10
|
<node id="6" name="volume viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.VolumeViewerOW.VolumeViewerOW" project_name="tomwer" version="" title="volume viewer" position="(986.75, 383.25)" />
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<scheme version="2.0" title="full volume" description="">
|
|
3
3
|
<nodes>
|
|
4
4
|
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(157.0, 160.0)" />
|
|
5
|
-
<node id="1" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.
|
|
5
|
+
<node id="1" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(350.0, 152.0)" />
|
|
6
6
|
<node id="2" name="nabu volume reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuVolumeOW.NabuVolumeOW" project_name="tomwer" version="" title="nabu volume reconstruction" position="(505.0, 151.0)" />
|
|
7
7
|
<node id="3" name="tone notifier" qualified_name="orangecontrib.ewoksnotify.ToneNotifierOW.ToneNotifierOW" project_name="ewoksnotify" version="" title="tone notifier" position="(693.0, 151.0)" />
|
|
8
8
|
<node id="4" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(238.0, 62.0)" />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version='1.0' encoding='utf-8'?>
|
|
2
2
|
<scheme version="2.0" title="insitu" description="">
|
|
3
3
|
<nodes>
|
|
4
|
-
<node id="0" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.
|
|
4
|
+
<node id="0" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(757.6666666666667, 415.66666666666663)" />
|
|
5
5
|
<node id="1" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(625.6666666666667, 415.3333333333335)" />
|
|
6
6
|
<node id="2" name="Python Script" qualified_name="orangecontrib.tomwer.widgets.other.PythonScriptOW.OWPythonScript" project_name="tomwer" version="" title="create volfloat symlink" position="(1048.5555555555557, 553.3333333333333)" />
|
|
7
7
|
<node id="3" name="Python Script" qualified_name="orangecontrib.tomwer.widgets.other.PythonScriptOW.OWPythonScript" project_name="tomwer" version="" title="Python Script (old)" position="(358.6666666666667, 240.5)" />
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<node id="0" name="scan watcher" qualified_name="orangecontrib.tomwer.widgets.control.BlissDataListenerOW.BlissDataListenerOW" project_name="tomwer" version="" title="scan watcher" position="(45.0, 221.0)" />
|
|
5
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="dark and flat field construction" position="(338.0, 228.0)" />
|
|
6
6
|
<node id="2" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(84.0, 57.0)" />
|
|
7
|
-
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(581.0, 344.0)" />
|
|
8
8
|
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(1078.0, 475.0)" />
|
|
9
9
|
<node id="5" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(460.0, 307.0)" />
|
|
10
10
|
<node id="6" name="Python Script" qualified_name="orangecontrib.tomwer.widgets.other.PythonScriptOW.OWPythonScript" project_name="tomwer" version="" title="create volfloat symlink" position="(1053.0, 615.0)" />
|
|
@@ -4,7 +4,7 @@
|
|
|
4
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
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(324.0, 183.0)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" 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.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.0)" />
|
|
8
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
9
|
<node id="5" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(426.0, 355.0)" />
|
|
10
10
|
</nodes>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<node id="0" name="scan selector" qualified_name="orangecontrib.tomwer.widgets.control.DataSelectorOW.DataSelectorOW" project_name="tomwer" version="" title="scan selector" position="(99.99999999999997, 255.71428571428572)" />
|
|
5
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(261.1428571428571, 254.42857142857142)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(384.2857142857143, 255.1428571428571)" />
|
|
7
|
-
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.
|
|
7
|
+
<node id="3" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.0)" />
|
|
8
8
|
<node id="4" name="data viewer" qualified_name="orangecontrib.tomwer.widgets.visualization.DataViewerOW.DataViewerOW" project_name="tomwer" version="" title="data viewer" position="(946.4285714285714, 255.1428571428571)" />
|
|
9
9
|
<node id="5" name="slurm cluster" qualified_name="orangecontrib.tomwer.widgets.cluster.SlurmClusterOW.SlurmClusterOW" project_name="tomwer" version="" title="slurm cluster" position="(480.57142857142856, 369.8571428571429)" />
|
|
10
10
|
<node id="6" name="Cluster monitor" qualified_name="orangecontrib.tomwer.widgets.cluster.MonitorOW.MonitorOW" project_name="tomwer" version="" title="cluster monitor" position="(794.9285714285714, 258.3571428571429)" />
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<node id="1" name="reduced darks and flats" qualified_name="orangecontrib.tomwer.widgets.reconstruction.ComputeReduceDarkAndFlatOW.ComputeReduceDarkAndFlatOW" project_name="tomwer" version="" title="reduced darks and flats" position="(319.0, 189.0)" />
|
|
6
6
|
<node id="2" name="center of rotation finder" qualified_name="orangecontrib.tomwer.widgets.reconstruction.CoROW.CoROW" project_name="tomwer" version="" title="default center of rotation" position="(469.0, 237.0)" />
|
|
7
7
|
<node id="3" name="multi-cor (sa-axis)" qualified_name="orangecontrib.tomwer.widgets.reconstruction.MultiCoROW.MultiCoROW" 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.
|
|
8
|
+
<node id="4" name="nabu slice reconstruction" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSlicesOW.NabuSlicesOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(772.0, 340.0)" />
|
|
9
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
10
|
<node id="6" name="nabu settings" qualified_name="orangecontrib.tomwer.widgets.reconstruction.NabuSettingsOW.NabuSettingsOW" project_name="tomwer" version="" title="nabu settings" position="(450.0, 373.0)" />
|
|
11
11
|
</nodes>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import time
|
|
4
|
+
import weakref
|
|
4
5
|
|
|
5
6
|
from orangewidget import gui
|
|
6
7
|
|
|
@@ -13,7 +14,6 @@ from ewokscore.missing_data import MISSING_DATA
|
|
|
13
14
|
from ewoksorange.gui.orange_utils.signals import Input
|
|
14
15
|
|
|
15
16
|
from processview.core.manager import DatasetState, ProcessManager
|
|
16
|
-
from processview.core.superviseprocess import SuperviseProcess
|
|
17
17
|
from silx.gui import qt
|
|
18
18
|
from silx.gui.utils.concurrent import submitToQtMainThread
|
|
19
19
|
|
|
@@ -67,9 +67,11 @@ class MonitorOW(
|
|
|
67
67
|
# gui
|
|
68
68
|
layout = gui.vBox(self.mainArea, self.name).layout()
|
|
69
69
|
self._widget = FutureTomwerObjectObserverWidget(
|
|
70
|
-
parent=self,
|
|
70
|
+
parent=self,
|
|
71
|
+
name=self.windowTitle(),
|
|
72
|
+
process=self,
|
|
71
73
|
)
|
|
72
|
-
self.set_dynamic_input("process_id", self.
|
|
74
|
+
self.set_dynamic_input("process_id", self.process_id)
|
|
73
75
|
layout.addWidget(self._widget)
|
|
74
76
|
|
|
75
77
|
def handleNewSignals(self) -> None:
|
|
@@ -102,17 +104,19 @@ class MonitorOW(
|
|
|
102
104
|
return super()._output_changed()
|
|
103
105
|
|
|
104
106
|
|
|
105
|
-
class FutureTomwerObjectObserverWidget(
|
|
106
|
-
_FutureTomwerScanObserverWidget, SuperviseProcess
|
|
107
|
-
):
|
|
107
|
+
class FutureTomwerObjectObserverWidget(_FutureTomwerScanObserverWidget):
|
|
108
108
|
"""add dataset state notification (ProcessManager) to the original FutureTomwerScanObserverWidget"""
|
|
109
109
|
|
|
110
110
|
REFRESH_FREQUENCE = 10
|
|
111
111
|
"""time between call to updateView"""
|
|
112
112
|
|
|
113
|
-
def __init__(self, name, parent=None):
|
|
113
|
+
def __init__(self, name, process, parent=None):
|
|
114
|
+
"""
|
|
115
|
+
:param process: Process that 'controls' the futures
|
|
116
|
+
"""
|
|
114
117
|
super().__init__(parent=parent)
|
|
115
118
|
self.name = name
|
|
119
|
+
self.__master_process = weakref.ref(process)
|
|
116
120
|
self._updateThread = _RefreshThread(
|
|
117
121
|
callback=self.updateView, refresh_frequence=self.REFRESH_FREQUENCE
|
|
118
122
|
)
|
|
@@ -168,12 +172,13 @@ class FutureTomwerObjectObserverWidget(
|
|
|
168
172
|
raise ValueError(
|
|
169
173
|
f"future scan status '{future_tomo_obj.status}' is not managed, {type(future_tomo_obj.status)}"
|
|
170
174
|
)
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
if self.__master_process():
|
|
176
|
+
ProcessManager().notify_dataset_state(
|
|
177
|
+
dataset=future_tomo_obj.tomo_obj,
|
|
178
|
+
process=self.__master_process(),
|
|
179
|
+
state=state,
|
|
180
|
+
details=details,
|
|
181
|
+
)
|
|
177
182
|
|
|
178
183
|
def _updateStatus(self, future_tomo_obj):
|
|
179
184
|
self._updateTomoObjSupervisor(future_tomo_obj)
|
|
@@ -8,8 +8,8 @@ from orangewidget import gui
|
|
|
8
8
|
from orangewidget.settings import Setting
|
|
9
9
|
from orangewidget.widget import Output, OWBaseWidget
|
|
10
10
|
|
|
11
|
+
from tomwer.models.cluster.slurm_cluster import SlurmClusterConfiguration
|
|
11
12
|
from tomwer.core.settings import ParametersKeys
|
|
12
|
-
from tomwer.core.cluster import SlurmClusterConfiguration
|
|
13
13
|
from tomwer.gui.cluster.slurm import SlurmSettingsWindow
|
|
14
14
|
|
|
15
15
|
_logger = logging.getLogger(__name__)
|
|
@@ -19,8 +19,8 @@ from silx.gui import qt
|
|
|
19
19
|
from tomoscan.series import Series
|
|
20
20
|
|
|
21
21
|
import tomwer.tasks.script.python
|
|
22
|
+
from tomwer.models.cluster.slurm_cluster import SlurmClusterConfiguration
|
|
22
23
|
from tomwer.core.settings import ParametersKeys
|
|
23
|
-
from tomwer.core.cluster.cluster import SlurmClusterConfiguration
|
|
24
24
|
from tomwer.core.futureobject import FutureTomwerObject
|
|
25
25
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
|
26
26
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from tomwer.
|
|
3
|
+
from tomwer.models.cluster.slurm_cluster import SlurmClusterConfiguration
|
|
4
4
|
from tomwer.core.settings import ParametersKeys
|
|
5
5
|
|
|
6
6
|
|
|
@@ -37,3 +37,6 @@ class BaseNabuRecOW:
|
|
|
37
37
|
def setNabuParams(self, config: dict) -> None:
|
|
38
38
|
assert config is None or isinstance(config, dict)
|
|
39
39
|
self._nabu_params = config
|
|
40
|
+
|
|
41
|
+
def getNabuParams(self) -> dict:
|
|
42
|
+
return self._nabu_params
|
|
@@ -3,14 +3,14 @@ from __future__ import annotations
|
|
|
3
3
|
from orangewidget import gui
|
|
4
4
|
from orangewidget.widget import Input
|
|
5
5
|
|
|
6
|
-
from tomwer.
|
|
6
|
+
from tomwer.models.cluster.slurm_cluster import SlurmClusterConfiguration
|
|
7
7
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
|
8
8
|
from tomwer.core.settings import ParametersKeys
|
|
9
9
|
from tomwer.core.utils.ewoks import filter_missing_data
|
|
10
10
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
|
11
11
|
from tomwer.gui.reconstruction.nabu.castvolume import CastVolumeWidget
|
|
12
12
|
from tomwer.gui.utils.qt_utils import block_signals
|
|
13
|
-
from tomwer.tasks.reconstruction.
|
|
13
|
+
from tomwer.tasks.reconstruction.castvolume import CastVolumeTask
|
|
14
14
|
from orangecontrib.tomwer.orange.task_widgets.TomwerWidgetWithStack import (
|
|
15
15
|
TomwerWidgetWithStack,
|
|
16
16
|
)
|
|
@@ -11,19 +11,20 @@ from orangecontrib.tomwer.orange.task_widgets.TomwerWidgetWithStack import (
|
|
|
11
11
|
|
|
12
12
|
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
|
13
13
|
|
|
14
|
-
import tomwer.tasks.reconstruction.
|
|
14
|
+
import tomwer.tasks.reconstruction.multicor
|
|
15
15
|
from tomwer.tasks.reconstruction.cor import CoRTask
|
|
16
16
|
from tomwer.core.reconstruction.params_cache import (
|
|
17
17
|
save_reconstruction_parameters_to_cache,
|
|
18
18
|
)
|
|
19
19
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
|
20
20
|
from tomwer.core.reconstruction.multi.multicor.multicor import _is_margin_too_large
|
|
21
|
-
from tomwer.core.reconstruction.
|
|
21
|
+
from tomwer.core.reconstruction.common.phase import NabuPhaseMethod
|
|
22
22
|
from tomwer.core.settings import ParametersKeys
|
|
23
23
|
from tomwer.gui.reconstruction.cor.QCoRParams import QCoRParams as _QCoRParams
|
|
24
24
|
from tomwer.gui.reconstruction.multicor.QMultiCoRParams import (
|
|
25
25
|
QMultiCoRParams as _QMultiCoRParams,
|
|
26
26
|
)
|
|
27
|
+
from tomwer.gui.utils.reconstruction import check_nabu_params_are_provided
|
|
27
28
|
from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
|
|
28
29
|
|
|
29
30
|
from processview.core.manager import ProcessManager, DatasetState
|
|
@@ -31,6 +32,7 @@ from processview.core import helpers as pv_helpers
|
|
|
31
32
|
from processview.core.superviseprocess import SuperviseProcess
|
|
32
33
|
|
|
33
34
|
from tomwer.gui.reconstruction.multicor.MultiCoRWindow import MultiCoRWindow
|
|
35
|
+
from ewoksorange.gui.orange_utils.signals import Input
|
|
34
36
|
|
|
35
37
|
_logger = logging.getLogger(__name__)
|
|
36
38
|
|
|
@@ -38,7 +40,7 @@ _logger = logging.getLogger(__name__)
|
|
|
38
40
|
class MultiCoROW(
|
|
39
41
|
TomwerWidgetWithStack,
|
|
40
42
|
SuperviseProcess,
|
|
41
|
-
ewokstaskclass=tomwer.tasks.reconstruction.
|
|
43
|
+
ewokstaskclass=tomwer.tasks.reconstruction.multicor.MultiCoRTask,
|
|
42
44
|
openclass=True,
|
|
43
45
|
):
|
|
44
46
|
"""
|
|
@@ -107,9 +109,19 @@ class MultiCoROW(
|
|
|
107
109
|
"pool_size",
|
|
108
110
|
"platform_resources",
|
|
109
111
|
"process_id",
|
|
112
|
+
"invalid_slice_callback",
|
|
110
113
|
)
|
|
111
114
|
_MARGIN_LIMIT_WARNING = 100
|
|
112
115
|
|
|
116
|
+
class Inputs:
|
|
117
|
+
data = Input(
|
|
118
|
+
name="data",
|
|
119
|
+
type=TomwerScanBase,
|
|
120
|
+
doc="one scan to be process",
|
|
121
|
+
default=True,
|
|
122
|
+
multiple=True,
|
|
123
|
+
)
|
|
124
|
+
|
|
113
125
|
def __init__(self, parent=None):
|
|
114
126
|
"""
|
|
115
127
|
|
|
@@ -130,7 +142,7 @@ class MultiCoROW(
|
|
|
130
142
|
self._widget.sigValidated.connect(self.validate)
|
|
131
143
|
self._widget.sigValidated.connect(self.accept)
|
|
132
144
|
self._widget._multicorControl.sigComputationRequest.connect(
|
|
133
|
-
self.
|
|
145
|
+
self.execute_ewoks_task_without_propagation
|
|
134
146
|
)
|
|
135
147
|
self._widget._multicorControl.sigComputationRequest.connect(
|
|
136
148
|
self._widget.showResults
|
|
@@ -154,13 +166,13 @@ class MultiCoROW(
|
|
|
154
166
|
}
|
|
155
167
|
)
|
|
156
168
|
|
|
157
|
-
def
|
|
169
|
+
def execute_ewoks_task_without_propagation(self):
|
|
158
170
|
if self._checkCancelProcessingForMargins():
|
|
159
171
|
_logger.info(
|
|
160
172
|
"Multi-cor reconstruction cancelled by the user because of phasing / margins warning"
|
|
161
173
|
)
|
|
162
174
|
return
|
|
163
|
-
|
|
175
|
+
super().execute_ewoks_task_without_propagation() # propagation is handle once processing is done to handle interactive of auto modes
|
|
164
176
|
|
|
165
177
|
def _updateSettings(self):
|
|
166
178
|
self.set_default_input(
|
|
@@ -186,6 +198,10 @@ class MultiCoROW(
|
|
|
186
198
|
def setConfiguration(self, configuration):
|
|
187
199
|
self._widget.setConfiguration(configuration)
|
|
188
200
|
|
|
201
|
+
@Inputs.data
|
|
202
|
+
def _scanReceived(self, scan):
|
|
203
|
+
self.process(scan=scan)
|
|
204
|
+
|
|
189
205
|
def process(self, scan):
|
|
190
206
|
"""
|
|
191
207
|
call when a new scan is received
|
|
@@ -196,6 +212,12 @@ class MultiCoROW(
|
|
|
196
212
|
scan.cor_params = _QCoRParams()
|
|
197
213
|
if scan.multicor_params is None:
|
|
198
214
|
scan.multicor_params = _QMultiCoRParams()
|
|
215
|
+
if not check_nabu_params_are_provided(
|
|
216
|
+
nabu_params=self.get_task_input_value("nabu_params"),
|
|
217
|
+
process=self,
|
|
218
|
+
tomo_obj=scan,
|
|
219
|
+
):
|
|
220
|
+
return
|
|
199
221
|
# clear interface
|
|
200
222
|
self._widget.clearResults()
|
|
201
223
|
self.set_dynamic_input("data", scan)
|
|
@@ -391,11 +413,6 @@ class MultiCoROW(
|
|
|
391
413
|
self.show()
|
|
392
414
|
self._widget.showResults()
|
|
393
415
|
|
|
394
|
-
def handleNewSignals(self):
|
|
395
|
-
scan = self.get_task_input_value("data", None)
|
|
396
|
-
if scan is not None:
|
|
397
|
-
self.process(scan)
|
|
398
|
-
|
|
399
416
|
def _output_changed(self):
|
|
400
417
|
self._updateAccordingToResult()
|
|
401
418
|
return super()._output_changed()
|
|
@@ -419,3 +436,13 @@ class MultiCoROW(
|
|
|
419
436
|
|
|
420
437
|
def isAutoFocusLock(self):
|
|
421
438
|
return self._widget.isAutoFocusLock()
|
|
439
|
+
|
|
440
|
+
def handleNewSignals(self) -> None:
|
|
441
|
+
"""
|
|
442
|
+
in order to handle https://gitlab.esrf.fr/workflow/ewoks/ewoksorange/-/issues/60
|
|
443
|
+
we need to overwrite the Inputs.data and overwrite the 'handleNewSignals' function.
|
|
444
|
+
|
|
445
|
+
The Inputs.data is used to make sure the task is executed each time the value of a link is changed.
|
|
446
|
+
The overwrite of `handleNewSignals` is to make sure we won't trigger one extra time the widget.
|
|
447
|
+
"""
|
|
448
|
+
pass
|