tomwer 1.1.1__py3-none-any.whl → 1.2.0a0__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 (353) hide show
  1. orangecontrib/tomwer/__init__.py +1 -0
  2. orangecontrib/tomwer/orange/managedprocess.py +6 -4
  3. orangecontrib/tomwer/state_summary.py +3 -2
  4. orangecontrib/tomwer/widgets/__init__.py +2 -2
  5. orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +9 -7
  6. orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +6 -5
  7. orangecontrib/tomwer/widgets/control/AdvancementOW.py +2 -1
  8. orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +235 -0
  9. orangecontrib/tomwer/widgets/control/DataListOW.py +7 -5
  10. orangecontrib/tomwer/widgets/control/DataListenerOW.py +13 -14
  11. orangecontrib/tomwer/widgets/control/DataSelectorOW.py +8 -6
  12. orangecontrib/tomwer/widgets/control/DataTransfertOW.py +9 -9
  13. orangecontrib/tomwer/widgets/control/DataValidatorOW.py +7 -8
  14. orangecontrib/tomwer/widgets/control/DataWatcherOW.py +25 -17
  15. orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +8 -8
  16. orangecontrib/tomwer/widgets/control/FilterOW.py +9 -8
  17. orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +3 -4
  18. orangecontrib/tomwer/widgets/control/NXTomomillOW.py +13 -14
  19. orangecontrib/tomwer/widgets/control/NotifierOW.py +3 -4
  20. orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +7 -5
  21. orangecontrib/tomwer/widgets/control/TimerOW.py +6 -5
  22. orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +5 -3
  23. orangecontrib/tomwer/widgets/control/VolumeSelector.py +8 -6
  24. orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +10 -9
  25. orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
  26. orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +137 -0
  27. orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
  28. orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +5 -8
  29. orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +13 -15
  30. orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +3 -2
  31. orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +10 -7
  32. orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +8 -5
  33. orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +5 -2
  34. orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +6 -3
  35. orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +8 -6
  36. orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +3 -1
  37. orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +3 -1
  38. orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +3 -1
  39. orangecontrib/tomwer/widgets/other/PythonScriptOW.py +11 -11
  40. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +22 -27
  41. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +13 -11
  42. orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +11 -9
  43. orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +16 -14
  44. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +27 -32
  45. orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +27 -34
  46. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +23 -25
  47. orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +16 -18
  48. orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +9 -7
  49. orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
  50. orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +8 -11
  51. orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +8 -8
  52. orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +6 -4
  53. orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +4 -3
  54. orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +4 -3
  55. orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +6 -4
  56. orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +8 -6
  57. orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +6 -3
  58. orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +7 -5
  59. orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +5 -4
  60. tomwer/__init__.py +1 -1
  61. tomwer/__main__.py +2 -1
  62. tomwer/app/axis.py +18 -14
  63. tomwer/app/canvas.py +7 -5
  64. tomwer/app/canvas_launcher/config.py +8 -6
  65. tomwer/app/canvas_launcher/environ.py +1 -2
  66. tomwer/app/canvas_launcher/mainwindow.py +23 -22
  67. tomwer/app/canvas_launcher/splash.py +1 -0
  68. tomwer/app/canvas_launcher/widgetsscheme.py +3 -3
  69. tomwer/app/darkref.py +7 -6
  70. tomwer/app/darkrefpatch.py +8 -6
  71. tomwer/app/diffframe.py +6 -4
  72. tomwer/app/imagekeyeditor.py +10 -10
  73. tomwer/app/imagekeyupgrader.py +8 -6
  74. tomwer/app/intensitynormalization.py +8 -8
  75. tomwer/app/lamino.py +5 -3
  76. tomwer/app/nabuapp.py +8 -6
  77. tomwer/app/nxtomoeditor.py +6 -5
  78. tomwer/app/radiostack.py +8 -6
  79. tomwer/app/rsync.py +3 -3
  80. tomwer/app/saaxis.py +22 -23
  81. tomwer/app/sadeltabeta.py +21 -21
  82. tomwer/app/samplemoved.py +8 -6
  83. tomwer/app/scanviewer.py +7 -6
  84. tomwer/app/sinogramviewer.py +8 -7
  85. tomwer/app/slicestack.py +8 -6
  86. tomwer/app/stopdatalistener.py +2 -1
  87. tomwer/core/futureobject.py +15 -6
  88. tomwer/core/log/logger.py +4 -3
  89. tomwer/core/log/processlog.py +0 -1
  90. tomwer/core/process/conditions/filters.py +3 -3
  91. tomwer/core/process/control/datadiscovery.py +7 -0
  92. tomwer/core/process/control/datalistener/datalistener.py +22 -21
  93. tomwer/core/process/control/datalistener/rpcserver.py +18 -28
  94. tomwer/core/process/control/datawatcher/datawatcher.py +15 -12
  95. tomwer/core/process/control/datawatcher/datawatcherobserver.py +11 -8
  96. tomwer/core/process/control/datawatcher/datawatcherprocess.py +7 -5
  97. tomwer/core/process/control/datawatcher/edfdwprocess.py +5 -15
  98. tomwer/core/process/control/datawatcher/hdf5dwprocess.py +3 -1
  99. tomwer/core/process/control/datawatcher/status.py +2 -0
  100. tomwer/core/process/control/nxtomomill.py +7 -6
  101. tomwer/core/process/control/scanlist.py +2 -1
  102. tomwer/core/process/control/scanselector.py +1 -0
  103. tomwer/core/process/control/scantransfer.py +12 -12
  104. tomwer/core/process/control/scanvalidator.py +7 -6
  105. tomwer/core/process/control/test/test_volume_link.py +5 -4
  106. tomwer/core/process/control/timer.py +4 -4
  107. tomwer/core/process/control/volumeselector.py +1 -0
  108. tomwer/core/process/control/volumesymlink.py +8 -9
  109. tomwer/core/process/edit/darkflatpatch.py +9 -12
  110. tomwer/core/process/edit/imagekeyeditor.py +11 -13
  111. tomwer/core/process/reconstruction/axis/axis.py +36 -38
  112. tomwer/core/process/reconstruction/axis/mode.py +2 -1
  113. tomwer/core/process/reconstruction/axis/params.py +23 -28
  114. tomwer/core/process/reconstruction/darkref/darkrefs.py +23 -27
  115. tomwer/core/process/reconstruction/darkref/darkrefscopy.py +14 -18
  116. tomwer/core/process/reconstruction/darkref/params.py +3 -1
  117. tomwer/core/process/reconstruction/lamino/tofu.py +11 -15
  118. tomwer/core/process/reconstruction/nabu/castvolume.py +15 -18
  119. tomwer/core/process/reconstruction/nabu/nabucommon.py +19 -20
  120. tomwer/core/process/reconstruction/nabu/nabuscores.py +16 -14
  121. tomwer/core/process/reconstruction/nabu/nabuslices.py +27 -22
  122. tomwer/core/process/reconstruction/nabu/nabuvolume.py +20 -22
  123. tomwer/core/process/reconstruction/nabu/utils.py +17 -15
  124. tomwer/core/process/reconstruction/normalization/__init__.py +1 -3
  125. tomwer/core/process/reconstruction/normalization/normalization.py +16 -21
  126. tomwer/core/process/reconstruction/normalization/params.py +2 -2
  127. tomwer/core/process/reconstruction/saaxis/__init__.py +1 -1
  128. tomwer/core/process/reconstruction/saaxis/params.py +6 -7
  129. tomwer/core/process/reconstruction/saaxis/saaxis.py +44 -55
  130. tomwer/core/process/reconstruction/sadeltabeta/__init__.py +1 -1
  131. tomwer/core/process/reconstruction/sadeltabeta/params.py +9 -13
  132. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +40 -46
  133. tomwer/core/process/reconstruction/scores/__init__.py +2 -2
  134. tomwer/core/process/reconstruction/scores/params.py +6 -9
  135. tomwer/core/process/reconstruction/scores/scores.py +10 -13
  136. tomwer/core/process/reconstruction/test/test_axis_params.py +4 -2
  137. tomwer/core/process/reconstruction/test/test_darkref.py +1 -2
  138. tomwer/core/process/reconstruction/test/test_darkref_copy.py +3 -1
  139. tomwer/core/process/reconstruction/test/test_paramsbase.py +1 -1
  140. tomwer/core/process/reconstruction/test/test_saaxis.py +11 -7
  141. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +5 -4
  142. tomwer/core/process/reconstruction/test/test_utils.py +3 -2
  143. tomwer/core/process/script/python.py +6 -8
  144. tomwer/core/process/task.py +11 -12
  145. tomwer/core/process/test/test_axis.py +12 -9
  146. tomwer/core/process/test/test_conditions.py +8 -8
  147. tomwer/core/process/test/test_dark_and_flat.py +9 -8
  148. tomwer/core/process/test/test_data_listener.py +5 -3
  149. tomwer/core/process/test/test_data_transfer.py +14 -12
  150. tomwer/core/process/test/test_data_watcher.py +3 -1
  151. tomwer/core/process/test/test_lamino.py +3 -1
  152. tomwer/core/process/test/test_nabu.py +13 -12
  153. tomwer/core/process/test/test_normalization.py +7 -5
  154. tomwer/core/process/test/test_timer.py +2 -1
  155. tomwer/core/process/utils.py +9 -9
  156. tomwer/core/progress.py +3 -4
  157. tomwer/core/scan/blissscan.py +4 -2
  158. tomwer/core/scan/edfscan.py +26 -29
  159. tomwer/core/scan/futurescan.py +2 -1
  160. tomwer/core/scan/hdf5scan.py +21 -28
  161. tomwer/core/scan/scanbase.py +18 -18
  162. tomwer/core/scan/scanfactory.py +20 -21
  163. tomwer/core/scan/scantype.py +7 -0
  164. tomwer/core/scan/test/test_edf.py +2 -1
  165. tomwer/core/scan/test/test_future_scan.py +2 -1
  166. tomwer/core/scan/test/test_h5.py +5 -4
  167. tomwer/core/scan/test/test_process_registration.py +5 -3
  168. tomwer/core/scan/test/test_scan.py +11 -9
  169. tomwer/core/settings.py +1 -2
  170. tomwer/core/test/test_lamino.py +3 -2
  171. tomwer/core/test/test_scanutils.py +3 -2
  172. tomwer/core/test/test_utils.py +6 -4
  173. tomwer/core/utils/__init__.py +8 -6
  174. tomwer/core/utils/deprecation.py +2 -2
  175. tomwer/core/utils/image.py +4 -3
  176. tomwer/core/utils/locker.py +1 -1
  177. tomwer/core/utils/normalization.py +1 -0
  178. tomwer/core/utils/nxtomoutils.py +2 -1
  179. tomwer/core/utils/scanutils.py +9 -6
  180. tomwer/core/utils/slurm.py +2 -1
  181. tomwer/core/utils/time.py +2 -4
  182. tomwer/core/utils/volumeutils.py +2 -1
  183. tomwer/core/volume/__init__.py +1 -1
  184. tomwer/core/volume/edfvolume.py +4 -3
  185. tomwer/core/volume/hdf5volume.py +6 -8
  186. tomwer/core/volume/jp2kvolume.py +4 -3
  187. tomwer/core/volume/rawvolume.py +7 -7
  188. tomwer/core/volume/tiffvolume.py +8 -6
  189. tomwer/core/volume/volumebase.py +1 -0
  190. tomwer/core/volume/volumefactory.py +18 -18
  191. tomwer/gui/cluster/slurm.py +2 -0
  192. tomwer/gui/cluster/supervisor.py +4 -2
  193. tomwer/gui/cluster/test/test_cluster.py +5 -4
  194. tomwer/gui/cluster/test/test_supervisor.py +4 -2
  195. tomwer/gui/conditions/filter.py +7 -6
  196. tomwer/gui/control/actions.py +1 -0
  197. tomwer/gui/control/datadiscovery.py +168 -0
  198. tomwer/gui/control/datalist.py +29 -28
  199. tomwer/gui/control/datalistener.py +8 -4
  200. tomwer/gui/control/datareacheractions.py +2 -1
  201. tomwer/gui/control/datatransfert.py +3 -1
  202. tomwer/gui/control/datavalidator.py +11 -12
  203. tomwer/gui/control/datawatcher/configuration.py +12 -1
  204. tomwer/gui/control/datawatcher/controlwidget.py +116 -0
  205. tomwer/gui/control/datawatcher/datawatcher.py +63 -121
  206. tomwer/gui/control/datawatcher/datawatcherobserver.py +7 -9
  207. tomwer/gui/control/history.py +3 -1
  208. tomwer/gui/control/observations.py +7 -7
  209. tomwer/gui/control/scanselectorwidget.py +4 -2
  210. tomwer/gui/control/selectorwidgetbase.py +3 -1
  211. tomwer/gui/control/serie/seriecreator.py +11 -12
  212. tomwer/gui/control/singletomoobj.py +4 -4
  213. tomwer/gui/control/test/test_datadiscovery.py +27 -0
  214. tomwer/gui/control/test/test_datalist.py +7 -6
  215. tomwer/gui/control/test/test_datalistener.py +4 -4
  216. tomwer/gui/control/test/test_datavalidator.py +3 -1
  217. tomwer/gui/control/test/test_inputwidget.py +5 -4
  218. tomwer/gui/control/test/test_process_manager.py +3 -3
  219. tomwer/gui/control/test/test_scanselector.py +6 -4
  220. tomwer/gui/control/test/test_scanvalidator.py +6 -5
  221. tomwer/gui/control/test/test_single_tomo_obj.py +5 -3
  222. tomwer/gui/control/test/test_volume_dialog.py +7 -5
  223. tomwer/gui/control/test/test_volumeselector.py +8 -6
  224. tomwer/gui/control/volumeselectorwidget.py +2 -1
  225. tomwer/gui/debugtools/datasetgenerator.py +2 -1
  226. tomwer/gui/debugtools/objectinspector.py +6 -7
  227. tomwer/gui/edit/dkrfpatch.py +11 -10
  228. tomwer/gui/edit/imagekeyeditor.py +12 -12
  229. tomwer/gui/edit/nxtomoeditor.py +8 -7
  230. tomwer/gui/edit/test/test_dkrf_patch.py +10 -9
  231. tomwer/gui/edit/test/test_image_key_editor.py +8 -6
  232. tomwer/gui/edit/test/test_nx_editor.py +7 -5
  233. tomwer/gui/icons.py +3 -2
  234. tomwer/gui/illustrations.py +3 -2
  235. tomwer/gui/imagefromfile.py +3 -1
  236. tomwer/gui/qfolderdialog.py +14 -12
  237. tomwer/gui/reconstruction/axis/CompareImages.py +9 -8
  238. tomwer/gui/reconstruction/axis/__init__.py +1 -1
  239. tomwer/gui/reconstruction/axis/axis.py +9 -7
  240. tomwer/gui/reconstruction/axis/radioaxis.py +30 -32
  241. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +6 -5
  242. tomwer/gui/reconstruction/darkref/darkrefwidget.py +4 -2
  243. tomwer/gui/reconstruction/lamino/tofu/misc.py +3 -1
  244. tomwer/gui/reconstruction/lamino/tofu/projections.py +16 -8
  245. tomwer/gui/reconstruction/lamino/tofu/tofu.py +6 -3
  246. tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +5 -2
  247. tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +8 -5
  248. tomwer/gui/reconstruction/nabu/action.py +1 -0
  249. tomwer/gui/reconstruction/nabu/castvolume.py +6 -4
  250. tomwer/gui/reconstruction/nabu/check.py +3 -2
  251. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +5 -2
  252. tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -3
  253. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +4 -3
  254. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +7 -5
  255. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +8 -6
  256. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +7 -7
  257. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +40 -33
  258. tomwer/gui/reconstruction/nabu/nabuflow.py +7 -4
  259. tomwer/gui/reconstruction/nabu/slices.py +14 -10
  260. tomwer/gui/reconstruction/nabu/slurm.py +1 -0
  261. tomwer/gui/reconstruction/nabu/volume.py +5 -3
  262. tomwer/gui/reconstruction/normalization/intensity.py +14 -13
  263. tomwer/gui/reconstruction/saaxis/corrangeselector.py +36 -35
  264. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +5 -4
  265. tomwer/gui/reconstruction/saaxis/saaxis.py +17 -17
  266. tomwer/gui/reconstruction/saaxis/sliceselector.py +5 -5
  267. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +33 -36
  268. tomwer/gui/reconstruction/scores/scoreplot.py +19 -18
  269. tomwer/gui/reconstruction/test/test_axis.py +14 -13
  270. tomwer/gui/reconstruction/test/test_lamino.py +3 -2
  271. tomwer/gui/reconstruction/test/test_nabu.py +8 -6
  272. tomwer/gui/reconstruction/test/test_saaxis.py +17 -15
  273. tomwer/gui/reconstruction/test/test_sadeltabeta.py +15 -13
  274. tomwer/gui/samplemoved/__init__.py +8 -7
  275. tomwer/gui/samplemoved/selectiontable.py +4 -2
  276. tomwer/gui/stackplot.py +14 -13
  277. tomwer/gui/stacks.py +11 -9
  278. tomwer/gui/test/test_axis_gui.py +5 -4
  279. tomwer/gui/test/test_qfolder_dialog.py +2 -1
  280. tomwer/gui/utils/__init__.py +5 -5
  281. tomwer/gui/utils/buttons.py +1 -0
  282. tomwer/gui/utils/completer.py +1 -0
  283. tomwer/gui/utils/flow.py +4 -2
  284. tomwer/gui/utils/illustrations.py +1 -0
  285. tomwer/gui/utils/inputwidget.py +11 -17
  286. tomwer/gui/utils/lineselector/lineselector.py +6 -8
  287. tomwer/gui/utils/qt_utils.py +1 -0
  288. tomwer/gui/utils/scandescription.py +2 -0
  289. tomwer/gui/utils/splashscreen.py +1 -1
  290. tomwer/gui/utils/unitsystem.py +3 -1
  291. tomwer/gui/utils/vignettes.py +8 -8
  292. tomwer/gui/utils/waiterthread.py +2 -1
  293. tomwer/gui/visualization/dataviewer.py +20 -28
  294. tomwer/gui/visualization/diffviewer/diffviewer.py +17 -20
  295. tomwer/gui/visualization/diffviewer/shiftwidget.py +3 -1
  296. tomwer/gui/visualization/nxtomometadata.py +1 -0
  297. tomwer/gui/visualization/reconstructionparameters.py +13 -12
  298. tomwer/gui/visualization/scanoverview.py +5 -3
  299. tomwer/gui/visualization/sinogramviewer.py +3 -2
  300. tomwer/gui/visualization/test/test_dataviewer.py +3 -1
  301. tomwer/gui/visualization/test/test_diffviewer.py +8 -6
  302. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +5 -3
  303. tomwer/gui/visualization/test/test_reconstruction_parameters.py +5 -3
  304. tomwer/gui/visualization/test/test_sinogramviewer.py +10 -9
  305. tomwer/gui/visualization/test/test_stacks.py +8 -6
  306. tomwer/gui/visualization/test/test_volumeviewer.py +10 -8
  307. tomwer/gui/visualization/tomoobjoverview.py +7 -4
  308. tomwer/gui/visualization/volumeoverview.py +5 -3
  309. tomwer/gui/visualization/volumeviewer.py +15 -14
  310. tomwer/io/utils/__init__.py +3 -3
  311. tomwer/io/utils/h5pyutils.py +2 -1
  312. tomwer/io/utils/utils.py +17 -21
  313. tomwer/resources/__init__.py +1 -1
  314. tomwer/synctools/axis.py +3 -1
  315. tomwer/synctools/darkref.py +3 -2
  316. tomwer/synctools/datalistener.py +10 -6
  317. tomwer/synctools/datatransfert.py +2 -3
  318. tomwer/synctools/imageloaderthread.py +5 -3
  319. tomwer/synctools/rsyncmanager.py +3 -2
  320. tomwer/synctools/saaxis.py +3 -1
  321. tomwer/synctools/sadeltabeta.py +3 -1
  322. tomwer/synctools/stacks/control/datalistener.py +9 -12
  323. tomwer/synctools/stacks/edit/darkflatpatch.py +13 -12
  324. tomwer/synctools/stacks/edit/imagekeyeditor.py +12 -11
  325. tomwer/synctools/stacks/processingstack.py +3 -2
  326. tomwer/synctools/stacks/reconstruction/axis.py +12 -12
  327. tomwer/synctools/stacks/reconstruction/castvolume.py +8 -5
  328. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +10 -9
  329. tomwer/synctools/stacks/reconstruction/lamino.py +9 -7
  330. tomwer/synctools/stacks/reconstruction/nabu.py +18 -17
  331. tomwer/synctools/stacks/reconstruction/normalization.py +12 -16
  332. tomwer/synctools/stacks/reconstruction/saaxis.py +13 -11
  333. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +16 -14
  334. tomwer/synctools/test/test_darkRefs.py +4 -3
  335. tomwer/synctools/test/test_foldertransfer.py +14 -12
  336. tomwer/synctools/test/test_scanstages.py +8 -7
  337. tomwer/synctools/utils/scanstages.py +7 -5
  338. tomwer/tests/conftest.py +4 -4
  339. tomwer/tests/test_scripts.py +3 -2
  340. tomwer/tests/utils/__init__.py +5 -4
  341. tomwer/tests/utils/utilstest.py +5 -6
  342. tomwer/third_party/nabu/preproc/phase.py +7 -5
  343. tomwer/third_party/nabu/utils.py +3 -2
  344. tomwer/utils.py +12 -12
  345. tomwer/version.py +4 -4
  346. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/METADATA +2 -2
  347. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/RECORD +353 -345
  348. /tomwer-1.1.1-py3.8-nspkg.pth → /tomwer-1.2.0a0-py3.8-nspkg.pth +0 -0
  349. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/LICENSE +0 -0
  350. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/WHEEL +0 -0
  351. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/entry_points.txt +0 -0
  352. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/namespace_packages.txt +0 -0
  353. {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/top_level.txt +0 -0
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
5
- import sys
6
6
  import os
7
- import argparse
8
7
  import signal
9
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
8
+ import sys
9
+
10
10
  from silx.gui import qt
11
- from tomwer.gui import icons
12
- from tomwer.core.scan.scanfactory import ScanFactory
11
+
12
+ from tomwer.core.process.reconstruction.normalization import SinoNormalizationTask
13
13
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
14
14
  from tomwer.core.scan.scanbase import TomwerScanBase
15
+ from tomwer.core.scan.scanfactory import ScanFactory
16
+ from tomwer.gui import icons
15
17
  from tomwer.gui.reconstruction.normalization.intensity import (
16
18
  SinoNormWindow as _SinoNormWindow,
17
19
  )
18
- from tomwer.core.process.reconstruction.normalization import (
19
- SinoNormalizationTask,
20
- )
20
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
21
21
 
22
22
  logging.basicConfig(level=logging.INFO)
23
23
  _logger = logging.getLogger(__name__)
tomwer/app/lamino.py CHANGED
@@ -6,14 +6,16 @@ import logging
6
6
  import os
7
7
  import signal
8
8
  import sys
9
+
9
10
  from silx.gui import qt
11
+
10
12
  from tomwer.core.process.reconstruction.lamino.tofu import LaminoReconstruction
11
- from tomwer.gui.reconstruction.lamino.tofu import TofuWindow
12
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
13
- from tomwer.gui import icons
14
13
  from tomwer.core.scan.scanbase import TomwerScanBase
15
14
  from tomwer.core.scan.scanfactory import ScanFactory
16
15
  from tomwer.core.utils.resource import increase_max_number_file
16
+ from tomwer.gui import icons
17
+ from tomwer.gui.reconstruction.lamino.tofu import TofuWindow
18
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
17
19
 
18
20
  _logger = logging.getLogger(__name__)
19
21
  # logging.getLogger().setLevel(logging.INFO)
tomwer/app/nabuapp.py CHANGED
@@ -1,19 +1,21 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
6
+ import signal
5
7
  import sys
8
+
6
9
  from silx.gui import qt
7
- import argparse
10
+
11
+ from tomwer.core.process.reconstruction.nabu.nabuslices import run_slices_reconstruction
8
12
  from tomwer.core.process.reconstruction.utils.cor import relative_pos_to_absolute
13
+ from tomwer.core.scan.scanfactory import ScanFactory
14
+ from tomwer.core.utils.resource import increase_max_number_file
9
15
  from tomwer.gui import icons
10
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
11
16
  from tomwer.gui.reconstruction.nabu.slices import NabuDialog
12
- from tomwer.core.scan.scanfactory import ScanFactory
13
- from tomwer.core.process.reconstruction.nabu.nabuslices import run_slices_reconstruction
17
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
14
18
  from tomwer.gui.visualization.dataviewer import DataViewer as _DataViewer
15
- from tomwer.core.utils.resource import increase_max_number_file
16
- import signal
17
19
 
18
20
  logging.basicConfig(level=logging.WARNING)
19
21
  _logger = logging.getLogger(__name__)
@@ -1,15 +1,16 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- import sys
5
4
  import argparse
6
- from silx.gui import qt
5
+ import logging
7
6
  import signal
8
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
7
+ import sys
8
+
9
+ from silx.gui import qt
10
+
9
11
  from tomwer.core.scan.scanfactory import ScanFactory
10
12
  from tomwer.gui.edit.nxtomoeditor import NXtomoEditorDialog as _NXtomoEditorDialog
11
- import logging
12
-
13
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
13
14
 
14
15
  logging.basicConfig(level=logging.WARNING)
15
16
  _logger = logging.getLogger(__name__)
tomwer/app/radiostack.py CHANGED
@@ -1,17 +1,19 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
5
- import sys
6
6
  import os
7
+ import signal
8
+ import sys
9
+
7
10
  from silx.gui import qt
8
- import argparse
9
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
10
- from tomwer.gui.stacks import RadioStack
11
- from tomwer.gui import icons
11
+
12
12
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
13
13
  from tomwer.core.utils.resource import increase_max_number_file
14
- import signal
14
+ from tomwer.gui import icons
15
+ from tomwer.gui.stacks import RadioStack
16
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
15
17
 
16
18
  logging.basicConfig(level=logging.WARNING)
17
19
  _logger = logging.getLogger(__name__)
tomwer/app/rsync.py CHANGED
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- import logging
5
- import sys
6
4
  import argparse
7
5
  import glob
6
+ import logging
8
7
  import os
9
8
  import shutil
9
+ import sys
10
+
10
11
  from tomwer.core.scan.scanfactory import ScanFactory
11
12
  from tomwer.synctools.utils.scanstages import ScanStages
12
13
 
13
-
14
14
  logging.basicConfig(level=logging.WARNING)
15
15
  logger = logging.getLogger(__name__)
16
16
 
tomwer/app/saaxis.py CHANGED
@@ -1,30 +1,31 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- import sys
5
4
  import argparse
6
- from silx.gui import qt
7
- from silx.io.utils import h5py_read_dataset
5
+ import logging
8
6
  import signal
7
+ import sys
8
+ import time
9
9
  from typing import Union
10
- from tomwer.gui import icons
11
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
12
- from tomwer.core.scan.scanfactory import ScanFactory
13
- from tomwer.gui.reconstruction.saaxis.saaxis import SAAxisWindow as _SAAxisWindow
14
- from tomwer.core.process.reconstruction.axis.axis import AxisProcess, NoAxisUrl
15
- from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
16
- from tomwer.synctools.axis import QAxisRP
17
- from tomwer.synctools.saaxis import QSAAxisParams
18
- from tomwer.core.process.task import Task
19
- from tomwer.io.utils.h5pyutils import EntryReader
10
+
11
+ from silx.gui import qt
12
+ from silx.io.utils import h5py_read_dataset
13
+
20
14
  from tomwer.core.process import utils as core_utils
15
+ from tomwer.core.process.reconstruction.axis.axis import AxisProcess, NoAxisUrl
21
16
  from tomwer.core.process.reconstruction.darkref.darkrefs import (
22
17
  requires_reduced_dark_and_flat,
23
18
  )
19
+ from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
20
+ from tomwer.core.process.task import Task
21
+ from tomwer.core.scan.scanfactory import ScanFactory
24
22
  from tomwer.core.utils.resource import increase_max_number_file
25
- import logging
26
- import time
27
-
23
+ from tomwer.gui import icons
24
+ from tomwer.gui.reconstruction.saaxis.saaxis import SAAxisWindow as _SAAxisWindow
25
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
26
+ from tomwer.io.utils.h5pyutils import EntryReader
27
+ from tomwer.synctools.axis import QAxisRP
28
+ from tomwer.synctools.saaxis import QSAAxisParams
28
29
 
29
30
  logging.basicConfig(level=logging.WARNING)
30
31
  _logger = logging.getLogger(__name__)
@@ -46,7 +47,7 @@ class SAAxisThread(qt.QThread):
46
47
  process.dump_roi = self._dump_roi
47
48
  t0 = time.time()
48
49
  process.run()
49
- print("execution time is {}".format(time.time() - t0))
50
+ print(f"execution time is {time.time() - t0}")
50
51
 
51
52
 
52
53
  class SAAxisWindow(_SAAxisWindow):
@@ -96,12 +97,10 @@ class SAAxisWindow(_SAAxisWindow):
96
97
  qt.QApplication.restoreOverrideCursor()
97
98
 
98
99
  def _callbackStartLoadSinogram(self):
99
- print(
100
- "start loading sinogram for {}. Can take some time".format(self.getScan())
101
- )
100
+ print(f"start loading sinogram for {self.getScan()}. Can take some time")
102
101
 
103
102
  def _callbackEndLoadSinogram(self):
104
- print("sinogram loaded for {} loaded.".format(self.getScan()))
103
+ print(f"sinogram loaded for {self.getScan()} loaded.")
105
104
 
106
105
  def close(self) -> None:
107
106
  self._stopProcessingThread()
@@ -128,7 +127,7 @@ class SAAxisWindow(_SAAxisWindow):
128
127
  }
