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
@@ -32,45 +32,51 @@ __license__ = "MIT"
32
32
  __date__ = "28/10/2021"
33
33
 
34
34
 
35
- import os
36
35
  import logging
37
- import h5py
38
- import numpy
36
+ import os
39
37
  from copy import copy
40
38
  from typing import Optional, Union
39
+
40
+ import h5py
41
+ import numpy
41
42
  from nabu.pipeline.config import get_default_nabu_config
42
43
  from nabu.pipeline.fullfield.nabu_config import (
43
44
  nabu_config as nabu_fullfield_default_config,
44
45
  )
45
- from processview.core.manager import ProcessManager, DatasetState
46
+ from processview.core.manager import DatasetState, ProcessManager
46
47
  from processview.core.superviseprocess import SuperviseProcess
48
+ from tomoscan.esrf.scan.utils import get_data
49
+ from tomoscan.io import HDF5File
50
+
51
+ import tomwer.version
47
52
  from tomwer.core.process.reconstruction.nabu.nabucommon import (
48
- ResultSlurmRun,
49
53
  ResultsLocalRun,
54
+ ResultSlurmRun,
55
+ ResultsRun,
50
56
  ResultsWithStd,
51
57
  )
52
- from tomwer.core.scan.scanfactory import ScanFactory
53
- from .params import SADeltaBetaParams
54
- from tomwer.core.scan.scanbase import TomwerScanBase
55
- from tomwer.core.utils import logconfig
56
- from tomwer.core.process.task import Task
57
- from tomwer.core.scan.hdf5scan import HDF5TomoScan
58
- from tomoscan.io import HDF5File
59
- from tomoscan.esrf.scan.utils import get_data
60
- import tomwer.version
61
58
  from tomwer.core.process.reconstruction.nabu.nabuslices import (
59
+ SingleSliceRunner,
62
60
  run_single_slice_reconstruction,
63
61
  )
64
- from tomwer.core.process.reconstruction.nabu.nabucommon import ResultsRun
62
+ from tomwer.core.process.reconstruction.scores import (
63
+ ComputedScore,
64
+ ScoreMethod,
65
+ apply_roi,
66
+ compute_score,
67
+ get_disk_mask_radius,
68
+ )
69
+ from tomwer.core.process.task import Task
65
70
  from tomwer.core.progress import Progress
66
- from ..nabu import utils as nabu_utils
67
- from tomwer.core.process.reconstruction.scores import compute_score
68
- from tomwer.core.process.reconstruction.scores import ScoreMethod
69
- from tomwer.core.process.reconstruction.scores import ComputedScore
70
- from tomwer.core.process.reconstruction.scores import get_disk_mask_radius, apply_roi
71
- from tomwer.core.process.reconstruction.nabu.nabuslices import SingleSliceRunner
72
- from tomwer.core.volume.volumefactory import VolumeFactory
71
+ from tomwer.core.scan.hdf5scan import HDF5TomoScan
72
+ from tomwer.core.scan.scanbase import TomwerScanBase
73
+ from tomwer.core.scan.scanfactory import ScanFactory
74
+ from tomwer.core.utils import logconfig
73
75
  from tomwer.core.utils.scanutils import data_identifier_to_scan
76
+ from tomwer.core.volume.volumefactory import VolumeFactory
77
+
78
+ from ..nabu import utils as nabu_utils
79
+ from .params import SADeltaBetaParams
74
80
 
75
81
  _logger = logging.getLogger(__name__)
76
82
 
