tomwer 1.2.1__py3-none-any.whl → 1.3.12__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 (334) hide show
  1. orangecontrib/tomwer/tutorials/icat_publication.ows +58 -0
  2. orangecontrib/tomwer/widgets/__init__.py +11 -11
  3. orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +2 -2
  4. orangecontrib/tomwer/widgets/control/DataListOW.py +9 -7
  5. orangecontrib/tomwer/widgets/control/DataListenerOW.py +6 -6
  6. orangecontrib/tomwer/widgets/control/DataSelectorOW.py +21 -10
  7. orangecontrib/tomwer/widgets/control/DataValidatorOW.py +6 -6
  8. orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +24 -7
  9. orangecontrib/tomwer/widgets/control/EmailOW.py +4 -4
  10. orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +3 -3
  11. orangecontrib/tomwer/widgets/control/NXTomomillOW.py +64 -23
  12. orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +20 -8
  13. orangecontrib/tomwer/widgets/control/NotifierOW.py +1 -0
  14. orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +6 -6
  15. orangecontrib/tomwer/widgets/control/VolumeSelector.py +7 -4
  16. orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +182 -182
  17. orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +5 -5
  18. orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +4 -4
  19. orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +3 -3
  20. orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +8 -1
  21. orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +3 -3
  22. orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +3 -3
  23. orangecontrib/tomwer/widgets/icat/PublishProcessedDataOW.py +115 -0
  24. orangecontrib/tomwer/widgets/icat/RawDataScreenshotCreatorOW.py +98 -0
  25. orangecontrib/tomwer/widgets/icat/SaveToGalleryAndPublishOW.py +129 -0
  26. orangecontrib/tomwer/widgets/icat/__init__.py +13 -0
  27. orangecontrib/tomwer/widgets/icat/icons/add_gallery.png +0 -0
  28. orangecontrib/tomwer/widgets/icat/icons/add_gallery.svg +82 -0
  29. orangecontrib/tomwer/widgets/icat/icons/publish_processed_data.png +0 -0
  30. orangecontrib/tomwer/widgets/icat/icons/publish_processed_data.svg +95 -0
  31. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.png +0 -0
  32. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.svg +143 -0
  33. orangecontrib/tomwer/widgets/icons/tomwer_data_portal.png +0 -0
  34. orangecontrib/tomwer/widgets/icons/tomwer_data_portal.svg +76 -0
  35. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +22 -20
  36. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +19 -3
  37. orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +184 -169
  38. orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +23 -0
  39. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +39 -5
  40. orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +18 -22
  41. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +18 -26
  42. orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +15 -19
  43. orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +9 -9
  44. orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -1
  45. orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +1 -1
  46. orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +3 -3
  47. orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -1
  48. orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +3 -29
  49. tomwer/__main__.py +7 -64
  50. tomwer/app/axis.py +3 -3
  51. tomwer/app/canvas.py +8 -0
  52. tomwer/app/canvas_launcher/config.py +16 -14
  53. tomwer/app/canvas_launcher/environ.py +1 -0
  54. tomwer/app/canvas_launcher/mainwindow.py +4 -1
  55. tomwer/app/darkref.py +1 -1
  56. tomwer/app/darkrefpatch.py +1 -1
  57. tomwer/app/diffframe.py +3 -3
  58. tomwer/app/imagekeyeditor.py +5 -5
  59. tomwer/app/imagekeyupgrader.py +5 -5
  60. tomwer/app/intensitynormalization.py +14 -13
  61. tomwer/app/{saaxis.py → multicor.py} +3 -3
  62. tomwer/app/{sadeltabeta.py → multipag.py} +3 -3
  63. tomwer/app/nabuapp.py +0 -11
  64. tomwer/app/radiostack.py +6 -4
  65. tomwer/app/samplemoved.py +3 -2
  66. tomwer/app/scanviewer.py +4 -2
  67. tomwer/app/sinogramviewer.py +3 -2
  68. tomwer/app/slicestack.py +3 -2
  69. tomwer/app/zstitching.py +88 -6
  70. tomwer/core/cluster/cluster.py +26 -0
  71. tomwer/core/log/logger.py +7 -5
  72. tomwer/core/process/conditions/filters.py +1 -1
  73. tomwer/core/process/control/datalistener/datalistener.py +19 -14
  74. tomwer/core/process/control/datawatcher/edfdwprocess.py +0 -9
  75. tomwer/core/process/control/nxtomoconcatenate.py +13 -13
  76. tomwer/core/process/control/nxtomomill.py +92 -34
  77. tomwer/core/process/control/scantransfer.py +20 -43
  78. tomwer/core/process/control/scanvalidator.py +3 -2
  79. tomwer/core/process/control/test/test_concatenate_nxtomos.py +9 -9
  80. tomwer/core/process/control/test/test_email.py +4 -4
  81. tomwer/core/process/control/test/test_h52nx_process.py +59 -7
  82. tomwer/core/process/control/test/test_volume_link.py +64 -64
  83. tomwer/core/process/control/timer.py +1 -1
  84. tomwer/core/process/control/volumesymlink.py +200 -200
  85. tomwer/core/process/edit/darkflatpatch.py +14 -15
  86. tomwer/core/process/edit/imagekeyeditor.py +41 -39
  87. tomwer/core/process/icat/__init__.py +0 -0
  88. tomwer/core/process/icat/createscreenshots.py +100 -0
  89. tomwer/core/process/icat/gallery.py +377 -0
  90. tomwer/core/process/icat/icatbase.py +36 -0
  91. tomwer/core/process/icat/publish.py +228 -0
  92. tomwer/core/process/icat/screenshots.py +27 -0
  93. tomwer/core/process/output.py +52 -0
  94. tomwer/core/process/reconstruction/axis/axis.py +280 -69
  95. tomwer/core/process/reconstruction/axis/mode.py +163 -48
  96. tomwer/core/process/reconstruction/axis/params.py +29 -21
  97. tomwer/core/process/reconstruction/darkref/darkrefs.py +41 -127
  98. tomwer/core/process/reconstruction/darkref/darkrefscopy.py +4 -3
  99. tomwer/core/process/reconstruction/darkref/params.py +1 -1
  100. tomwer/core/process/reconstruction/nabu/castvolume.py +4 -4
  101. tomwer/core/process/reconstruction/nabu/helical.py +9 -5
  102. tomwer/core/process/reconstruction/nabu/nabucommon.py +71 -78
  103. tomwer/core/process/reconstruction/nabu/nabuscores.py +425 -53
  104. tomwer/core/process/reconstruction/nabu/nabuslices.py +114 -93
  105. tomwer/core/process/reconstruction/nabu/nabuvolume.py +54 -27
  106. tomwer/core/process/reconstruction/nabu/plane.py +9 -0
  107. tomwer/core/process/reconstruction/nabu/settings.py +2 -2
  108. tomwer/core/process/reconstruction/nabu/utils.py +164 -26
  109. tomwer/core/process/reconstruction/output.py +108 -0
  110. tomwer/core/process/reconstruction/saaxis/saaxis.py +238 -264
  111. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +151 -87
  112. tomwer/core/process/reconstruction/scores/params.py +7 -4
  113. tomwer/core/process/reconstruction/scores/scores.py +13 -0
  114. tomwer/core/process/reconstruction/test/test_axis_params.py +2 -2
  115. tomwer/core/process/reconstruction/test/test_darkref.py +3 -3
  116. tomwer/core/process/reconstruction/test/test_darkref_copy.py +7 -7
  117. tomwer/core/process/reconstruction/test/test_saaxis.py +3 -4
  118. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +2 -2
  119. tomwer/core/process/stitching/nabustitcher.py +13 -12
  120. tomwer/core/process/task.py +34 -26
  121. tomwer/core/process/test/test_axis.py +13 -12
  122. tomwer/core/process/test/test_dark_and_flat.py +10 -7
  123. tomwer/core/process/test/test_data_transfer.py +10 -8
  124. tomwer/core/process/test/test_nabu.py +14 -6
  125. tomwer/core/process/test/test_normalization.py +4 -4
  126. tomwer/core/scan/blissscan.py +3 -3
  127. tomwer/core/scan/edfscan.py +13 -10
  128. tomwer/core/scan/hdf5scan.py +19 -530
  129. tomwer/core/scan/nxtomoscan.py +534 -0
  130. tomwer/core/scan/scanbase.py +72 -44
  131. tomwer/core/scan/scanfactory.py +13 -13
  132. tomwer/core/scan/test/test_edf.py +2 -2
  133. tomwer/core/scan/test/test_future_scan.py +3 -3
  134. tomwer/core/scan/test/test_h5.py +18 -16
  135. tomwer/core/scan/test/test_process_registration.py +4 -40
  136. tomwer/core/scan/test/test_scan.py +5 -78
  137. tomwer/core/settings.py +22 -2
  138. tomwer/core/test/test_scanutils.py +8 -7
  139. tomwer/core/test/test_utils.py +35 -28
  140. tomwer/core/tomwer_object.py +1 -1
  141. tomwer/core/utils/__init__.py +0 -466
  142. tomwer/core/utils/deprecation.py +1 -1
  143. tomwer/core/utils/dictutils.py +14 -0
  144. tomwer/core/utils/lbsram.py +35 -0
  145. tomwer/core/utils/nxtomoutils.py +1 -1
  146. tomwer/core/utils/scanutils.py +6 -6
  147. tomwer/core/utils/spec.py +263 -0
  148. tomwer/core/volume/edfvolume.py +6 -6
  149. tomwer/core/volume/hdf5volume.py +6 -6
  150. tomwer/core/volume/jp2kvolume.py +6 -6
  151. tomwer/core/volume/rawvolume.py +6 -6
  152. tomwer/core/volume/tiffvolume.py +12 -12
  153. tomwer/core/volume/volumefactory.py +2 -2
  154. tomwer/gui/cluster/slurm.py +274 -65
  155. tomwer/gui/cluster/supervisor.py +12 -0
  156. tomwer/gui/cluster/test/test_cluster.py +14 -2
  157. tomwer/gui/cluster/test/test_supervisor.py +3 -3
  158. tomwer/gui/configuration/__init__.py +0 -0
  159. tomwer/gui/{reconstruction/nabu → configuration}/action.py +1 -32
  160. tomwer/gui/configuration/level.py +22 -0
  161. tomwer/gui/control/actions.py +54 -0
  162. tomwer/gui/control/datalist.py +83 -16
  163. tomwer/gui/control/datalistener.py +4 -16
  164. tomwer/gui/control/datawatcher/controlwidget.py +2 -4
  165. tomwer/gui/control/datawatcher/datawatcher.py +1 -24
  166. tomwer/gui/control/{email.py → emailnotifier.py} +9 -18
  167. tomwer/gui/control/history.py +2 -2
  168. tomwer/gui/control/observations.py +2 -2
  169. tomwer/gui/control/reducedarkflatselector.py +9 -9
  170. tomwer/gui/control/selectorwidgetbase.py +36 -9
  171. tomwer/gui/control/serie/seriecreator.py +5 -22
  172. tomwer/gui/control/test/test_email.py +1 -1
  173. tomwer/gui/control/test/test_scanvalidator.py +6 -5
  174. tomwer/gui/control/test/test_single_tomo_obj.py +3 -3
  175. tomwer/gui/control/tomoobjdisplaymode.py +8 -0
  176. tomwer/gui/debugtools/datasetgenerator.py +3 -3
  177. tomwer/gui/edit/dkrfpatch.py +20 -26
  178. tomwer/gui/edit/imagekeyeditor.py +11 -12
  179. tomwer/gui/edit/nxtomoeditor.py +111 -44
  180. tomwer/gui/edit/nxtomowarmer.py +7 -6
  181. tomwer/gui/edit/test/test_dkrf_patch.py +13 -13
  182. tomwer/gui/edit/test/test_image_key_editor.py +3 -3
  183. tomwer/gui/edit/test/test_nx_editor.py +40 -16
  184. tomwer/gui/icat/__init__.py +0 -0
  185. tomwer/gui/icat/createscreenshots.py +80 -0
  186. tomwer/gui/icat/gallery.py +214 -0
  187. tomwer/gui/icat/publish.py +187 -0
  188. tomwer/gui/imagefromfile.py +2 -2
  189. tomwer/gui/qfolderdialog.py +24 -1
  190. tomwer/gui/reconstruction/axis/CompareImages.py +88 -168
  191. tomwer/gui/reconstruction/axis/axis.py +171 -57
  192. tomwer/gui/reconstruction/axis/radioaxis.py +122 -257
  193. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +3 -2
  194. tomwer/gui/reconstruction/darkref/darkrefwidget.py +2 -1
  195. tomwer/gui/reconstruction/nabu/castvolume.py +14 -3
  196. tomwer/gui/reconstruction/nabu/check.py +9 -9
  197. tomwer/gui/reconstruction/nabu/helical.py +29 -12
  198. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +2 -4
  199. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +2 -1
  200. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +126 -35
  201. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +39 -32
  202. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +222 -31
  203. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +57 -27
  204. tomwer/gui/reconstruction/nabu/nabuflow.py +12 -20
  205. tomwer/gui/reconstruction/nabu/slices.py +10 -11
  206. tomwer/gui/reconstruction/nabu/volume.py +22 -10
  207. tomwer/gui/reconstruction/normalization/intensity.py +18 -48
  208. tomwer/gui/reconstruction/saaxis/corrangeselector.py +8 -24
  209. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +1 -1
  210. tomwer/gui/reconstruction/saaxis/saaxis.py +9 -21
  211. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +45 -12
  212. tomwer/gui/reconstruction/scores/control.py +2 -9
  213. tomwer/gui/reconstruction/scores/scoreplot.py +13 -11
  214. tomwer/gui/reconstruction/test/test_axis.py +41 -16
  215. tomwer/gui/reconstruction/test/test_nabu.py +31 -9
  216. tomwer/gui/reconstruction/test/test_saaxis.py +3 -3
  217. tomwer/gui/reconstruction/test/test_sadeltabeta.py +12 -2
  218. tomwer/gui/settings.py +5 -28
  219. tomwer/gui/stackplot.py +2 -5
  220. tomwer/gui/stitching/action.py +49 -0
  221. tomwer/gui/stitching/config/axisparams.py +7 -24
  222. tomwer/gui/stitching/config/output.py +10 -8
  223. tomwer/gui/stitching/config/positionoveraxis.py +22 -23
  224. tomwer/gui/stitching/normalization.py +117 -0
  225. tomwer/gui/stitching/stitchandbackground.py +4 -6
  226. tomwer/gui/stitching/stitching.py +267 -45
  227. tomwer/gui/stitching/stitching_preview.py +62 -55
  228. tomwer/gui/stitching/stitching_raw.py +13 -12
  229. tomwer/gui/stitching/z_stitching/fineestimation.py +0 -60
  230. tomwer/gui/utils/buttons.py +112 -29
  231. tomwer/gui/utils/inputwidget.py +43 -25
  232. tomwer/gui/utils/lineselector/lineselector.py +1 -1
  233. tomwer/gui/utils/scandescription.py +4 -0
  234. tomwer/gui/utils/step.py +144 -0
  235. tomwer/gui/utils/unitsystem.py +2 -5
  236. tomwer/gui/utils/vignettes.py +176 -15
  237. tomwer/gui/visualization/dataviewer.py +48 -35
  238. tomwer/gui/visualization/diffviewer/diffviewer.py +7 -16
  239. tomwer/gui/visualization/diffviewer/shiftwidget.py +2 -5
  240. tomwer/gui/visualization/scanoverview.py +1 -1
  241. tomwer/gui/visualization/sinogramviewer.py +20 -36
  242. tomwer/gui/visualization/test/test_diffviewer.py +3 -3
  243. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +4 -4
  244. tomwer/gui/visualization/test/test_sinogramviewer.py +2 -2
  245. tomwer/gui/visualization/test/test_stacks.py +3 -3
  246. tomwer/gui/visualization/test/test_volumeviewer.py +65 -67
  247. tomwer/gui/visualization/volumeviewer.py +114 -113
  248. tomwer/io/utils/h5pyutils.py +3 -3
  249. tomwer/io/utils/raw_and_processed_data.py +84 -0
  250. tomwer/io/utils/tomoobj.py +4 -6
  251. tomwer/io/utils/utils.py +7 -7
  252. tomwer/resources/gui/icons/parameters.svg +1 -1
  253. tomwer/resources/gui/icons/ruler.png +0 -0
  254. tomwer/resources/gui/icons/ruler.svg +273 -0
  255. tomwer/resources/gui/icons/short_description.png +0 -0
  256. tomwer/resources/gui/icons/short_description.svg +58 -0
  257. tomwer/resources/gui/icons/url.png +0 -0
  258. tomwer/resources/gui/icons/url.svg +58 -0
  259. tomwer/resources/gui/illustrations/no_rot.svg +1 -1
  260. tomwer/synctools/stacks/edit/darkflatpatch.py +19 -14
  261. tomwer/synctools/stacks/edit/imagekeyeditor.py +2 -2
  262. tomwer/synctools/stacks/reconstruction/axis.py +4 -4
  263. tomwer/synctools/stacks/reconstruction/castvolume.py +22 -7
  264. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +25 -20
  265. tomwer/synctools/stacks/reconstruction/nabu.py +2 -2
  266. tomwer/synctools/stacks/reconstruction/normalization.py +2 -2
  267. tomwer/synctools/stacks/reconstruction/saaxis.py +2 -2
  268. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +2 -2
  269. tomwer/synctools/test/test_darkRefs.py +7 -58
  270. tomwer/synctools/test/test_foldertransfer.py +6 -6
  271. tomwer/synctools/utils/scanstages.py +6 -6
  272. tomwer/tests/conftest.py +34 -0
  273. tomwer/tests/datasets.py +13 -0
  274. tomwer/tests/test_scripts.py +91 -41
  275. tomwer/tests/utils.py +5 -0
  276. tomwer/third_part/WaitingOverlay.py +110 -0
  277. tomwer/third_part/__init__.py +0 -0
  278. tomwer/version.py +2 -2
  279. tomwer-1.3.12-py3.11-nspkg.pth +1 -0
  280. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/METADATA +73 -58
  281. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/RECORD +287 -286
  282. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/WHEEL +1 -1
  283. orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +0 -197
  284. orangecontrib/tomwer/widgets/reconstruction/icons/XY_lamino.svg +0 -168
  285. orangecontrib/tomwer/widgets/reconstruction/icons/XZ_lamino.svg +0 -275
  286. orangecontrib/tomwer/widgets/reconstruction/icons/YZ_lamino.svg +0 -182
  287. tomwer/app/lamino.py +0 -143
  288. tomwer/core/process/reconstruction/lamino/__init__.py +0 -1
  289. tomwer/core/process/reconstruction/lamino/tofu.py +0 -1000
  290. tomwer/core/process/test/test_lamino.py +0 -76
  291. tomwer/core/test/test_lamino.py +0 -92
  292. tomwer/gui/reconstruction/lamino/__init__.py +0 -31
  293. tomwer/gui/reconstruction/lamino/tofu/TofuOptionLoader.py +0 -107
  294. tomwer/gui/reconstruction/lamino/tofu/__init__.py +0 -1
  295. tomwer/gui/reconstruction/lamino/tofu/misc.py +0 -148
  296. tomwer/gui/reconstruction/lamino/tofu/projections.py +0 -896
  297. tomwer/gui/reconstruction/lamino/tofu/settings.py +0 -75
  298. tomwer/gui/reconstruction/lamino/tofu/tofu.py +0 -432
  299. tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +0 -567
  300. tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +0 -760
  301. tomwer/gui/reconstruction/test/test_lamino.py +0 -189
  302. tomwer/resources/gui/icons/esrf_1.svg +0 -307
  303. tomwer/resources/gui/icons/lamino_parameters.svg +0 -70
  304. tomwer/resources/gui/icons/triangle.svg +0 -80
  305. tomwer/resources/gui/illustrations/lamino_angle.png +0 -0
  306. tomwer/resources/gui/illustrations/lamino_angle.svg +0 -509
  307. tomwer/resources/gui/illustrations/lamino_beta_angle.png +0 -0
  308. tomwer/resources/gui/illustrations/lamino_beta_angle.svg +0 -97
  309. tomwer/resources/gui/illustrations/lamino_theta_angle.png +0 -0
  310. tomwer/resources/gui/illustrations/lamino_theta_angle.svg +0 -368
  311. tomwer/resources/gui/illustrations/manual_slice.png +0 -0
  312. tomwer/resources/gui/illustrations/manual_slice.svg +0 -221
  313. tomwer/resources/gui/illustrations/psi_angle.png +0 -0
  314. tomwer/resources/gui/illustrations/psi_angle.svg +0 -479
  315. tomwer/resources/gui/illustrations/rotation_center.png +0 -0
  316. tomwer/resources/gui/illustrations/rotation_center.svg +0 -276
  317. tomwer/resources/gui/illustrations/slice_stack.png +0 -0
  318. tomwer/resources/gui/illustrations/slice_stack.svg +0 -266
  319. tomwer/resources/gui/illustrations/xy_slice.png +0 -0
  320. tomwer/resources/gui/illustrations/xy_slice.svg +0 -269
  321. tomwer/resources/gui/illustrations/xz_slice.png +0 -0
  322. tomwer/resources/gui/illustrations/xz_slice.svg +0 -270
  323. tomwer/resources/gui/illustrations/yz_slice.png +0 -0
  324. tomwer/resources/gui/illustrations/yz_slice.svg +0 -270
  325. tomwer/synctools/stacks/reconstruction/lamino.py +0 -233
  326. tomwer/synctools/test/test_scanstages.py +0 -162
  327. tomwer/tests/utils/__init__.py +0 -247
  328. tomwer/tests/utils/utilstest.py +0 -220
  329. tomwer-1.2.1-py3.11-nspkg.pth +0 -1
  330. /tomwer/core/process/control/{email.py → emailnotifier.py} +0 -0
  331. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/LICENSE +0 -0
  332. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/entry_points.txt +0 -0
  333. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/namespace_packages.txt +0 -0
  334. {tomwer-1.2.1.dist-info → tomwer-1.3.12.dist-info}/top_level.txt +0 -0
