tomwer 1.3.26__py3-none-any.whl → 1.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. orangecontrib/tomwer/orange/managedprocess.py +1 -29
  2. orangecontrib/tomwer/orange/settings.py +2 -28
  3. orangecontrib/tomwer/tests/TestAcquisition.py +220 -0
  4. orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +2 -2
  5. orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +1 -1
  6. orangecontrib/tomwer/tutorials/{icat_publication.ows → drac_publication.ows} +7 -21
  7. orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +22 -0
  8. orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +302 -0
  9. orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +218 -0
  10. orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +29 -24
  11. orangecontrib/tomwer/tutorials/test_cor.ows +19 -0
  12. orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows +54 -0
  13. orangecontrib/tomwer/widgets/__init__.py +3 -5
  14. orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +35 -54
  15. orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +1 -31
  16. orangecontrib/tomwer/widgets/control/AdvancementOW.py +1 -29
  17. orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +5 -4
  18. orangecontrib/tomwer/widgets/control/DataListenerOW.py +1 -29
  19. orangecontrib/tomwer/widgets/control/DataSelectorOW.py +11 -30
  20. orangecontrib/tomwer/widgets/control/DataTransfertOW.py +2 -28
  21. orangecontrib/tomwer/widgets/control/DataValidatorOW.py +1 -28
  22. orangecontrib/tomwer/widgets/control/DataWatcherOW.py +1 -28
  23. orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +48 -51
  24. orangecontrib/tomwer/widgets/control/EmailOW.py +12 -2
  25. orangecontrib/tomwer/widgets/control/FilterOW.py +1 -28
  26. orangecontrib/tomwer/widgets/control/NXTomomillOW.py +37 -53
  27. orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +21 -20
  28. orangecontrib/tomwer/widgets/control/NotifierOW.py +9 -28
  29. orangecontrib/tomwer/widgets/control/ReduceDarkFlatSelectorOW.py +3 -2
  30. orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +1 -27
  31. orangecontrib/tomwer/widgets/control/TimerOW.py +9 -28
  32. orangecontrib/tomwer/widgets/control/TomoObjSeriesOW.py +58 -0
  33. orangecontrib/tomwer/widgets/control/VolumeSelector.py +8 -30
  34. orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +173 -119
  35. orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
  36. orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +55 -195
  37. orangecontrib/tomwer/widgets/control/icons/{tomoobjserie.svg → tomoobjseries.svg} +2 -2
  38. orangecontrib/tomwer/widgets/dataportal/PublishProcessedDataOW.py +172 -0
  39. orangecontrib/tomwer/widgets/{icat → dataportal}/__init__.py +2 -2
  40. orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +2 -29
  41. orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +1 -29
  42. orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +48 -73
  43. orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +48 -75
  44. orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +5 -30
  45. orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +51 -52
  46. orangecontrib/tomwer/widgets/other/PythonScriptOW.py +22 -10
  47. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +51 -60
  48. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +22 -68
  49. orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +3 -30
  50. orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +21 -19
  51. orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +7 -70
  52. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +41 -84
  53. orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +15 -40
  54. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +13 -35
  55. orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +2 -30
  56. orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +11 -11
  57. orangecontrib/tomwer/widgets/utils.py +2 -29
  58. orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +1 -27
  59. orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -27
  60. orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +1 -1
  61. orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +2 -28
  62. orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +1 -27
  63. orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +1 -27
  64. orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +2 -28
  65. tomwer/__init__.py +3 -28
  66. tomwer/__main__.py +8 -4
  67. tomwer/app/__init__.py +2 -0
  68. tomwer/app/axis.py +8 -10
  69. tomwer/app/canvas.py +23 -29
  70. tomwer/app/canvas_launcher/config.py +14 -102
  71. tomwer/app/canvas_launcher/environ.py +5 -8
  72. tomwer/app/canvas_launcher/mainwindow.py +175 -69
  73. tomwer/app/canvas_launcher/splash.py +1 -3
  74. tomwer/app/canvas_launcher/utils.py +47 -0
  75. tomwer/app/canvas_launcher/widgetsscheme.py +3 -10
  76. tomwer/app/diffframe.py +2 -0
  77. tomwer/app/imagekeyeditor.py +2 -1
  78. tomwer/app/imagekeyupgrader.py +2 -0
  79. tomwer/app/multicor.py +5 -2
  80. tomwer/app/multipag.py +16 -5
  81. tomwer/app/nabuapp.py +2 -1
  82. tomwer/app/nxtomoeditor.py +17 -12
  83. tomwer/app/patchrawdarkflat.py +2 -0
  84. tomwer/app/radiostack.py +3 -2
  85. tomwer/app/reducedarkflat.py +3 -0
  86. tomwer/app/samplemoved.py +2 -0
  87. tomwer/app/scanviewer.py +2 -0
  88. tomwer/app/sinogramviewer.py +2 -0
  89. tomwer/app/slicestack.py +11 -13
  90. tomwer/app/stitching/common.py +431 -0
  91. tomwer/app/stopdatalistener.py +3 -0
  92. tomwer/app/ystitching.py +26 -0
  93. tomwer/app/zstitching.py +8 -363
  94. tomwer/core/__init__.py +2 -28
  95. tomwer/core/cluster/__init__.py +3 -0
  96. tomwer/core/cluster/cluster.py +10 -26
  97. tomwer/core/futureobject.py +17 -43
  98. tomwer/core/log/__init__.py +2 -0
  99. tomwer/core/log/processlog.py +0 -28
  100. tomwer/core/process/cluster/supervisor.py +52 -34
  101. tomwer/core/process/conditions/filters.py +3 -28
  102. tomwer/core/process/control/datalistener/datalistener.py +7 -75
  103. tomwer/core/process/control/datalistener/rpcserver.py +8 -38
  104. tomwer/core/process/control/datawatcher/datawatcher.py +11 -40
  105. tomwer/core/process/control/datawatcher/datawatcherobserver.py +30 -64
  106. tomwer/core/process/control/datawatcher/datawatcherprocess.py +11 -32
  107. tomwer/core/process/control/datawatcher/edfdwprocess.py +2 -27
  108. tomwer/core/process/control/datawatcher/hdf5dwprocess.py +1 -26
  109. tomwer/core/process/control/datawatcher/status.py +1 -26
  110. tomwer/core/process/control/emailnotifier.py +11 -23
  111. tomwer/core/process/control/nxtomoconcatenate.py +20 -18
  112. tomwer/core/process/control/nxtomomill.py +9 -44
  113. tomwer/core/process/control/scanlist.py +0 -27
  114. tomwer/core/process/control/scantransfer.py +15 -13
  115. tomwer/core/process/control/scanvalidator.py +4 -30
  116. tomwer/core/process/control/{test → tests}/test_concatenate_nxtomos.py +5 -5
  117. tomwer/core/process/control/timer.py +1 -27
  118. tomwer/core/process/control/tomoobjseries.py +12 -0
  119. tomwer/core/process/drac/binning.py +37 -0
  120. tomwer/core/process/drac/dracbase.py +170 -0
  121. tomwer/core/process/drac/gallery.py +109 -0
  122. tomwer/core/process/drac/output.py +12 -0
  123. tomwer/core/process/drac/processeddataset.py +147 -0
  124. tomwer/core/process/drac/publish.py +118 -0
  125. tomwer/core/process/drac/rawdataset.py +142 -0
  126. tomwer/core/process/drac/tests/test_gallery.py +71 -0
  127. tomwer/core/process/drac/tests/test_icat_processed_dataset.py +80 -0
  128. tomwer/core/process/drac/tests/test_icat_raw_dataset.py +90 -0
  129. tomwer/core/process/edit/darkflatpatch.py +1 -28
  130. tomwer/core/process/edit/imagekeyeditor.py +4 -32
  131. tomwer/core/process/edit/nxtomoeditor.py +307 -0
  132. tomwer/core/process/edit/tests/test_darkflatpatch.py +243 -0
  133. tomwer/core/process/edit/tests/test_imagekey_editor.py +99 -0
  134. tomwer/core/process/output.py +9 -2
  135. tomwer/core/process/reconstruction/__init__.py +0 -26
  136. tomwer/core/process/reconstruction/axis/anglemode.py +1 -29
  137. tomwer/core/process/reconstruction/axis/axis.py +47 -804
  138. tomwer/core/process/reconstruction/axis/mode.py +89 -25
  139. tomwer/core/process/reconstruction/axis/params.py +131 -283
  140. tomwer/core/process/reconstruction/axis/projectiontype.py +0 -28
  141. tomwer/core/process/reconstruction/axis/side.py +8 -0
  142. tomwer/core/process/reconstruction/darkref/darkrefs.py +14 -39
  143. tomwer/core/process/reconstruction/darkref/darkrefscopy.py +7 -39
  144. tomwer/core/process/reconstruction/darkref/params.py +1 -28
  145. tomwer/core/process/reconstruction/nabu/castvolume.py +19 -34
  146. tomwer/core/process/reconstruction/nabu/nabucommon.py +18 -43
  147. tomwer/core/process/reconstruction/nabu/nabuscores.py +64 -68
  148. tomwer/core/process/reconstruction/nabu/nabuslices.py +63 -105
  149. tomwer/core/process/reconstruction/nabu/nabuvolume.py +44 -70
  150. tomwer/core/process/reconstruction/nabu/plane.py +10 -0
  151. tomwer/core/process/reconstruction/nabu/settings.py +1 -28
  152. tomwer/core/process/reconstruction/nabu/target.py +0 -28
  153. tomwer/core/process/reconstruction/nabu/test/test_castvolume.py +116 -0
  154. tomwer/core/process/reconstruction/nabu/test/test_nabu_utils.py +277 -0
  155. tomwer/core/process/reconstruction/nabu/test/test_nabunormalization.py +199 -0
  156. tomwer/core/process/reconstruction/nabu/utils.py +11 -60
  157. tomwer/core/process/reconstruction/normalization/normalization.py +2 -32
  158. tomwer/core/process/reconstruction/normalization/params.py +3 -35
  159. tomwer/core/process/reconstruction/output.py +14 -19
  160. tomwer/core/process/reconstruction/paramsbase.py +4 -33
  161. tomwer/core/process/reconstruction/saaxis/params.py +5 -33
  162. tomwer/core/process/reconstruction/saaxis/saaxis.py +22 -51
  163. tomwer/core/process/reconstruction/sadeltabeta/params.py +2 -31
  164. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +18 -46
  165. tomwer/core/process/reconstruction/scores/params.py +9 -39
  166. tomwer/core/process/reconstruction/scores/scores.py +10 -42
  167. tomwer/core/process/reconstruction/tests/__init__.py +0 -0
  168. tomwer/core/process/reconstruction/tests/test_axis.py +46 -0
  169. tomwer/core/process/reconstruction/tests/test_darkref.py +33 -0
  170. tomwer/core/process/reconstruction/{test → tests}/test_saaxis.py +1 -27
  171. tomwer/core/process/reconstruction/tests/test_sadeltabeta.py +48 -0
  172. tomwer/core/process/reconstruction/{test → tests}/test_utils.py +4 -4
  173. tomwer/core/process/reconstruction/utils/cor.py +8 -4
  174. tomwer/core/process/script/python.py +1 -27
  175. tomwer/core/process/script/tests/test_script.py +41 -0
  176. tomwer/core/process/stitching/metadataholder.py +5 -4
  177. tomwer/core/process/stitching/nabustitcher.py +35 -5
  178. tomwer/core/process/stitching/tests/test_metadataholder.py +17 -0
  179. tomwer/core/process/task.py +20 -63
  180. tomwer/core/process/tests/__init__.py +0 -0
  181. tomwer/core/process/{test → tests}/test_conditions.py +1 -28
  182. tomwer/core/process/{test → tests}/test_dark_and_flat.py +1 -27
  183. tomwer/core/process/{test → tests}/test_data_listener.py +1 -27
  184. tomwer/core/process/{test → tests}/test_data_transfer.py +2 -28
  185. tomwer/core/process/{test → tests}/test_data_watcher.py +1 -27
  186. tomwer/core/process/{test → tests}/test_nabu.py +2 -33
  187. tomwer/core/process/{test → tests}/test_normalization.py +1 -26
  188. tomwer/core/process/{test → tests}/test_timer.py +1 -27
  189. tomwer/core/process/utils.py +2 -31
  190. tomwer/core/process/visualization/dataviewer.py +1 -26
  191. tomwer/core/process/visualization/diffviewer.py +1 -26
  192. tomwer/core/process/visualization/imagestackviewer.py +0 -26
  193. tomwer/core/process/visualization/radiostack.py +0 -26
  194. tomwer/core/process/visualization/samplemoved.py +0 -28
  195. tomwer/core/process/visualization/sinogramviewer.py +0 -27
  196. tomwer/core/process/visualization/slicestack.py +0 -28
  197. tomwer/core/process/visualization/tests/test_data_viewer.py +12 -0
  198. tomwer/core/process/visualization/tests/test_diff_viewer.py +12 -0
  199. tomwer/core/process/visualization/tests/test_image_stack_viewer.py +14 -0
  200. tomwer/core/process/visualization/tests/test_radio_stack.py +12 -0
  201. tomwer/core/process/visualization/tests/test_sample_moved.py +14 -0
  202. tomwer/core/process/visualization/tests/test_sinogram_viewer.py +13 -0
  203. tomwer/core/process/visualization/tests/test_slice_stack.py +13 -0
  204. tomwer/core/process/visualization/tests/test_volume_viewer.py +12 -0
  205. tomwer/core/process/visualization/volumeviewer.py +0 -29
  206. tomwer/core/scan/__init__.py +3 -27
  207. tomwer/core/scan/blissscan.py +5 -34
  208. tomwer/core/scan/edfscan.py +19 -53
  209. tomwer/core/scan/hdf5scan.py +2 -2
  210. tomwer/core/scan/nxtomoscan.py +48 -54
  211. tomwer/core/scan/scanbase.py +107 -203
  212. tomwer/core/scan/scanfactory.py +11 -41
  213. tomwer/core/scan/tests/__init__.py +0 -0
  214. tomwer/core/scan/tests/test_edf.py +25 -0
  215. tomwer/core/scan/tests/test_future_scan.py +35 -0
  216. tomwer/core/scan/tests/test_nxtomoscan.py +143 -0
  217. tomwer/core/scan/tests/test_process_registration.py +64 -0
  218. tomwer/core/settings.py +18 -40
  219. tomwer/core/tests/__init__.py +0 -0
  220. tomwer/core/tests/test_scanutils.py +26 -0
  221. tomwer/core/{test → tests}/test_utils.py +1 -28
  222. tomwer/core/tomwer_object.py +4 -0
  223. tomwer/core/utils/__init__.py +2 -0
  224. tomwer/core/utils/char.py +0 -28
  225. tomwer/core/utils/deprecation.py +12 -38
  226. tomwer/core/utils/dictutils.py +1 -3
  227. tomwer/core/utils/ftseriesutils.py +1 -27
  228. tomwer/core/utils/gpu.py +0 -28
  229. tomwer/core/utils/image.py +8 -39
  230. tomwer/core/utils/locker.py +1 -28
  231. tomwer/core/utils/logconfig.py +0 -27
  232. tomwer/core/utils/normalization.py +4 -31
  233. tomwer/core/utils/nxtomoutils.py +8 -38
  234. tomwer/core/utils/resource.py +0 -26
  235. tomwer/core/utils/scanutils.py +23 -52
  236. tomwer/core/utils/slurm.py +7 -30
  237. tomwer/core/utils/spec.py +6 -6
  238. tomwer/core/utils/tests/__init__.py +0 -0
  239. tomwer/core/utils/tests/test_image.py +30 -0
  240. tomwer/core/utils/tests/test_nxtomo.py +38 -0
  241. tomwer/core/utils/tests/test_scan_utils.py +46 -0
  242. tomwer/core/utils/tests/test_time.py +6 -0
  243. tomwer/core/utils/threads.py +0 -26
  244. tomwer/core/utils/time.py +0 -27
  245. tomwer/core/volume/__init__.py +4 -0
  246. tomwer/core/volume/edfvolume.py +1 -28
  247. tomwer/core/volume/hdf5volume.py +1 -28
  248. tomwer/core/volume/jp2kvolume.py +1 -27
  249. tomwer/core/volume/rawvolume.py +1 -28
  250. tomwer/core/volume/tests/test_volumes.py +21 -0
  251. tomwer/core/volume/tiffvolume.py +1 -28
  252. tomwer/core/volume/volumebase.py +5 -0
  253. tomwer/core/volume/volumefactory.py +7 -33
  254. tomwer/gui/__init__.py +0 -28
  255. tomwer/gui/cluster/__init__.py +2 -0
  256. tomwer/gui/cluster/slurm.py +297 -95
  257. tomwer/gui/cluster/supervisor.py +1 -27
  258. tomwer/gui/cluster/tests/__init__.py +0 -0
  259. tomwer/gui/cluster/{test → tests}/test_cluster.py +21 -26
  260. tomwer/gui/cluster/{test → tests}/test_supervisor.py +1 -27
  261. tomwer/gui/conditions/__init__.py +2 -0
  262. tomwer/gui/conditions/filter.py +1 -26
  263. tomwer/gui/configuration/__init__.py +2 -0
  264. tomwer/gui/control/__init__.py +2 -0
  265. tomwer/gui/control/actions.py +2 -28
  266. tomwer/gui/control/datadiscovery.py +4 -3
  267. tomwer/gui/control/datalist.py +64 -69
  268. tomwer/gui/control/datalistener.py +1 -39
  269. tomwer/gui/control/datareacheractions.py +1 -28
  270. tomwer/gui/control/datatransfert.py +2 -29
  271. tomwer/gui/control/datavalidator.py +3 -37
  272. tomwer/gui/control/datawatcher/__init__.py +0 -28
  273. tomwer/gui/control/datawatcher/configuration.py +1 -28
  274. tomwer/gui/control/datawatcher/datawatcher.py +3 -32
  275. tomwer/gui/control/datawatcher/datawatcherobserver.py +2 -28
  276. tomwer/gui/control/history.py +5 -35
  277. tomwer/gui/control/nxtomomill.py +3 -30
  278. tomwer/gui/control/observations.py +61 -55
  279. tomwer/gui/control/reducedarkflatselector.py +24 -20
  280. tomwer/gui/control/scanselectorwidget.py +2 -28
  281. tomwer/gui/control/selectorwidgetbase.py +17 -17
  282. tomwer/gui/control/series/__init__.py +0 -0
  283. tomwer/gui/control/{serie/seriecreator.py → series/seriescreator.py} +214 -235
  284. tomwer/gui/control/series/serieswaiter.py +0 -0
  285. tomwer/gui/control/series/test/test_creator.py +424 -0
  286. tomwer/gui/control/series/test/test_nxtomo_concatenate.py +21 -0
  287. tomwer/gui/control/singletomoobj.py +1 -1
  288. tomwer/gui/control/tests/__init__.py +0 -0
  289. tomwer/gui/control/tests/test_datalist.py +47 -0
  290. tomwer/gui/control/{test → tests}/test_datalistener.py +1 -28
  291. tomwer/gui/control/tests/test_datavalidator.py +27 -0
  292. tomwer/gui/control/{test → tests}/test_inputwidget.py +1 -27
  293. tomwer/gui/control/tests/test_process_manager.py +38 -0
  294. tomwer/gui/control/tests/test_scan_observations.py +23 -0
  295. tomwer/gui/control/tests/test_scanselector.py +42 -0
  296. tomwer/gui/control/{test → tests}/test_scanvalidator.py +1 -27
  297. tomwer/gui/control/{test → tests}/test_volume_dialog.py +2 -30
  298. tomwer/gui/control/{test → tests}/test_volumeselector.py +1 -27
  299. tomwer/gui/control/volumeselectorwidget.py +2 -30
  300. tomwer/gui/dataportal/__init__.py +2 -0
  301. tomwer/gui/{icat → dataportal}/createscreenshots.py +3 -2
  302. tomwer/gui/dataportal/gallery.py +133 -0
  303. tomwer/gui/dataportal/outputformat.py +0 -0
  304. tomwer/gui/dataportal/publish.py +96 -0
  305. tomwer/gui/dataportal/tests/test_create_screenshots_gui.py +23 -0
  306. tomwer/gui/dataportal/tests/test_gallery_gui.py +21 -0
  307. tomwer/gui/debugtools/__init__.py +2 -0
  308. tomwer/gui/debugtools/datasetgenerator.py +1 -30
  309. tomwer/gui/debugtools/objectinspector.py +1 -29
  310. tomwer/gui/dialog/QDataDialog.py +89 -0
  311. tomwer/gui/{qfolderdialog.py → dialog/QVolumeDialog.py} +8 -107
  312. tomwer/gui/dialog/__init__.py +1 -0
  313. tomwer/gui/edit/__init__.py +2 -0
  314. tomwer/gui/edit/dkrfpatch.py +52 -87
  315. tomwer/gui/edit/imagekeyeditor.py +18 -54
  316. tomwer/gui/edit/nxtomoeditor.py +113 -300
  317. tomwer/gui/edit/nxtomowarmer.py +3 -2
  318. tomwer/gui/edit/tests/__init__.py +0 -0
  319. tomwer/gui/edit/{test → tests}/test_dkrf_patch.py +3 -29
  320. tomwer/gui/edit/{test → tests}/test_image_key_editor.py +1 -27
  321. tomwer/gui/edit/{test → tests}/test_nx_editor.py +45 -23
  322. tomwer/gui/fonts.py +5 -0
  323. tomwer/gui/icons.py +28 -66
  324. tomwer/gui/illustrations.py +4 -34
  325. tomwer/gui/imagefromfile.py +5 -30
  326. tomwer/gui/metadataloader.py +36 -0
  327. tomwer/gui/qconfigfile.py +3 -0
  328. tomwer/gui/qlefilesystem.py +3 -0
  329. tomwer/gui/reconstruction/__init__.py +2 -0
  330. tomwer/gui/reconstruction/axis/AxisMainWindow.py +275 -0
  331. tomwer/gui/reconstruction/axis/AxisOptionsWidget.py +313 -0
  332. tomwer/gui/reconstruction/axis/AxisSettingsWidget.py +797 -0
  333. tomwer/gui/reconstruction/axis/AxisWidget.py +534 -0
  334. tomwer/gui/reconstruction/axis/CalculationWidget.py +218 -0
  335. tomwer/gui/reconstruction/axis/CompareImages.py +11 -44
  336. tomwer/gui/reconstruction/axis/ControlWidget.py +285 -0
  337. tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +394 -0
  338. tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py +118 -0
  339. tomwer/gui/reconstruction/axis/InputWidget.py +347 -0
  340. tomwer/gui/reconstruction/axis/ManualFramesSelection.py +168 -0
  341. tomwer/gui/reconstruction/axis/__init__.py +2 -2
  342. tomwer/gui/reconstruction/darkref/__init__.py +0 -27
  343. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +5 -34
  344. tomwer/gui/reconstruction/darkref/darkrefwidget.py +1 -27
  345. tomwer/gui/reconstruction/nabu/castvolume.py +40 -59
  346. tomwer/gui/reconstruction/nabu/check.py +7 -33
  347. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +7 -34
  348. tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -5
  349. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +10 -69
  350. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +3 -47
  351. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +54 -36
  352. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +103 -54
  353. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +116 -65
  354. tomwer/gui/reconstruction/nabu/nabuflow.py +31 -61
  355. tomwer/gui/reconstruction/nabu/platform.py +94 -0
  356. tomwer/gui/reconstruction/nabu/slices.py +81 -45
  357. tomwer/gui/reconstruction/nabu/slurm.py +1 -27
  358. tomwer/gui/reconstruction/nabu/test/test_cast_volume.py +82 -0
  359. tomwer/gui/reconstruction/nabu/test/test_check.py +66 -0
  360. tomwer/gui/reconstruction/nabu/test/test_ctf.py +46 -0
  361. tomwer/gui/reconstruction/nabu/test/test_helical.py +21 -0
  362. tomwer/gui/reconstruction/nabu/test/test_nabu_preprocessing.py +81 -0
  363. tomwer/gui/reconstruction/nabu/volume.py +62 -90
  364. tomwer/gui/reconstruction/normalization/intensity.py +5 -32
  365. tomwer/gui/reconstruction/normalization/test/test_intensity.py +89 -0
  366. tomwer/gui/reconstruction/saaxis/corrangeselector.py +32 -56
  367. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +56 -96
  368. tomwer/gui/reconstruction/saaxis/saaxis.py +17 -38
  369. tomwer/gui/reconstruction/saaxis/sliceselector.py +8 -39
  370. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +19 -37
  371. tomwer/gui/reconstruction/scores/control.py +2 -30
  372. tomwer/gui/reconstruction/scores/scoreplot.py +23 -49
  373. tomwer/gui/reconstruction/tests/__init__.py +0 -0
  374. tomwer/gui/reconstruction/{test → tests}/test_axis.py +23 -49
  375. tomwer/gui/reconstruction/{test → tests}/test_nabu.py +16 -31
  376. tomwer/gui/reconstruction/{test → tests}/test_saaxis.py +10 -37
  377. tomwer/gui/reconstruction/{test → tests}/test_sadeltabeta.py +1 -26
  378. tomwer/gui/samplemoved/__init__.py +2 -30
  379. tomwer/gui/samplemoved/selectiontable.py +3 -33
  380. tomwer/gui/settings.py +7 -0
  381. tomwer/gui/stackplot.py +33 -661
  382. tomwer/gui/stacks.py +261 -135
  383. tomwer/gui/stitching/SingleAxisStitchingWidget.py +326 -0
  384. tomwer/gui/stitching/StitchingOptionsWidget.py +438 -0
  385. tomwer/gui/stitching/StitchingWindow.py +586 -0
  386. tomwer/gui/stitching/__init__.py +2 -0
  387. tomwer/gui/stitching/alignment.py +90 -0
  388. tomwer/gui/stitching/axisorderedlist.py +44 -34
  389. tomwer/gui/stitching/config/axisparams.py +25 -11
  390. tomwer/gui/stitching/config/output.py +6 -5
  391. tomwer/gui/stitching/config/positionoveraxis.py +313 -51
  392. tomwer/gui/stitching/config/stitchingstrategies.py +22 -16
  393. tomwer/gui/stitching/config/tests/test_axisparams.py +25 -0
  394. tomwer/gui/stitching/config/tomoobjdetails.py +3 -5
  395. tomwer/gui/stitching/normalization.py +1 -0
  396. tomwer/gui/stitching/preview.py +59 -0
  397. tomwer/gui/stitching/singleaxis.py +57 -0
  398. tomwer/gui/stitching/stitchandbackground.py +3 -2
  399. tomwer/gui/stitching/stitching_preview.py +44 -36
  400. tomwer/gui/stitching/stitching_raw.py +5 -3
  401. tomwer/gui/stitching/tests/test_ZStitchingWindow.py +88 -0
  402. tomwer/gui/stitching/tests/test_axis_ordered_list.py +21 -0
  403. tomwer/gui/stitching/tests/test_normalization.py +27 -0
  404. tomwer/gui/stitching/tests/test_preview.py +68 -0
  405. tomwer/gui/stitching/tests/test_stitching_raw.py +110 -0
  406. tomwer/gui/stitching/tests/utils.py +92 -0
  407. tomwer/gui/stitching/utils.py +14 -0
  408. tomwer/gui/stitching/z_stitching/fineestimation.py +5 -33
  409. tomwer/gui/stitching/z_stitching/tests/test_fine_estimation.py +35 -0
  410. tomwer/gui/stitching/z_stitching/tests/test_raw_estimation.py +215 -0
  411. tomwer/gui/stitching/z_stitching/tests/test_stitching_window.py +51 -0
  412. tomwer/gui/tests/__init__.py +0 -0
  413. tomwer/gui/tests/test_axis_gui.py +43 -0
  414. tomwer/gui/{test → tests}/test_qfolder_dialog.py +1 -1
  415. tomwer/gui/utils/RangeWidget.py +44 -0
  416. tomwer/gui/utils/buttons.py +4 -3
  417. tomwer/gui/utils/completer.py +2 -33
  418. tomwer/gui/utils/flow.py +11 -40
  419. tomwer/gui/utils/gpu.py +60 -0
  420. tomwer/gui/utils/illustrations.py +1 -26
  421. tomwer/gui/utils/inputwidget.py +35 -73
  422. tomwer/gui/utils/lineselector/lineselector.py +9 -46
  423. tomwer/gui/utils/loadingmode.py +81 -0
  424. tomwer/gui/utils/qt_utils.py +9 -0
  425. tomwer/gui/utils/sandboxes.py +1 -26
  426. tomwer/gui/utils/scandescription.py +2 -31
  427. tomwer/gui/utils/scrollarea.py +6 -55
  428. tomwer/gui/utils/slider.py +4 -28
  429. tomwer/gui/utils/splashscreen.py +0 -28
  430. tomwer/gui/utils/step.py +14 -13
  431. tomwer/gui/utils/tests/test_completer.py +41 -0
  432. tomwer/gui/utils/tests/test_line_selector.py +21 -0
  433. tomwer/gui/utils/tests/test_splashscreen.py +8 -0
  434. tomwer/gui/utils/tests/test_vignettes.py +68 -0
  435. tomwer/gui/utils/unitsystem.py +15 -69
  436. tomwer/gui/utils/utils.py +4 -5
  437. tomwer/gui/utils/vignettes.py +10 -41
  438. tomwer/gui/utils/waiterthread.py +0 -26
  439. tomwer/gui/visualization/__init__.py +2 -0
  440. tomwer/gui/visualization/dataviewer.py +68 -421
  441. tomwer/gui/visualization/diffviewer/diffviewer.py +2 -30
  442. tomwer/gui/visualization/diffviewer/shiftwidget.py +4 -29
  443. tomwer/gui/visualization/fullscreenplot.py +5 -5
  444. tomwer/gui/visualization/imagestack.py +403 -0
  445. tomwer/gui/visualization/nxtomometadata.py +0 -4
  446. tomwer/gui/visualization/reconstructionparameters.py +14 -32
  447. tomwer/gui/visualization/scanoverview.py +33 -66
  448. tomwer/gui/visualization/sinogramviewer.py +2 -28
  449. tomwer/gui/visualization/test/__init__.py +0 -28
  450. tomwer/gui/visualization/test/test_dataviewer.py +1 -28
  451. tomwer/gui/visualization/test/test_diffviewer.py +1 -28
  452. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -5
  453. tomwer/gui/visualization/test/test_reconstruction_parameters.py +1 -27
  454. tomwer/gui/visualization/test/test_sinogramviewer.py +1 -28
  455. tomwer/gui/visualization/test/test_stacks.py +184 -115
  456. tomwer/gui/visualization/test/test_volumeviewer.py +3 -2
  457. tomwer/gui/visualization/tomoobjoverview.py +2 -2
  458. tomwer/gui/visualization/volumeoverview.py +3 -2
  459. tomwer/gui/visualization/volumeviewer.py +47 -43
  460. tomwer/io/__init__.py +2 -0
  461. tomwer/io/utils/h5pyutils.py +1 -27
  462. tomwer/io/utils/test/test_raw_and_processed_data.py +10 -0
  463. tomwer/io/utils/test/test_utils.py +67 -0
  464. tomwer/io/utils/utils.py +2 -31
  465. tomwer/resources/__init__.py +13 -33
  466. tomwer/resources/gui/icons/edit_downstream.svg +114 -0
  467. tomwer/resources/gui/icons/edit_upstream.svg +112 -0
  468. tomwer/resources/gui/icons/free_edition.svg +23 -0
  469. tomwer/resources/gui/icons/icat_gallery_opts.png +0 -0
  470. tomwer/resources/gui/icons/icat_gallery_opts.svg +80 -0
  471. tomwer/resources/gui/icons/search.png +0 -0
  472. tomwer/resources/gui/icons/search.svg +23 -0
  473. tomwer/resources/gui/icons/warning.png +0 -0
  474. tomwer/synctools/__init__.py +2 -0
  475. tomwer/synctools/axis.py +1 -27
  476. tomwer/synctools/darkref.py +1 -26
  477. tomwer/synctools/datalistener.py +1 -27
  478. tomwer/synctools/datatransfert.py +2 -27
  479. tomwer/synctools/imageloaderthread.py +1 -28
  480. tomwer/synctools/rsyncmanager.py +1 -25
  481. tomwer/synctools/saaxis.py +1 -26
  482. tomwer/synctools/sadeltabeta.py +1 -26
  483. tomwer/synctools/stacks/control/datalistener.py +1 -26
  484. tomwer/synctools/stacks/processingstack.py +4 -33
  485. tomwer/synctools/stacks/reconstruction/axis.py +6 -53
  486. tomwer/synctools/stacks/reconstruction/castvolume.py +12 -43
  487. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +4 -27
  488. tomwer/synctools/stacks/reconstruction/nabu.py +3 -28
  489. tomwer/synctools/stacks/reconstruction/normalization.py +2 -27
  490. tomwer/synctools/stacks/reconstruction/saaxis.py +2 -27
  491. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +2 -27
  492. tomwer/synctools/tests/__init__.py +0 -0
  493. tomwer/synctools/{test → tests}/test_darkRefs.py +16 -40
  494. tomwer/synctools/{test → tests}/test_foldertransfer.py +2 -33
  495. tomwer/synctools/utils/scanstages.py +2 -31
  496. tomwer/tests/__init__.py +1 -0
  497. tomwer/tests/app/test_stitching.py +95 -0
  498. tomwer/tests/datasets.py +1 -5
  499. tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_future_supervisorow.py +48 -0
  500. tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +40 -0
  501. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_advancement.py +8 -0
  502. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_data_validator.py +55 -0
  503. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datadiscovery.py +129 -0
  504. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datalistener.py +111 -0
  505. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_dataselector.py +69 -0
  506. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datawatcher.py +411 -0
  507. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_emailow.py +29 -0
  508. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_notifier.py +24 -0
  509. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomo_concatenate_ow.py +64 -0
  510. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomomill.py +133 -0
  511. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_reduce_dark_flat_selector.py +40 -0
  512. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_singletomoobj.py +40 -0
  513. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_timerow.py +25 -0
  514. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_tomoobj_series.py +96 -0
  515. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_volume_selector.py +69 -0
  516. orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py → tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_dataset_generator.py +17 -16
  517. tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_object_inspector.py +36 -0
  518. {orangecontrib/tomwer/widgets/edit/test → tomwer/tests/orangecontrib/tomwer/widgets/edit/tests}/test_dark_flat_patch.py +1 -27
  519. tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_editor.py +30 -0
  520. tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_nxtomo_editor.py +138 -0
  521. tomwer/tests/orangecontrib/tomwer/widgets/other/tests/test_pythonscript.py +31 -0
  522. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py +199 -0
  523. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py +58 -0
  524. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_dark_refs_widget.py +136 -0
  525. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_delta_beta_selector.py +15 -0
  526. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_i_norm.py +200 -0
  527. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_helical_prepare_weights_double.py +20 -0
  528. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_volume.py +74 -0
  529. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_widget.py +107 -0
  530. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_sa_delta_beta.py +194 -0
  531. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_saaxis.py +194 -0
  532. tomwer/tests/orangecontrib/tomwer/widgets/stitching/tests/test_zstitching.py +313 -0
  533. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_conditions.py +85 -0
  534. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_darkref.py +225 -0
  535. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_foldertransfert.py +105 -0
  536. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_dataviewerow.py +57 -0
  537. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_diffviewerow.py +39 -0
  538. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_nxtomo_metadata_viewer.py +29 -0
  539. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_radio_stackow.py +31 -0
  540. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sample_movedow.py +46 -0
  541. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sinogram_viewerow.py +31 -0
  542. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_slice_stackow.py +31 -0
  543. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewerow.py +32 -0
  544. tomwer/tests/test_ewoks/test_conversion.py +104 -0
  545. tomwer/tests/test_ewoks/test_single_node_execution.py +87 -0
  546. tomwer/tests/test_ewoks/test_workflows.py +138 -0
  547. tomwer/utils.py +11 -39
  548. tomwer/version.py +2 -2
  549. {tomwer-1.3.26.dist-info → tomwer-1.4.0.dist-info}/LICENSE +3 -3
  550. tomwer-1.4.0.dist-info/METADATA +337 -0
  551. tomwer-1.4.0.dist-info/RECORD +912 -0
  552. {tomwer-1.3.26.dist-info → tomwer-1.4.0.dist-info}/WHEEL +1 -1
  553. {tomwer-1.3.26.dist-info → tomwer-1.4.0.dist-info}/entry_points.txt +1 -0
  554. orangecontrib/tomwer/widgets/control/DataListOW.py +0 -129
  555. orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +0 -86
  556. orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +0 -182
  557. orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +0 -141
  558. orangecontrib/tomwer/widgets/icat/PublishProcessedDataOW.py +0 -115
  559. orangecontrib/tomwer/widgets/icat/RawDataScreenshotCreatorOW.py +0 -98
  560. orangecontrib/tomwer/widgets/icat/SaveToGalleryAndPublishOW.py +0 -129
  561. orangecontrib/tomwer/widgets/icat/icons/add_gallery.png +0 -0
  562. orangecontrib/tomwer/widgets/icat/icons/add_gallery.svg +0 -82
  563. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.png +0 -0
  564. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.svg +0 -143
  565. orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +0 -87
  566. orangecontrib/tomwer/widgets/visualization/icons/liveslice.png +0 -0
  567. orangecontrib/tomwer/widgets/visualization/icons/liveslice.svg +0 -110
  568. tomwer/core/log/logger.py +0 -130
  569. tomwer/core/process/control/test/test_volume_link.py +0 -74
  570. tomwer/core/process/control/tomoobjserie.py +0 -12
  571. tomwer/core/process/control/volumesymlink.py +0 -200
  572. tomwer/core/process/icat/createscreenshots.py +0 -100
  573. tomwer/core/process/icat/gallery.py +0 -377
  574. tomwer/core/process/icat/icatbase.py +0 -36
  575. tomwer/core/process/icat/publish.py +0 -228
  576. tomwer/core/process/icat/screenshots.py +0 -27
  577. tomwer/core/process/reconstruction/test/test_darkref.py +0 -60
  578. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +0 -74
  579. tomwer/core/process/test/test_axis.py +0 -309
  580. tomwer/core/process/visualization/liveslice.py +0 -6
  581. tomwer/core/progress.py +0 -100
  582. tomwer/core/scan/test/test_edf.py +0 -53
  583. tomwer/core/scan/test/test_future_scan.py +0 -61
  584. tomwer/core/scan/test/test_h5.py +0 -96
  585. tomwer/core/scan/test/test_process_registration.py +0 -109
  586. tomwer/core/test/test_scanutils.py +0 -53
  587. tomwer/gui/control/emailnotifier.py +0 -174
  588. tomwer/gui/control/serie/seriewaiter.py +0 -28
  589. tomwer/gui/control/test/__init__.py +0 -28
  590. tomwer/gui/control/test/test_datalist.py +0 -96
  591. tomwer/gui/control/test/test_datavalidator.py +0 -54
  592. tomwer/gui/control/test/test_email.py +0 -35
  593. tomwer/gui/control/test/test_process_manager.py +0 -65
  594. tomwer/gui/control/test/test_scanselector.py +0 -67
  595. tomwer/gui/edit/test/__init__.py +0 -28
  596. tomwer/gui/icat/gallery.py +0 -214
  597. tomwer/gui/icat/publish.py +0 -187
  598. tomwer/gui/reconstruction/axis/axis.py +0 -733
  599. tomwer/gui/reconstruction/axis/radioaxis.py +0 -2467
  600. tomwer/gui/stitching/stitching.py +0 -1392
  601. tomwer/gui/test/__init__.py +0 -28
  602. tomwer/gui/test/test_axis_gui.py +0 -34
  603. tomwer/synctools/stacks/edit/darkflatpatch.py +0 -169
  604. tomwer/synctools/stacks/edit/imagekeyeditor.py +0 -135
  605. tomwer/third_part/WaitingOverlay.py +0 -110
  606. tomwer-1.3.26-py3.11-nspkg.pth +0 -1
  607. tomwer-1.3.26.dist-info/METADATA +0 -292
  608. tomwer-1.3.26.dist-info/RECORD +0 -785
  609. tomwer-1.3.26.dist-info/namespace_packages.txt +0 -1
  610. /orangecontrib/tomwer/{widgets/edit/test → tests}/__init__.py +0 -0
  611. {tomwer/core/process/control/test → orangecontrib/tomwer/tutorials/id16b}/__init__.py +0 -0
  612. {tomwer/core/process/icat → orangecontrib/tomwer/widgets/cluster/tests}/__init__.py +0 -0
  613. /orangecontrib/tomwer/widgets/control/icons/{tomoobjserie.png → tomoobjseries.png} +0 -0
  614. {tomwer/core/process/reconstruction/test → orangecontrib/tomwer/widgets/control/tests}/__init__.py +0 -0
  615. /orangecontrib/tomwer/widgets/{icat → dataportal}/icons/publish_processed_data.png +0 -0
  616. /orangecontrib/tomwer/widgets/{icat → dataportal}/icons/publish_processed_data.svg +0 -0
  617. {tomwer/core/process/test → orangecontrib/tomwer/widgets/debugtools/tests}/__init__.py +0 -0
  618. {tomwer/core/scan/test → orangecontrib/tomwer/widgets/edit/tests}/__init__.py +0 -0
  619. {tomwer/core/test → orangecontrib/tomwer/widgets/other/tests}/__init__.py +0 -0
  620. {tomwer/gui/cluster/test → orangecontrib/tomwer/widgets/reconstruction/tests}/__init__.py +0 -0
  621. {tomwer/gui/control/serie → orangecontrib/tomwer/widgets/stitching/tests}/__init__.py +0 -0
  622. {tomwer/gui/icat → orangecontrib/tomwer/widgets/tests}/__init__.py +0 -0
  623. {tomwer/gui/reconstruction/test → orangecontrib/tomwer/widgets/visualization/tests}/__init__.py +0 -0
  624. /tomwer/{synctools/stacks/edit → app/stitching}/__init__.py +0 -0
  625. /tomwer/{synctools/test → core/process/control/tests}/__init__.py +0 -0
  626. /tomwer/core/process/control/{test → tests}/test_email.py +0 -0
  627. /tomwer/core/process/control/{test → tests}/test_h52nx_process.py +0 -0
  628. /tomwer/{third_part → core/process/drac}/__init__.py +0 -0
  629. /tomwer/core/process/reconstruction/{test → tests}/test_axis_params.py +0 -0
  630. /tomwer/core/process/reconstruction/{test → tests}/test_darkref_copy.py +0 -0
  631. /tomwer/core/process/reconstruction/{test → tests}/test_paramsbase.py +0 -0
  632. /tomwer/core/scan/{test → tests}/test_scan.py +0 -0
  633. /tomwer/gui/control/{serie → series}/nxtomoconcatenate.py +0 -0
  634. /tomwer/gui/control/{test → tests}/test_datadiscovery.py +0 -0
  635. /tomwer/gui/control/{test → tests}/test_reducedarkflat_selector.py +0 -0
  636. /tomwer/gui/control/{test → tests}/test_single_tomo_obj.py +0 -0
  637. {orangecontrib/tomwer/widgets/edit/test → tomwer/tests/orangecontrib/tomwer/widgets/edit/tests}/test_image_key_upgrader.py +0 -0
  638. {tomwer-1.3.26.dist-info → tomwer-1.4.0.dist-info}/top_level.txt +0 -0
