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
@@ -28,19 +28,27 @@ __license__ = "MIT"
28
28
  __date__ = "01/06/2018"
29
29
 
30
30
 
31
+ import logging
31
32
  import os
33
+
32
34
  from silx.gui import qt
33
- import logging
34
- from tomwer.core.process.reconstruction.lamino.tofu import getDark, getFlats, FFCWhen
35
- from tomwer.core.utils import getDARK_N, getDim1Dim2
36
- from tomwer.core.utils import getParametersFromParOrInfo
37
- from tomwer.core.utils import getTomo_N, getPixelSize, getClosestEnergy
35
+
36
+ from tomwer.core.process.reconstruction.lamino.tofu import FFCWhen, getDark, getFlats
37
+ from tomwer.core.utils import (
38
+ getClosestEnergy,
39
+ getDARK_N,
40
+ getDim1Dim2,
41
+ getParametersFromParOrInfo,
42
+ getPixelSize,
43
+ getTomo_N,
44
+ )
38
45
  from tomwer.core.utils.char import PSI_CHAR, THETA_CHAR
39
46
  from tomwer.gui import icons
40
- from tomwer.gui.utils.illustrations import _IllustrationWidget, _IllustrationDialog
47
+ from tomwer.gui.utils.illustrations import _IllustrationDialog, _IllustrationWidget
41
48
  from tomwer.gui.utils.unitsystem import MetricEntry
42
- from .TofuOptionLoader import _TofuOptionLoader, _getterSetter
43
- from .misc import _AngleWidget, PadlockButton
49
+
50
+ from .misc import PadlockButton, _AngleWidget
51
+ from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
44
52
 
45
53
  _logger = logging.getLogger(__name__)
46
54
 
@@ -30,21 +30,24 @@ __license__ = "MIT"
30
30
  __date__ = "01/06/2018"
31
31
 
32
32
 
33
+ import logging
34
+
33
35
  from silx.gui import qt
34
36
  from silx.io import dictdump
35
- import logging
37
+
36
38
  from tomwer.core.process.reconstruction.lamino.tofu import (
37
39
  SCAN_TYPES,
38
40
  SCAN_TYPES_I,
39
41
  FFCWhen,
42
+ _retrieve_opts_recons_cmd,
40
43
  )
41
- from tomwer.core.process.reconstruction.lamino.tofu import _retrieve_opts_recons_cmd
42
44
  from tomwer.core.utils.char import PSI_CHAR
43
45
  from tomwer.gui import icons
44
46
  from tomwer.gui.reconstruction.lamino.tofu import settings
45
- from .TofuOptionLoader import _TofuOptionLoader, _getterSetter
47
+
46
48
  from .projections import InputProjectionsScrollArea
47
49
  from .tofuexpert import ExpertTofuWidget
50
+ from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
48
51
  from .tofuoutput import OutputTofuWidget
49
52
 
50
53
  _logger = logging.getLogger(__name__)
@@ -28,12 +28,15 @@ __license__ = "MIT"
28
28
  __date__ = "01/06/2018"
29
29
 
30
30
 
31
+ import logging
31
32
  import subprocess
33
+
32
34
  from silx.gui import qt
35
+
33
36
  import tomwer.core.utils.gpu
34
37
  from tomwer.core.process.reconstruction.lamino.tofu import has_tofu
35
- import logging
36
- from .TofuOptionLoader import _TofuOptionLoader, _getterSetter
38
+
39
+ from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
37
40
 
38
41
  _logger = logging.getLogger(__name__)
39
42
 
@@ -28,21 +28,24 @@ __license__ = "MIT"
28
28
  __date__ = "01/06/2018"
29
29
 
30
30
 
31
+ import logging
31
32
  import os
33
+
32
34
  from silx.gui import qt
33
- import logging
35
+
34
36
  from tomwer.core.process.reconstruction.lamino.tofu import (
35
- SLICE_STACK_TYPE,
36
- ROTATION_CENTER_TYPE,
37
37
  LAMINO_ANGLE_TYPE,
38
38
  PSI_ANGLE_TYPE,
39
+ ROTATION_CENTER_TYPE,
40
+ SLICE_STACK_TYPE,
39
41
  )