@@ -1,182 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- width="100"
13
- height="100"
14
- id="svg2"
15
- version="1.1"
16
- inkscape:version="0.48.5 r10040"
17
- sodipodi:docname="emptyCube_x.svg">
18
- <defs
19
- id="defs4">
20
- <marker
21
- inkscape:stockid="Arrow1Send"
22
- orient="auto"
23
- refY="0.0"
24
- refX="0.0"
25
- id="Arrow1Send"
26
- style="overflow:visible;">
27
- <path
28
- id="path3788"
29
- d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
30
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
31
- transform="scale(0.2) rotate(180) translate(6,0)" />
32
- </marker>
33
- <marker
34
- inkscape:stockid="Arrow1Sstart"
35
- orient="auto"
36
- refY="0.0"
37
- refX="0.0"
38
- id="Arrow1Sstart"
39
- style="overflow:visible">
40
- <path
41
- id="path3785"
42
- d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
43
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
44
- transform="scale(0.2) translate(6,0)" />
45
- </marker>
46
- <marker
47
- inkscape:stockid="Arrow1Mstart"
48
- orient="auto"
49
- refY="0.0"
50
- refX="0.0"
51
- id="Arrow1Mstart"
52
- style="overflow:visible">
53
- <path
54
- id="path3779"
55
- d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
56
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
57
- transform="scale(0.4) translate(10,0)" />
58
- </marker>
59
- <inkscape:perspective
60
- sodipodi:type="inkscape:persp3d"
61
- inkscape:vp_x="-252.62268 : 156.72032 : 1"
62
- inkscape:vp_y="0 : 3383.9015 : 0"
63
- inkscape:vp_z="169.30198 : 147.12387 : 1"
64
- inkscape:persp3d-origin="-46.711117 : 100.32196 : 1"
65
- id="perspective3017" />
66
- <inkscape:perspective
67
- sodipodi:type="inkscape:persp3d"
68
- inkscape:vp_x="-252.44025 : 156.70147 : 1"
69
- inkscape:vp_y="0 : 3383.9015 : 0"
70
- inkscape:vp_z="169.48441 : 147.10502 : 1"
71
- inkscape:persp3d-origin="-46.528689 : 100.30311 : 1"
72
- id="perspective3017-7" />
73
- </defs>
74
- <sodipodi:namedview
75
- id="base"
76
- pagecolor="#ffffff"
77
- bordercolor="#666666"
78
- borderopacity="1.0"
79
- inkscape:pageopacity="0.0"
80
- inkscape:pageshadow="2"
81
- inkscape:zoom="5.6"
82
- inkscape:cx="20.638508"
83
- inkscape:cy="69.417196"
84
- inkscape:document-units="px"
85
- inkscape:current-layer="layer1"
86
- showgrid="false"
87
- inkscape:window-width="1920"
88
- inkscape:window-height="1178"
89
- inkscape:window-x="1920"
90
- inkscape:window-y="0"
91
- inkscape:window-maximized="1" />
92
- <metadata
93
- id="metadata7">
94
- <rdf:RDF>
95
- <cc:Work
96
- rdf:about="">
97
- <dc:format>image/svg+xml</dc:format>
98
- <dc:type
99
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
100
- <dc:title />
101
- </cc:Work>
102
- </rdf:RDF>
103
- </metadata>
104
- <g
105
- inkscape:label="Layer 1"
106
- inkscape:groupmode="layer"
107
- id="layer1"
108
- transform="translate(0,-952.36218)">
109
- <path
110
- style="opacity:0.62735847000000000;fill:#cf9634;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.5,0.5;stroke-dashoffset:0"
111
- d="m 39.395949,26.76394 33.335035,-19.6979741 0,43.4365591 -33.335035,33.840111 z"
112
- id="path5430"
113
- inkscape:connector-curvature="0"
114
- transform="translate(0,952.36218)"
115
- sodipodi:nodetypes="ccccc" />
116
- <path
117
- style="opacity:0.62735847000000000;fill:#cf9634;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.5,0.5;stroke-dashoffset:0"
118
- d="m 46.189625,980.74322 31.727892,-20.41226 0,44.15084 -32.263606,34.733 z"
119
- id="path5430-1"
120
- inkscape:connector-curvature="0"
121
- sodipodi:nodetypes="ccccc" />
122
- <g
123
- sodipodi:type="inkscape:box3d"
124
- style="opacity:0.71698112;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
125
- id="g3139"
126
- inkscape:perspectiveID="#perspective3017-7"
127
- inkscape:corner0="-0.23369865 : -0.00058071337 : 0 : 1"
128
- inkscape:corner7="-0.34871743 : -0.012607987 : 0.24117225 : 1">
129
- <path
130
- sodipodi:type="inkscape:box3dside"
131
- id="path3149"
132
- style="fill:none;stroke:#000000;stroke-opacity:1"
133
- inkscape:box3dsidetype="13"
134
- d="m 16.268086,1024.9343 47.454833,22.8302 28.580423,-38.5104 L 52.9455,996.28562 z" />
135
- <path
136
- sodipodi:type="inkscape:box3dside"
137
- id="path3141"
138
- style="fill:none;stroke:#000000;stroke-opacity:1"
139
- inkscape:box3dsidetype="6"
140
- d="m 16.268086,971.82322 0,53.11108 36.677414,-28.64868 0,-40.39719 z" />
141
- <path
142
- sodipodi:type="inkscape:box3dside"
143
- id="path3151"
144
- style="fill:none;stroke:#000000;stroke-opacity:1"
145
- inkscape:box3dsidetype="11"
146
- d="m 52.9455,955.88843 39.357842,7.76209 0,45.60358 L 52.9455,996.28562 z" />
147
- <path
148
- sodipodi:type="inkscape:box3dside"
149
- id="path3143"
150
- style="fill:none;stroke:#000000;stroke-opacity:1"
151
- inkscape:box3dsidetype="5"
152
- d="M 16.268086,971.82322 63.722919,985.27379 92.303342,963.65052 52.9455,955.88843 z" />
153
- <path
154
- sodipodi:type="inkscape:box3dside"
155
- id="path3147"
156
- style="fill:none;stroke:#000000;stroke-opacity:1"
157
- inkscape:box3dsidetype="14"
158
- d="m 63.722919,985.27379 0,62.49071 28.580423,-38.5104 0,-45.60358 z" />
159
- <path
160
- sodipodi:type="inkscape:box3dside"
161
- id="path3145"
162
- style="fill:none;stroke:#000000;stroke-opacity:1"
163
- inkscape:box3dsidetype="3"
164
- d="m 16.268086,971.82322 47.454833,13.45057 0,62.49071 -47.454833,-22.8302 z" />
165
- </g>
166
- <path
167
- style="fill:none;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart);marker-end:url(#Arrow1Send);stroke-miterlimit:4;stroke-dasharray:none"
168
- d="M 44.285714,88.392857 38.75,85"
169
- id="path9519"
170
- inkscape:connector-curvature="0"
171
- transform="translate(0,952.36218)" />
172
- <g
173
- transform="scale(1.0145776,0.98563184)"
174
- style="font-size:10.3904047px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:IPAPMincho;-inkscape-font-specification:IPAPMincho"
175
- id="text10079">
176
- <path
177
- d="m 38.389152,1059.0296 c -0.0068,-0.01 -0.03045,-0.024 -0.07103,-0.051 -0.03045,-0.02 -0.05412,-0.039 -0.07103,-0.056 -0.865871,-0.6358 -1.298804,-1.1821 -1.2988,-1.6387 -4e-6,-0.3382 0.148817,-0.6054 0.446463,-0.8016 0.21308,-0.1319 0.466751,-0.1978 0.761015,-0.1978 0.720423,0 1.435777,0.2317 2.146066,0.695 0.223223,0.1488 0.334839,0.2943 0.334847,0.4363 -8e-6,0.23 -0.111624,0.345 -0.334847,0.345 -0.128535,0 -0.2689,-0.076 -0.421096,-0.2283 -0.608819,-0.575 -1.192264,-0.8625 -1.750337,-0.8625 -0.470143,0 -0.705212,0.1878 -0.705208,0.5632 -4e-6,0.3484 0.539471,0.8608 1.618427,1.5372 0.811744,0.5074 1.217619,1.1652 1.217626,1.9736 -7e-6,0.8185 -0.231694,1.5305 -0.695061,2.1359 -0.517497,0.6731 -1.17197,1.0096 -1.963421,1.0096 -0.399115,0 -0.749182,-0.1352 -1.050202,-0.4058 -0.416026,-0.3721 -0.624036,-0.8676 -0.624034,-1.4865 -2e-6,-1.0519 0.443078,-1.8958 1.329242,-2.5317 0.304402,-0.2097 0.681527,-0.3551 1.131377,-0.4363 m 0.167423,0.2993 c -0.618964,0 -1.141528,0.4025 -1.567693,1.2075 -0.250293,0.4668 -0.375438,0.9792 -0.375434,1.5373 -4e-6,1.018 0.339916,1.5271 1.019761,1.5271 0.497192,0 0.947037,-0.3146 1.349535,-0.9437 0.382193,-0.5885 0.573292,-1.2092 0.573299,-1.862 -7e-6,-0.5276 -0.13868,-0.9301 -0.416022,-1.2074 -0.172503,-0.1725 -0.366985,-0.2588 -0.583446,-0.2588"
178
- style=""
179
- id="path10084" />
180
- </g>
181
- </g>
182
- </svg>
tomwer/app/lamino.py DELETED
@@ -1,143 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- import argparse
5
- import logging
6
- import os
7
- import signal
8
- import sys
9
-
10
- from silx.gui import qt
11
-
12
- from tomwer.core.process.reconstruction.lamino.tofu import LaminoReconstructionTask
13
- from tomwer.core.scan.scanbase import TomwerScanBase
14
- from tomwer.core.scan.scanfactory import ScanFactory
15
- from tomwer.core.utils.resource import increase_max_number_file
16
- from tomwer.gui import icons
17
- from tomwer.gui.reconstruction.lamino.tofu import TofuWindow
18
- from tomwer.gui.utils.splashscreen import getMainSplashScreen
19
-
20
- _logger = logging.getLogger(__name__)
21
- # logging.getLogger().setLevel(logging.INFO)
22
-
23
-
24
- def getinputinfo():
25
- return "tomwer lamino [scanDir]"
26
-
27
-
28
- def sigintHandler(*args):
29
- """Handler for the SIGINT signal."""
30
- qt.QApplication.quit()
31
-
32
-
33
- def main(argv):
34
- parser = argparse.ArgumentParser(description=__doc__)
35
- parser.add_argument(
36
- "scan_path", help="Data file to process (edf files only for now)"
37
- )
38
- parser.add_argument(
39
- "--debug",
40
- dest="debug",
41
- action="store_true",
42
- default=False,
43
- help="Set logging system in debug mode",
44
- )
45
- parser.add_argument(
46
- "--dry-run",
47
- dest="dry_run",
48
- action="store_true",
49
- default=False,
50
- help="Will not apply the tofu process but only display the command used"
51
- "to call tofu",
52
- )
53
- options = parser.parse_args(argv[1:])
54
-
55
- increase_max_number_file()
56
-
57
- global app # QApplication must be global to avoid seg fault on quit
58
- app = qt.QApplication.instance() or qt.QApplication(["tomwer"])
59
-
60
- qt.QLocale.setDefault(qt.QLocale(qt.QLocale.English))
61
- qt.QLocale.setDefault(qt.QLocale.c())
62
-
63
- signal.signal(signal.SIGINT, sigintHandler)
64
- sys.excepthook = qt.exceptionHandler
65
-
66
- timer = qt.QTimer()
67
- timer.start(500)
68
- # Application have to wake up Python interpreter, else SIGINT is not
69
- # catched
70
- timer.timeout.connect(lambda: None)
71
-
72
- splash = getMainSplashScreen()
73
- options.scan_path = os.path.abspath(options.scan_path.rstrip(os.path.sep))
74
- scan = ScanFactory.create_scan_object(scan_path=options.scan_path)
75
- scan.set_process_index_frm_tomwer_process_file()
76
- dialog = ToFuDialog(parent=None, scan=scan)
77
- # dialog.tofuWidget._mainWidget._tabs._outputWidget.setOutput('')
78
- # dialog.tofuWidget._mainWidget._tabs._inputWidget.setWhenApplyFFC('preprocessing')
79
- # dialog.tofuWidget._mainWidget._tabs._inputWidget.setHalfAcquisition(True)
80
- dialog._setDryRun(options.dry_run)
81
- splash.finish(dialog)
82
- dialog.exec_()
83
-
84
-
85
- class ToFuDialog(qt.QDialog):
86
- """Simple dialog to launch the lamino reconstruction using tofu"""
87
-
88
- def __init__(self, parent, scan):
89
- assert isinstance(scan, TomwerScanBase)
90
- qt.QDialog.__init__(self, parent)
91
- self._scan = scan
92
- self._dry_run = False
93
-
94
- self.setLayout(qt.QVBoxLayout())
95
- self.setWindowTitle("Lamino reconstruction using tofu")
96
-
97
- types = qt.QDialogButtonBox.Ok | qt.QDialogButtonBox.Cancel
98
- self._buttons = qt.QDialogButtonBox(parent=self)
99
- self._buttons.setStandardButtons(types)
100
- self.tofuWidget = TofuWindow(parent=self)
101
- self.tofuWidget.loadFromScan(self._scan.path)
102
- self.layout().addWidget(self.tofuWidget)
103
- self.layout().addWidget(self._buttons)
104
-
105
- self._buttons.button(qt.QDialogButtonBox.Ok).clicked.connect(self.accept)
106
- self._buttons.button(qt.QDialogButtonBox.Cancel).clicked.connect(self.reject)
107
-
108
- self.setWindowIcon(icons.getQIcon("tomwer"))
109
-
110
- def accept(self):
111
- recons_param = self.tofuWidget.getParameters()
112
- reco_add_options = self.tofuWidget.getAdditionalRecoOptions()
113
- preprocess_add_options = self.tofuWidget.getAdditionalPreprocessOptions()
114
- delete_existing = self.tofuWidget.removeOutputDir()
115
- self.tofuWidget.setEnabled(False)
116
- qt.QApplication.processEvents()
117
- qt.QApplication.setOverrideCursor(qt.Qt.WaitCursor)
118
- self._reconsProcess = LaminoReconstructionTask(
119
- inputs={
120
- "scan": self._scan,
121
- "serialize_output_data": False,
122
- }
123
- )
124
- self._reconsProcess.set_configuration(
125
- (preprocess_add_options, reco_add_options)
126
- )
127
- self._reconsProcess.delete_existing = delete_existing
128
- self._reconsProcess.reconstruction_parameters = recons_param
129
- if self._dry_run:
130
- self._reconsProcess.dry_run = self._dry_run
131
- try:
132
- self._reconsProcess.run()
133
- except Exception as e:
134
- _logger.error(e)
135
- self.tofuWidget.setEnabled(True)
136
- qt.QApplication.restoreOverrideCursor()
137
-
138
- def _setDryRun(self, forTest):
139
- self._dry_run = forTest
140
-
141
-
142
- if __name__ == "__main__":
143
- main(sys.argv)
@@ -1 +0,0 @@
1
- from .tofu import LaminoReconstructionTask # noqa F401