tomwer 2.0.0.dev2__py3-none-any.whl → 2.0.0.dev3__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.
Files changed (159) hide show
  1. orangecontrib/tomwer/state_summary.py +1 -1
  2. orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +1 -1
  3. orangecontrib/tomwer/tutorials/complete_on_the_fly.ows +73 -0
  4. orangecontrib/tomwer/tutorials/default_cor_search.ows +1 -1
  5. orangecontrib/tomwer/tutorials/drac_publication.ows +1 -1
  6. orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +1 -1
  7. orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +1 -1
  8. orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +1 -1
  9. orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +1 -1
  10. orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +1 -1
  11. orangecontrib/tomwer/tutorials/using_multicor_to_find_cor.ows +1 -1
  12. orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +1 -1
  13. orangecontrib/tomwer/widgets/other/PythonScriptOW.py +1 -1
  14. orangecontrib/tomwer/widgets/reconstruction/BaseNabuRecOW.py +4 -1
  15. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +2 -2
  16. orangecontrib/tomwer/widgets/reconstruction/MultiCoROW.py +38 -11
  17. orangecontrib/tomwer/widgets/reconstruction/MultiPagOW.py +170 -69
  18. orangecontrib/tomwer/widgets/reconstruction/NabuSettingsOW.py +1 -1
  19. orangecontrib/tomwer/widgets/reconstruction/{NabuOW.py → NabuSlicesOW.py} +20 -25
  20. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +10 -8
  21. orangecontrib/tomwer/widgets/stitching/StitcherOW.py +1 -1
  22. tomwer/app/canvas_launcher/mainwindow.py +2 -1
  23. tomwer/app/multicor.py +4 -5
  24. tomwer/app/multipag.py +73 -226
  25. tomwer/app/nabuapp.py +1 -1
  26. tomwer/core/cluster/__init__.py +0 -2
  27. tomwer/core/drac/processeddataset.py +1 -1
  28. tomwer/core/reconstruction/{nabu → common}/NabuBaseReconstructor.py +6 -66
  29. tomwer/core/reconstruction/{nabu → common}/test/test_nabu_utils.py +1 -1
  30. tomwer/core/reconstruction/{nabu → common}/test/test_slice_interpreter.py +3 -3
  31. tomwer/core/reconstruction/{nabu → common}/utils.py +1 -1
  32. tomwer/core/reconstruction/multi/MultiBaseParams.py +1 -1
  33. tomwer/core/reconstruction/multi/multipag/params.py +1 -1
  34. tomwer/core/reconstruction/multi/reconstructions.py +8 -8
  35. tomwer/core/reconstruction/{nabu/slice → slice}/NabuSliceMode.py +2 -2
  36. tomwer/core/reconstruction/{nabu/slice → slice}/SingleSliceRunner.py +7 -5
  37. tomwer/core/reconstruction/{nabu/slice → slice}/SliceInterpreter.py +3 -3
  38. tomwer/core/reconstruction/{nabu/slice → slice}/slices.py +4 -4
  39. tomwer/core/reconstruction/{nabu/nabuvolume.py → volume.py} +5 -4
  40. tomwer/core/scan/scanbase.py +1 -1
  41. tomwer/core/scan/tests/test_scan.py +1 -1
  42. tomwer/gui/cluster/slurm.py +1 -1
  43. tomwer/gui/reconstruction/multicor/CoRScorePlot.py +1 -1
  44. tomwer/gui/reconstruction/multicor/MultiCoRWindow.py +2 -1
  45. tomwer/gui/reconstruction/multicor/corrangeselector.py +16 -10
  46. tomwer/gui/reconstruction/multipag/DBScorePlot.py +1 -1
  47. tomwer/gui/reconstruction/multipag/MultiPagSelectionWidget.py +1 -1
  48. tomwer/gui/reconstruction/multipag/MultiPagTabWidget.py +6 -3
  49. tomwer/gui/reconstruction/multipag/{MultiPagWindowBase.py → MultiPagWindow.py} +18 -24
  50. tomwer/gui/reconstruction/nabu/estimate_motion/mainwindow.py +1 -1
  51. tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWidget.py +1 -1
  52. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +1 -1
  53. tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +1 -1
  54. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +1 -1
  55. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +1 -1
  56. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +5 -2
  57. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +2 -2
  58. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +4 -4
  59. tomwer/gui/reconstruction/nabu/nabuconfig/stages.py +1 -1
  60. tomwer/gui/reconstruction/nabu/nabuflow.py +1 -1
  61. tomwer/gui/reconstruction/nabu/slices/NabuSlicesWidget.py +2 -2
  62. tomwer/gui/reconstruction/nabu/slices/SliceGroupBox.py +1 -1
  63. tomwer/gui/reconstruction/nabu/volume/NabuVolumeWidget.py +1 -1
  64. tomwer/gui/reconstruction/tests/test_multipag.py +4 -4
  65. tomwer/gui/utils/reconstruction.py +50 -0
  66. tomwer/models/cluster/slurm_cluster.py +82 -0
  67. tomwer/models/field_validators/cluster_config.py +14 -0
  68. tomwer/models/reconstruction/cast_volume.py +11 -1
  69. tomwer/models/reconstruction/multicor.py +12 -2
  70. tomwer/models/reconstruction/multipag.py +62 -0
  71. tomwer/models/reconstruction/nabu_slices.py +12 -17
  72. tomwer/models/reconstruction/nabu_volume.py +11 -1
  73. tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
  74. tomwer/tasks/reconstruction/{nabu/castvolume.py → castvolume.py} +2 -2
  75. tomwer/tasks/reconstruction/{nabu/multicor.py → multicor.py} +4 -4
  76. tomwer/tasks/reconstruction/{nabu/multipag.py → multipag.py} +26 -76
  77. tomwer/tasks/reconstruction/{nabu/nabuvolume.py → nabuvolume.py} +5 -5
  78. tomwer/tasks/reconstruction/{nabu/slices.py → slices.py} +3 -3
  79. tomwer/tasks/reconstruction/tests/test_castvolume.py +1 -1
  80. tomwer/tasks/reconstruction/tests/test_multipag.py +37 -0
  81. tomwer/tasks/reconstruction/tests/test_nabu.py +2 -2
  82. tomwer/tasks/reconstruction/tests/test_nabu_estimate_motion.py +1 -1
  83. tomwer/tasks/reconstruction/tests/test_nabu_multicor.py +1 -1
  84. tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +1 -1
  85. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multipag.py +11 -82
  86. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_slices.py +3 -3
  87. tomwer/tests/test_ewoks/test_conversion.py +2 -2
  88. tomwer/tests/test_ewoks/test_single_node_execution.py +1 -1
  89. tomwer/tests/test_ewoks/test_workflows.py +2 -2
  90. tomwer/version.py +1 -1
  91. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.dist-info}/METADATA +1 -1
  92. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.dist-info}/RECORD +112 -153
  93. orangecontrib/tomwer/tutorials/darks and flats copy - method 2.ows +0 -42
  94. orangecontrib/tomwer/tutorials/untitled.ows +0 -15
  95. orangecontrib/tomwer/widgets/reconstruction/MultiPagWindow.py +0 -153
  96. tomwer/core/cluster/cluster.py +0 -216
  97. tomwer/core/reconstruction/normalization/__init__.py +0 -1
  98. tomwer/core/reconstruction/normalization/params.py +0 -137
  99. tomwer/models/model/__init__.py +0 -1
  100. tomwer/models/model/_common/data.py +0 -36
  101. tomwer/models/model/_common/process.py +0 -12
  102. tomwer/models/model/_common/tomoobj.py +0 -45
  103. tomwer/models/model/_common/volume.py +0 -26
  104. tomwer/models/model/cluster/__init__.py +0 -0
  105. tomwer/models/model/cluster/future_supervisor.py +0 -23
  106. tomwer/models/model/conditions/__init__.py +0 -0
  107. tomwer/models/model/conditions/filters.py +0 -26
  108. tomwer/models/model/control/__init__.py +0 -0
  109. tomwer/models/model/control/datadiscovery.py +0 -13
  110. tomwer/models/model/control/scanselector.py +0 -13
  111. tomwer/models/model/control/singletomoobj.py +0 -16
  112. tomwer/models/model/control/volumeselector.py +0 -13
  113. tomwer/models/model/dataportal/__init__.py +0 -0
  114. tomwer/models/model/dataportal/publish.py +0 -24
  115. tomwer/models/model/edit/__init__.py +0 -1
  116. tomwer/models/model/edit/dark_flat_patch.py +0 -13
  117. tomwer/models/model/edit/imagekey_editor.py +0 -13
  118. tomwer/models/model/edit/imagekey_upgrader.py +0 -13
  119. tomwer/models/model/reconstruction/__init__.py +0 -0
  120. tomwer/models/model/reconstruction/cast_volume.py +0 -145
  121. tomwer/models/model/reconstruction/compute_dark_flat.py +0 -56
  122. tomwer/models/model/reconstruction/copy_reduced_frames.py +0 -140
  123. tomwer/models/model/reconstruction/cor.py +0 -58
  124. tomwer/models/model/reconstruction/estimate_motion_io.py +0 -44
  125. tomwer/models/model/reconstruction/multicor.py +0 -73
  126. tomwer/models/model/reconstruction/nabu_settings.py +0 -20
  127. tomwer/models/model/reconstruction/nabu_slices.py +0 -78
  128. tomwer/models/model/reconstruction/nabu_volume.py +0 -62
  129. tomwer/models/model/reconstruction/reduced_frames.py +0 -46
  130. tomwer/models/model/visualization/__init__.py +0 -0
  131. tomwer/models/model/visualization/dataviewer.py +0 -8
  132. tomwer/models/model/visualization/volume_viewer.py +0 -23
  133. tomwer/synctools/stacks/reconstruction/multipag.py +0 -172
  134. tomwer/tasks/reconstruction/nabu/__init__.py +0 -1
  135. tomwer/tasks/reconstruction/normalization.py +0 -293
  136. tomwer/tasks/reconstruction/tests/test_multidb.py +0 -45
  137. tomwer/tasks/reconstruction/tests/test_nabu_normalization.py +0 -252
  138. tomwer-2.0.0.dev2.dist-info/pkg_info +0 -205
  139. tomwer-2.0.0.dev2.dist-info/sources.txt +0 -1030
  140. /tomwer/core/reconstruction/{nabu → common}/__init__.py +0 -0
  141. /tomwer/core/reconstruction/{nabu → common}/filter.py +0 -0
  142. /tomwer/core/reconstruction/{nabu → common}/method.py +0 -0
  143. /tomwer/core/reconstruction/{nabu → common}/mode.py +0 -0
  144. /tomwer/core/reconstruction/{nabu → common}/nabucommon.py +0 -0
  145. /tomwer/core/reconstruction/{nabu → common}/padding.py +0 -0
  146. /tomwer/core/reconstruction/{nabu → common}/phase.py +0 -0
  147. /tomwer/core/reconstruction/{nabu → common}/plane.py +0 -0
  148. /tomwer/core/reconstruction/{nabu → common}/ringcorrection.py +0 -0
  149. /tomwer/core/reconstruction/{nabu → common}/settings.py +0 -0
  150. /tomwer/core/reconstruction/{nabu → common}/stages.py +0 -0
  151. /tomwer/core/reconstruction/{nabu → common}/target.py +0 -0
  152. /tomwer/core/reconstruction/{nabu/slice → slice}/__init__.py +0 -0
  153. /tomwer/models/{model/_common → field_validators}/__init__.py +0 -0
  154. /tomwer/tasks/reconstruction/{nabu/config.py → config.py} +0 -0
  155. /tomwer/tasks/reconstruction/{nabu/estimate_motion.py → estimate_motion.py} +0 -0
  156. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.dist-info}/WHEEL +0 -0
  157. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.dist-info}/entry_points.txt +0 -0
  158. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.dist-info}/licenses/LICENSE +0 -0
  159. {tomwer-2.0.0.dev2.dist-info → tomwer-2.0.0.dev3.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.core.cluster import SlurmClusterConfiguration
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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(766.0, 292.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
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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(659.0, 325.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="(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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.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="(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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(350.0, 152.0)" />
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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(757.6666666666667, 415.66666666666663)" />
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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(581.0, 344.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="(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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.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="(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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(649.0, 261.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="(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.NabuOW.NabuOW" project_name="tomwer" version="" title="nabu slice reconstruction" position="(772.0, 340.0)" />
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>
@@ -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.core.cluster import SlurmClusterConfiguration
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.core.cluster.cluster import SlurmClusterConfiguration
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.nabu.castvolume import CastVolumeTask
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.nabu.multicor
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.nabu.phase import NabuPhaseMethod
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.nabu.multicor.MultiCoRTask,
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._computationTriggered
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 _computationTriggered(self):
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
- self.execute_ewoks_task_without_propagation() # propagation is handle once processing is done to handle interactive of auto modes
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