129
128
  )
130
129
 
131
- _logger.info("{} - start cor estimation for".format(scan))
130
+ _logger.info(f"{scan} - start cor estimation for")
132
131
  qt.QApplication.setOverrideCursor(qt.Qt.WaitCursor)
133
132
  try:
134
133
  _cor_estimation_process.compute(scan=scan, wait=True)
@@ -270,7 +269,7 @@ def _load_latest_scores(scan) -> tuple:
270
269
  latest_saaxis_node["results"]["center_of_rotation"]
271
270
  )
272
271
  else:
273
- _logger.warning("no results found for {}".format(scan))
272
+ _logger.warning(f"no results found for {scan}")
274
273
  return scores, selected
275
274
 
276
275
 
tomwer/app/sadeltabeta.py CHANGED
@@ -1,36 +1,36 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- import sys
5
4
  import argparse
6
- from silx.gui import qt
5
+ import logging
7
6
  import signal
7
+ import sys
8
+ import time
8
9
  from typing import Union
9
- from tomwer.gui import icons
10
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
11
- from tomwer.core.scan.scanfactory import ScanFactory
10
+
11
+ from silx.gui import qt
12
12
  from silx.io.utils import h5py_read_dataset
13
+
14
+ from tomwer.core.process import utils as core_utils
15
+ from tomwer.core.process.reconstruction.axis.axis import AxisProcess, NoAxisUrl
16
+ from tomwer.core.process.reconstruction.darkref.darkrefs import (
17
+ requires_reduced_dark_and_flat,
18
+ )
13
19
  from tomwer.core.process.reconstruction.sadeltabeta.sadeltabeta import (
14
20
  SADeltaBetaProcess,
15
21
  )