40
42
  from tomwer.core.settings import get_lbsram_path
41
43
  from tomwer.core.utils.char import DELTA_CHAR
42
44
  from tomwer.gui.reconstruction.lamino.tofu import settings
43
45
  from tomwer.gui.utils.illustrations import _IllustrationWidget
44
- from .TofuOptionLoader import _TofuOptionLoader, _getterSetter
45
- from .misc import _AngleWidget, _RegionLE, PadlockButton
46
+
47
+ from .misc import PadlockButton, _AngleWidget, _RegionLE
48
+ from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
46
49
 
47
50
  _logger = logging.getLogger(__name__)
48
51
 
@@ -29,6 +29,7 @@ __date__ = "04/08/2020"
29
29
 
30
30
 
31
31
  from silx.gui import qt
32
+
32
33
  from tomwer.gui import icons as tomwer_icons
33
34
 
34
35
 
@@ -28,18 +28,20 @@ __license__ = "MIT"
28
28
  __date__ = "15/12/2021"
29
29
 
30
30
 
31
+ import logging
32
+ from typing import Optional
33
+
31
34
  from silx.gui import qt
35
+ from silx.gui.utils import blockSignals
36
+
32
37
  from tomwer.core.process.reconstruction.nabu.castvolume import (
38
+ DEFAULT_OUTPUT_DIR,
33
39
  RESCALE_MAX_PERCENTILE,
34
40
  RESCALE_MIN_PERCENTILE,
35
- DEFAULT_OUTPUT_DIR,
36
41
  )
37
42
  from tomwer.core.process.reconstruction.nabu.nabucommon import NabuOutputFileFormat
38
43
  from tomwer.gui.qlefilesystem import QLFileSystem
39
44
  from tomwer.gui.reconstruction.nabu.nabuconfig.output import QNabuFileFormatComboBox
40
- from silx.gui.utils import blockSignals
41
- import logging
42
- from typing import Optional
43
45
 
44
46
  _logger = logging.getLogger(__name__)
45
47
 
@@ -28,10 +28,11 @@ __license__ = "MIT"
28
28
  __date__ = "02/12/2021"
29
29
 
30
30
 
31
+ from silx.gui import qt
32
+ from tomoscan.esrf.scan.hdf5scan import ImageKey
33
+
31
34
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
32
35
  from tomwer.core.utils.nxtomoutils import get_n_series
33
- from tomoscan.esrf.scan.hdf5scan import ImageKey
34
- from silx.gui import qt
35
36
 
36
37
 
37
38
  def check_dark_series(scan: HDF5TomoScan, logger=None, user_input: bool = True) -> bool:
@@ -29,8 +29,11 @@ __date__ = "11/02/2020"
29
29
 
30
30
 
31
31
  from typing import Union
32
- from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
33
- from tomwer.core.process.reconstruction.nabu.utils import ConfigurationLevel
32
+
33
+ from tomwer.core.process.reconstruction.nabu.utils import (
34
+ ConfigurationLevel,
35
+ _NabuStages,
36
+ )
34
37
 
35
38
 
36
39
  class _FilteringObject:
@@ -1,10 +1,13 @@
1
- from silx.gui import qt
2
1
  from typing import Optional, Union
2
+
3
+ from silx.gui import qt
4
+ from silx.gui.utils import blockSignals
5
+ from silx.utils.enum import Enum as _Enum
6
+
3
7
  from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
4
8
  from tomwer.gui.reconstruction.nabu.nabuconfig import base
5
9
  from tomwer.gui.utils.illustrations import _IllustrationWidget
6
- from silx.gui.utils import blockSignals
7
- from silx.utils.enum import Enum as _Enum
10
+
8
11
  from .reconstruction import AnglesFileWidget as Filewidget
9
12
 
10
13
 
@@ -29,15 +29,16 @@ __date__ = "11/02/2020"
29
29
 
30
30
 
31
31
  from silx.gui import qt
32
+
33
+ from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
34
+ from tomwer.gui.reconstruction.nabu.nabuconfig.output import _NabuOutputConfig
35
+ from tomwer.gui.reconstruction.nabu.nabuconfig.phase import _NabuPhaseConfig
32
36
  from tomwer.gui.reconstruction.nabu.nabuconfig.preprocessing import (
33
37
  _NabuPreProcessingConfig,
34
38
  )
