tomwer 1.1.0rc7__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 (361) 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 +32 -38
  46. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +26 -26
  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/slurm.py +36 -0
  124. tomwer/core/process/reconstruction/nabu/utils.py +18 -15
  125. tomwer/core/process/reconstruction/normalization/__init__.py +1 -3
  126. tomwer/core/process/reconstruction/normalization/normalization.py +16 -21
  127. tomwer/core/process/reconstruction/normalization/params.py +2 -2
  128. tomwer/core/process/reconstruction/saaxis/__init__.py +1 -1
  129. tomwer/core/process/reconstruction/saaxis/params.py +6 -7
  130. tomwer/core/process/reconstruction/saaxis/saaxis.py +44 -55
  131. tomwer/core/process/reconstruction/sadeltabeta/__init__.py +1 -1
  132. tomwer/core/process/reconstruction/sadeltabeta/params.py +9 -13
  133. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +40 -46
  134. tomwer/core/process/reconstruction/scores/__init__.py +2 -2
  135. tomwer/core/process/reconstruction/scores/params.py +6 -9
  136. tomwer/core/process/reconstruction/scores/scores.py +10 -13
  137. tomwer/core/process/reconstruction/test/test_axis_params.py +4 -2
  138. tomwer/core/process/reconstruction/test/test_darkref.py +1 -2
  139. tomwer/core/process/reconstruction/test/test_darkref_copy.py +3 -1
  140. tomwer/core/process/reconstruction/test/test_paramsbase.py +1 -1
  141. tomwer/core/process/reconstruction/test/test_saaxis.py +11 -7
  142. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +5 -4
  143. tomwer/core/process/reconstruction/test/test_utils.py +3 -2
  144. tomwer/core/process/script/python.py +6 -8
  145. tomwer/core/process/task.py +11 -12
  146. tomwer/core/process/test/test_axis.py +12 -9
  147. tomwer/core/process/test/test_conditions.py +8 -8
  148. tomwer/core/process/test/test_dark_and_flat.py +9 -8
  149. tomwer/core/process/test/test_data_listener.py +5 -3
  150. tomwer/core/process/test/test_data_transfer.py +14 -12
  151. tomwer/core/process/test/test_data_watcher.py +3 -1
  152. tomwer/core/process/test/test_lamino.py +3 -1
  153. tomwer/core/process/test/test_nabu.py +13 -12
  154. tomwer/core/process/test/test_normalization.py +7 -5
  155. tomwer/core/process/test/test_timer.py +2 -1
  156. tomwer/core/process/utils.py +9 -9
  157. tomwer/core/progress.py +3 -4
  158. tomwer/core/scan/blissscan.py +4 -2
  159. tomwer/core/scan/edfscan.py +26 -29
  160. tomwer/core/scan/futurescan.py +2 -1
  161. tomwer/core/scan/hdf5scan.py +21 -28
  162. tomwer/core/scan/scanbase.py +18 -18
  163. tomwer/core/scan/scanfactory.py +20 -21
  164. tomwer/core/scan/scantype.py +7 -0
  165. tomwer/core/scan/test/test_edf.py +2 -1
  166. tomwer/core/scan/test/test_future_scan.py +2 -1
  167. tomwer/core/scan/test/test_h5.py +5 -4
  168. tomwer/core/scan/test/test_process_registration.py +5 -3
  169. tomwer/core/scan/test/test_scan.py +11 -9
  170. tomwer/core/settings.py +1 -2
  171. tomwer/core/test/test_lamino.py +3 -2
  172. tomwer/core/test/test_scanutils.py +3 -2
  173. tomwer/core/test/test_utils.py +6 -4
  174. tomwer/core/utils/__init__.py +8 -6
  175. tomwer/core/utils/deprecation.py +2 -2
  176. tomwer/core/utils/image.py +4 -3
  177. tomwer/core/utils/laminoutils.py +80 -0
  178. tomwer/core/utils/locker.py +1 -1
  179. tomwer/core/utils/normalization.py +1 -0
  180. tomwer/core/utils/nxtomoutils.py +2 -1
  181. tomwer/core/utils/scanutils.py +9 -6
  182. tomwer/core/utils/slurm.py +2 -1
  183. tomwer/core/utils/time.py +2 -4
  184. tomwer/core/utils/volumeutils.py +2 -1
  185. tomwer/core/volume/__init__.py +1 -1
  186. tomwer/core/volume/edfvolume.py +4 -3
  187. tomwer/core/volume/hdf5volume.py +6 -8
  188. tomwer/core/volume/jp2kvolume.py +4 -3
  189. tomwer/core/volume/rawvolume.py +7 -7
  190. tomwer/core/volume/tiffvolume.py +8 -6
  191. tomwer/core/volume/volumebase.py +1 -0
  192. tomwer/core/volume/volumefactory.py +18 -18
  193. tomwer/gui/cluster/slurm.py +2 -0
  194. tomwer/gui/cluster/supervisor.py +4 -2
  195. tomwer/gui/cluster/test/test_cluster.py +5 -4
  196. tomwer/gui/cluster/test/test_supervisor.py +4 -2
  197. tomwer/gui/conditions/filter.py +7 -6
  198. tomwer/gui/control/actions.py +1 -0
  199. tomwer/gui/control/datadiscovery.py +168 -0
  200. tomwer/gui/control/datalist.py +29 -28
  201. tomwer/gui/control/datalistener.py +8 -4
  202. tomwer/gui/control/datareacheractions.py +2 -1
  203. tomwer/gui/control/datatransfert.py +3 -1
  204. tomwer/gui/control/datavalidator.py +11 -12
  205. tomwer/gui/control/datawatcher/configuration.py +12 -1
  206. tomwer/gui/control/datawatcher/controlwidget.py +116 -0
  207. tomwer/gui/control/datawatcher/datawatcher.py +63 -121
  208. tomwer/gui/control/datawatcher/datawatcherobserver.py +7 -9
  209. tomwer/gui/control/history.py +3 -1
  210. tomwer/gui/control/observations.py +7 -7
  211. tomwer/gui/control/scanselectorwidget.py +4 -2
  212. tomwer/gui/control/selectorwidgetbase.py +3 -1
  213. tomwer/gui/control/serie/seriecreator.py +11 -12
  214. tomwer/gui/control/singletomoobj.py +4 -4
  215. tomwer/gui/control/test/test_datadiscovery.py +27 -0
  216. tomwer/gui/control/test/test_datalist.py +7 -6
  217. tomwer/gui/control/test/test_datalistener.py +4 -4
  218. tomwer/gui/control/test/test_datavalidator.py +3 -1
  219. tomwer/gui/control/test/test_inputwidget.py +5 -4
  220. tomwer/gui/control/test/test_process_manager.py +3 -3
  221. tomwer/gui/control/test/test_scanselector.py +6 -4
  222. tomwer/gui/control/test/test_scanvalidator.py +6 -5
  223. tomwer/gui/control/test/test_single_tomo_obj.py +5 -3
  224. tomwer/gui/control/test/test_volume_dialog.py +7 -5
  225. tomwer/gui/control/test/test_volumeselector.py +8 -6
  226. tomwer/gui/control/volumeselectorwidget.py +2 -1
  227. tomwer/gui/debugtools/datasetgenerator.py +2 -1
  228. tomwer/gui/debugtools/objectinspector.py +6 -7
  229. tomwer/gui/edit/dkrfpatch.py +11 -10
  230. tomwer/gui/edit/imagekeyeditor.py +12 -12
  231. tomwer/gui/edit/nxtomoeditor.py +8 -7
  232. tomwer/gui/edit/test/test_dkrf_patch.py +10 -9
  233. tomwer/gui/edit/test/test_image_key_editor.py +8 -6
  234. tomwer/gui/edit/test/test_nx_editor.py +7 -5
  235. tomwer/gui/icons.py +3 -2
  236. tomwer/gui/illustrations.py +3 -2
  237. tomwer/gui/imagefromfile.py +3 -1
  238. tomwer/gui/qfolderdialog.py +14 -12
  239. tomwer/gui/reconstruction/axis/CompareImages.py +9 -8
  240. tomwer/gui/reconstruction/axis/__init__.py +1 -1
  241. tomwer/gui/reconstruction/axis/axis.py +9 -7
  242. tomwer/gui/reconstruction/axis/radioaxis.py +30 -32
  243. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +6 -5
  244. tomwer/gui/reconstruction/darkref/darkrefwidget.py +4 -2
  245. tomwer/gui/reconstruction/lamino/tofu/misc.py +3 -1
  246. tomwer/gui/reconstruction/lamino/tofu/projections.py +16 -8
  247. tomwer/gui/reconstruction/lamino/tofu/tofu.py +6 -3
  248. tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +5 -2
  249. tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +8 -5
  250. tomwer/gui/reconstruction/nabu/action.py +1 -0
  251. tomwer/gui/reconstruction/nabu/castvolume.py +6 -4
  252. tomwer/gui/reconstruction/nabu/check.py +3 -2
  253. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +5 -2
  254. tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -3
  255. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +4 -3
  256. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +7 -5
  257. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +8 -6
  258. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +7 -7
  259. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +40 -33
  260. tomwer/gui/reconstruction/nabu/nabuflow.py +7 -4
  261. tomwer/gui/reconstruction/nabu/slices.py +14 -10
  262. tomwer/gui/reconstruction/nabu/slurm.py +1 -0
  263. tomwer/gui/reconstruction/nabu/volume.py +5 -3
  264. tomwer/gui/reconstruction/normalization/intensity.py +14 -13
  265. tomwer/gui/reconstruction/saaxis/corrangeselector.py +36 -35
  266. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +5 -4
  267. tomwer/gui/reconstruction/saaxis/saaxis.py +17 -17
  268. tomwer/gui/reconstruction/saaxis/sliceselector.py +5 -5
  269. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +33 -36
  270. tomwer/gui/reconstruction/scores/scoreplot.py +19 -18
  271. tomwer/gui/reconstruction/test/test_axis.py +14 -13
  272. tomwer/gui/reconstruction/test/test_lamino.py +3 -2
  273. tomwer/gui/reconstruction/test/test_nabu.py +8 -6
  274. tomwer/gui/reconstruction/test/test_saaxis.py +17 -15
  275. tomwer/gui/reconstruction/test/test_sadeltabeta.py +15 -13
  276. tomwer/gui/samplemoved/__init__.py +8 -7
  277. tomwer/gui/samplemoved/selectiontable.py +4 -2
  278. tomwer/gui/stackplot.py +14 -13
  279. tomwer/gui/stacks.py +11 -9
  280. tomwer/gui/test/test_axis_gui.py +5 -4
  281. tomwer/gui/test/test_qfolder_dialog.py +2 -1
  282. tomwer/gui/utils/__init__.py +5 -5
  283. tomwer/gui/utils/buttons.py +1 -0
  284. tomwer/gui/utils/completer.py +1 -0
  285. tomwer/gui/utils/flow.py +4 -2
  286. tomwer/gui/utils/illustrations.py +1 -0
  287. tomwer/gui/utils/inputwidget.py +11 -17
  288. tomwer/gui/utils/lineselector/lineselection.py +76 -0
  289. tomwer/gui/utils/lineselector/lineselector.py +6 -8
  290. tomwer/gui/utils/qt_utils.py +1 -0
  291. tomwer/gui/utils/scandescription.py +2 -0
  292. tomwer/gui/utils/splashscreen.py +1 -1
  293. tomwer/gui/utils/unitsystem.py +3 -1
  294. tomwer/gui/utils/vignettes.py +8 -8
  295. tomwer/gui/utils/waiterthread.py +2 -1
  296. tomwer/gui/visualization/dataviewer.py +20 -28
  297. tomwer/gui/visualization/diffviewer/diffviewer.py +17 -20
  298. tomwer/gui/visualization/diffviewer/shiftwidget.py +3 -1
  299. tomwer/gui/visualization/nxtomometadata.py +1 -0
  300. tomwer/gui/visualization/reconstructionparameters.py +13 -12
  301. tomwer/gui/visualization/scanoverview.py +5 -3
  302. tomwer/gui/visualization/sinogramviewer.py +3 -2
  303. tomwer/gui/visualization/test/test_dataviewer.py +3 -1
  304. tomwer/gui/visualization/test/test_diffviewer.py +8 -6
  305. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +5 -3
  306. tomwer/gui/visualization/test/test_reconstruction_parameters.py +5 -3
  307. tomwer/gui/visualization/test/test_sinogramviewer.py +10 -9
  308. tomwer/gui/visualization/test/test_stacks.py +8 -6
  309. tomwer/gui/visualization/test/test_volumeviewer.py +10 -8
  310. tomwer/gui/visualization/tomoobjoverview.py +7 -4
  311. tomwer/gui/visualization/volumeoverview.py +5 -3
  312. tomwer/gui/visualization/volumeviewer.py +15 -14
  313. tomwer/io/utils/__init__.py +3 -3
  314. tomwer/io/utils/h5pyutils.py +2 -1
  315. tomwer/io/utils/utils.py +17 -21
  316. tomwer/resources/__init__.py +1 -1
  317. tomwer/synctools/axis.py +3 -1
  318. tomwer/synctools/darkref.py +3 -2
  319. tomwer/synctools/datalistener.py +10 -6
  320. tomwer/synctools/datatransfert.py +2 -3
  321. tomwer/synctools/imageloaderthread.py +5 -3
  322. tomwer/synctools/rsyncmanager.py +3 -2
  323. tomwer/synctools/saaxis.py +3 -1
  324. tomwer/synctools/sadeltabeta.py +3 -1
  325. tomwer/synctools/stacks/control/datalistener.py +9 -12
  326. tomwer/synctools/stacks/edit/darkflatpatch.py +13 -12
  327. tomwer/synctools/stacks/edit/imagekeyeditor.py +12 -11
  328. tomwer/synctools/stacks/processingstack.py +3 -2
  329. tomwer/synctools/stacks/reconstruction/axis.py +12 -12
  330. tomwer/synctools/stacks/reconstruction/castvolume.py +8 -5
  331. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +10 -9
  332. tomwer/synctools/stacks/reconstruction/lamino.py +9 -7
  333. tomwer/synctools/stacks/reconstruction/nabu.py +18 -17
  334. tomwer/synctools/stacks/reconstruction/normalization.py +12 -16
  335. tomwer/synctools/stacks/reconstruction/saaxis.py +13 -11
  336. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +16 -14
  337. tomwer/synctools/test/test_darkRefs.py +4 -3
  338. tomwer/synctools/test/test_foldertransfer.py +14 -12
  339. tomwer/synctools/test/test_scanstages.py +8 -7
  340. tomwer/synctools/utils/scanstages.py +7 -5
  341. tomwer/tests/conftest.py +4 -4
  342. tomwer/tests/test_scripts.py +3 -2
  343. tomwer/tests/utils/__init__.py +5 -4
  344. tomwer/tests/utils/utilstest.py +5 -6
  345. tomwer/third_party/nabu/preproc/phase.py +7 -5
  346. tomwer/third_party/nabu/utils.py +3 -2
  347. tomwer/utils.py +12 -12
  348. tomwer/version.py +3 -3
  349. tomwer/web/__init__.py +30 -0
  350. tomwer/web/client.py +43 -0
  351. tomwer/web/config.py +36 -0
  352. tomwer/web/test/__init__.py +0 -0
  353. tomwer/web/test/test_graylog_connection.py +59 -0
  354. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/METADATA +2 -2
  355. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/RECORD +361 -345
  356. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/WHEEL +1 -1
  357. /tomwer-1.1.0rc7-py3.9-nspkg.pth → /tomwer-1.2.0a0-py3.8-nspkg.pth +0 -0
  358. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/LICENSE +0 -0
  359. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/entry_points.txt +0 -0
  360. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/namespace_packages.txt +0 -0
  361. {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/top_level.txt +0 -0
@@ -30,10 +30,10 @@ __date__ = "09/11/2020"
30
30
 
31
31
  import pytest
32
32
  from silx.gui import qt
33
- from silx.gui.utils.testutils import TestCaseQt
34
- from tomwer.tests.utils import skip_gui_test
33
+ from silx.gui.utils.testutils import SignalListener, TestCaseQt
34
+
35
35
  from tomwer.gui.control.datalistener import ConfigurationWidget
36
- from silx.gui.utils.testutils import SignalListener
36
+ from tomwer.tests.utils import skip_gui_test
37
37
 
38
38
 
39
39
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -27,13 +27,15 @@ __license__ = "MIT"
27
27
  __date__ = "22/01/2017"
28
28
 
29
29
 
30
- from tomwer.tests.utils import skip_gui_test
31
- from silx.gui.utils.testutils import TestCaseQt
32
- from tomwer.gui.control.scanselectorwidget import ScanSelectorWidget
33
- from tomwer.core.utils.scanutils import MockEDF
34
30
  import shutil
35
31
  import tempfile
32
+
36
33
  import pytest
34
+ from silx.gui.utils.testutils import TestCaseQt
35
+
36
+ from tomwer.core.utils.scanutils import MockEDF
37
+ from tomwer.gui.control.scanselectorwidget import ScanSelectorWidget
38
+ from tomwer.tests.utils import skip_gui_test
37
39
 
38
40
 
39
41
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -33,14 +33,15 @@ import os
33
33
  import shutil
34
34
  import tempfile
35
35
  import time
36
- from silx.gui.utils.testutils import TestCaseQt
36
+
37
37
  import pytest
38
- from tomwer.core import settings
39
- from tomwer.core import utils
40
- from tomwer.core.utils.scanutils import MockEDF
38
+ from silx.gui.utils.testutils import TestCaseQt
39
+
40
+ from tomwer.core import settings, utils
41
41
  from tomwer.core.process.control.scanvalidator import ScanValidatorP
42
- from tomwer.gui.utils.waiterthread import QWaiterThread
43
42
  from tomwer.core.scan.edfscan import EDFTomoScan
43
+ from tomwer.core.utils.scanutils import MockEDF
44
+ from tomwer.gui.utils.waiterthread import QWaiterThread
44
45
  from tomwer.tests.utils import skip_gui_test
45
46
 
46
47
  logging.disable(logging.INFO)
@@ -1,11 +1,13 @@
1
1
  import os
2
2
  import tempfile
3
+
3
4
  import numpy
4
- from silx.gui.utils.testutils import TestCaseQt
5
5
  from silx.gui import qt
6
- from tomwer.gui.control.singletomoobj import SingleTomoObj
7
- from tomwer.core.volume.hdf5volume import HDF5Volume
6
+ from silx.gui.utils.testutils import TestCaseQt
7
+
8
8
  from tomwer.core.utils.scanutils import MockHDF5
9
+ from tomwer.core.volume.hdf5volume import HDF5Volume
10
+ from tomwer.gui.control.singletomoobj import SingleTomoObj
9
11
 
10
12
 
11
13
  class TestSingletomoObj(TestCaseQt):
@@ -32,14 +32,16 @@ __date__ = "11/07/2022"
32
32
  import os
33
33
  import shutil
34
34
  import tempfile
35
- from silx.gui.utils.testutils import TestCaseQt
35
+
36
+ import numpy
37
+ import pytest
36
38
  from silx.gui import qt
37
- from tomwer.tests.utils import skip_gui_test
38
- from tomwer.gui.qfolderdialog import QVolumeDialog
39
+ from silx.gui.utils.testutils import TestCaseQt
39
40
  from tomoscan.esrf.volume.edfvolume import EDFVolume
40
41
  from tomoscan.esrf.volume.hdf5volume import HDF5Volume
41
- import numpy
42
- import pytest
42
+
43
+ from tomwer.gui.qfolderdialog import QVolumeDialog
44
+ from tomwer.tests.utils import skip_gui_test
43
45
 
44
46
 
45
47
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -28,15 +28,17 @@ __date__ = "22/01/2017"
28
28
 
29
29
 
30
30
  import os
31
- from tomwer.tests.utils import skip_gui_test
32
- from silx.gui import qt
33
- from silx.gui.utils.testutils import TestCaseQt
34
- from tomwer.gui.control.volumeselectorwidget import VolumeSelectorWidget
35
- from tomwer.core.volume import EDFVolume, HDF5Volume
36
- import numpy
37
31
  import shutil
38
32
  import tempfile
33
+
34
+ import numpy
39
35
  import pytest
36
+ from silx.gui import qt
37
+ from silx.gui.utils.testutils import TestCaseQt
38
+
39
+ from tomwer.core.volume import EDFVolume, HDF5Volume
40
+ from tomwer.gui.control.volumeselectorwidget import VolumeSelectorWidget
41
+ from tomwer.tests.utils import skip_gui_test
40
42
 
41
43
 
42
44
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -30,11 +30,12 @@ __license__ = "MIT"
30
30
  __date__ = "12/07/2022"
31
31
 
32
32
 
33
+ import logging
34
+
33
35
  from tomwer.gui.control.datalist import VolumeList
34
36
  from tomwer.gui.qfolderdialog import QVolumeDialog
35
37
 
36
38
  from .selectorwidgetbase import _SelectorWidget
37
- import logging
38
39
 
39
40
  logger = logging.getLogger(__name__)
40
41
 
@@ -31,9 +31,10 @@ __date__ = "28/09/2020"
31
31
 
32
32
 
33
33
  from silx.gui import qt
34
+
35
+ from tomwer.core.scan.blissscan import BlissScan
34
36
  from tomwer.core.scan.edfscan import EDFTomoScan
35
37
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
36
- from tomwer.core.scan.blissscan import BlissScan
37
38
 
38
39
 
39
40
  class DatasetGeneratorDialog(qt.QDialog):
@@ -30,9 +30,10 @@ __license__ = "MIT"
30
30
  __date__ = "30/09/2020"
31
31
 
32
32
 
33
- from silx.gui import qt
34
33
  import sys
35
34
 
35
+ from silx.gui import qt
36
+
36
37
 
37
38
  class ObjectInspector(qt.QWidget):
38
39
  def __init__(self, parent):
@@ -47,10 +48,8 @@ class ObjectInspector(qt.QWidget):
47
48
 
48
49
  def setObject(self, object):
49
50
  self.__model.clear()
50
- root_item = qt.QStandardItem("{}".format(str(object)))
51
- size_item = qt.QStandardItem(
52
- "{} (M bytes)".format(sys.getsizeof(object) * 10e-6)
53
- )
51
+ root_item = qt.QStandardItem(f"{str(object)}")
52
+ size_item = qt.QStandardItem(f"{sys.getsizeof(object) * 10e-6} (M bytes)")
54
53
  self.__model.invisibleRootItem().appendRow((root_item, size_item))
55
54
 
56
55
  def add_sub_elmts(parent_item, python_obj):
@@ -59,10 +58,10 @@ class ObjectInspector(qt.QWidget):
59
58
  if hasattr(object, elmt):
60
59
  children_obj = getattr(object, elmt)
61
60
  # TODO: check if is a property or is a function
62
- item = qt.QStandardItem("{}".format(elmt))
61
+ item = qt.QStandardItem(f"{elmt}")
63
62
  # TODO: add size
64
63
  size_item = qt.QStandardItem(
65
- "{} (M bytes)".format(sys.getsizeof(children_obj) * 10e-6)
64
+ f"{sys.getsizeof(children_obj) * 10e-6} (M bytes)"
66
65
  )
67
66
  parent_item.appendRow((item, size_item))
68
67
 
@@ -28,19 +28,20 @@ __license__ = "MIT"
28
28
  __date__ = "30/10/2020"
29
29
 
30
30
 
31
+ import logging
32
+ from typing import Union
33
+
31
34
  import h5py
32
35
  from silx.gui import qt
36
+ from silx.gui.dialog.DataFileDialog import DataFileDialog
37
+ from silx.io.url import DataUrl
33
38
  from silx.io.utils import h5py_read_dataset
34
39
  from tomoscan.esrf.scan.hdf5scan import ImageKey
35
- from silx.io.url import DataUrl
36
40
  from tomoscan.io import HDF5File
41
+
42
+ import tomwer.core.utils.nxtomoutils as nxtomo_utils
37
43
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
38
- from silx.gui.dialog.DataFileDialog import DataFileDialog
39
44
  from tomwer.io.utils import get_default_directory
40
- import tomwer.core.utils.nxtomoutils as nxtomo_utils
41
-
42
- from typing import Union
43
- import logging
44
45
 
45
46
  _logger = logging.getLogger(__name__)
46
47
 
@@ -105,7 +106,7 @@ class _DarkOrFlatUrl(qt.QWidget):
105
106
 
106
107
  def setSerie(self, serie):
107
108
  type_name = self._type.name.lower().replace("_", " ")
108
- item_txt = "{} serie n°{}".format(type_name, serie)
109
+ item_txt = f"{type_name} serie n°{serie}"
109
110
  idx = self._optionsCB.findText(item_txt)
110
111
  if idx >= 0:
111
112
  self._optionsCB.setCurrentIndex(idx)
@@ -173,16 +174,16 @@ class _DarkOrFlatUrl(qt.QWidget):
173
174
  type_name = self._type.name.lower().replace("_", " ")
174
175
  series_indexes = list(range(n_serie))
175
176
  for i_serie in series_indexes:
176
- self._optionsCB.addItem("{} serie n°{}".format(type_name, i_serie))
177
+ self._optionsCB.addItem(f"{type_name} serie n°{i_serie}")
177
178
  # if this is a end url then set to the last found entry
178
179
  if self._when == "end":
179
180
  opt_idx = self._optionsCB.findText(
180
- "{} serie n°{}".format(type_name, series_indexes[-1])
181
+ f"{type_name} serie n°{series_indexes[-1]}"
181
182
  )
182
183
  else:
183
184
  # else set it to the first entry
184
185
  opt_idx = self._optionsCB.findText(
185
- "{} serie n°{}".format(type_name, series_indexes[0])
186
+ f"{type_name} serie n°{series_indexes[0]}"
186
187
  )
187
188
  if opt_idx >= 0:
188
189
  self._optionsCB.setCurrentIndex(opt_idx)
@@ -28,15 +28,17 @@ __license__ = "MIT"
28
28
  __date__ = "26/10/2020"
29
29
 
30
30
 
31
+ import functools
32
+ import logging
33
+ import weakref
34
+ from collections.abc import Iterable
35
+ from typing import Union
36
+
31
37
  from silx.gui import qt
38
+ from tomoscan.esrf.scan.hdf5scan import ImageKey as _ImageKey
39
+
32
40
  from tomwer.core.process.edit.imagekeyeditor import IMAGE_KEYS
33
- from typing import Union
34
41
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
35
- from tomoscan.esrf.scan.hdf5scan import ImageKey as _ImageKey
36
- import weakref
37
- import functools
38
- from collections.abc import Iterable
39
- import logging
40
42
 
41
43
  _logger = logging.getLogger(__name__)
42
44
 
@@ -626,7 +628,9 @@ class _ImageKeyListFiltered(qt.QWidget):
626
628
 
627
629
  def setScan(self, scan):
628
630
  if not isinstance(scan, HDF5TomoScan):
629
- raise TypeError("scan should be an instance of {}" "".format(HDF5TomoScan))
631
+ raise TypeError(
632
+ f"scan should be an instance of {HDF5TomoScan}. {type(scan)} provided"
633
+ )
630
634
  self.__frames_modifications = {}
631
635
  self._scan = weakref.ref(scan)
632
636
  frames = scan.frames
@@ -659,11 +663,7 @@ class _FrameSelectionDialog(qt.QDialog):
659
663
  def setFrames(self, frames):
660
664
  item_texts = []
661
665
  for frame in frames:
662
- item_texts.append(
663
- "{index} ({image_key})".format(
664
- index=frame.index, image_key=frame.image_key.value
665
- )
666
- )
666
+ item_texts.append(f"{frame.index} ({frame.image_key.value})")
667
667
  self._listWidget.addItems(item_texts)
668
668
 
669
669
  def getSelectedFrameIndexes(self):
@@ -1,18 +1,19 @@
1
- import weakref
2
1
  import logging
3
- import numpy
2
+ import weakref
3
+ from typing import Optional
4
+
4
5
  import h5py
6
+ import numpy
5
7
  from silx.gui import qt
6
- from typing import Optional
7
- from tomwer.core.scan.hdf5scan import HDF5TomoScan
8
- from tomwer.gui.utils.unitsystem import MetricEntry
9
- from tomwer.gui.utils.scandescription import ScanNameLabelAndShape
8
+ from silx.io.utils import h5py_read_dataset
10
9
  from tomoscan.esrf.scan.hdf5scan import ImageKey
11
10
  from tomoscan.io import HDF5File
12
11
  from tomoscan.nexus.paths.nxtomo import get_paths as get_nexus_paths
13
- from silx.io.utils import h5py_read_dataset
14
12
  from tomoscan.scanbase import _FOV
15
13
 
14
+ from tomwer.core.scan.hdf5scan import HDF5TomoScan
15
+ from tomwer.gui.utils.scandescription import ScanNameLabelAndShape
16
+ from tomwer.gui.utils.unitsystem import MetricEntry
16
17
 
17
18
  _logger = logging.getLogger(__name__)
18
19
 
@@ -28,21 +28,22 @@ __license__ = "MIT"
28
28
  __date__ = "28/10/2020"
29
29
 
30
30
 
31
+ import shutil
32
+ import tempfile
33
+
34
+ import numpy
31
35
  import pytest
36
+ from nxtomomill.utils import add_dark_flat_nx_file
32
37
  from silx.gui import qt
33
38
  from silx.gui.utils.testutils import TestCaseQt
34
- from tomwer.tests.utils import skip_gui_test
35
- from tomwer.core.utils.scanutils import MockHDF5
36
- from tomwer.gui.edit.dkrfpatch import DarkRefPatchWidget
37
- from tomwer.gui.edit.dkrfpatch import _DarkOrFlatUrl
38
39
  from silx.io.url import DataUrl
39
- from tomoscan.esrf.scan.utils import get_data
40
40
  from tomoscan.esrf.scan.hdf5scan import ImageKey
41
- from nxtomomill.utils import add_dark_flat_nx_file
41
+ from tomoscan.esrf.scan.utils import get_data
42
+
42
43
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
43
- import tempfile
44
- import shutil
45
- import numpy
44
+ from tomwer.core.utils.scanutils import MockHDF5
45
+ from tomwer.gui.edit.dkrfpatch import DarkRefPatchWidget, _DarkOrFlatUrl
46
+ from tomwer.tests.utils import skip_gui_test
46
47
 
47
48
 
48
49
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -28,18 +28,20 @@ __license__ = "MIT"
28
28
  __date__ = "28/10/2020"
29
29
 
30
30
 
31
+ import tempfile
32
+
33
+ import pytest
31
34
  from silx.gui import qt
32
- from silx.gui.utils.testutils import TestCaseQt, SignalListener
33
- from tomwer.tests.utils import skip_gui_test
35
+ from silx.gui.utils.testutils import SignalListener, TestCaseQt
36
+ from tomoscan.esrf.scan.hdf5scan import ImageKey
37
+
38
+ from tomwer.core.utils.scanutils import MockHDF5
34
39
  from tomwer.gui.edit.imagekeyeditor import (
35
40
  ImageKeyDialog,
36
41
  ImageKeyUpgraderWidget,
37
42
  _AddImageKeyUpgradeOperation,
38
43
  )
39
- from tomwer.core.utils.scanutils import MockHDF5
40
- from tomoscan.esrf.scan.hdf5scan import ImageKey
41
- import tempfile
42
- import pytest
44
+ from tomwer.tests.utils import skip_gui_test
43
45
 
44
46
 
45
47
  @pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
@@ -1,15 +1,17 @@
1
1
  import os
2
- import pytest
2
+
3
3
  import numpy
4
- from tomoscan.scanbase import _FOV
4
+ import pytest
5
+ from nxtomomill.nexus.nxtomo import NXtomo
6
+ from silx.gui import qt
5
7
  from tomoscan.esrf.scan.hdf5scan import ImageKey
6
- from tomoscan.unitsystem.metricsystem import MetricSystem
8
+ from tomoscan.scanbase import _FOV
7
9
  from tomoscan.unitsystem.energysystem import EnergySI
10
+ from tomoscan.unitsystem.metricsystem import MetricSystem
11
+
8
12
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
9
13
  from tomwer.gui.edit.nxtomoeditor import NXtomoEditor, _TranslationMetricEntry
10
- from nxtomomill.nexus.nxtomo import NXtomo
11
14
  from tomwer.tests.conftest import qtapp # noqa F401
12
- from silx.gui import qt
13
15
 
14
16
 
15
17
  @pytest.mark.parametrize("x_pixel_size", (None, 0.12))
tomwer/gui/icons.py CHANGED
@@ -32,14 +32,15 @@ __license__ = "MIT"
32
32
  __date__ = "06/09/2017"
33
33
 
34
34
 
35
- import os
36
35
  import logging
36
+ import os
37
37
  import weakref
38
+
38
39
  from silx.gui import qt
39
- import tomwer.resources
40
40
  from silx.utils import weakref as silxweakref
41
41
  from silx.utils.deprecation import deprecated
42
42
 
43
+ import tomwer.resources
43
44
 
44
45
  _logger = logging.getLogger(__name__)
45
46
  """Module logger"""
@@ -32,12 +32,13 @@ __license__ = "MIT"
32
32
  __date__ = "06/09/2017"
33
33
 
34
34
 
35
- import os
36
35
  import logging
36
+ import os
37
37
  import weakref
38
+
38
39
  from silx.gui import qt
39
- import tomwer.resources
40
40
 
41
+ import tomwer.resources
41
42
 
42
43
  _logger = logging.getLogger(__name__)
43
44
  """Module logger"""
@@ -31,11 +31,13 @@ __date__ = "06/08/2018"
31
31
 
32
32
  import functools
33
33
  import logging
34
+
34
35
  from silx.gui import qt
35
36
  from silx.io.url import DataUrl
37
+ from tomoscan.io import HDF5File
38
+
36
39
  from tomwer.core.scan.scanbase import TomwerScanBase
37
40
  from tomwer.synctools.imageloaderthread import ImageLoaderThread
38
- from tomoscan.io import HDF5File
39
41
 
40
42
  logger = logging.getLogger(__name__)
41
43
 
@@ -28,27 +28,29 @@ __author__ = ["H. Payno"]
28
28
  __license__ = "MIT"
29
29
  __date__ = "11/07/2022"
30
30
 
31
+ import logging
32
+ import os
33
+
34
+ import h5py
31
35
  from silx.gui import qt
36
+ from silx.gui.dialog.DataFileDialog import DataFileDialog
37
+ from silx.gui.utils import blockSignals
38
+ from silx.io.url import DataUrl
39
+ from tomoscan.esrf.volume.utils import (
40
+ get_most_common_extension as get_most_common_extension,
41
+ )
42
+ from tomoscan.esrf.volume.utils import guess_volumes as tomoscan_guess_volumes
32
43
  from tomoscan.volumebase import VolumeBase
44
+
33
45
  from tomwer.core.volume import (
34
46
  EDFVolume,
35
47
  HDF5Volume,
36
- TIFFVolume,
37
- MultiTIFFVolume,
38
48
  JP2KVolume,
49
+ MultiTIFFVolume,
39
50
  RawVolume,
51
+ TIFFVolume,
40
52
  )
41
53
  from tomwer.core.volume.volumefactory import VolumeFactory as Factory
42
- from silx.gui.dialog.DataFileDialog import DataFileDialog
43
- from tomoscan.esrf.volume.utils import (
44
- guess_volumes as tomoscan_guess_volumes,
45
- get_most_common_extension as get_most_common_extension,
46
- )
47
- from silx.gui.utils import blockSignals
48
- from silx.io.url import DataUrl
49
- import logging
50
- import h5py
51
- import os
52
54
 
53
55
  _logger = logging.getLogger()
54
56
 
@@ -27,14 +27,16 @@ __authors__ = ["v. Valls", "H. Payno"]
27
27
  __license__ = "MIT"
28
28
  __date__ = "26/02/2019"
29
29
 
30
+ import logging
31
+ import weakref
32
+
33
+ import numpy
34
+ from silx.gui import icons as silx_icons
30
35
  from silx.gui import qt
31
36
  from silx.gui.plot import CompareImages as _CompareImages
32
- from silx.gui import icons as silx_icons
33
- from tomwer.gui import icons as tomwer_icons
34
37
  from silx.gui.plot import tools
35
- import numpy
36
- import weakref
37
- import logging
38
+
39
+ from tomwer.gui import icons as tomwer_icons
38
40
 
39
41
  _logger = logging.getLogger(__name__)
40
42
 
@@ -378,9 +380,8 @@ class CompareImagesStatusBar(qt.QStatusBar):
378
380
  if not numpy.isclose(transform.sy, 1.0):
379
381
  strings.append("Scale y: %0.3f" % transform.sy)
380
382
  if not numpy.isclose(transform.rot, 0.0):
381
- strings.append(
382
- "Rotation: %0.3fdeg" % (transform.rot * 180 / numpy.pi)
383
- )
383
+ _rot = transform.rot * 180 / numpy.pi
384
+ strings.append(f"Rotation: {_rot:0.3f}deg")
384
385
  if strings == []:
385
386
  text = "No transformation"
386
387
  else:
@@ -1,2 +1,2 @@
1
- from .radioaxis import RadioAxisWindow # noqa F401
2
1
  from .axis import AxisWindow # noqa F401
2
+ from .radioaxis import RadioAxisWindow # noqa F401
@@ -31,17 +31,19 @@ __license__ = "MIT"
31
31
  __date__ = "14/10/2019"
32
32
 
33
33
 
34
+ import logging
34
35
  from typing import Optional
36
+
35
37
  from silx.gui import qt
38
+ from silx.utils.deprecation import deprecated
36
39
 
37
- from tomwer.core.scan.scanbase import TomwerScanBase
38
- from .radioaxis import RadioAxisWindow
39
- from ...utils.scandescription import ScanNameLabelAndShape
40
40
  from tomwer.core.process.reconstruction.axis.mode import AxisMode
41
+ from tomwer.core.scan.scanbase import TomwerScanBase
41
42
  from tomwer.gui.utils.buttons import PadlockButton
42
43
  from tomwer.synctools.axis import QAxisRP
43
- from silx.utils.deprecation import deprecated
44
- import logging
44
+
45
+ from ...utils.scandescription import ScanNameLabelAndShape
46
+ from .radioaxis import RadioAxisWindow
45
47
 
46
48
  _logger = logging.getLogger(__file__)
47
49
 
@@ -597,11 +599,11 @@ class _PositionInfoWidget(qt.QWidget):
597
599
  elif isinstance(relative_cor, str):
598
600
  self._relativePositionLabel.setText(relative_cor)
599
601
  else:
600
- self._relativePositionLabel.setText("{:.3f}".format(relative_cor))
602
+ self._relativePositionLabel.setText(f"{relative_cor:.3f}")
601
603
  if abs_cor is None:
602
604
  self._absolutePositionLabel.setText("?")
603
605
  else:
604
- self._absolutePositionLabel.setText("{:.3f}".format(abs_cor))
606
+ self._absolutePositionLabel.setText(f"{abs_cor:.3f}")
605
607
 
606
608
  def _updateAbsolutePosition(self, width):
607
609
  rel_value = self._relativePositionLabel.text()