22
+ from tomwer.core.process.task import Task
23
+ from tomwer.core.scan.scanfactory import ScanFactory
24
+ from tomwer.core.utils.resource import increase_max_number_file
25
+ from tomwer.gui import icons
26
+ from tomwer.gui.reconstruction.saaxis.saaxis import NabuAutoCorDiag
16
27
  from tomwer.gui.reconstruction.sadeltabeta.saadeltabeta import (
17
28
  SADeltaBetaWindow as _SADeltaBetaWindow,
18
29
  )
30
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
31
+ from tomwer.io.utils.h5pyutils import EntryReader
19
32
  from tomwer.synctools.axis import QAxisRP
20
- from tomwer.gui.reconstruction.saaxis.saaxis import NabuAutoCorDiag
21
- from tomwer.core.process.reconstruction.axis.axis import AxisProcess
22
- from tomwer.core.process.reconstruction.axis.axis import NoAxisUrl
23
33
  from tomwer.synctools.sadeltabeta import QSADeltaBetaParams
24
- from tomwer.core.process.task import Task
25
- from tomwer.io.utils.h5pyutils import EntryReader
26
- from tomwer.core.process import utils as core_utils
27
- from tomwer.core.process.reconstruction.darkref.darkrefs import (
28
- requires_reduced_dark_and_flat,
29
- )
30
- from tomwer.core.utils.resource import increase_max_number_file
31
- import logging
32
- import time
33
-
34
34
 