35
- from tomwer.gui.reconstruction.nabu.nabuconfig.phase import _NabuPhaseConfig
36
39
  from tomwer.gui.reconstruction.nabu.nabuconfig.reconstruction import (
37
40
  _NabuReconstructionConfig,
38
41
  )
39
- from tomwer.gui.reconstruction.nabu.nabuconfig.output import _NabuOutputConfig
40
- from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
41
42
 
42
43
 
43
44
  class NabuConfiguration(qt.QWidget):
@@ -28,14 +28,16 @@ __license__ = "MIT"
28
28
  __date__ = "11/02/2020"
29
29
 
30
30
 
31
+ import logging
31
32
  import os
32
33
  import typing
34
+
33
35
  from silx.gui import qt
36
+
34
37
  from tomwer.core.process.reconstruction.nabu.nabucommon import NabuOutputFileFormat
38
+ from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
35
39
  from tomwer.gui.qlefilesystem import QLFileSystem
36
40
  from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
37
- from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
38
- import logging
39
41
  from tomwer.io.utils import get_default_directory
40
42
 
41
43
  try:
@@ -145,12 +147,12 @@ class NabuOutputLocationWidget(qt.QWidget):
145
147
  else:
146
148
  return self._outputDirQLE.text()
147
149
 
148
- def setOutputDir(self, dir):
149
- if dir in (None, ""):
150
+ def setOutputDir(self, output_dir):
151
+ if output_dir in (None, ""):
150
152
  self._defaultOutput.setChecked(True)
151
153
  else:
152
154
  self._defaultOutput.setChecked(False)
153
- self._outputDirQLE.setText(dir)
155
+ self._outputDirQLE.setText(output_dir)
154
156
 
155
157
 
156
158
  class _NabuOutputConfig(_NabuStageConfigBase, qt.QWidget):
@@ -28,17 +28,19 @@ __license__ = "MIT"
28
28
  __date__ = "11/02/2020"
29
29
 
30
30
 
31
+ import logging
31
32
  import typing
32
- from tomwer.utils import docstring
33
+
33
34
  from silx.gui import qt
34
- from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel as QComboBox
35
+ from silx.utils.enum import Enum as _Enum
36
+
37
+ from tomwer.core.process.reconstruction.nabu.utils import _NabuPhaseMethod, _NabuStages
38
+ from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
35
39
  from tomwer.gui.reconstruction.nabu.nabuconfig import base
36
40
  from tomwer.gui.reconstruction.nabu.nabuconfig.ctf import CTFConfig
37
41
  from tomwer.gui.utils.inputwidget import SelectionLineEdit
38
- from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
39
- from tomwer.core.process.reconstruction.nabu.utils import _NabuStages, _NabuPhaseMethod
40
- import logging
41
- from silx.utils.enum import Enum as _Enum
42
+ from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel as QComboBox
43
+ from tomwer.utils import docstring
42
44
 
43
45
  _logger = logging.getLogger(__name__)
44
46
 
@@ -28,19 +28,19 @@ __license__ = "MIT"
28
28
  __date__ = "06/12/2021"
29
29
 
30
30
 
31
+ import logging
31
32
  from typing import Optional
33
+
32
34
  from silx.gui import qt
33
- from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
34
- from tomwer.utils import docstring
35
+
35
36
  from tomwer.core.process.reconstruction.nabu.utils import (
36
37
  _NabuStages,
37
38
  _RingCorrectionMethod,
38
39
  )
39
- from tomwer.gui.utils.scrollarea import (
40
- QComboBoxIgnoreWheel as QComboBox,
41
- QDoubleSpinBoxIgnoreWheel as QDoubleSpinBox,
42
- )
43
- import logging
40
+ from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
41
+ from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel as QComboBox
42
+ from tomwer.gui.utils.scrollarea import QDoubleSpinBoxIgnoreWheel as QDoubleSpinBox
43
+ from tomwer.utils import docstring
44
44
 
45
45
  _logger = logging.getLogger(__name__)
46
46
 