@@ -1,98 +0,0 @@
1
- # from orangewidget import gui
2
- # from orangewidget.settings import Setting
3
-
4
- # from silx.gui import qt
5
- # import weakref
6
- # from ewoksorange.bindings.owwidgets import OWEwoksWidgetOneThreadPerRun
7
-
8
- # import tomwer.core.process.icat.createscreenshots
9
- # from tomwer.gui.icat.createscreenshots import CreateRawDataScreenshotsWidget
10
- # from processview.core.superviseprocess import SuperviseProcess
11
-
12
-
13
- # class RawDataScreenshotCreatorOW(
14
- # OWEwoksWidgetOneThreadPerRun,
15
- # SuperviseProcess,
16
- # ewokstaskclass=tomwer.core.process.icat.createscreenshots.CreateRawDataScreenshotsTask,
17
- # ):
18
- # """
19
- # This widget can receive 'data' (scan) and but some screenshot to be pushed on GALLERY.
20
- # """
21
-
22
- # name = "Create raw data screenshots"
23
- # id = "orangecontrib.widgets.tomwer.icat.RawDataScreenshotCreatorOW.RawDataScreenshotCreatorOW"
24
- # description = "Create screenshot of the raw data from user wishes. \n"
25
- # icon = "icons/raw_screenshots.svg"
26
- # priority = 63
27
- # keywords = [
28
- # "tomography",
29
- # "tomwer",
30
- # "tomo_obj",
31
- # "screenshot",
32
- # "raw data",
33
- # ]
34
-
35
- # want_main_area = True
36
- # want_control_area = False
37
- # resizing_enabled = True
38
-
39
- # _ewoks_default_inputs = Setting(
40
- # {
41
- # "raw_projections_required": True,
42
- # "raw_projections_each": 90,
43
- # "raw_darks_required": True,
44
- # "raw_flats_required": True,
45
- # }
46
- # )
47
-
48
- # _ewoks_inputs_to_hide_from_orange = (
49
- # "__process__",
50
- # "raw_projections_required",
51
- # "raw_projections_each",
52
- # "raw_darks_required",
53
- # "raw_flats_required",
54
- # )
55
-
56
- # def __init__(self, *args, **kwargs):
57
- # super().__init__(*args, **kwargs)
58
- # SuperviseProcess.__init__(self)
59
- # self._widget = CreateRawDataScreenshotsWidget(parent=self)
60
-
61
- # self._box = gui.vBox(self.mainArea, self.name)
62
- # layout = self._box.layout()
63
- # layout.addWidget(self._widget)
64
-
65
- # # load settings
66
- # self._widget.setConfiguration(self._ewoks_default_inputs)
67
-
68
- # # connect signal / slot
69
- # self._widget.sigConfigChanged.connect(self._updateSettings)
70
-
71
- # def _updateSettings(self):
72
- # self._ewoks_default_inputs = self._widget.getConfiguration()
73
-
74
- # def handleNewSignals(self) -> None:
75
- # """Invoked by the workflow signal propagation manager after all
76
- # signals handlers have been called.
77
- # """
78
- # # for now we want to avoid propagation any processing.
79
- # # task will be executed only when the user validates the dialog
80
- # if self.get_task_input_value("data", None) is None:
81
- # return
82
- # else:
83
- # super().handleNewSignals()
84
-
85
- # def get_task_inputs(self):
86
- # task_inputs = super().get_task_inputs()
87
- # configuration = self._widget.getConfiguration()
88
- # task_inputs["raw_projections_required"] = configuration[
89
- # "raw_projections_required"
90
- # ]
91
- # task_inputs["raw_projections_each"] = configuration["raw_projections_each"]
92
- # task_inputs["raw_darks_required"] = configuration["raw_darks_required"]
93
- # task_inputs["raw_flats_required"] = configuration["raw_flats_required"]
94
- # task_inputs["__process__"] = weakref.ref(self)
95
- # return task_inputs
96
-
97
- # def sizeHint(self):
98
- # return qt.QSize(500, 200)
@@ -1,129 +0,0 @@
1
- # from typing import Optional
2
- # from orangewidget import gui
3
- # from orangewidget.settings import Setting
4
-
5
- # from silx.gui import qt
6
- # import weakref
7
- # from ewoksorange.bindings.owwidgets import OWEwoksWidgetOneThreadPerRun
8
-
9
- # from tomwer.core.scan.scanbase import TomwerScanBase
10
- # import tomwer.core.process.icat.gallery
11
- # from tomwer.gui.icat.gallery import GalleryWidget, _GalleryOutputDir
12
- # from processview.core.superviseprocess import SuperviseProcess
13
-
14
-
15
- # class SaveToGalleryAndPublishOW(
16
- # OWEwoksWidgetOneThreadPerRun,
17
- # SuperviseProcess,
18
- # ewokstaskclass=tomwer.core.process.icat.gallery.SaveToGalleryAndPublishTask,
19
- # ):
20
- # """
21
- # This widget can receive 'screenshots' signal (expected as a tuple (source, screenshots_dict)
22
- # source is the tomo obj associated (so we can automate deduction of the output dir)
23
- # screenshots_dict is a dict of str: DataUrl
24
- # """
25
-
26
- # name = "Save to gallery and publish"
27
- # id = "orangecontrib.widgets.tomwer.icat.MoveToGalleryOW.SaveToGalleryAndPublishOW"
28
- # description = "This widget will save screenshot of reconstruction to a specific location (acquisition gallery as the default end point) \n"
29
- # icon = "icons/add_gallery.svg"
30
- # priority = 63
31
- # keywords = [
32
- # "tomography",
33
- # "tomwer",
34
- # "tomo_obj",
35
- # "screenshot",
36
- # "acquisition",
37
- # "gallery",
38
- # ]
39
-
40
- # want_main_area = True
41
- # want_control_area = False
42
- # resizing_enabled = True
43
-
44
- # _ewoks_default_inputs = Setting(
45
- # {
46
- # "format": "png",
47
- # "output_location_mode": "default",
48
- # "custom_output": None,
49
- # "screenshots": None,
50
- # "overwrite": False,
51
- # }
52
- # )
53
-
54
- # _ewoks_inputs_to_hide_from_orange = (
55
- # "proposal",
56
- # "dataset",
57
- # "beamline",
58
- # "dry_run",
59
- # "__process__",
60
- # )
61
-
62
- # def __init__(self, *args, **kwargs):
63
- # super().__init__(*args, **kwargs)
64
- # SuperviseProcess.__init__(self)
65
- # self._scan = None
66
- # self._widget = GalleryWidget(parent=self)
67
-
68
- # self._box = gui.vBox(self.mainArea, self.name)
69
- # layout = self._box.layout()
70
- # layout.addWidget(self._widget)
71
-
72
- # # load settings
73
- # self._widget.setConfiguration(self._ewoks_default_inputs)
74
-
75
- # # connect signal / slot
76
- # self._widget.sigConfigChanged.connect(self._updateSettings)
77
-
78
- # def _updateSettings(self):
79
- # self._ewoks_default_inputs = self._widget.getConfiguration()
80
-
81
- # def setScan(self, scan: TomwerScanBase):
82
- # self._scan = weakref.ref(scan)
83
- # self._widget._publishConfig.setScan(scan=scan)
84
-
85
- # def getScan(self) -> Optional[TomwerScanBase]:
86
- # if self._scan is None:
87
- # return None
88
- # else:
89
- # return self._scan()
90
-
91
- # def handleNewSignals(self) -> None:
92
- # """Invoked by the workflow signal propagation manager after all
93
- # signals handlers have been called.
94
- # """
95
- # # update the widget when receive the scan (proposal, dataset...)
96
- # screenshots = self.get_task_input_value("screenshots", None)
97
- # if screenshots is None:
98
- # return
99
- # else:
100
- # scan = screenshots.scan
101
- # if scan != self.getScan():
102
- # self.setScan(scan)
103
-
104
- # if self.get_task_input_value("screenshots", None) is None:
105
- # return
106
- # else:
107
- # super().handleNewSignals()
108
-
109
- # def get_task_inputs(self):
110
- # task_inputs = super().get_task_inputs()
111
- # configuration = self._widget.getConfiguration()
112
-
113
- # use_custom_output_dir = _GalleryOutputDir.OutputDirMode.from_value(
114
- # configuration.get("output_location_mode", "default")
115
- # )
116
- # # if user requested to overwrite the output directory
117
- # if use_custom_output_dir is _GalleryOutputDir.OutputDirMode.PROPOSAL_GALLERY:
118
- # task_inputs["screenshots"]["output_dir"] = configuration["custom_output"]
119
-
120
- # task_inputs["overwrite"] = configuration["overwrite"]
121
- # task_inputs["format"] = configuration["output_format"]
122
- # task_inputs["beamline"] = configuration["beamline"]
123
- # task_inputs["dataset"] = configuration["dataset"]
124
- # task_inputs["proposal"] = configuration["proposal"]
125
- # task_inputs["__process__"] = weakref.ref(self)
126
- # return task_inputs
127
-
128
- # def sizeHint(self):
129
- # return qt.QSize(500, 200)
@@ -1,82 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="48"
6
- height="48"
7
- viewBox="0 0 12.7 12.7"
8
- version="1.1"
9
- id="svg5"
10
- xml:space="preserve"
11
- inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
12
- sodipodi:docname="add_gallery.svg"
13
- inkscape:export-filename="add_gallery.png"
14
- inkscape:export-xdpi="96"
15
- inkscape:export-ydpi="96"
16
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
17
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
18
- xmlns="http://www.w3.org/2000/svg"
19
- xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
20
- id="namedview7"
21
- pagecolor="#ffffff"
22
- bordercolor="#000000"
23
- borderopacity="0.25"
24
- inkscape:showpageshadow="2"
25
- inkscape:pageopacity="0.0"
26
- inkscape:pagecheckerboard="0"
27
- inkscape:deskcolor="#d1d1d1"
28
- inkscape:document-units="mm"
29
- showgrid="false"
30
- inkscape:zoom="3.3638608"
31
- inkscape:cx="39.686541"
32
- inkscape:cy="-16.052983"
33
- inkscape:window-width="1920"
34
- inkscape:window-height="1163"
35
- inkscape:window-x="1920"
36
- inkscape:window-y="0"
37
- inkscape:window-maximized="1"
38
- inkscape:current-layer="layer1" /><defs
39
- id="defs2" /><g
40
- inkscape:label="Layer 1"
41
- inkscape:groupmode="layer"
42
- id="layer1"><g
43
- id="g4751"><g
44
- style="fill:#000000"
45
- id="g4283"
46
- transform="matrix(0.41325003,0,0,0.41325003,-101.88959,-99.064801)"><g
47
- id="g4271"
48
- transform="translate(-0.06729249)">
49
- <g
50
- id="g4269"
51
- transform="translate(0.03643071,-2.3462263)">
52
- <g
53
- id="g4267"
54
- transform="translate(-0.60682232,-1.2808254)">
55
-
56
- <g
57
- id="g4755"
58
- transform="matrix(1.5285023,0,0,1.4160667,-145.25282,-110.18557)"><path
59
- d="m 275.7632,253.56366 h -12.04292 c -0.27638,0 -0.50277,0.24169 -0.50277,0.54381 v 0.54382 h -0.50277 c -0.27638,0 -0.50277,0.2417 -0.50277,0.54382 v 0.54381 h -0.50277 c -0.27637,0 -0.50276,0.2417 -0.50276,0.54382 v 10.58374 c 0,0.29894 0.22345,0.54382 0.50276,0.54382 h 12.04293 c 0.27637,0 0.50277,-0.2417 0.50277,-0.54382 v -0.54381 h 0.50276 c 0.27638,0 0.50277,-0.2417 0.50277,-0.54382 v -0.54382 h 0.50277 c 0.27638,0 0.50277,-0.24169 0.50277,-0.54381 v -10.58375 c 0,-0.30212 -0.22345,-0.54381 -0.50277,-0.54381 z m -2.00813,8.77738 -1.31426,-1.62827 c -0.1,-0.12403 -0.27637,-0.12403 -0.37928,0 l -1.58769,1.96537 -4.32792,-4.15971 c -0.0941,-0.0922 -0.23816,-0.0922 -0.33224,0 l -4.0986,3.94028 v -5.90883 c 0,-0.14947 0.11173,-0.27032 0.24992,-0.27032 h 11.54015 c 0.13819,0 0.24992,0.12085 0.24992,0.27032 z m 0.75562,3.43463 h -0.24991 v -9.49929 c 0,-0.29894 -0.22346,-0.54382 -0.50277,-0.54382 h -11.04033 v -0.27032 c 0,-0.14947 0.11173,-0.27031 0.24992,-0.27031 h 11.54015 c 0.13819,0 0.24991,0.12084 0.24991,0.27031 l 0.003,10.04311 c 0,0.14947 -0.11173,0.27032 -0.24992,0.27032 z m 1.0026,-1.08763 h -0.24992 v -9.49611 c 0,-0.29894 -0.22345,-0.54382 -0.50276,-0.54382 h -11.04033 v -0.27032 c 0,-0.14947 0.11172,-0.27032 0.24991,-0.27032 h 11.54016 c 0.13818,0 0.24991,0.12085 0.24991,0.27032 v 10.03993 h 0.003 c 0,0.14947 -0.11173,0.27032 -0.24992,0.27032 z"
60
- id="path4263"
61
- style="stroke-width:0.0305784" /><path
62
- d="m 270.9828,256.84862 c -0.89752,0 -1.62795,0.65441 -1.62795,1.45853 0,0.80412 0.73043,1.45853 1.62795,1.45853 0.89752,0 1.62795,-0.65441 1.62795,-1.45853 0,-0.80412 -0.73043,-1.45853 -1.62795,-1.45853 z"
63
- id="path4265"
64
- style="stroke-width:0.045188" /></g>
65
- </g>
66
- </g>
67
- </g></g></g><g
68
- id="path247"><path
69
- style="color:#000000;fill:#ff0024;stroke-width:0.358462;stroke-linecap:round;stroke-miterlimit:3.5;-inkscape-stroke:none"
70
- d="M 4.643707,8.3859317 C 2.1750238,7.950608 0.67964637,6.4708257 1.2349597,2.7904385 1.2880879,5.7018088 2.768268,7.2247632 4.643707,8.3859317 Z"
71
- id="path313" /><path
72
- style="color:#000000;fill:#ff0024;stroke-linecap:round;stroke-miterlimit:3.5;-inkscape-stroke:none"
73
- d="m 1.0585937,2.7636719 c -0.0017,0.011289 0.00167,0.018046 0,0.029297 h -0.00195 c 5.41e-5,0.00296 0.0019,0.00485 0.00195,0.00781 C 0.78686884,4.6456784 1.015877,5.9795537 1.6582031,6.90625 2.3054863,7.8400979 3.350832,8.3398817 4.6132812,8.5625 l 0.125,-0.328125 C 2.886594,7.0879123 1.4661034,5.6388982 1.4140625,2.7871094 Z M 1.3691406,4.8046875 C 1.8214201,6.2384674 2.8100791,7.1583758 3.90625,7.9589844 3.0927927,7.7018012 2.3925042,7.3370258 1.953125,6.703125 1.6233935,6.227415 1.445312,5.5737767 1.3691406,4.8046875 Z"
74
- id="path315" /><g
75
- id="g303"><g
76
- id="path305"><path
77
- style="color:#000000;fill:#ff0024;fill-rule:evenodd;stroke-width:0.358462;-inkscape-stroke:none"
78
- d="M 5.5229814,8.9303299 3.7330828,8.8761405 4.6765807,7.3522681 Z"
79
- id="path309" /><path
80
- style="color:#000000;fill:#ff0024;fill-rule:evenodd;-inkscape-stroke:none"
81
- d="M 4.6875,6.9941406 3.4179688,9.0449219 5.828125,9.1191406 5.6816406,8.8457031 Z M 4.6660156,7.7089844 5.21875,8.7421875 4.0488281,8.7070313 Z"
82
- id="path311" /></g></g></g></g></svg>
@@ -1,143 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="48"
6
- height="48"
7
- viewBox="0 0 12.7 12.7"
8
- version="1.1"
9
- id="svg5"
10
- inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
11
- sodipodi:docname="raw_screenshots.svg"
12
- inkscape:export-filename="raw_screenshots.png"
13
- inkscape:export-xdpi="96"
14
- inkscape:export-ydpi="96"
15
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
17
- xmlns="http://www.w3.org/2000/svg"
18
- xmlns:svg="http://www.w3.org/2000/svg">
19
- <sodipodi:namedview
20
- id="namedview7"
21
- pagecolor="#ffffff"
22
- bordercolor="#000000"
23
- borderopacity="0.25"
24
- inkscape:showpageshadow="2"
25
- inkscape:pageopacity="0.0"
26
- inkscape:pagecheckerboard="0"
27
- inkscape:deskcolor="#d1d1d1"
28
- inkscape:document-units="mm"
29
- showgrid="false"
30
- inkscape:zoom="6.7277216"
31
- inkscape:cx="0.37159682"
32
- inkscape:cy="20.512145"
33
- inkscape:window-width="1920"
34
- inkscape:window-height="1131"
35
- inkscape:window-x="0"
36
- inkscape:window-y="32"
37
- inkscape:window-maximized="1"
38
- inkscape:current-layer="layer1" />
39
- <defs
40
- id="defs2" />
41
- <g
42
- inkscape:label="Layer 1"
43
- inkscape:groupmode="layer"
44
- id="layer1">
45
- <g
46
- id="g2439"
47
- transform="matrix(1.3223936,0,0,1.4044944,-3.7419839,-4.8581475)">
48
- <rect
49
- style="fill:#000000;stroke-width:1.32292;stroke-miterlimit:3.5"
50
- id="rect234"
51
- width="5.2481794"
52
- height="3.1437356"
53
- x="6.3586993"
54
- y="8.866684"
55
- ry="0.55388486" />
56
- <path
57
- style="fill:#ffffff;fill-opacity:1;stroke-width:1.42435;stroke-miterlimit:3.5"
58
- id="path288"
59
- sodipodi:type="arc"
60
- sodipodi:cx="8.9278183"
61
- sodipodi:cy="10.418758"
62
- sodipodi:rx="0.84004527"
63
- sodipodi:ry="0.83572352"
64
- sodipodi:start="0"
65
- sodipodi:end="6.2816001"
66
- sodipodi:open="true"
67
- sodipodi:arc-type="arc"
68
- d="M 9.7678636,10.418758 A 0.84004527,0.83572352 0 0 1 8.9281512,11.254482 0.84004527,0.83572352 0 0 1 8.0877733,10.419421 0.84004527,0.83572352 0 0 1 8.9268196,9.5830355 0.84004527,0.83572352 0 0 1 9.7678625,10.417434" />
69
- <path
70
- style="fill:#000000;fill-opacity:1;stroke-width:0.769944;stroke-miterlimit:3.5"
71
- id="path288-3"
72
- sodipodi:type="arc"
73
- sodipodi:cx="8.9282637"
74
- sodipodi:cy="10.447392"
75
- sodipodi:rx="0.46633503"
76
- sodipodi:ry="0.43989831"
77
- sodipodi:start="0"
78
- sodipodi:end="6.2816001"
79
- sodipodi:open="true"
80
- sodipodi:arc-type="arc"
81
- d="m 9.3945987,10.447392 a 0.46633503,0.43989831 0 0 1 -0.4661502,0.439899 0.46633503,0.43989831 0 0 1 -0.4665197,-0.43955 0.46633503,0.43989831 0 0 1 0.4657804,-0.440247 0.46633503,0.43989831 0 0 1 0.4668889,0.439201" />
82
- <path
83
- style="fill:#ffffff;fill-opacity:1;stroke-width:1.41874;stroke-miterlimit:3.5"
84
- id="path1187"
85
- sodipodi:type="arc"
86
- sodipodi:cx="10.826293"
87
- sodipodi:cy="9.255497"
88
- sodipodi:rx="0.1358857"
89
- sodipodi:ry="0.13223246"
90
- sodipodi:start="0"
91
- sodipodi:end="6.2816001"
92
- sodipodi:open="true"
93
- sodipodi:arc-type="arc"
94
- d="m 10.962179,9.255497 a 0.1358857,0.13223246 0 0 1 -0.135832,0.1322324 0.1358857,0.13223246 0 0 1 -0.13594,-0.1321276 0.1358857,0.13223246 0 0 1 0.135724,-0.1323372 0.1358857,0.13223246 0 0 1 0.136048,0.1320228" />
95
- <path
96
- style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.5;stroke-dasharray:none;stroke-opacity:1"
97
- d="m 7.0723913,9.0411421 0.2728473,-0.4792742 0.7183415,0.0059 0.3004728,0.4269695 z"
98
- id="path1616" />
99
- </g>
100
- <rect
101
- style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.5;stroke-dasharray:1.20000002, 1.20000002;stroke-opacity:1;stroke-dashoffset:0"
102
- id="rect2432"
103
- width="9.5138874"
104
- height="9.9463243"
105
- x="1.3988938"
106
- y="1.5929669"
107
- ry="0.55388486" />
108
- <text
109
- xml:space="preserve"
110
- style="font-style:italic;font-size:7.05556px;font-family:FreeMono;-inkscape-font-specification:'FreeMono Italic';fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.5;stroke-dasharray:1.2, 1.2;stroke-dashoffset:0;stroke-opacity:1;font-weight:normal;font-stretch:normal;font-variant:normal"
111
- x="3.0658464"
112
- y="4.1574163"
113
- id="text2495"><tspan
114
- sodipodi:role="line"
115
- id="tspan2493"
116
- style="stroke-width:0.2;-inkscape-font-specification:'FreeMono Italic';font-family:FreeMono;font-weight:normal;font-style:italic;font-stretch:normal;font-variant:normal"
117
- x="3.0658464"
118
- y="4.1574163" /></text>
119
- <text
120
- xml:space="preserve"
121
- style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:'Nimbus Sans';-inkscape-font-specification:'Nimbus Sans Italic';fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.5;stroke-dasharray:1.2, 1.2;stroke-dashoffset:0;stroke-opacity:1"
122
- x="2.6976638"
123
- y="3.1980052"
124
- id="text3964"><tspan
125
- sodipodi:role="line"
126
- id="tspan3962"
127
- style="stroke-width:0.2;-inkscape-font-specification:'Nimbus Sans Italic';font-family:'Nimbus Sans';font-weight:normal;font-style:italic;font-stretch:normal;font-variant:normal"
128
- x="2.6976638"
129
- y="3.1980052" /></text>
130
- <text
131
- xml:space="preserve"
132
- style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.05093px;font-family:'Nimbus Sans';-inkscape-font-specification:'Nimbus Sans Italic';fill:#666666;fill-opacity:1;stroke:none;stroke-width:0.143176;stroke-miterlimit:3.5;stroke-dasharray:0.859056, 0.859056;stroke-dashoffset:0;stroke-opacity:1"
133
- x="1.2965562"
134
- y="5.3904872"
135
- id="text4077"
136
- transform="scale(1.0659358,0.93814282)"><tspan
137
- sodipodi:role="line"
138
- id="tspan4075"
139
- style="fill:#666666;fill-opacity:1;stroke:none;stroke-width:0.143176"
140
- x="1.2965562"
141
- y="5.3904872">raw</tspan></text>
142
- </g>
143
- </svg>
@@ -1,87 +0,0 @@
1
- # coding: utf-8
2
- # /*##########################################################################
3
- #
4
- # Copyright (c) 2016-2017 European Synchrotron Radiation Facility
5
- #
6
- # Permission is hereby granted, free of charge, to any person obtaining a copy
7
- # of this software and associated documentation files (the "Software"), to deal
8
- # in the Software without restriction, including without limitation the rights
9
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- # copies of the Software, and to permit persons to whom the Software is
11
- # furnished to do so, subject to the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be included in
14
- # all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
- # THE SOFTWARE.
23
- #
24
- # ###########################################################################*/
25
-
26
- __authors__ = ["C. Nemoz", "H. Payno"]
27
- __license__ = "MIT"
28
- __date__ = "26/06/2018"
29
-
30
- from orangewidget import gui, widget
31
- from orangewidget.widget import Input
32
-
33
- import tomwer.core.process.visualization.liveslice
34
- from tomwer.core.scan.scanbase import TomwerScanBase
35
- from tomwer.core.utils.spec import getFirstProjFile
36
-
37
- try:
38
- from liveslice.gui.liveslice_gui import ReconstructionApp
39
- except ImportError:
40
- has_liveslice = False
41
- else:
42
- has_liveslice = True
43
- import logging
44
-
45
- _logger = logging.getLogger(__name__)
46
-
47
-
48
- if has_liveslice is True:
49
-
50
- class LiveSliceOW(widget.OWBaseWidget, openclass=True):
51
- """
52
- Simple widget displaying the live slice interface if found
53
-
54
-
55
- :param parent: the parent widget
56
- """
57
-
58
- name = "live slice"
59
- id = "orange.widgets.tomwer.liveslice"
60
- priority = 36
61
- icon = "icons/liveslice.png"
62
- keywords = ["tomography", "live slice", "reconstruction", "visualization"]
63
-
64
- ewokstaskclass = (
65
- tomwer.core.process.visualization.liveslice._LiveSlicePlaceHolder
66
- )
67
-
68
- want_main_area = True
69
- resizing_enabled = True
70
-
71
- class Inputs:
72
- data = Input(name="data", type=TomwerScanBase)
73
-
74
- def __init__(self, parent=None):
75
- widget.OWBaseWidget.__init__(self, parent)
76
- layout = gui.vBox(self.mainArea, self.name).layout()
77
- self._mainWidget = ReconstructionApp()
78
- self._mainWidget.close_button.hide()
79
- layout.addWidget(self._mainWidget)
80
-
81
- @Inputs.data
82
- def updateScan(self, scanID):
83
- if scanID is not None:
84
- first_proj_file = getFirstProjFile(scanID)
85
- if first_proj_file is not None:
86
- self._mainWidget.setSinoPath(first_proj_file)
87
- self._mainWidget.initiate()
@@ -1,110 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- id="svg2"
13
- width="30"
14
- height="30"
15
- version="1.1"
16
- inkscape:version="0.48.5 r10040"
17
- sodipodi:docname="liveslice.svg"
18
- inkscape:export-filename="/nobackup/linazimov/payno/dev/install_esrforange/orangeProject/orange/tomwer/orangecontrib/tomwer/widgets/visualization/icons/liveslice.png"
19
- inkscape:export-xdpi="200"
20
- inkscape:export-ydpi="200">
21
- <sodipodi:namedview
22
- pagecolor="#ffffff"
23
- bordercolor="#666666"
24
- borderopacity="1"
25
- objecttolerance="10"
26
- gridtolerance="10"
27
- guidetolerance="10"
28
- inkscape:pageopacity="0"
29
- inkscape:pageshadow="2"
30
- inkscape:window-width="640"
31
- inkscape:window-height="480"
32
- id="namedview14"
33
- showgrid="false"
34
- inkscape:zoom="7.8666667"
35
- inkscape:cx="15"
36
- inkscape:cy="15"
37
- inkscape:window-x="0"
38
- inkscape:window-y="31"
39
- inkscape:window-maximized="0"
40
- inkscape:current-layer="layer1" />
41
- <defs
42
- id="defs4">
43
- <marker
44
- id="Arrow1Send"
45
- overflow="visible"
46
- orient="auto">
47
- <path
48
- id="path3790"
49
- transform="scale(.2) rotate(180) translate(6)"
50
- d="m0 0 5-5-17.5 5 17.5 5-5-5z"
51
- fill-rule="evenodd"
52
- stroke="#000"
53
- stroke-width="1pt" />
54
- </marker>
55
- <marker
56
- id="Arrow1Sstart"
57
- overflow="visible"
58
- orient="auto">
59
- <path
60
- id="path3787"
61
- transform="scale(.2) translate(6)"
62
- d="m0 0 5-5-17.5 5 17.5 5-5-5z"
63
- fill-rule="evenodd"
64
- stroke="#000"
65
- stroke-width="1pt" />
66
- </marker>
67
- </defs>
68
- <metadata
69
- id="metadata7">
70
- <rdf:RDF>
71
- <cc:Work
72
- rdf:about="">
73
- <dc:format>image/svg+xml</dc:format>
74
- <dc:type
75
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
76
- <dc:title />
77
- </cc:Work>
78
- </rdf:RDF>
79
- </metadata>
80
- <g
81
- id="layer1"
82
- transform="translate(0.12711864,-1022.4)">
83
- <text
84
- id="text2985"
85
- x="1.8303572"
86
- y="1044.5497"
87
- font-size="12px"
88
- letter-spacing="0px"
89
- word-spacing="0px"
90
- style="font-size:12px;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;font-family:Amiri"
91
- xml:space="preserve"
92
- sodipodi:linespacing="125%"><tspan
93
- id="tspan2987"
94
- x="1.8303572"
95
- y="1044.5497"
96
- font-size="20px"
97
- style="font-size:20px">L S</tspan></text>
98
- <path
99
- id="path3769"
100
- transform="translate(0,1022.4)"
101
- d="m 11.339,15 6.875,-0.04464"
102
- inkscape:connector-curvature="0"
103
- style="fill:none;stroke:#000000;stroke-width:0.5;marker-start:url(#Arrow1Sstart);marker-end:url(#Arrow1Send)" />
104
- <path
105
- id="path2989"
106
- d="m 15.201,1030.3022 -0.13393,15.5071"
107
- inkscape:connector-curvature="0"
108
- style="fill:#e73636;stroke:#d85151;stroke-width:0.84628254px" />
109
- </g>
110
- </svg>