35
35
  logging.basicConfig(level=logging.WARNING)
36
36
  _logger = logging.getLogger(__name__)
@@ -52,7 +52,7 @@ class SADeltaBetaThread(qt.QThread):
52
52
  process.dump_roi = self._dump_roi
53
53
  t0 = time.time()
54
54
  process.run()
55
- print("execution time is {}".format(time.time() - t0))
55
+ print(f"execution time is {time.time() - t0}")
56
56
 
57
57
 
58
58
  class SADeltaBetaWindow(_SADeltaBetaWindow):
@@ -202,7 +202,7 @@ class SADeltaBetaWindow(_SADeltaBetaWindow):
202
202
  inputs={"data": scan, "axis_params": self._qaxis_rp}
203
203
  )
204
204
 
205
- _logger.info("{} - start cor estimation for".format(scan))
205
+ _logger.info(f"{scan} - start cor estimation for")
206
206
  qt.QApplication.setOverrideCursor(qt.Qt.WaitCursor)
207
207
  try:
208
208
  _cor_estimation_process.compute(scan=scan, wait=True)
@@ -340,7 +340,7 @@ def _load_latest_scores(scan) -> tuple:
340
340
  if "delta_beta" in latest_sa_db_node["results"]:
341
341
  selected = h5py_read_dataset(latest_sa_db_node["results"]["delta_beta"])