@@ -27,26 +27,29 @@ __authors__ = ["H. Payno"]
27
27
  __license__ = "MIT"
28
28
  __date__ = "12/02/2020"
29
29
 
30
- import typing
31
30
  import functools
32
- from tomwer.utils import docstring
31
+ import logging
32
+ import typing
33
+
33
34
  from silx.gui import qt
35
+ from silx.gui.dialog.DataFileDialog import DataFileDialog
36
+ from silx.utils.enum import Enum as _Enum
37
+
38
+ from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSliceMode
34
39
  from tomwer.core.process.reconstruction.nabu.utils import (
35
- _NabuStages,
36
- _NabuReconstructionMethods,
37
40
  _NabuFBPFilterType,
38
41
  _NabuPaddingType,
42
+ _NabuReconstructionMethods,
43
+ _NabuStages,
39
44
  )
40
- from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSliceMode
41
45
  from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
42
46
  from tomwer.gui.utils.inputwidget import SelectionLineEdit
43
- from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel
44
- from tomwer.gui.utils.scrollarea import QDoubleSpinBoxIgnoreWheel
45
- from tomwer.gui.utils.scrollarea import QSpinBoxIgnoreWheel
46
- from silx.utils.enum import Enum as _Enum
47
- from silx.gui.dialog.DataFileDialog import DataFileDialog
48
-
49
- import logging
47
+ from tomwer.gui.utils.scrollarea import (
48
+ QComboBoxIgnoreWheel,
49
+ QDoubleSpinBoxIgnoreWheel,
50
+ QSpinBoxIgnoreWheel,
51
+ )
52
+ from tomwer.utils import docstring
50
53
 
51
54
  _logger = logging.getLogger(__name__)
52
55
 
@@ -543,15 +546,15 @@ class _NabuReconstructionConfig(qt.QWidget, _NabuStageConfigBase):
543
546
  else:
544
547
  return None
545
548
 
546
- def setFBPFilterType(self, filter):
547
- if type(filter) is str and filter.lower() == "none":
548
- filter = None
549
- if filter is None:
549
+ def setFBPFilterType(self, filter_type):
550
+ if type(filter_type) is str and filter_type.lower() == "none":
551
+ filter_type = None
552
+ if filter_type is None:
550
553
  self._fbpFilterCB.setChecked(False)
551
554
  else:
552
555
  self._fbpFilterCB.setChecked(True)
553
- filter = _NabuFBPFilterType(filter)
554
- filter_index = self._fbpFilterType.findText(filter.value)
556
+ filter_type = _NabuFBPFilterType(filter_type)
557
+ filter_index = self._fbpFilterType.findText(filter_type.value)
555
558
  self._fbpFilterType.setCurrentIndex(filter_index)
556
559
 
557
560
  def getFBPPaddingType(self) -> _NabuPaddingType:
@@ -778,33 +781,33 @@ class _SubRegionEditor(qt.QObject):
778
781
  else:
779
782
  return None
780
783
 
781
- def setSubRegionMin(self, min: typing.Union[None, int]) -> None:
784
+ def setSubRegionMin(self, sub_region_min: typing.Union[None, int]) -> None:
782
785
  """
783
786
 
784
787
  :param min: if min is None or -1 wr will expand it to - infinity
785
788
  """
786
- if min in (-1, 0):
787
- min = None
788
- if min is None:
789
+ if sub_region_min in (-1, 0):
790
+ sub_region_min = None
791
+ if sub_region_min is None:
789
792
  self._minCB.setChecked(False)
790
793
  else:
791
794
  self._minCB.setChecked(True)
792
- self._minQLE.setText(str(min))
795
+ self._minQLE.setText(str(sub_region_min))
793
796
 
794
- def setSubRegionMax(self, max) -> None:
797
+ def setSubRegionMax(self, sub_region_max) -> None:
795
798
  """
796
799
 
797
800
  :param max: if max is None or -1 wr will expand it to infinity
798
801
  """
799
- if type(max) is str:
800
- max = int(max)
801
- if max == -1:
802
- max = None
803
- if max is None:
802
+ if type(sub_region_max) is str:
803
+ sub_region_max = int(sub_region_max)
804
+ if sub_region_max == -1:
805
+ sub_region_max = None
806
+ if sub_region_max is None:
804
807
  self._maxCB.setChecked(False)