@@ -113,22 +119,20 @@ def one_slice_several_db(
113
119
  dry_run = configuration.dry_run
114
120
  cluster_config = configuration.cluster_config
115
121
  _logger.info(
116
- "launch reconstruction of slice {} and delta / beta: {}".format(
117
- slice_index, delta_beta_s
118
- )
122
+ f"launch reconstruction of slice {slice_index} and delta / beta: {delta_beta_s}"
119
123
  )
120
124
  if isinstance(slice_index, str):
121
125
  if not slice_index == "middle":
122
- raise ValueError("slice index {} not recognized".format(slice_index))
126
+ raise ValueError(f"slice index {slice_index} not recognized")
123
127
  elif not len(slice_index) == 1:
124
128
  raise ValueError("only manage one slice")
125
129
  else:
126
130
  slice_index = list(slice_index.values())[0]
127
- advancement = Progress("sa-delta-beta - slice {} of {}".format(slice_index, scan))
131
+ advancement = Progress(f"sa-delta-beta - slice {slice_index} of {scan}")
128
132
 
129
133
  config = configuration.nabu_params.copy()
130
134
 
131
- _logger.info("start reconstruction of {}".format(str(scan)))
135
+ _logger.info(f"start reconstruction of {scan}")
132
136
  # if scan contains some center of position copy it to nabu
133
137
  if scan.axis_params is not None and scan.axis_params.relative_cor_value is not None:
134
138
  if "reconstruction" in config:
@@ -136,7 +140,7 @@ def one_slice_several_db(
136
140
  cor_nabu_ref = scan.axis_params.relative_cor_value + scan.dim_1 / 2.0
137
141
  config["reconstruction"]["rotation_axis_position"] = str(cor_nabu_ref)
138
142
 
139
- _logger.info("set nabu reconstruction parameters to {}".format(str(scan)))
143
+ _logger.info(f"set nabu reconstruction parameters to {scan}")
140
144
  scan.nabu_recons_params = config
141
145
 
142
146
  db_reconstructions = {}
@@ -285,8 +289,7 @@ def one_slice_several_db(
285
289
  data = get_data(slice_url)
286
290
  except Exception as e:
287
291
  _logger.error(
288
- "Fail to compute a score for {}. Reason is {}"
289
- "".format(volume_identifier, str(e))
292
+ f"Fail to compute a score for {volume_identifier}. Reason is {e}"
290
293
  )
291
294
  datasets_[db] = (slice_url, None)
292
295
  else:
@@ -297,14 +300,12 @@ def one_slice_several_db(
297
300
  data = data.reshape(data.shape[0], data.shape[1])
298
301
  else:
299
302
  raise ValueError(
300
- "Data is expected to be 2D. Not {}".format(data.ndim)
303
+ f"Data is expected to be 2D. Not {data.ndim}D"
301
304
  )
302
305
  elif data.ndim == 2:
303
306
  pass
304
307
  else:
305
- raise ValueError(
306
- "Data is expected to be 2D. Not {}".format(data.ndim)
307
- )
308
+ raise ValueError(f"Data is expected to be 2D. Not {data.ndim}D")
308
309
 
309
310
  datasets_[db] = (slice_url, data)
310
311
  return datasets_
@@ -411,9 +412,7 @@ class SADeltaBetaProcess(
411
412
  elif isinstance(scan, dict):
412
413
  scan = ScanFactory.create_scan_object_frm_dict(scan)
413
414
  else:
414
- raise ValueError(
415
- "input type of {}: {} is not managed" "".format(scan, type(scan))
416
- )
415
+ raise ValueError(f"input type of {scan}: {type(scan)} is not managed")
417
416
  # insure scan contains some parameter regarding sa delta / beta
418
417
  if scan.sa_delta_beta_params is None:
419
418
  scan.sa_delta_beta_params = SADeltaBetaParams()
@@ -458,18 +457,13 @@ class SADeltaBetaProcess(
458
457
  slice_index = self.get_configuration().get("slice_index", None)
459
458
 
460
459
  if db_res is None:
461
- info = (
462
- "fail to compute delta/beta scores of slice {} for scan {}."
463
- "".format(slice_index, scan)
464
- )
460
+ info = f"fail to compute delta/beta scores of slice {slice_index} for scan {scan}."
465
461
  _logger.processFailed(info, extra=extra)
466
462
  ProcessManager().notify_dataset_state(
467
463
  dataset=scan, process=self, state=DatasetState.FAILED, details=info
468
464
  )
469
465
  else:
470
- info = "delta/beta scores of slice {} for scan {} computed." "".format(
471
- slice_index, scan
472
- )
466
+ info = f"delta/beta scores of slice {slice_index} for scan {scan} computed."
473
467
  _logger.processSucceed(info, extra=extra)
474
468
  ProcessManager().notify_dataset_state(
475
469
  dataset=scan,
@@ -496,7 +490,7 @@ class SADeltaBetaProcess(
496
490
  if not isinstance(score_rois, dict):
497
491
  raise TypeError("score_rois is expected to be a dict")
498
492
  process_file = scan.process_file
499
- process_name = "tomwer_process_" + str(process_index)
493
+ process_name = f"tomwer_process_{process_index}"
500
494
 
501
495
  if scan.saaxis_params.scores in (None, {}):
502
496
  return
@@ -1,6 +1,6 @@
1
- from .scores import ScoreMethod # noqa F401
2
1
  from .params import SABaseParams # noqa F401
3
- from .scores import compute_score # noqa F401
4
2
  from .scores import ComputedScore # noqa F401
3
+ from .scores import ScoreMethod # noqa F401
5
4
  from .scores import apply_roi # noqa F401
5
+ from .scores import compute_score # noqa F401
6
6
  from .scores import get_disk_mask_radius # noqa F401
@@ -28,10 +28,11 @@ __license__ = "MIT"
28
28
  __date__ = "04/05/2021"
29
29
 
30
30
 
31
- from tomwer.core.cluster.cluster import SlurmClusterConfiguration
32
- from tomwer.core.process.reconstruction.scores import ScoreMethod
33
31
  from typing import Optional, Union
34
32
 
33
+ from tomwer.core.cluster.cluster import SlurmClusterConfiguration
34
+ from tomwer.core.process.reconstruction.scores.scores import ScoreMethod
35
+
35
36
 
36
37
  class SABaseParams:
37
38
  """Parameters for the semi-automatic axis calculation"""
@@ -79,8 +80,7 @@ class SABaseParams:
79
80
  raise ValueError("the only valid indexes values is 'middle'")
80
81
  elif not isinstance(indexes, (type(None), dict)):
81
82
  raise TypeError(
82
- "index should be an instance of int or None and "
83
- "not {}".format(type(indexes))
83
+ f"index should be an instance of int or None and not {type(indexes)}"
84
84
  )
85
85
  self._slice_indexes = indexes
86
86
 
@@ -91,9 +91,7 @@ class SABaseParams:
91
91
  @nabu_params.setter
92
92
  def nabu_params(self, params: dict):
93
93
  if not isinstance(params, dict):
94
- raise TypeError(
95
- "params should be a dictionary and not {}" "".format(type(params))
96
- )
94
+ raise TypeError(f"params should be a dictionary and not {type(params)}")
97
95
  self._nabu_params = params
98
96
 
99
97
  @property
@@ -144,8 +142,7 @@ class SABaseParams:
144
142
  raise TypeError("format should be a str")
145
143
  if format_ not in self._VALID_FILE_FORMAT:
146
144
  raise ValueError(
147
- "requested format ({}) is invalid. valid ones "
148
- "are {}".format(format_, self._VALID_FILE_FORMAT)
145
+ f"requested format ({format_}) is invalid. valid ones are {self._VALID_FILE_FORMAT}"
149
146
  )
150
147
  self._file_format = format_
151
148
 
@@ -28,12 +28,13 @@ __license__ = "MIT"
28
28
  __date__ = "18/02/2021"
29
29
 
30
30
 
31
- from silx.utils.enum import Enum as _Enum
32
- import numpy
33
- import sys
34
31
  import logging
32
+ import sys
35
33
  from typing import Union
36
34
 
35
+ import numpy
36
+ from silx.utils.enum import Enum as _Enum
37
+
37
38
  _logger = logging.getLogger(__name__)
38
39
 
39
40
 
@@ -76,7 +77,7 @@ class ComputedScore:
76
77
  elif method is ScoreMethod.TOMO_CONSISTENCY:
77
78
  return self.tomo_consistency
78
79
  else:
79
- raise ValueError("{} is an unrecognized method".format(method))
80
+ raise ValueError(f"{method} is an unrecognized method")
80
81
 
81
82
 
82
83
  def compute_tomo_consistency(
@@ -160,11 +161,11 @@ def compute_score(
160
161
  elif data.shape[2] == 1:
161
162
  data = data.reshape(data.shape[0], data.shape[1])
162
163
  else:
163
- raise ValueError("Data is expected to be 2D. Not {}".format(data.ndim))
164
+ raise ValueError(f"Data is expected to be 2D. Not {data.ndim}D")
164
165
  elif data.ndim == 2:
165
166
  pass
166
167
  else:
167
- raise ValueError("Data is expected to be 2D. Not {}".format(data.ndim))
168
+ raise ValueError(f"Data is expected to be 2D. Not {data.ndim}D")
168
169
  if method is ScoreMethod.TOMO_CONSISTENCY:
169
170
  try:
170
171
  return compute_tomo_consistency(
@@ -177,9 +178,7 @@ def compute_score(
177
178
  except ImportError:
178
179
  return None
179
180
  except Exception as e:
180
- _logger.warning(
181
- "Fail to compute 'tomo consistency' score. " "Reason is {}".format(e)
182
- )
181
+ _logger.warning(f"Fail to compute 'tomo consistency' score. Reason is {e}")
183
182
  return None
184
183
  else:
185
184
  fct = _METHOD_TO_FCT.get(method, None)
@@ -187,7 +186,7 @@ def compute_score(
187
186
  if fct is not None:
188
187
  return fct(data)
189
188
  else:
190
- raise ValueError("{} is not handled".format(method))
189
+ raise ValueError(f"{method} is not handled")
191
190
 
192
191
 
193
192
  def get_disk_mask_radius(datasets_) -> int:
@@ -214,7 +213,5 @@ def apply_roi(data, radius, url) -> numpy.array:
214
213
  try:
215
214
  return data[min_y:max_y, min_x:max_x]
216
215
  except Exception:
217
- _logger.error(
218
- "Fail to apply roi for {}. Take the entire dataset".format(url.path())
219
- )
216
+ _logger.error(f"Fail to apply roi for {url.path()}. Take the entire dataset")
220
217
  return data
@@ -1,11 +1,13 @@
1
1
  import os
2
+
3
+ import numpy
2
4
  import pytest
5
+
3
6
  from tomwer.core.process.reconstruction.axis.params import (
4
- AxisResource,
5
7
  AxisCalculationInput,
8
+ AxisResource,
6
9
  )
7
10
  from tomwer.core.utils.scanutils import MockHDF5
8
- import numpy
9
11
 
10
12
 
11
13
  def test_axis_resource(tmp_path):
@@ -28,11 +28,10 @@ __license__ = "MIT"
28
28
  __date__ = "24/11/2021"
29
29
 
30
30
 
31
- from tomwer.core.utils.scanutils import MockEDF
32
- from tomwer.core.utils.scanutils import MockHDF5
33
31
  from tomwer.core.process.reconstruction.darkref.darkrefs import (
34
32
  requires_reduced_dark_and_flat,
35
33
  )
34
+ from tomwer.core.utils.scanutils import MockEDF, MockHDF5
36
35
 
37
36
 
38
37
  def test_quick_run_necessary_edf(tmpdir):
@@ -1,7 +1,9 @@
1
1
  import os
2
+
2
3
  import numpy
3
4
  import pytest
4
5
  from silx.io.dictdump import dicttoh5
6
+
5
7
  from tomwer.core.process.reconstruction.darkref.darkrefscopy import DarkRefsCopy
6
8
  from tomwer.core.utils.scanutils import MockHDF5
7
9
 
@@ -91,8 +93,8 @@ def test_save_reduced_frames_to_be_copied(tmp_path):
91
93
  test save_flats_to_be_copied and save_darks_to_be_copied functions
92
94
  """
93
95
  # create raw data
94
- from tomoscan.scanbase import ReducedFramesInfos
95
96
  from silx.io.url import DataUrl
97
+ from tomoscan.scanbase import ReducedFramesInfos
96
98
 
97
99
  raw_data = tmp_path / "raw_data"
98
100
  raw_data.mkdir()
@@ -1,5 +1,5 @@
1
- from tomwer.core.process.reconstruction.paramsbase import _ReconsParam, _get_db_fromstr
2
1
  from tomwer.core.process.reconstruction.darkref.params import DKRFRP
2
+ from tomwer.core.process.reconstruction.paramsbase import _get_db_fromstr, _ReconsParam
3
3
 
4
4
 
5
5
  def test_paramsbase():
@@ -28,17 +28,21 @@ __license__ = "MIT"
28
28
  __date__ = "27/02/2021"
29
29
 
30
30
 
31
- import unittest
32
- from tomwer.core.process.reconstruction.scores.scores import compute_score_contrast_std
33
- from tomwer.core.process.reconstruction.scores.scores import _METHOD_TO_FCT
34
- from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
35
- from tomwer.core.process.reconstruction.saaxis.params import SAAxisParams
36
- from tomwer.core.utils.scanutils import MockHDF5
37
31
  import os
38
- import tempfile
39
32
  import shutil
33
+ import tempfile
34
+ import unittest
35
+
40
36
  import numpy
41
37
 
38
+ from tomwer.core.process.reconstruction.saaxis.params import SAAxisParams
39
+ from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
40
+ from tomwer.core.process.reconstruction.scores.scores import (
41
+ _METHOD_TO_FCT,
42
+ compute_score_contrast_std,
43
+ )
44
+ from tomwer.core.utils.scanutils import MockHDF5
45
+
42
46
 
43
47
  class TestScoreFunctions(unittest.TestCase):
44
48
  """Test all the score functions"""
@@ -28,15 +28,16 @@ __license__ = "MIT"
28
28
  __date__ = "27/02/2021"
29
29
 
30
30
 
31
+ import os
32
+ import shutil
33
+ import tempfile
31
34
  import unittest
35
+
32
36
  from tomwer.core.process.reconstruction.sadeltabeta.sadeltabeta import (
33
- SADeltaBetaProcess,
34
37
  SADeltaBetaParams,
38
+ SADeltaBetaProcess,
35
39
  )
36
40
  from tomwer.core.utils.scanutils import MockHDF5
37
- import os
38
- import tempfile
39
- import shutil
40
41
 
41
42
 
42
43
  class TestSADeltaBetaProcess(unittest.TestCase):
@@ -1,8 +1,9 @@
1
+ import numpy
2
+
1
3
  from tomwer.core.process.reconstruction.utils.cor import (
2
- relative_pos_to_absolute,
3
4
  absolute_pos_to_relative,
5
+ relative_pos_to_absolute,
4
6
  )
5
- import numpy
6
7
 
7
8
 
8
9
  def test_cor_conversion():
@@ -28,16 +28,16 @@ __license__ = "MIT"
28
28
  __date__ = "03/08/2020"
29
29
 
30
30
 
31
+ import code
32
+ import logging
33
+
34
+ import tomwer.version
31
35
  from tomwer.core.process.task import Task
36
+ from tomwer.core.scan.edfscan import EDFTomoScan
32
37
  from tomwer.core.scan.scanbase import TomwerScanBase
33
38
  from tomwer.core.scan.scanfactory import ScanFactory
34
- from tomwer.core.scan.edfscan import EDFTomoScan
35
39
  from tomwer.core.utils.scanutils import data_identifier_to_scan
36
40
  from tomwer.core.utils.volumeutils import volume_identifier_to_volume
37
- import tomwer.version
38
- import logging
39
- import code
40
-
41
41
 
42
42
  _logger = logging.getLogger(__name__)
43
43
 
@@ -53,9 +53,7 @@ class PythonScript(
53
53
  elif isinstance(scan, (TomwerScanBase, type(None))):
54
54
  scan = scan
55
55
  else:
56
- raise ValueError(
57
- "input type of {}: {} is not managed" "".format(scan, type(scan))
58
- )
56
+ raise ValueError(f"input type of {scan}: {type(scan)} is not managed")
59
57
  # load volume
60
58
  volume = volume_identifier_to_volume(self.inputs.volume)
61
59
 
@@ -34,22 +34,21 @@ __license__ = "MIT"
34
34
  __date__ = "27/07/2021"
35
35
 
36
36
 
37
- import h5py
38
- import numpy
39
- from datetime import datetime
40
- from typing import Union
41
- from silx.io.dictdump import dicttoh5
42
- from collections import namedtuple
43
- from silx.io.dictdump import h5todict
44
- from tomoscan.io import HDF5File
45
- import typing
46
37
  import logging
47
- from silx.io.utils import h5py_read_dataset
48
38
  import multiprocessing
39
+ import typing
40
+ from collections import namedtuple
41
+ from datetime import datetime
42
+ from typing import Union
43
+
44
+ import h5py
45
+ import numpy
49
46
  import silx
50
- from ewokscore.taskwithprogress import TaskWithProgress as _EwoksTaskWithProgress
51
47
  from ewokscore.task import Task as _EwoksTask
52
-
48
+ from ewokscore.taskwithprogress import TaskWithProgress as _EwoksTaskWithProgress
49
+ from silx.io.dictdump import dicttoh5, h5todict
50
+ from silx.io.utils import h5py_read_dataset
51
+ from tomoscan.io import HDF5File
53
52
 
54
53
  mult_manager = multiprocessing.Manager()
55
54
 
@@ -28,21 +28,24 @@ __license__ = "MIT"
28
28
  __date__ = "05/04/2019"
29
29
 
30
30
 
31
+ import os
31
32
  import shutil
32
33
  import tempfile
33
34
  import unittest
34
- import numpy
35
- import os
35
+
36
36
  import h5py
37
- from tomwer.tests.utils import UtilsTest
38
- from tomwer.core.utils.scanutils import MockEDF, MockHDF5
39
- from ..reconstruction.axis.axis import AxisProcess
40
- from tomwer.core.scan.scanbase import TomwerScanBase
41
- from tomwer.core.process.reconstruction.axis.params import AxisRP
37
+ import numpy
38
+ from silx.io.utils import h5py_read_dataset
39
+
42
40
  from tomwer.core.process.reconstruction.axis.mode import AxisMode
43
- from tomwer.core.scan.edfscan import EDFTomoScan
41
+ from tomwer.core.process.reconstruction.axis.params import AxisRP
44
42
  from tomwer.core.process.task import Task
45
- from silx.io.utils import h5py_read_dataset
43
+ from tomwer.core.scan.edfscan import EDFTomoScan
44
+ from tomwer.core.scan.scanbase import TomwerScanBase
45
+ from tomwer.core.utils.scanutils import MockEDF, MockHDF5
46
+ from tomwer.tests.utils import UtilsTest
47
+
48
+ from ..reconstruction.axis.axis import AxisProcess
46
49
 
47
50
 
48
51
  class TestAxisIO(unittest.TestCase):
@@ -28,16 +28,16 @@ __license__ = "MIT"
28
28
  __date__ = "19/07/2018"
29
29
 
30
30
 
31
- import unittest
32
31
  import shutil
33
32
  import tempfile
33
+ import unittest
34
34
 
35
- from tomwer.core.utils.scanutils import MockEDF
36
- from tomwer.core.scan.scanbase import TomwerScanBase
37
35
  from tomwer.core.process.conditions.filters import (
38
- RegularExpressionFilter,
39
36
  FileNameFilter,
37
+ RegularExpressionFilter,
40
38
  )
39
+ from tomwer.core.scan.scanbase import TomwerScanBase
40
+ from tomwer.core.utils.scanutils import MockEDF
41
41
 
42
42
 
43
43
  class TestConditionalFilter(unittest.TestCase):
@@ -46,10 +46,10 @@ class TestConditionalFilter(unittest.TestCase):
46
46
  """
47
47
 
48
48
  def testPattern1(self):
49
- filter = RegularExpressionFilter("name10")
50
- self.assertTrue(filter.isFiltered("toto") is True)
51
- self.assertTrue(filter.isFiltered("name10") is False)
52
- self.assertTrue(filter.isFiltered("name100") is False)
49
+ filter_ = RegularExpressionFilter("name10")
50
+ self.assertTrue(filter_.isFiltered("toto") is True)
51
+ self.assertTrue(filter_.isFiltered("name10") is False)
52
+ self.assertTrue(filter_.isFiltered("name100") is False)
53
53
 
54
54
  def testInputOutput(self):
55
55
  pass
@@ -32,18 +32,19 @@ import os
32
32
  import shutil
33
33
  import tempfile
34
34
  import unittest
35
+
35
36
  import numpy
36
- from tomwer.core.utils.scanutils import MockEDF, MockHDF5
37
- from tomwer.core.process.reconstruction.darkref.params import (
38
- DKRFRP,
39
- ReduceMethod as cMethod,
40
- )
37
+ from tomoscan.esrf.scan.utils import get_data
38
+
39
+ from tomwer.core.process.reconstruction.darkref.params import DKRFRP
40
+ from tomwer.core.process.reconstruction.darkref.params import ReduceMethod as cMethod
41
+ from tomwer.core.scan.hdf5scan import HDF5TomoScan
41
42
  from tomwer.core.scan.scanbase import TomwerScanBase
43
+ from tomwer.core.utils.scanutils import MockEDF, MockHDF5
44
+ from tomwer.tests.utils import UtilsTest
45
+
42
46
  from ..reconstruction.darkref.darkrefs import DarkRefs
43
47
  from ..reconstruction.darkref.darkrefscopy import DarkRefsCopy
44
- from tomwer.tests.utils import UtilsTest
45
- from tomwer.core.scan.hdf5scan import HDF5TomoScan
46
- from tomoscan.esrf.scan.utils import get_data
47
48
 
48
49
 
49
50
  class TestDarkRefIO(unittest.TestCase):
@@ -28,11 +28,13 @@ __license__ = "MIT"
28
28
  __date__ = "09/06/2020"
29
29
 
30
30
 
31
- import unittest
32
- import tempfile
33
- import shutil
34
31
  import os
32
+ import shutil
33
+ import tempfile
34
+ import unittest
35
+
35
36
  import h5py
37
+
36
38
  from tomwer.core.process.control.datalistener.rpcserver import _BaseDataListenerThread
37
39
 
38
40
 
@@ -30,25 +30,27 @@ __date__ = "05/04/2019"
30
30
 
31
31
  import gc
32
32
  import os
33
- import h5py
33
+ import shutil
34
+ import tempfile
34
35
  import time
36
+ import unittest
37
+
38
+ import h5py
35
39
  import numpy
36
40
  import pytest
37
- import shutil
38
- import unittest
39
- import tempfile
41
+ from nxtomomill.converter import from_h5_to_nx
42
+ from nxtomomill.io.config.hdf5config import TomoHDF5Config
43
+ from tomoscan.esrf.scan.hdf5scan import ImageKey
40
44
  from tomoscan.io import HDF5File
45
+ from tomoscan.validator import is_valid_for_reconstruction
46
+
47
+ from tomwer.core.process.control.datalistener import DataListener
48
+ from tomwer.core.process.control.scantransfer import ScanTransfer
41
49
  from tomwer.core.scan.hdf5scan import HDF5TomoScan
42
- from tomwer.core.utils.scanutils import MockEDF
43
50
  from tomwer.core.scan.scanbase import TomwerScanBase
44
- from tomwer.core.process.control.scantransfer import ScanTransfer
45
- from tomwer.tests.utils import UtilsTest
51
+ from tomwer.core.utils.scanutils import MockEDF
46
52
  from tomwer.synctools.rsyncmanager import RSyncManager
47
- from tomwer.core.process.control.datalistener import DataListener
48
- from nxtomomill.converter import from_h5_to_nx
49
- from nxtomomill.io.config.hdf5config import TomoHDF5Config
50
- from tomoscan.validator import is_valid_for_reconstruction
51
- from tomoscan.esrf.scan.hdf5scan import ImageKey
53
+ from tomwer.tests.utils import UtilsTest
52
54
 
53
55
 
54
56
  class TestDataTransferIO(unittest.TestCase):
@@ -30,10 +30,12 @@ __date__ = "05/04/2019"
30
30
 
31
31
  import os
32
32
  import time
33
+
33
34
  import pytest
35
+
36
+ from tomwer.core.process.control.datawatcher import DataWatcher
34
37
  from tomwer.core.process.control.datawatcher.status import DET_END_XML, PARSE_INFO_FILE
35
38
  from tomwer.core.utils.scanutils import MockEDF
36
- from tomwer.core.process.control.datawatcher import DataWatcher
37
39
  from tomwer.core.utils.threads import LoopThread
38
40
 
39
41