342
342
  else:
343
- _logger.warning("no results found for {}".format(scan))
343
+ _logger.warning(f"no results found for {scan}")
344
344
  return scores, selected
345
345
 
346
346
 
tomwer/app/samplemoved.py CHANGED
@@ -1,17 +1,19 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
6
+ import os
7
+ import signal
5
8
  import sys
9
+
6
10
  from silx.gui import qt
7
- import argparse
8
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
9
- from tomwer.gui import icons
11
+
10
12
  from tomwer.core.scan.scanfactory import ScanFactory
11
- from tomwer.gui.samplemoved import SampleMovedWidget
12
13
  from tomwer.core.utils.resource import increase_max_number_file
13
- import os
14
- import signal
14
+ from tomwer.gui import icons
15
+ from tomwer.gui.samplemoved import SampleMovedWidget
16
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
15
17
 
16
18
  logging.basicConfig(level=logging.WARNING)
17
19
  _logger = logging.getLogger(__name__)
tomwer/app/scanviewer.py CHANGED
@@ -1,17 +1,18 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- import sys
5
4
  import argparse
6
- from silx.gui import qt
5
+ import logging
7
6
  import signal
7
+ import sys
8
+
9
+ from silx.gui import qt
10
+
11
+ from tomwer.core.scan.scanfactory import ScanFactory
12
+ from tomwer.core.utils.resource import increase_max_number_file
8
13
  from tomwer.gui import icons