805
808
  else:
806
809
  self._maxCB.setChecked(True)
807
- self._maxQLE.setText(str(max))
810
+ self._maxQLE.setText(str(sub_region_max))
808
811
 
809
812
  def getSubRegion(self) -> tuple:
810
813
  """
@@ -814,14 +817,18 @@ class _SubRegionEditor(qt.QObject):
814
817
  """
815
818
  return self.getSubRegionMin(), self.getSubRegionMax()
816
819
 
817
- def setSubRegion(self, min: typing.Union[None, int], max: typing.Union[None, int]):
820
+ def setSubRegion(
821
+ self,
822
+ sub_region_min: typing.Union[None, int],
823
+ sub_region_max: typing.Union[None, int],
824
+ ):
818
825
  """
819
826
 
820
827
  :param tuple min:
821
828
  :param tuple max:
822
829
  """
823
- self.setSubRegionMin(min)
824
- self.setSubRegionMax(max)
830
+ self.setSubRegionMin(sub_region_min)
831
+ self.setSubRegionMax(sub_region_max)
825
832
 
826
833
  def _signalConfChanged(self, param):
827
834
  self.sigConfChanged.emit(param)
@@ -27,14 +27,17 @@ __authors__ = ["H. Payno"]
27
27
  __license__ = "MIT"
28
28
  __date__ = "04/03/2019"
29
29
 
30
+ import functools
31
+ import typing
32
+
30
33
  from silx.gui import qt
34
+
35
+ from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
31
36
  from tomwer.gui import icons
32
- from ...utils.flow import FlowDirection, FlowCanvas
33
37
  from tomwer.gui.utils.illustrations import _IllustrationWidget
34
38
  from tomwer.utils import docstring
35
- from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
36
- import functools
37
- import typing
39
+
40
+ from ...utils.flow import FlowCanvas, FlowDirection
38
41
 
39
42
 
40
43
  class NabuFlowControl(qt.QWidget):
@@ -27,28 +27,31 @@ __authors__ = ["H. Payno"]
27
27
  __license__ = "MIT"
28
28
  __date__ = "04/03/2019"
29
29
 
30
- from silx.gui import qt
31
- from ...utils.flow import FlowDirection
32
- from .nabuconfig import NabuConfiguration
30
+ import logging
31
+
33
32
  from nabu.pipeline.config import get_default_nabu_config
34
33
  from nabu.pipeline.fullfield.nabu_config import (
35
34
  nabu_config as nabu_fullfield_default_config,
36
35
  )
37
- from tomwer.core.process.reconstruction.nabu.utils import _NabuMode, ConfigurationLevel
38
- from tomwer.core.scan.scanbase import TomwerScanBase
39
- from tomwer.gui.reconstruction.nabu.nabuflow import NabuFlowArea
40
- from tomoscan.scanbase import _FOV
36
+ from silx.gui import icons as silx_icons
37
+ from silx.gui import qt
41
38
  from silx.utils.enum import Enum as _Enum
39
+ from tomoscan.scanbase import _FOV
40
+
41
+ from tomwer.core.process.reconstruction.nabu.utils import ConfigurationLevel, _NabuMode
42
+ from tomwer.core.scan.scanbase import TomwerScanBase
42
43
  from tomwer.gui import icons as tomwer_icons
44
+ from tomwer.gui.reconstruction.nabu.nabuflow import NabuFlowArea
45
+ from tomwer.gui.utils.buttons import PadlockButton
46
+
47
+ from ...utils.flow import FlowDirection
43
48
  from .action import (
44
49
  BasicConfigurationAction,
45
50
  ExpertConfigurationAction,
46
51
  FilterAction,
47
52
  MinimalisticConfigurationAction,
48
53
  )
49
- from silx.gui import icons as silx_icons
50
- from tomwer.gui.utils.buttons import PadlockButton
51
- import logging
54
+ from .nabuconfig import NabuConfiguration
52
55
 
53
56
  _logger = logging.getLogger(__name__)
54
57
 
@@ -317,6 +320,7 @@ class NabuWindow(qt.QMainWindow):
317
320
 