9
14
  from tomwer.gui.utils.splashscreen import getMainSplashScreen
10
- from tomwer.core.scan.scanfactory import ScanFactory
11
15
  from tomwer.gui.visualization.dataviewer import DataViewer
12
- from tomwer.core.utils.resource import increase_max_number_file
13
- import logging
14
-
15
16
 
16
17
  logging.basicConfig(level=logging.WARNING)
17
18
  _logger = logging.getLogger(__name__)
@@ -1,17 +1,19 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
6
+ import signal
5
7
  import sys
8
+ import weakref
9
+
6
10
  from silx.gui import qt
7
- import argparse
11
+
12
+ from tomwer.core.scan.scanfactory import ScanFactory
13
+ from tomwer.core.utils.resource import increase_max_number_file
8
14
  from tomwer.gui import icons
9
15
  from tomwer.gui.utils.splashscreen import getMainSplashScreen
10
- from tomwer.core.scan.scanfactory import ScanFactory
11
16
  from tomwer.gui.visualization.sinogramviewer import SinogramViewer as _SinogramViewer
12
- from tomwer.core.utils.resource import increase_max_number_file
13
- import signal
14
- import weakref
15
17
 
16
18
  logging.basicConfig(level=logging.WARNING)
17
19
  _logger = logging.getLogger(__name__)
@@ -91,8 +93,7 @@ def main(argv):
91
93
  raise ValueError("Line value should be at least 0")
92
94
  if options.line > scan.dim_2:
93
95
  raise ValueError(
94
- "Line value is outside frame dimension."
95
- "Should be at most {}".format(scan.dim_2)
96
+ f"Line value is outside frame dimension. Should be at most {scan.dim_2}"
96
97
  )
97
98
 
98
99
  widget = SinogramViewer(parent=None)
tomwer/app/slicestack.py CHANGED
@@ -1,16 +1,18 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import argparse
4
5
  import logging
5
- import sys
6
6
  import os
7
+ import signal
8
+ import sys
9
+
7
10
  from silx.gui import qt
8
- import argparse
9
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
10
- from tomwer.gui.stacks import SliceStack
11
- from tomwer.gui import icons
11
+
12
12
  from tomwer.core.utils.resource import increase_max_number_file
13
- import signal
13
+ from tomwer.gui import icons
14
+ from tomwer.gui.stacks import SliceStack
15
+ from tomwer.gui.utils.splashscreen import getMainSplashScreen
14
16
 
15
17
  logging.basicConfig(level=logging.WARNING)
16
18
  _logger = logging.getLogger(__name__)
@@ -3,11 +3,12 @@
3
3
 
4
4
  import argparse
5
5
  import sys
6
+ from signal import SIGKILL, SIGTERM
7
+
6
8
  from tomwer.core.process.control.datalistener.rpcserver import (
7
9
  send_signal_to_local_rpc_servers,
8
10
  )
9
11
  from tomwer.core.settings import JSON_RPC_PORT
10
- from signal import SIGTERM, SIGKILL
11
12
 
12
13
 
13
14
  def getinputinfo():
@@ -28,16 +28,15 @@ __license__ = "MIT"
28
28
  __date__ = "09/10/2021"
29
29
 
30
30
 
31
- import logging
32
- from tomwer.core.scan.scanbase import TomwerScanBase
33
- from typing import Optional
34
- from typing import Iterable
35
- from typing import Union
36
31
  import datetime
32
+ import logging
33
+ from typing import Iterable, Optional, Union
37
34
 
38
- from tomwer.core.tomwer_object import TomwerObject
39
35
  from sluurp.job import get_job_status
40
36
 
37
+ from tomwer.core.scan.scanbase import TomwerScanBase
38
+ from tomwer.core.tomwer_object import TomwerObject
39
+
41
40
  _logger = logging.getLogger(__name__)
42
41
 
43
42
 
@@ -110,6 +109,16 @@ class FutureTomwerObject:
110
109
  return status
111
110
  return "finished"
112
111
 
112
+ @property
113
+ def logs(self) -> str:
114
+ new_line = "\n"
115
+ return "\n".join(
116
+ [
117
+ f"~~~~~~ job id = {fut.job_id} ~~~~~{new_line}{f'{new_line}'.join(fut.collect_logs() or ['',])}"
118
+ for fut in self._futures
119
+ ]
120
+ )
121
+
113
122
  @property
114
123
  def start_time(self) -> Optional[datetime.time]:
115
124
  return self._start_time
tomwer/core/log/logger.py CHANGED
@@ -34,16 +34,17 @@ __license__ = "MIT"
34
34
  __date__ = "22/09/2017"
35
35
 
36
36
  import logging
37
+ import os
37
38
  from sys import platform