318
321
  def _saveParameters(self):
319
322
  from nabu.pipeline.config import generate_nabu_configfile
323
+
320
324
  from tomwer.core.process.reconstruction.nabu.nabuslices import (
321
325
  interpret_tomwer_configuration,
322
326
  )
@@ -29,6 +29,7 @@ __date__ = "11/10/2021"
29
29
 
30
30
 
31
31
  from silx.gui import qt
32
+
32
33
  from tomwer.core.settings import SlurmSettings
33
34
  from tomwer.core.utils.slurm import is_slurm_available
34
35
 
@@ -28,23 +28,25 @@ __license__ = "MIT"
28
28
  __date__ = "04/08/2020"
29
29
 
30
30
 
31
- from asyncio.log import logger
32
31
  import typing
32
+ from asyncio.log import logger
33
+
33
34
  from silx.gui import qt
35
+
34
36
  from tomwer.core.process.reconstruction.nabu.utils import (
35
37
  ConfigurationLevel,
36
38
  _NabuStages,
37
39
  )
40
+ from tomwer.gui import icons
38
41
  from tomwer.gui.reconstruction.nabu.action import (
39
42
  BasicConfigurationAction,
40
43
  ExpertConfigurationAction,
41
44
  MinimalisticConfigurationAction,
42
45
  )
43
46
  from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
44
- from tomwer.gui import icons
45
47
  from tomwer.gui.reconstruction.nabu.nabuconfig.output import (
46
- QNabuFileFormatComboBox,
47
48
  NabuOutputLocationWidget,
49
+ QNabuFileFormatComboBox,
48
50
  )
49
51
 
50
52
 
@@ -34,23 +34,24 @@ __license__ = "MIT"
34
34
  __date__ = "23/06/2021"
35
35
 
36
36
 
37
+ import typing
38
+ import weakref
39
+
37
40
  from silx.gui import qt
38
- from silx.io.url import DataUrl
39
- from silx.gui.plot.items.roi import RectangleROI
40
- from silx.gui.plot.items.roi import HorizontalRangeROI
41
- from silx.gui.plot.tools.roi import RegionOfInterestManager
42
41
  from silx.gui.dialog.DataFileDialog import DataFileDialog
43
- from tomwer.core.scan.hdf5scan import HDF5TomoScan
44
- from tomwer.gui.visualization.dataviewer import DataViewer
45
- from tomwer.gui.reconstruction.scores.control import ControlWidget
46
- from tomwer.core.scan.scanbase import TomwerScanBase
47
- from tomwer.gui.visualization.sinogramviewer import SinogramViewer as _SinogramViewer
42
+ from silx.gui.plot.items.roi import HorizontalRangeROI, RectangleROI
43
+ from silx.gui.plot.tools.roi import RegionOfInterestManager
44
+ from silx.io.url import DataUrl
45
+ from tomoscan.normalization import Method
46
+
48
47
  from tomwer.core.process.reconstruction.normalization import params as _normParams
49
48
  from tomwer.core.process.reconstruction.normalization.params import _ValueSource
50
- from tomoscan.normalization import Method
49
+ from tomwer.core.scan.hdf5scan import HDF5TomoScan
50
+ from tomwer.core.scan.scanbase import TomwerScanBase
51
+ from tomwer.gui.reconstruction.scores.control import ControlWidget
51
52
  from tomwer.gui.utils.buttons import PadlockButton
52
- import weakref
53
- import typing
53
+ from tomwer.gui.visualization.dataviewer import DataViewer
54
+ from tomwer.gui.visualization.sinogramviewer import SinogramViewer as _SinogramViewer
54
55
 
55
56
 
56
57
  class SinoNormWindow(qt.QMainWindow):
@@ -907,7 +908,7 @@ class _NormIntensityDatasetWidget(qt.QWidget):
907
908
  elif self.getMode() is _normParams._DatasetScope.GLOBAL:
908
909
  file_ = self.getGlobalFilePath()
909
910
  else:
910
- raise ValueError("{} is not handled".format(self.getMode()))
911
+ raise ValueError(f"{self.getMode()} is not handled")
911
912
 
912
913
  dialog = DataFileDialog()
913
914
  dialog.selectFile(file_)