39
+
38
40
  from tomwer.core.log.processlog import (
39
41
  PROCESS_ENDED_NAME,
40
- PROCESS_SKIPPED_NAME,
42
+ PROCESS_FAILED_NAME,
41
43
  PROCESS_INFORM_NAME,
44
+ PROCESS_SKIPPED_NAME,
42
45
  PROCESS_STARTED_NAME,
43
- PROCESS_FAILED_NAME,
44
46
  PROCESS_SUCCEED_NAME,
45
47
  )
46
- import os
47
48
 
48
49
  # The background is set with 40 plus the number of the color, and the
49
50
  # foreground with 30
@@ -33,7 +33,6 @@ __date__ = "02/10/2020"
33
33
 
34
34
  import logging
35
35
 
36
-
37
36
  PROCESS_STARTED_NAME = "PROCESS_STARTED"
38
37
  PROCESS_STARTED_LEVEL = 32
39
38
 
@@ -33,13 +33,13 @@ __date__ = "19/07/2018"
33
33
 
34
34
  import fnmatch
35
35
  import logging
36
- from tomwer.core.scan.scanbase import TomwerScanBase
37
- from tomwer.core.scan.scanfactory import ScanFactory
38
- import tomwer.version
39
36
  import os
40
37
  import re
41
38
 
39
+ import tomwer.version
42
40
  from tomwer.core.process.task import Task
41
+ from tomwer.core.scan.scanbase import TomwerScanBase
42
+ from tomwer.core.scan.scanfactory import ScanFactory
43
43
 
44
44
  _logger = logging.getLogger(__name__)
45
45
 
@@ -0,0 +1,7 @@
1
+ from ewokscore.task import Task as EwoksTask
2
+ from tomwer.core.utils.scanutils import data_identifier_to_scan
3
+
4
+
5
+ class _DataDiscoveryPlaceHolder(EwoksTask, input_names=["data"], output_names=["data"]):
6
+ def run(self):
7
+ self.outputs.data = data_identifier_to_scan(self.inputs.data)
@@ -28,21 +28,24 @@ __license__ = "MIT"
28
28
  __date__ = "05/07/2017"
29
29
 
30
30
 
31
- import socket
32
- import os
33
- from tomwer.core import settings
34
- import tomwer.version
35
- from tomwer.core.process.task import BaseProcessInfo
36
31
  import logging
37
- from .rpcserver import DataListenerThread
32
+ import os
33
+ import socket
34
+ import time
35
+ import typing
36
+
37
+ from ewokscore.task import Task as EwoksTask
38
38
  from nxtomomill import converter as nxtomomill_converter
39
- from tomwer.core.scan.hdf5scan import HDF5TomoScan
40
- from tomoscan.io import HDF5File
41
39
  from silx.io.utils import h5py_read_dataset
42
- from ewokscore.task import Task as EwoksTask
40
+ from tomoscan.io import HDF5File
41
+
42
+ import tomwer.version
43
+ from tomwer.core import settings
44
+ from tomwer.core.process.task import BaseProcessInfo
43
45
  from tomwer.core.scan.blissscan import BlissScan
44
- import typing
45
- import time
46
+ from tomwer.core.scan.hdf5scan import HDF5TomoScan
47
+
48
+ from .rpcserver import DataListenerThread
46
49
 
47
50
  try:
48
51
  # new HDF5Config class
@@ -66,10 +69,11 @@ def nxtomomill_input_callback(entry, desc):
66
69
  """note: for the data listener we want to avoid any user intereaction.
67
70
  In order to avoid any time lost"""
68
71
  if entry == "energy":
69
- _logger.warning("Energy is missing {}. set to {}".format(entry, 19.0))
70
- return 19.0
72
+ default_energy = 19.0
73
+ _logger.warning(f"Energy is missing. Set it to default to {default_energy}")
74
+ return default_energy
71
75
  else:
72
- _logger.warning("missing {}. Won't be set".format(entry))
76
+ _logger.warning(f"missing {entry}. Won't be set")
73
77
  return None
74
78
 
75
79
 
@@ -163,7 +167,7 @@ class DataListener(BaseProcessInfo):
163
167
  elif isinstance(properties, dict):
164
168
  self._settings = properties
165
169
  else:
166
- raise TypeError("invalid type: {}".format(type(properties)))
170
+ raise TypeError(f"invalid type: {type(properties)}")
167
171
 
168
172
  def run(self):
169
173
  pass
@@ -182,7 +186,7 @@ class DataListener(BaseProcessInfo):
182
186
  :return: tuple scan succeeded.
183
187
  """
184
188
  if not os.path.isfile(sample_file):
185
- raise ValueError("Given file {} does not exists.".format(sample_file))
189
+ raise ValueError(f"Given file {sample_file} does not exists.")
186
190
  scans = []
187
191
  for mf_emf in self.convert(bliss_file=sample_file, entry=entry):
188
192
  master_file, entry_master_file = mf_emf
@@ -507,9 +511,7 @@ class DataListener(BaseProcessInfo):
507
511
  time.sleep(0.2)
508
512
 
509
513
  if timeout <= 0:
510
- _logger.error(
511
- "unable to access {}@{}. (Write never ended)".format(entry, bliss_file)
512
- )
514
+ _logger.error(f"unable to access {entry}@{bliss_file}. (Write never ended)")
513
515
  return ((None, None),)
514
516
  # one more delay to insure we can read it. Some frame might need more time to be dump from lima.
515
517
  time.sleep(4)
@@ -530,8 +532,7 @@ class DataListener(BaseProcessInfo):
530
532
  )
531
533
  except Exception as e:
532
534
  _logger.error(
533
- "Fail to convert from tango file: %s to NXTomo."
534
- "Conversion error is: %s" % (bliss_file, e)
535
+ f"Fail to convert from tango file: {bliss_file} to NXTomo. Error is: {e}"
535
536
  )
536
537
  return ((None, None),)
537
538
  else: