tomwer 1.3.27__py3-none-any.whl → 1.4.0__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 (638) hide show
  1. orangecontrib/tomwer/orange/managedprocess.py +1 -29
  2. orangecontrib/tomwer/orange/settings.py +2 -28
  3. orangecontrib/tomwer/tests/TestAcquisition.py +220 -0
  4. orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +2 -2
  5. orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +1 -1
  6. orangecontrib/tomwer/tutorials/{icat_publication.ows → drac_publication.ows} +7 -21
  7. orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +22 -0
  8. orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +302 -0
  9. orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +218 -0
  10. orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +29 -24
  11. orangecontrib/tomwer/tutorials/test_cor.ows +19 -0
  12. orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows +54 -0
  13. orangecontrib/tomwer/widgets/__init__.py +3 -5
  14. orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +35 -54
  15. orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +1 -31
  16. orangecontrib/tomwer/widgets/control/AdvancementOW.py +1 -29
  17. orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +5 -4
  18. orangecontrib/tomwer/widgets/control/DataListenerOW.py +1 -29
  19. orangecontrib/tomwer/widgets/control/DataSelectorOW.py +11 -30
  20. orangecontrib/tomwer/widgets/control/DataTransfertOW.py +2 -28
  21. orangecontrib/tomwer/widgets/control/DataValidatorOW.py +1 -28
  22. orangecontrib/tomwer/widgets/control/DataWatcherOW.py +1 -28
  23. orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +48 -51
  24. orangecontrib/tomwer/widgets/control/EmailOW.py +12 -2
  25. orangecontrib/tomwer/widgets/control/FilterOW.py +1 -28
  26. orangecontrib/tomwer/widgets/control/NXTomomillOW.py +37 -53
  27. orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +21 -20
  28. orangecontrib/tomwer/widgets/control/NotifierOW.py +9 -28
  29. orangecontrib/tomwer/widgets/control/ReduceDarkFlatSelectorOW.py +3 -2
  30. orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +1 -27
  31. orangecontrib/tomwer/widgets/control/TimerOW.py +9 -28
  32. orangecontrib/tomwer/widgets/control/TomoObjSeriesOW.py +58 -0
  33. orangecontrib/tomwer/widgets/control/VolumeSelector.py +8 -30
  34. orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +173 -119
  35. orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
  36. orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +55 -195
  37. orangecontrib/tomwer/widgets/control/icons/{tomoobjserie.svg → tomoobjseries.svg} +2 -2
  38. orangecontrib/tomwer/widgets/dataportal/PublishProcessedDataOW.py +172 -0
  39. orangecontrib/tomwer/widgets/{icat → dataportal}/__init__.py +2 -2
  40. orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +2 -29
  41. orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +1 -29
  42. orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +48 -73
  43. orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +48 -75
  44. orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +5 -30
  45. orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +51 -52
  46. orangecontrib/tomwer/widgets/other/PythonScriptOW.py +22 -10
  47. orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +51 -60
  48. orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +22 -68
  49. orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +3 -30
  50. orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +21 -19
  51. orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +7 -70
  52. orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +41 -84
  53. orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +15 -40
  54. orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +13 -35
  55. orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +2 -30
  56. orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +11 -11
  57. orangecontrib/tomwer/widgets/utils.py +2 -29
  58. orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +1 -27
  59. orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +1 -27
  60. orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +1 -1
  61. orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +2 -28
  62. orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +1 -27
  63. orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +1 -27
  64. orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +2 -28
  65. tomwer/__init__.py +3 -28
  66. tomwer/__main__.py +8 -4
  67. tomwer/app/__init__.py +2 -0
  68. tomwer/app/axis.py +8 -10
  69. tomwer/app/canvas.py +23 -29
  70. tomwer/app/canvas_launcher/config.py +14 -102
  71. tomwer/app/canvas_launcher/environ.py +5 -8
  72. tomwer/app/canvas_launcher/mainwindow.py +175 -69
  73. tomwer/app/canvas_launcher/splash.py +1 -3
  74. tomwer/app/canvas_launcher/utils.py +47 -0
  75. tomwer/app/canvas_launcher/widgetsscheme.py +3 -10
  76. tomwer/app/diffframe.py +2 -0
  77. tomwer/app/imagekeyeditor.py +2 -1
  78. tomwer/app/imagekeyupgrader.py +2 -0
  79. tomwer/app/multicor.py +5 -2
  80. tomwer/app/multipag.py +16 -5
  81. tomwer/app/nabuapp.py +2 -1
  82. tomwer/app/nxtomoeditor.py +17 -12
  83. tomwer/app/patchrawdarkflat.py +2 -0
  84. tomwer/app/radiostack.py +3 -2
  85. tomwer/app/reducedarkflat.py +3 -0
  86. tomwer/app/samplemoved.py +2 -0
  87. tomwer/app/scanviewer.py +2 -0
  88. tomwer/app/sinogramviewer.py +2 -0
  89. tomwer/app/slicestack.py +11 -13
  90. tomwer/app/stitching/common.py +431 -0
  91. tomwer/app/stopdatalistener.py +3 -0
  92. tomwer/app/ystitching.py +26 -0
  93. tomwer/app/zstitching.py +8 -363
  94. tomwer/core/__init__.py +2 -28
  95. tomwer/core/cluster/__init__.py +3 -0
  96. tomwer/core/cluster/cluster.py +10 -26
  97. tomwer/core/futureobject.py +17 -43
  98. tomwer/core/log/__init__.py +2 -0
  99. tomwer/core/log/processlog.py +0 -28
  100. tomwer/core/process/cluster/supervisor.py +52 -34
  101. tomwer/core/process/conditions/filters.py +3 -28
  102. tomwer/core/process/control/datalistener/datalistener.py +7 -75
  103. tomwer/core/process/control/datalistener/rpcserver.py +8 -38
  104. tomwer/core/process/control/datawatcher/datawatcher.py +11 -40
  105. tomwer/core/process/control/datawatcher/datawatcherobserver.py +30 -64
  106. tomwer/core/process/control/datawatcher/datawatcherprocess.py +11 -32
  107. tomwer/core/process/control/datawatcher/edfdwprocess.py +2 -27
  108. tomwer/core/process/control/datawatcher/hdf5dwprocess.py +1 -26
  109. tomwer/core/process/control/datawatcher/status.py +1 -26
  110. tomwer/core/process/control/emailnotifier.py +11 -23
  111. tomwer/core/process/control/nxtomoconcatenate.py +20 -18
  112. tomwer/core/process/control/nxtomomill.py +9 -44
  113. tomwer/core/process/control/scanlist.py +0 -27
  114. tomwer/core/process/control/scantransfer.py +15 -13
  115. tomwer/core/process/control/scanvalidator.py +4 -30
  116. tomwer/core/process/control/{test → tests}/test_concatenate_nxtomos.py +5 -5
  117. tomwer/core/process/control/timer.py +1 -27
  118. tomwer/core/process/control/tomoobjseries.py +12 -0
  119. tomwer/core/process/drac/binning.py +37 -0
  120. tomwer/core/process/drac/dracbase.py +170 -0
  121. tomwer/core/process/drac/gallery.py +109 -0
  122. tomwer/core/process/drac/output.py +12 -0
  123. tomwer/core/process/drac/processeddataset.py +147 -0
  124. tomwer/core/process/drac/publish.py +118 -0
  125. tomwer/core/process/drac/rawdataset.py +142 -0
  126. tomwer/core/process/drac/tests/test_gallery.py +71 -0
  127. tomwer/core/process/drac/tests/test_icat_processed_dataset.py +80 -0
  128. tomwer/core/process/drac/tests/test_icat_raw_dataset.py +90 -0
  129. tomwer/core/process/edit/darkflatpatch.py +1 -28
  130. tomwer/core/process/edit/imagekeyeditor.py +4 -32
  131. tomwer/core/process/edit/nxtomoeditor.py +307 -0
  132. tomwer/core/process/edit/tests/test_darkflatpatch.py +243 -0
  133. tomwer/core/process/edit/tests/test_imagekey_editor.py +99 -0
  134. tomwer/core/process/output.py +9 -2
  135. tomwer/core/process/reconstruction/__init__.py +0 -26
  136. tomwer/core/process/reconstruction/axis/anglemode.py +1 -29
  137. tomwer/core/process/reconstruction/axis/axis.py +47 -804
  138. tomwer/core/process/reconstruction/axis/mode.py +89 -25
  139. tomwer/core/process/reconstruction/axis/params.py +131 -283
  140. tomwer/core/process/reconstruction/axis/projectiontype.py +0 -28
  141. tomwer/core/process/reconstruction/axis/side.py +8 -0
  142. tomwer/core/process/reconstruction/darkref/darkrefs.py +14 -39
  143. tomwer/core/process/reconstruction/darkref/darkrefscopy.py +7 -39
  144. tomwer/core/process/reconstruction/darkref/params.py +1 -28
  145. tomwer/core/process/reconstruction/nabu/castvolume.py +19 -34
  146. tomwer/core/process/reconstruction/nabu/nabucommon.py +18 -43
  147. tomwer/core/process/reconstruction/nabu/nabuscores.py +64 -68
  148. tomwer/core/process/reconstruction/nabu/nabuslices.py +63 -105
  149. tomwer/core/process/reconstruction/nabu/nabuvolume.py +44 -70
  150. tomwer/core/process/reconstruction/nabu/plane.py +10 -0
  151. tomwer/core/process/reconstruction/nabu/settings.py +1 -28
  152. tomwer/core/process/reconstruction/nabu/target.py +0 -28
  153. tomwer/core/process/reconstruction/nabu/test/test_castvolume.py +116 -0
  154. tomwer/core/process/reconstruction/nabu/test/test_nabu_utils.py +277 -0
  155. tomwer/core/process/reconstruction/nabu/test/test_nabunormalization.py +199 -0
  156. tomwer/core/process/reconstruction/nabu/utils.py +11 -60
  157. tomwer/core/process/reconstruction/normalization/normalization.py +2 -32
  158. tomwer/core/process/reconstruction/normalization/params.py +3 -35
  159. tomwer/core/process/reconstruction/output.py +14 -19
  160. tomwer/core/process/reconstruction/paramsbase.py +4 -33
  161. tomwer/core/process/reconstruction/saaxis/params.py +5 -33
  162. tomwer/core/process/reconstruction/saaxis/saaxis.py +22 -51
  163. tomwer/core/process/reconstruction/sadeltabeta/params.py +2 -31
  164. tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +18 -46
  165. tomwer/core/process/reconstruction/scores/params.py +9 -39
  166. tomwer/core/process/reconstruction/scores/scores.py +10 -42
  167. tomwer/core/process/reconstruction/tests/__init__.py +0 -0
  168. tomwer/core/process/reconstruction/tests/test_axis.py +46 -0
  169. tomwer/core/process/reconstruction/tests/test_darkref.py +33 -0
  170. tomwer/core/process/reconstruction/{test → tests}/test_saaxis.py +1 -27
  171. tomwer/core/process/reconstruction/tests/test_sadeltabeta.py +48 -0
  172. tomwer/core/process/reconstruction/{test → tests}/test_utils.py +4 -4
  173. tomwer/core/process/reconstruction/utils/cor.py +8 -4
  174. tomwer/core/process/script/python.py +1 -27
  175. tomwer/core/process/script/tests/test_script.py +41 -0
  176. tomwer/core/process/stitching/metadataholder.py +5 -4
  177. tomwer/core/process/stitching/nabustitcher.py +35 -5
  178. tomwer/core/process/stitching/tests/test_metadataholder.py +17 -0
  179. tomwer/core/process/task.py +20 -63
  180. tomwer/core/process/tests/__init__.py +0 -0
  181. tomwer/core/process/{test → tests}/test_conditions.py +1 -28
  182. tomwer/core/process/{test → tests}/test_dark_and_flat.py +1 -27
  183. tomwer/core/process/{test → tests}/test_data_listener.py +1 -27
  184. tomwer/core/process/{test → tests}/test_data_transfer.py +2 -28
  185. tomwer/core/process/{test → tests}/test_data_watcher.py +1 -27
  186. tomwer/core/process/{test → tests}/test_nabu.py +2 -33
  187. tomwer/core/process/{test → tests}/test_normalization.py +1 -26
  188. tomwer/core/process/{test → tests}/test_timer.py +1 -27
  189. tomwer/core/process/utils.py +2 -31
  190. tomwer/core/process/visualization/dataviewer.py +1 -26
  191. tomwer/core/process/visualization/diffviewer.py +1 -26
  192. tomwer/core/process/visualization/imagestackviewer.py +0 -26
  193. tomwer/core/process/visualization/radiostack.py +0 -26
  194. tomwer/core/process/visualization/samplemoved.py +0 -28
  195. tomwer/core/process/visualization/sinogramviewer.py +0 -27
  196. tomwer/core/process/visualization/slicestack.py +0 -28
  197. tomwer/core/process/visualization/tests/test_data_viewer.py +12 -0
  198. tomwer/core/process/visualization/tests/test_diff_viewer.py +12 -0
  199. tomwer/core/process/visualization/tests/test_image_stack_viewer.py +14 -0
  200. tomwer/core/process/visualization/tests/test_radio_stack.py +12 -0
  201. tomwer/core/process/visualization/tests/test_sample_moved.py +14 -0
  202. tomwer/core/process/visualization/tests/test_sinogram_viewer.py +13 -0
  203. tomwer/core/process/visualization/tests/test_slice_stack.py +13 -0
  204. tomwer/core/process/visualization/tests/test_volume_viewer.py +12 -0
  205. tomwer/core/process/visualization/volumeviewer.py +0 -29
  206. tomwer/core/scan/__init__.py +3 -27
  207. tomwer/core/scan/blissscan.py +5 -34
  208. tomwer/core/scan/edfscan.py +19 -53
  209. tomwer/core/scan/hdf5scan.py +2 -2
  210. tomwer/core/scan/nxtomoscan.py +48 -54
  211. tomwer/core/scan/scanbase.py +107 -203
  212. tomwer/core/scan/scanfactory.py +11 -41
  213. tomwer/core/scan/tests/__init__.py +0 -0
  214. tomwer/core/scan/tests/test_edf.py +25 -0
  215. tomwer/core/scan/tests/test_future_scan.py +35 -0
  216. tomwer/core/scan/tests/test_nxtomoscan.py +143 -0
  217. tomwer/core/scan/tests/test_process_registration.py +64 -0
  218. tomwer/core/settings.py +18 -40
  219. tomwer/core/tests/__init__.py +0 -0
  220. tomwer/core/tests/test_scanutils.py +26 -0
  221. tomwer/core/{test → tests}/test_utils.py +1 -28
  222. tomwer/core/tomwer_object.py +4 -0
  223. tomwer/core/utils/__init__.py +2 -0
  224. tomwer/core/utils/char.py +0 -28
  225. tomwer/core/utils/deprecation.py +12 -38
  226. tomwer/core/utils/dictutils.py +1 -3
  227. tomwer/core/utils/ftseriesutils.py +1 -27
  228. tomwer/core/utils/gpu.py +0 -28
  229. tomwer/core/utils/image.py +8 -39
  230. tomwer/core/utils/locker.py +1 -28
  231. tomwer/core/utils/logconfig.py +0 -27
  232. tomwer/core/utils/normalization.py +4 -31
  233. tomwer/core/utils/nxtomoutils.py +8 -38
  234. tomwer/core/utils/resource.py +0 -26
  235. tomwer/core/utils/scanutils.py +23 -52
  236. tomwer/core/utils/slurm.py +7 -30
  237. tomwer/core/utils/spec.py +6 -6
  238. tomwer/core/utils/tests/__init__.py +0 -0
  239. tomwer/core/utils/tests/test_image.py +30 -0
  240. tomwer/core/utils/tests/test_nxtomo.py +38 -0
  241. tomwer/core/utils/tests/test_scan_utils.py +46 -0
  242. tomwer/core/utils/tests/test_time.py +6 -0
  243. tomwer/core/utils/threads.py +0 -26
  244. tomwer/core/utils/time.py +0 -27
  245. tomwer/core/volume/__init__.py +4 -0
  246. tomwer/core/volume/edfvolume.py +1 -28
  247. tomwer/core/volume/hdf5volume.py +1 -28
  248. tomwer/core/volume/jp2kvolume.py +1 -27
  249. tomwer/core/volume/rawvolume.py +1 -28
  250. tomwer/core/volume/tests/test_volumes.py +21 -0
  251. tomwer/core/volume/tiffvolume.py +1 -28
  252. tomwer/core/volume/volumebase.py +5 -0
  253. tomwer/core/volume/volumefactory.py +7 -33
  254. tomwer/gui/__init__.py +0 -28
  255. tomwer/gui/cluster/__init__.py +2 -0
  256. tomwer/gui/cluster/slurm.py +297 -95
  257. tomwer/gui/cluster/supervisor.py +1 -27
  258. tomwer/gui/cluster/tests/__init__.py +0 -0
  259. tomwer/gui/cluster/{test → tests}/test_cluster.py +21 -26
  260. tomwer/gui/cluster/{test → tests}/test_supervisor.py +1 -27
  261. tomwer/gui/conditions/__init__.py +2 -0
  262. tomwer/gui/conditions/filter.py +1 -26
  263. tomwer/gui/configuration/__init__.py +2 -0
  264. tomwer/gui/control/__init__.py +2 -0
  265. tomwer/gui/control/actions.py +2 -28
  266. tomwer/gui/control/datadiscovery.py +4 -3
  267. tomwer/gui/control/datalist.py +64 -69
  268. tomwer/gui/control/datalistener.py +1 -39
  269. tomwer/gui/control/datareacheractions.py +1 -28
  270. tomwer/gui/control/datatransfert.py +2 -29
  271. tomwer/gui/control/datavalidator.py +3 -37
  272. tomwer/gui/control/datawatcher/__init__.py +0 -28
  273. tomwer/gui/control/datawatcher/configuration.py +1 -28
  274. tomwer/gui/control/datawatcher/datawatcher.py +3 -32
  275. tomwer/gui/control/datawatcher/datawatcherobserver.py +2 -28
  276. tomwer/gui/control/history.py +5 -35
  277. tomwer/gui/control/nxtomomill.py +3 -30
  278. tomwer/gui/control/observations.py +61 -55
  279. tomwer/gui/control/reducedarkflatselector.py +24 -20
  280. tomwer/gui/control/scanselectorwidget.py +2 -28
  281. tomwer/gui/control/selectorwidgetbase.py +17 -17
  282. tomwer/gui/control/series/__init__.py +0 -0
  283. tomwer/gui/control/{serie/seriecreator.py → series/seriescreator.py} +214 -235
  284. tomwer/gui/control/series/serieswaiter.py +0 -0
  285. tomwer/gui/control/series/test/test_creator.py +424 -0
  286. tomwer/gui/control/series/test/test_nxtomo_concatenate.py +21 -0
  287. tomwer/gui/control/singletomoobj.py +1 -1
  288. tomwer/gui/control/tests/__init__.py +0 -0
  289. tomwer/gui/control/tests/test_datalist.py +47 -0
  290. tomwer/gui/control/{test → tests}/test_datalistener.py +1 -28
  291. tomwer/gui/control/tests/test_datavalidator.py +27 -0
  292. tomwer/gui/control/{test → tests}/test_inputwidget.py +1 -27
  293. tomwer/gui/control/tests/test_process_manager.py +38 -0
  294. tomwer/gui/control/tests/test_scan_observations.py +23 -0
  295. tomwer/gui/control/tests/test_scanselector.py +42 -0
  296. tomwer/gui/control/{test → tests}/test_scanvalidator.py +1 -27
  297. tomwer/gui/control/{test → tests}/test_volume_dialog.py +2 -30
  298. tomwer/gui/control/{test → tests}/test_volumeselector.py +1 -27
  299. tomwer/gui/control/volumeselectorwidget.py +2 -30
  300. tomwer/gui/dataportal/__init__.py +2 -0
  301. tomwer/gui/{icat → dataportal}/createscreenshots.py +3 -2
  302. tomwer/gui/dataportal/gallery.py +133 -0
  303. tomwer/gui/dataportal/outputformat.py +0 -0
  304. tomwer/gui/dataportal/publish.py +96 -0
  305. tomwer/gui/dataportal/tests/test_create_screenshots_gui.py +23 -0
  306. tomwer/gui/dataportal/tests/test_gallery_gui.py +21 -0
  307. tomwer/gui/debugtools/__init__.py +2 -0
  308. tomwer/gui/debugtools/datasetgenerator.py +1 -30
  309. tomwer/gui/debugtools/objectinspector.py +1 -29
  310. tomwer/gui/dialog/QDataDialog.py +89 -0
  311. tomwer/gui/{qfolderdialog.py → dialog/QVolumeDialog.py} +8 -107
  312. tomwer/gui/dialog/__init__.py +1 -0
  313. tomwer/gui/edit/__init__.py +2 -0
  314. tomwer/gui/edit/dkrfpatch.py +52 -87
  315. tomwer/gui/edit/imagekeyeditor.py +18 -54
  316. tomwer/gui/edit/nxtomoeditor.py +113 -300
  317. tomwer/gui/edit/nxtomowarmer.py +3 -2
  318. tomwer/gui/edit/tests/__init__.py +0 -0
  319. tomwer/gui/edit/{test → tests}/test_dkrf_patch.py +3 -29
  320. tomwer/gui/edit/{test → tests}/test_image_key_editor.py +1 -27
  321. tomwer/gui/edit/{test → tests}/test_nx_editor.py +45 -23
  322. tomwer/gui/fonts.py +5 -0
  323. tomwer/gui/icons.py +28 -66
  324. tomwer/gui/illustrations.py +4 -34
  325. tomwer/gui/imagefromfile.py +5 -30
  326. tomwer/gui/metadataloader.py +36 -0
  327. tomwer/gui/qconfigfile.py +3 -0
  328. tomwer/gui/qlefilesystem.py +3 -0
  329. tomwer/gui/reconstruction/__init__.py +2 -0
  330. tomwer/gui/reconstruction/axis/AxisMainWindow.py +275 -0
  331. tomwer/gui/reconstruction/axis/AxisOptionsWidget.py +313 -0
  332. tomwer/gui/reconstruction/axis/AxisSettingsWidget.py +797 -0
  333. tomwer/gui/reconstruction/axis/AxisWidget.py +534 -0
  334. tomwer/gui/reconstruction/axis/CalculationWidget.py +218 -0
  335. tomwer/gui/reconstruction/axis/CompareImages.py +11 -44
  336. tomwer/gui/reconstruction/axis/ControlWidget.py +285 -0
  337. tomwer/gui/reconstruction/axis/EstimatedCORWidget.py +394 -0
  338. tomwer/gui/reconstruction/axis/EstimatedCorComboBox.py +118 -0
  339. tomwer/gui/reconstruction/axis/InputWidget.py +347 -0
  340. tomwer/gui/reconstruction/axis/ManualFramesSelection.py +168 -0
  341. tomwer/gui/reconstruction/axis/__init__.py +2 -2
  342. tomwer/gui/reconstruction/darkref/__init__.py +0 -27
  343. tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +5 -34
  344. tomwer/gui/reconstruction/darkref/darkrefwidget.py +1 -27
  345. tomwer/gui/reconstruction/nabu/castvolume.py +40 -59
  346. tomwer/gui/reconstruction/nabu/check.py +7 -33
  347. tomwer/gui/reconstruction/nabu/nabuconfig/base.py +7 -34
  348. tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -5
  349. tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +10 -69
  350. tomwer/gui/reconstruction/nabu/nabuconfig/output.py +3 -47
  351. tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +54 -36
  352. tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +103 -54
  353. tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +116 -65
  354. tomwer/gui/reconstruction/nabu/nabuflow.py +31 -61
  355. tomwer/gui/reconstruction/nabu/platform.py +94 -0
  356. tomwer/gui/reconstruction/nabu/slices.py +81 -45
  357. tomwer/gui/reconstruction/nabu/slurm.py +1 -27
  358. tomwer/gui/reconstruction/nabu/test/test_cast_volume.py +82 -0
  359. tomwer/gui/reconstruction/nabu/test/test_check.py +66 -0
  360. tomwer/gui/reconstruction/nabu/test/test_ctf.py +46 -0
  361. tomwer/gui/reconstruction/nabu/test/test_helical.py +21 -0
  362. tomwer/gui/reconstruction/nabu/test/test_nabu_preprocessing.py +81 -0
  363. tomwer/gui/reconstruction/nabu/volume.py +62 -90
  364. tomwer/gui/reconstruction/normalization/intensity.py +5 -32
  365. tomwer/gui/reconstruction/normalization/test/test_intensity.py +89 -0
  366. tomwer/gui/reconstruction/saaxis/corrangeselector.py +32 -56
  367. tomwer/gui/reconstruction/saaxis/dimensionwidget.py +56 -96
  368. tomwer/gui/reconstruction/saaxis/saaxis.py +17 -38
  369. tomwer/gui/reconstruction/saaxis/sliceselector.py +8 -39
  370. tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +19 -37
  371. tomwer/gui/reconstruction/scores/control.py +2 -30
  372. tomwer/gui/reconstruction/scores/scoreplot.py +23 -49
  373. tomwer/gui/reconstruction/tests/__init__.py +0 -0
  374. tomwer/gui/reconstruction/{test → tests}/test_axis.py +23 -49
  375. tomwer/gui/reconstruction/{test → tests}/test_nabu.py +16 -31
  376. tomwer/gui/reconstruction/{test → tests}/test_saaxis.py +10 -37
  377. tomwer/gui/reconstruction/{test → tests}/test_sadeltabeta.py +1 -26
  378. tomwer/gui/samplemoved/__init__.py +2 -30
  379. tomwer/gui/samplemoved/selectiontable.py +3 -33
  380. tomwer/gui/settings.py +7 -0
  381. tomwer/gui/stackplot.py +33 -661
  382. tomwer/gui/stacks.py +261 -135
  383. tomwer/gui/stitching/SingleAxisStitchingWidget.py +326 -0
  384. tomwer/gui/stitching/StitchingOptionsWidget.py +438 -0
  385. tomwer/gui/stitching/StitchingWindow.py +586 -0
  386. tomwer/gui/stitching/__init__.py +2 -0
  387. tomwer/gui/stitching/alignment.py +90 -0
  388. tomwer/gui/stitching/axisorderedlist.py +44 -34
  389. tomwer/gui/stitching/config/axisparams.py +25 -11
  390. tomwer/gui/stitching/config/output.py +6 -5
  391. tomwer/gui/stitching/config/positionoveraxis.py +313 -51
  392. tomwer/gui/stitching/config/stitchingstrategies.py +22 -16
  393. tomwer/gui/stitching/config/tests/test_axisparams.py +25 -0
  394. tomwer/gui/stitching/config/tomoobjdetails.py +3 -5
  395. tomwer/gui/stitching/normalization.py +1 -0
  396. tomwer/gui/stitching/preview.py +59 -0
  397. tomwer/gui/stitching/singleaxis.py +57 -0
  398. tomwer/gui/stitching/stitchandbackground.py +3 -2
  399. tomwer/gui/stitching/stitching_preview.py +44 -36
  400. tomwer/gui/stitching/stitching_raw.py +5 -3
  401. tomwer/gui/stitching/tests/test_ZStitchingWindow.py +88 -0
  402. tomwer/gui/stitching/tests/test_axis_ordered_list.py +21 -0
  403. tomwer/gui/stitching/tests/test_normalization.py +27 -0
  404. tomwer/gui/stitching/tests/test_preview.py +68 -0
  405. tomwer/gui/stitching/tests/test_stitching_raw.py +110 -0
  406. tomwer/gui/stitching/tests/utils.py +92 -0
  407. tomwer/gui/stitching/utils.py +14 -0
  408. tomwer/gui/stitching/z_stitching/fineestimation.py +5 -33
  409. tomwer/gui/stitching/z_stitching/tests/test_fine_estimation.py +35 -0
  410. tomwer/gui/stitching/z_stitching/tests/test_raw_estimation.py +215 -0
  411. tomwer/gui/stitching/z_stitching/tests/test_stitching_window.py +51 -0
  412. tomwer/gui/tests/__init__.py +0 -0
  413. tomwer/gui/tests/test_axis_gui.py +43 -0
  414. tomwer/gui/{test → tests}/test_qfolder_dialog.py +1 -1
  415. tomwer/gui/utils/RangeWidget.py +44 -0
  416. tomwer/gui/utils/buttons.py +4 -3
  417. tomwer/gui/utils/completer.py +2 -33
  418. tomwer/gui/utils/flow.py +11 -40
  419. tomwer/gui/utils/gpu.py +60 -0
  420. tomwer/gui/utils/illustrations.py +1 -26
  421. tomwer/gui/utils/inputwidget.py +35 -73
  422. tomwer/gui/utils/lineselector/lineselector.py +9 -46
  423. tomwer/gui/utils/loadingmode.py +81 -0
  424. tomwer/gui/utils/qt_utils.py +9 -0
  425. tomwer/gui/utils/sandboxes.py +1 -26
  426. tomwer/gui/utils/scandescription.py +2 -31
  427. tomwer/gui/utils/scrollarea.py +6 -55
  428. tomwer/gui/utils/slider.py +4 -28
  429. tomwer/gui/utils/splashscreen.py +0 -28
  430. tomwer/gui/utils/step.py +14 -13
  431. tomwer/gui/utils/tests/test_completer.py +41 -0
  432. tomwer/gui/utils/tests/test_line_selector.py +21 -0
  433. tomwer/gui/utils/tests/test_splashscreen.py +8 -0
  434. tomwer/gui/utils/tests/test_vignettes.py +68 -0
  435. tomwer/gui/utils/unitsystem.py +15 -69
  436. tomwer/gui/utils/utils.py +4 -5
  437. tomwer/gui/utils/vignettes.py +10 -41
  438. tomwer/gui/utils/waiterthread.py +0 -26
  439. tomwer/gui/visualization/__init__.py +2 -0
  440. tomwer/gui/visualization/dataviewer.py +68 -421
  441. tomwer/gui/visualization/diffviewer/diffviewer.py +2 -30
  442. tomwer/gui/visualization/diffviewer/shiftwidget.py +4 -29
  443. tomwer/gui/visualization/fullscreenplot.py +5 -5
  444. tomwer/gui/visualization/imagestack.py +403 -0
  445. tomwer/gui/visualization/nxtomometadata.py +0 -4
  446. tomwer/gui/visualization/reconstructionparameters.py +14 -32
  447. tomwer/gui/visualization/scanoverview.py +33 -66
  448. tomwer/gui/visualization/sinogramviewer.py +2 -28
  449. tomwer/gui/visualization/test/__init__.py +0 -28
  450. tomwer/gui/visualization/test/test_dataviewer.py +1 -28
  451. tomwer/gui/visualization/test/test_diffviewer.py +1 -28
  452. tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -5
  453. tomwer/gui/visualization/test/test_reconstruction_parameters.py +1 -27
  454. tomwer/gui/visualization/test/test_sinogramviewer.py +1 -28
  455. tomwer/gui/visualization/test/test_stacks.py +184 -115
  456. tomwer/gui/visualization/test/test_volumeviewer.py +3 -2
  457. tomwer/gui/visualization/tomoobjoverview.py +2 -2
  458. tomwer/gui/visualization/volumeoverview.py +3 -2
  459. tomwer/gui/visualization/volumeviewer.py +47 -43
  460. tomwer/io/__init__.py +2 -0
  461. tomwer/io/utils/h5pyutils.py +1 -27
  462. tomwer/io/utils/test/test_raw_and_processed_data.py +10 -0
  463. tomwer/io/utils/test/test_utils.py +67 -0
  464. tomwer/io/utils/utils.py +2 -31
  465. tomwer/resources/__init__.py +13 -33
  466. tomwer/resources/gui/icons/edit_downstream.svg +114 -0
  467. tomwer/resources/gui/icons/edit_upstream.svg +112 -0
  468. tomwer/resources/gui/icons/free_edition.svg +23 -0
  469. tomwer/resources/gui/icons/icat_gallery_opts.png +0 -0
  470. tomwer/resources/gui/icons/icat_gallery_opts.svg +80 -0
  471. tomwer/resources/gui/icons/search.png +0 -0
  472. tomwer/resources/gui/icons/search.svg +23 -0
  473. tomwer/resources/gui/icons/warning.png +0 -0
  474. tomwer/synctools/__init__.py +2 -0
  475. tomwer/synctools/axis.py +1 -27
  476. tomwer/synctools/darkref.py +1 -26
  477. tomwer/synctools/datalistener.py +1 -27
  478. tomwer/synctools/datatransfert.py +2 -27
  479. tomwer/synctools/imageloaderthread.py +1 -28
  480. tomwer/synctools/rsyncmanager.py +1 -25
  481. tomwer/synctools/saaxis.py +1 -26
  482. tomwer/synctools/sadeltabeta.py +1 -26
  483. tomwer/synctools/stacks/control/datalistener.py +1 -26
  484. tomwer/synctools/stacks/processingstack.py +4 -33
  485. tomwer/synctools/stacks/reconstruction/axis.py +6 -53
  486. tomwer/synctools/stacks/reconstruction/castvolume.py +12 -43
  487. tomwer/synctools/stacks/reconstruction/dkrefcopy.py +4 -27
  488. tomwer/synctools/stacks/reconstruction/nabu.py +3 -28
  489. tomwer/synctools/stacks/reconstruction/normalization.py +2 -27
  490. tomwer/synctools/stacks/reconstruction/saaxis.py +2 -27
  491. tomwer/synctools/stacks/reconstruction/sadeltabeta.py +2 -27
  492. tomwer/synctools/tests/__init__.py +0 -0
  493. tomwer/synctools/{test → tests}/test_darkRefs.py +16 -40
  494. tomwer/synctools/{test → tests}/test_foldertransfer.py +2 -33
  495. tomwer/synctools/utils/scanstages.py +2 -31
  496. tomwer/tests/__init__.py +1 -0
  497. tomwer/tests/app/test_stitching.py +95 -0
  498. tomwer/tests/datasets.py +1 -5
  499. tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_future_supervisorow.py +48 -0
  500. tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +40 -0
  501. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_advancement.py +8 -0
  502. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_data_validator.py +55 -0
  503. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datadiscovery.py +129 -0
  504. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datalistener.py +111 -0
  505. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_dataselector.py +69 -0
  506. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datawatcher.py +411 -0
  507. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_emailow.py +29 -0
  508. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_notifier.py +24 -0
  509. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomo_concatenate_ow.py +64 -0
  510. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomomill.py +133 -0
  511. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_reduce_dark_flat_selector.py +40 -0
  512. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_singletomoobj.py +40 -0
  513. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_timerow.py +25 -0
  514. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_tomoobj_series.py +96 -0
  515. tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_volume_selector.py +69 -0
  516. orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py → tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_dataset_generator.py +17 -16
  517. tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_object_inspector.py +36 -0
  518. {orangecontrib/tomwer/widgets/edit/test → tomwer/tests/orangecontrib/tomwer/widgets/edit/tests}/test_dark_flat_patch.py +1 -27
  519. tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_editor.py +30 -0
  520. tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_nxtomo_editor.py +138 -0
  521. tomwer/tests/orangecontrib/tomwer/widgets/other/tests/test_pythonscript.py +31 -0
  522. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_axis.py +199 -0
  523. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py +58 -0
  524. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_dark_refs_widget.py +136 -0
  525. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_delta_beta_selector.py +15 -0
  526. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_i_norm.py +200 -0
  527. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_helical_prepare_weights_double.py +20 -0
  528. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_volume.py +74 -0
  529. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_widget.py +107 -0
  530. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_sa_delta_beta.py +194 -0
  531. tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_saaxis.py +194 -0
  532. tomwer/tests/orangecontrib/tomwer/widgets/stitching/tests/test_zstitching.py +313 -0
  533. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_conditions.py +85 -0
  534. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_darkref.py +225 -0
  535. tomwer/tests/orangecontrib/tomwer/widgets/tests/test_foldertransfert.py +105 -0
  536. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_dataviewerow.py +57 -0
  537. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_diffviewerow.py +39 -0
  538. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_nxtomo_metadata_viewer.py +29 -0
  539. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_radio_stackow.py +31 -0
  540. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sample_movedow.py +46 -0
  541. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sinogram_viewerow.py +31 -0
  542. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_slice_stackow.py +31 -0
  543. tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewerow.py +32 -0
  544. tomwer/tests/test_ewoks/test_conversion.py +104 -0
  545. tomwer/tests/test_ewoks/test_single_node_execution.py +87 -0
  546. tomwer/tests/test_ewoks/test_workflows.py +138 -0
  547. tomwer/utils.py +11 -39
  548. tomwer/version.py +2 -2
  549. {tomwer-1.3.27.dist-info → tomwer-1.4.0.dist-info}/LICENSE +3 -3
  550. tomwer-1.4.0.dist-info/METADATA +337 -0
  551. tomwer-1.4.0.dist-info/RECORD +912 -0
  552. {tomwer-1.3.27.dist-info → tomwer-1.4.0.dist-info}/WHEEL +1 -1
  553. {tomwer-1.3.27.dist-info → tomwer-1.4.0.dist-info}/entry_points.txt +1 -0
  554. orangecontrib/tomwer/widgets/control/DataListOW.py +0 -129
  555. orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +0 -86
  556. orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +0 -182
  557. orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +0 -141
  558. orangecontrib/tomwer/widgets/icat/PublishProcessedDataOW.py +0 -115
  559. orangecontrib/tomwer/widgets/icat/RawDataScreenshotCreatorOW.py +0 -98
  560. orangecontrib/tomwer/widgets/icat/SaveToGalleryAndPublishOW.py +0 -129
  561. orangecontrib/tomwer/widgets/icat/icons/add_gallery.png +0 -0
  562. orangecontrib/tomwer/widgets/icat/icons/add_gallery.svg +0 -82
  563. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.png +0 -0
  564. orangecontrib/tomwer/widgets/icat/icons/raw_screenshots.svg +0 -143
  565. orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +0 -87
  566. orangecontrib/tomwer/widgets/visualization/icons/liveslice.png +0 -0
  567. orangecontrib/tomwer/widgets/visualization/icons/liveslice.svg +0 -110
  568. tomwer/core/log/logger.py +0 -130
  569. tomwer/core/process/control/test/test_volume_link.py +0 -74
  570. tomwer/core/process/control/tomoobjserie.py +0 -12
  571. tomwer/core/process/control/volumesymlink.py +0 -200
  572. tomwer/core/process/icat/createscreenshots.py +0 -100
  573. tomwer/core/process/icat/gallery.py +0 -377
  574. tomwer/core/process/icat/icatbase.py +0 -36
  575. tomwer/core/process/icat/publish.py +0 -228
  576. tomwer/core/process/icat/screenshots.py +0 -27
  577. tomwer/core/process/reconstruction/test/test_darkref.py +0 -60
  578. tomwer/core/process/reconstruction/test/test_sadeltabeta.py +0 -74
  579. tomwer/core/process/test/test_axis.py +0 -309
  580. tomwer/core/process/visualization/liveslice.py +0 -6
  581. tomwer/core/progress.py +0 -100
  582. tomwer/core/scan/test/test_edf.py +0 -53
  583. tomwer/core/scan/test/test_future_scan.py +0 -61
  584. tomwer/core/scan/test/test_h5.py +0 -96
  585. tomwer/core/scan/test/test_process_registration.py +0 -109
  586. tomwer/core/test/test_scanutils.py +0 -53
  587. tomwer/gui/control/emailnotifier.py +0 -174
  588. tomwer/gui/control/serie/seriewaiter.py +0 -28
  589. tomwer/gui/control/test/__init__.py +0 -28
  590. tomwer/gui/control/test/test_datalist.py +0 -96
  591. tomwer/gui/control/test/test_datavalidator.py +0 -54
  592. tomwer/gui/control/test/test_email.py +0 -35
  593. tomwer/gui/control/test/test_process_manager.py +0 -65
  594. tomwer/gui/control/test/test_scanselector.py +0 -67
  595. tomwer/gui/edit/test/__init__.py +0 -28
  596. tomwer/gui/icat/gallery.py +0 -214
  597. tomwer/gui/icat/publish.py +0 -187
  598. tomwer/gui/reconstruction/axis/axis.py +0 -733
  599. tomwer/gui/reconstruction/axis/radioaxis.py +0 -2467
  600. tomwer/gui/stitching/stitching.py +0 -1388
  601. tomwer/gui/test/__init__.py +0 -28
  602. tomwer/gui/test/test_axis_gui.py +0 -34
  603. tomwer/synctools/stacks/edit/darkflatpatch.py +0 -169
  604. tomwer/synctools/stacks/edit/imagekeyeditor.py +0 -135
  605. tomwer/third_part/WaitingOverlay.py +0 -110
  606. tomwer-1.3.27-py3.11-nspkg.pth +0 -1
  607. tomwer-1.3.27.dist-info/METADATA +0 -292
  608. tomwer-1.3.27.dist-info/RECORD +0 -785
  609. tomwer-1.3.27.dist-info/namespace_packages.txt +0 -1
  610. /orangecontrib/tomwer/{widgets/edit/test → tests}/__init__.py +0 -0
  611. {tomwer/core/process/control/test → orangecontrib/tomwer/tutorials/id16b}/__init__.py +0 -0
  612. {tomwer/core/process/icat → orangecontrib/tomwer/widgets/cluster/tests}/__init__.py +0 -0
  613. /orangecontrib/tomwer/widgets/control/icons/{tomoobjserie.png → tomoobjseries.png} +0 -0
  614. {tomwer/core/process/reconstruction/test → orangecontrib/tomwer/widgets/control/tests}/__init__.py +0 -0
  615. /orangecontrib/tomwer/widgets/{icat → dataportal}/icons/publish_processed_data.png +0 -0
  616. /orangecontrib/tomwer/widgets/{icat → dataportal}/icons/publish_processed_data.svg +0 -0
  617. {tomwer/core/process/test → orangecontrib/tomwer/widgets/debugtools/tests}/__init__.py +0 -0
  618. {tomwer/core/scan/test → orangecontrib/tomwer/widgets/edit/tests}/__init__.py +0 -0
  619. {tomwer/core/test → orangecontrib/tomwer/widgets/other/tests}/__init__.py +0 -0
  620. {tomwer/gui/cluster/test → orangecontrib/tomwer/widgets/reconstruction/tests}/__init__.py +0 -0
  621. {tomwer/gui/control/serie → orangecontrib/tomwer/widgets/stitching/tests}/__init__.py +0 -0
  622. {tomwer/gui/icat → orangecontrib/tomwer/widgets/tests}/__init__.py +0 -0
  623. {tomwer/gui/reconstruction/test → orangecontrib/tomwer/widgets/visualization/tests}/__init__.py +0 -0
  624. /tomwer/{synctools/stacks/edit → app/stitching}/__init__.py +0 -0
  625. /tomwer/{synctools/test → core/process/control/tests}/__init__.py +0 -0
  626. /tomwer/core/process/control/{test → tests}/test_email.py +0 -0
  627. /tomwer/core/process/control/{test → tests}/test_h52nx_process.py +0 -0
  628. /tomwer/{third_part → core/process/drac}/__init__.py +0 -0
  629. /tomwer/core/process/reconstruction/{test → tests}/test_axis_params.py +0 -0
  630. /tomwer/core/process/reconstruction/{test → tests}/test_darkref_copy.py +0 -0
  631. /tomwer/core/process/reconstruction/{test → tests}/test_paramsbase.py +0 -0
  632. /tomwer/core/scan/{test → tests}/test_scan.py +0 -0
  633. /tomwer/gui/control/{serie → series}/nxtomoconcatenate.py +0 -0
  634. /tomwer/gui/control/{test → tests}/test_datadiscovery.py +0 -0
  635. /tomwer/gui/control/{test → tests}/test_reducedarkflat_selector.py +0 -0
  636. /tomwer/gui/control/{test → tests}/test_single_tomo_obj.py +0 -0
  637. {orangecontrib/tomwer/widgets/edit/test → tomwer/tests/orangecontrib/tomwer/widgets/edit/tests}/test_image_key_upgrader.py +0 -0
  638. {tomwer-1.3.27.dist-info → tomwer-1.4.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,58 @@
1
+ # coding: utf-8
2
+ from __future__ import annotations
3
+
4
+ import logging
5
+
6
+ from orangewidget import gui
7
+ from orangewidget.widget import Input, Output, OWBaseWidget
8
+ from tomoscan.series import Series
9
+
10
+ import tomwer.core.process.control.tomoobjseries
11
+ from tomwer.core.tomwer_object import TomwerObject
12
+ from tomwer.gui.control.series.seriescreator import SeriesWidgetDialog
13
+
14
+ logger = logging.getLogger(__name__)
15
+
16
+
17
+ class TomoObjSeriesOW(OWBaseWidget, openclass=True):
18
+ name = "series of objects"
19
+ id = "orange.widgets.tomwer.tomoobjseriesow"
20
+ description = "Allow user define a series of object that will be defined as a Series (grouped together and can be used within a purpose like stitching)"
21
+ icon = "icons/tomoobjseries.svg"
22
+ priority = 55
23
+ keywords = ["tomography", "selection", "tomwer", "series", "group"]
24
+
25
+ ewokstaskclass = tomwer.core.process.control.tomoobjseries._TomoobjseriesPlaceHolder
26
+
27
+ want_main_area = True
28
+ want_control_area = False
29
+ resizing_enabled = True
30
+
31
+ class Inputs:
32
+ tomo_obj = Input(name="tomo obj", type=TomwerObject, multiple=True)
33
+
34
+ class Outputs:
35
+ series = Output(name="series", type=Series)
36
+
37
+ def __init__(self, parent=None):
38
+ """ """
39
+ super().__init__(parent)
40
+ layout = gui.vBox(self.mainArea, self.name).layout()
41
+
42
+ self._widget = SeriesWidgetDialog(self)
43
+ layout.addWidget(self._widget)
44
+
45
+ # connect signal / slot
46
+ self._widget.sigSeriesSelected.connect(self._send_series)
47
+
48
+ @Inputs.tomo_obj
49
+ def addTomoObj(self, tomo_obj, *args, **kwargs):
50
+ if tomo_obj is not None:
51
+ self._widget.add(tomo_obj)
52
+
53
+ def _send_series(self, series: Series):
54
+ if not isinstance(series, Series):
55
+ raise TypeError(
56
+ f"series is expected to be an instance of {Series}. Not {type(series)}"
57
+ )
58
+ self.Outputs.series.send(series)
@@ -1,33 +1,5 @@
1
1
  # coding: utf-8
2
- # /*##########################################################################
3
- #
4
- # Copyright (c) 2016-2017 European Synchrotron Radiation Facility
5
- #
6
- # Permission is hereby granted, free of charge, to any person obtaining a copy
7
- # of this software and associated documentation files (the "Software"), to deal
8
- # in the Software without restriction, including without limitation the rights
9
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- # copies of the Software, and to permit persons to whom the Software is
11
- # furnished to do so, subject to the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be included in
14
- # all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
- # THE SOFTWARE.
23
- #
24
- # ###########################################################################*/
25
-
26
- __authors__ = [
27
- "H. Payno",
28
- ]
29
- __license__ = "MIT"
30
- __date__ = "12/07/2022"
2
+ from __future__ import annotations
31
3
 
32
4
  import logging
33
5
 
@@ -136,7 +108,13 @@ class VolumeSelectorOW(OWBaseWidget, openclass=True):
136
108
  """
137
109
  To shortcut orange and make sure the `delete` key will be interpreted we need to overwrite this function
138
110
  """
139
- if event.key() == qt.Qt.Key_Delete:
111
+ modifiers = event.modifiers()
112
+ key = event.key()
113
+
114
+ if key == qt.Qt.Key_A and modifiers == qt.Qt.KeyboardModifier.ControlModifier:
115
+ self.widget.dataList.keyPressEvent(event)
116
+
117
+ if key == qt.Qt.Key_Delete:
140
118
  self.widget._callbackRemoveSelectedDatasets()
141
119
  else:
142
120
  super().keyPressEvent(event)
@@ -2,38 +2,64 @@
2
2
  <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
3
 
4
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
5
  width="60px"
13
6
  height="60px"
14
7
  viewBox="0 0 60 60"
15
8
  version="1.1"
16
9
  id="SVGRoot"
17
10
  sodipodi:docname="nxtomomill.svg"
18
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
19
- <defs
20
- id="defs815">
21
- <filter
11
+ inkscape:version="1.3.2 (1:1.3.2+202404261509+091e20ef0f)"
12
+ xml:space="preserve"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ xmlns:svg="http://www.w3.org/2000/svg"
17
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
18
+ xmlns:cc="http://creativecommons.org/ns#"
19
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
20
+ id="defs815"><filter
22
21
  style="color-interpolation-filters:sRGB"
23
- id="filter3784-3">
24
- <feGaussianBlur
22
+ id="filter3784-3"><feGaussianBlur
25
23
  id="feGaussianBlur3786-6"
26
- stdDeviation="0.10012024" />
27
- </filter>
28
- <filter
24
+ stdDeviation="0.10012024" /></filter><filter
29
25
  style="color-interpolation-filters:sRGB"
30
- id="filter3784-3-7">
31
- <feGaussianBlur
26
+ id="filter3784-3-7"
27
+ x="-0.014802809"
28
+ y="-0.019946693"
29
+ width="1.0296056"
30
+ height="1.0398934"><feGaussianBlur
32
31
  id="feGaussianBlur3786-6-5"
33
- stdDeviation="0.10012024" />
34
- </filter>
35
- </defs>
36
- <sodipodi:namedview
32
+ stdDeviation="0.10012024" /></filter><clipPath
33
+ clipPathUnits="userSpaceOnUse"
34
+ id="clipPath176"><path
35
+ d="M 0,841.89 H 595.28 V 0 H 0 Z"
36
+ id="path178"
37
+ inkscape:connector-curvature="0" /></clipPath><clipPath
38
+ clipPathUnits="userSpaceOnUse"
39
+ id="clipPath200"><path
40
+ d="M 284.958,234.64 H 416.084 V 152.515 H 284.958 Z"
41
+ id="path202"
42
+ inkscape:connector-curvature="0" /></clipPath><clipPath
43
+ clipPathUnits="userSpaceOnUse"
44
+ id="clipPath216"><path
45
+ d="m 276.334,247.677 h 17.333 V 233.16 h -17.333 z"
46
+ id="path218"
47
+ inkscape:connector-curvature="0" /></clipPath><clipPath
48
+ clipPathUnits="userSpaceOnUse"
49
+ id="clipPath232"><path
50
+ d="m 254.667,247.719 h 19.5 v -26.042 h -19.5 z"
51
+ id="path234"
52
+ inkscape:connector-curvature="0" /></clipPath><clipPath
53
+ clipPathUnits="userSpaceOnUse"
54
+ id="clipPath252"><path
55
+ d="m 248.208,227.348 h 33.167 v -19 h -33.167 z"
56
+ id="path254"
57
+ inkscape:connector-curvature="0" /></clipPath><clipPath
58
+ clipPathUnits="userSpaceOnUse"
59
+ id="clipPath184-7"><path
60
+ inkscape:connector-curvature="0"
61
+ d="m 282.299,241.515 h 22.293 v -8.079 h -22.293 z"
62
+ id="path186-5" /></clipPath></defs><sodipodi:namedview
37
63
  id="base"
38
64
  pagecolor="#ffffff"
39
65
  bordercolor="#666666"
@@ -41,128 +67,156 @@
41
67
  inkscape:pageopacity="0.0"
42
68
  inkscape:pageshadow="2"
43
69
  inkscape:zoom="7.7781746"
44
- inkscape:cx="26.605247"
45
- inkscape:cy="25.624015"
70
+ inkscape:cx="48.083261"
71
+ inkscape:cy="46.283353"
46
72
  inkscape:document-units="px"
47
73
  inkscape:current-layer="layer1"
48
74
  showgrid="false"
49
- inkscape:window-width="1920"
50
- inkscape:window-height="1136"
75
+ inkscape:window-width="2494"
76
+ inkscape:window-height="1371"
51
77
  inkscape:window-x="0"
52
- inkscape:window-y="27"
78
+ inkscape:window-y="0"
53
79
  inkscape:window-maximized="1"
54
- inkscape:grid-bbox="true" />
55
- <metadata
56
- id="metadata818">
57
- <rdf:RDF>
58
- <cc:Work
59
- rdf:about="">
60
- <dc:format>image/svg+xml</dc:format>
61
- <dc:type
62
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
63
- <dc:title />
64
- </cc:Work>
65
- </rdf:RDF>
66
- </metadata>
67
- <g
80
+ inkscape:grid-bbox="true"
81
+ inkscape:showpageshadow="2"
82
+ inkscape:pagecheckerboard="0"
83
+ inkscape:deskcolor="#d1d1d1" /><metadata
84
+ id="metadata818"><rdf:RDF><cc:Work
85
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
86
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><g
68
87
  inkscape:label="Layer 1"
69
88
  inkscape:groupmode="layer"
70
- id="layer1">
71
- <g
89
+ id="layer1"><g
72
90
  transform="matrix(0.94575518,0,0,0.95102921,10.243638,8.3847359)"
73
- id="g1414">
74
- <path
91
+ id="g1414"><path
75
92
  sodipodi:nodetypes="ccccccccccccc"
76
93
  inkscape:connector-curvature="0"
77
94
  id="path1371"
78
95
  d="m 8.4471183,29.0843 42.2690057,0.150097 0.139964,3.00195 -3.779017,-0.150098 -0.139964,15.910333 h 4.058944 l 0.139965,3.452242 H 8.5870813 L 8.4471183,47.396192 H 12.785991 L 12.506063,32.686639 8.4471183,32.536542 Z"
79
- style="fill:none;stroke:#000000;stroke-width:1.23683834px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
80
- <path
96
+ style="fill:none;stroke:#000000;stroke-width:1.23683834px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /><path
81
97
  inkscape:connector-curvature="0"
82
98
  id="rect1373"
83
99
  d="M 16.425045,33.222476 H 43.298056 V 47.246095 H 16.425045 Z"
84
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.47029889;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
85
- <path
100
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.47029889;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /><path
86
101
  inkscape:connector-curvature="0"
87
102
  id="path1375"
88
103
  d="m 28.605353,40.19569 a 0.62983618,0.67543865 0 0 1 0.685689,-0.601564 0.62983618,0.67543865 0 0 1 0.568309,0.72881 0.62983618,0.67543865 0 0 1 -0.673434,0.617277 0.62983618,0.67543865 0 0 1 -0.58283,-0.715497"
89
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.40239942;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
90
- <path
104
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.40239942;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /><path
91
105
  inkscape:connector-curvature="0"
92
106
  id="path1377"
93
107
  d="m 16.434391,28.576519 a 13.576469,12.025658 0 0 1 6.719603,-10.830226 13.576469,12.025658 0 0 1 13.950848,0.135712 13.576469,12.025658 0 0 1 6.449457,10.958333"
94
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.25842679;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
95
- <path
108
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.25842679;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /><path
96
109
  sodipodi:nodetypes="ccc"
97
110
  inkscape:connector-curvature="0"
98
111
  id="path1379"
99
112
  d="M 29.161731,16.025819 V 11.522896 L 45.183796,11.416761"
100
- style="fill:none;stroke:#000000;stroke-width:1.23683834px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
101
- <path
113
+ style="fill:none;stroke:#000000;stroke-width:1.23683834px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /><path
102
114
  inkscape:connector-curvature="0"
103
115
  id="path1381"
104
116
  d="M 52.051611,8.3760137 A 1.6722079,5.040687 67.707228 0 1 48.960205,10.3603 1.6722079,5.040687 67.707228 0 1 45.183794,11.416762"
105
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.21541286;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
106
- </g>
107
- <g
108
- id="g1585"
109
- transform="translate(-2.8703592,-3.4521237)">
110
- <path
111
- transform="matrix(1.5517415,0,0,1.6998733,-5.6465133,-11.264387)"
112
- d="m 25.767931,9.4067963 0.968,1.7106997 h -11.836 l 0.839,-1.7106997 z m 3.394,2.1158997 v 14.944 H 6.173932 l -2e-4,-14.944 22.987999,2e-4 z"
113
- id="rect1363-59"
114
- style="fill:#e4ff07;stroke:#000000;stroke-width:0.2;stroke-opacity:1;filter:url(#filter3784-3-7)"
115
- inkscape:connector-curvature="0" />
116
- <g
117
- style="opacity:0.6"
118
- id="g1576">
119
- <g
120
- aria-label="bliss"
121
- style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
122
- id="text1524">
123
- <path
124
- d="m 11.80151,16.554115 q 0,-1.321615 -0.546875,-2.070313 -0.540364,-0.755208 -1.4908851,-0.755208 -0.9505208,0 -1.4973958,0.755208 -0.5403646,0.748698 -0.5403646,2.070313 0,1.321614 0.5403646,2.076823 0.546875,0.748697 1.4973958,0.748697 0.9505211,0 1.4908851,-0.748697 0.546875,-0.755209 0.546875,-2.076823 z M 7.7259895,14.008542 Q 8.1035937,13.3575 8.6765103,13.045 q 0.5794271,-0.31901 1.3802087,-0.31901 1.328125,0 2.154948,1.054687 0.833333,1.054688 0.833333,2.773438 0,1.71875 -0.833333,2.773437 -0.826823,1.054688 -2.154948,1.054688 -0.8007816,0 -1.3802087,-0.3125 -0.5729166,-0.319011 -0.9505208,-0.970052 v 1.09375 H 6.5215625 V 10.063229 h 1.204427 z"
125
- style="font-size:13.33333302px;line-height:0px;letter-spacing:-0.06px;word-spacing:-0.04px"
126
- id="path834" />
127
- <path
128
- d="m 14.970676,10.063229 h 1.197917 v 10.130209 h -1.197917 z"
129
- style="font-size:13.33333302px;line-height:0px;letter-spacing:-0.06px;word-spacing:-0.04px"
130
- id="path836" />
131
- <path
132
- d="m 18.608593,12.901771 h 1.197916 v 7.291667 h -1.197916 z m 0,-2.838542 h 1.197916 v 1.516927 h -1.197916 z"
133
- style="font-size:13.33333302px;line-height:0px;letter-spacing:-0.06px;word-spacing:-0.04px"
134
- id="path838" />
135
- <path
136
- d="m 26.894947,13.116615 v 1.132812 q -0.507813,-0.260416 -1.054688,-0.390625 -0.546875,-0.130208 -1.132812,-0.130208 -0.891927,0 -1.341146,0.273437 -0.442708,0.273438 -0.442708,0.820313 0,0.416667 0.31901,0.657552 0.31901,0.234375 1.282552,0.449219 l 0.410156,0.09115 q 1.276042,0.273437 1.809896,0.774739 0.540365,0.494792 0.540365,1.386719 0,1.015625 -0.807292,1.608073 -0.800781,0.592448 -2.207031,0.592448 -0.585938,0 -1.223959,-0.117188 -0.63151,-0.110677 -1.334635,-0.338542 v -1.236979 q 0.664063,0.345052 1.308594,0.520834 0.644531,0.16927 1.276041,0.16927 0.846355,0 1.302084,-0.286458 0.455729,-0.292969 0.455729,-0.820312 0,-0.488282 -0.332031,-0.748698 -0.325521,-0.260417 -1.438802,-0.501302 l -0.416667,-0.09766 q -1.113281,-0.234375 -1.608073,-0.716145 -0.494792,-0.488282 -0.494792,-1.334636 0,-1.028646 0.729167,-1.588541 0.729167,-0.559896 2.070312,-0.559896 0.664063,0 1.25,0.09766 0.585938,0.09766 1.08073,0.292969 z"
137
- style="font-size:13.33333302px;line-height:0px;letter-spacing:-0.06px;word-spacing:-0.04px"
138
- id="path840" />
139
- <path
140
- d="m 33.788071,13.116615 v 1.132812 q -0.507812,-0.260416 -1.054687,-0.390625 -0.546875,-0.130208 -1.132813,-0.130208 -0.891927,0 -1.341146,0.273437 -0.442708,0.273438 -0.442708,0.820313 0,0.416667 0.319011,0.657552 0.31901,0.234375 1.282552,0.449219 l 0.410156,0.09115 q 1.276041,0.273437 1.809896,0.774739 0.540364,0.494792 0.540364,1.386719 0,1.015625 -0.807291,1.608073 -0.800782,0.592448 -2.207032,0.592448 -0.585937,0 -1.223958,-0.117188 -0.63151,-0.110677 -1.334635,-0.338542 v -1.236979 q 0.664062,0.345052 1.308593,0.520834 0.644532,0.16927 1.276042,0.16927 0.846354,0 1.302083,-0.286458 0.455729,-0.292969 0.455729,-0.820312 0,-0.488282 -0.332031,-0.748698 -0.325521,-0.260417 -1.438802,-0.501302 l -0.416667,-0.09766 q -1.113281,-0.234375 -1.608072,-0.716145 -0.494792,-0.488282 -0.494792,-1.334636 0,-1.028646 0.729167,-1.588541 0.729166,-0.559896 2.070312,-0.559896 0.664063,0 1.25,0.09766 0.585938,0.09766 1.080729,0.292969 z"
141
- style="font-size:13.33333302px;line-height:0px;letter-spacing:-0.06px;word-spacing:-0.04px"
142
- id="path842" />
143
- </g>
144
- <g
145
- aria-label="HDF5"
146
- style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
147
- id="text1536">
148
- <path
149
- d="m 4.5084469,22.099535 h 1.3414063 v 4.064063 h 4.8742188 v -4.064063 h 1.341406 v 9.914453 H 10.724072 V 27.292504 H 5.8498532 v 4.721484 H 4.5084469 Z"
150
- style="font-size:13.60000038px"
151
- id="path845" />
152
- <path
153
- d="m 16.076416,23.201879 v 7.709766 h 1.620312 q 2.051953,0 3.001563,-0.929688 0.95625,-0.929687 0.95625,-2.935156 0,-1.992188 -0.95625,-2.915235 -0.94961,-0.929687 -3.001563,-0.929687 z m -1.341407,-1.102344 h 2.75586 q 2.882031,0 4.230078,1.201953 1.348047,1.195313 1.348047,3.745313 0,2.563281 -1.354688,3.765234 -1.354687,1.201953 -4.223437,1.201953 h -2.75586 z"
154
- style="font-size:13.60000038px"
155
- id="path847" />
156
- <path
157
- d="m 25.200635,22.099535 h 5.697657 v 1.128906 h -4.356251 v 2.921875 h 3.931251 v 1.128907 h -3.931251 v 4.734765 h -1.341406 z"
158
- style="font-size:13.60000038px"
159
- id="path849" />
160
- <path
161
- d="m 33.169385,22.099535 h 5.266016 v 1.128906 h -4.0375 v 2.430469 q 0.292187,-0.09961 0.584375,-0.146094 0.292187,-0.05313 0.584375,-0.05313 1.660156,0 2.629687,0.909766 0.969532,0.909766 0.969532,2.463672 0,1.600391 -0.996094,2.490234 -0.996094,0.883204 -2.808985,0.883204 -0.624218,0 -1.275,-0.10625 -0.64414,-0.10625 -1.334765,-0.31875 V 30.43352 q 0.597656,0.32539 1.235156,0.484765 0.6375,0.159375 1.348047,0.159375 1.148828,0 1.819531,-0.604297 0.670703,-0.604296 0.670703,-1.640234 0,-1.035937 -0.670703,-1.640234 -0.670703,-0.604297 -1.819531,-0.604297 -0.537891,0 -1.075781,0.119531 -0.53125,0.119531 -1.089063,0.371875 z"
162
- style="font-size:13.60000038px"
163
- id="path851" />
164
- </g>
165
- </g>
166
- </g>
167
- </g>
168
- </svg>
117
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.21541286;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" /></g><g
118
+ id="g4"
119
+ transform="matrix(0.31774821,0,0,0.31535007,-38.814927,12.493027)"><path
120
+ style="fill:#272a7c;fill-opacity:1;fill-rule:nonzero;stroke-width:1.25"
121
+ d="m 176.94761,85.192268 c -9.82962,0.02487 -19.71388,-0.36465 -29.49219,-0.07813 8.26791,-39.92548 16.54204,-79.8780787 24.80469,-119.804687 l 28.47656,-0.07812 c 11.05576,0.05175 24.33776,0.913132 29.88281,12.265625 6.83691,15.227562 1.62193,37.06549 -14.64844,43.984375 -8.36412,0.897801 -0.0201,3.863852 3.16407,5.15625 10.0793,6.644321 10.36492,20.32149 8.125,30.976562 -0.91079,11.808887 -9.62099,22.117463 -21.05469,25.117188 -9.64673,1.98785 -19.4282,2.436062 -29.25781,2.460937 z m 56.09375,-13.554687 c -72.34444,15.078125 -36.17223,7.539062 0,0 z"
122
+ id="path206"
123
+ inkscape:connector-curvature="0"
124
+ sodipodi:nodetypes="sccccccccscc" /><path
125
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#272a7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
126
+ d="m 145.92447,86.885737 0.46875,-2.265625 3.35937,-16.328124 c 0.30886,-1.225305 0.63488,-3.049527 0.97656,-4.492187 l 20.46875,-98.945313 0.27344,-1.484375 h 1.52344 c 10.13022,-0.01949 20.26037,-0.117187 30.39062,-0.117187 l -0.17677,-0.01025 c 11.44686,0.197775 19.87492,2.10036 24.88281,6.875 5.20163,4.847773 7.91115,11.90527 7.91115,20.5180772 0,3.1314838 -0.21322,6.1234538 -0.66406,8.94531255 v 0.0390625 C 234.30462,5.7060307 231.6828,11.140533 227.56509,15.831064 c -2.8451,3.250202 -6.36142,5.672374 -10.39062,7.34375 3.90978,1.722943 6.99663,3.978049 9.14062,6.875 0.0112,0.01389 0.0281,0.02514 0.039,0.03906 3.15972,4.036607 4.60938,9.687045 4.60938,16.757812 0,3.36723 -0.35356,6.984089 -1.01563,10.859375 -0.003,0.01314 0.002,0.02593 0,0.03906 -1.69717,10.804019 -6.6641,18.84611 -14.76562,23.47656 -8.06495,4.558463 -19.62714,5.664163 -33.63282,5.664063 h -33.32031 -2.30469 z m 4.60937,-3.749938 h 31.01563 c 13.78932,10e-5 24.87682,-1.283975 31.79687,-5.195312 7.08863,-4.051512 11.36348,-10.79684 12.92969,-20.820311 0.63567,-3.709114 0.9375,-7.137875 0.9375,-10.273438 0,-6.584837 -1.36573,-11.366844 -3.82813,-14.492187 l -0.039,-0.03906 c -2.3891,-3.249346 -6.46077,-5.757211 -12.5,-7.421875 l 0.11713,-3.632812 c 5.73473,-1.229505 10.20645,-3.881585 13.75,-7.929688 3.69979,-4.2144685 5.993,-8.914241 6.91406,-14.335936 0.41669,-2.6081413 0.625,-5.4108588 0.625,-8.359375 0,-7.892193 -2.20912,-13.638086 -6.5625,-17.695314 -4.04485,-3.856457 -12.11205,-5.9375 -24.17969,-5.9375 h -1.875 l -25.07812,0.117188 -20.23438,97.734375 -0.039,0.234375 -0.0781,0.195312 -0.23438,0.46875 0.15625,0.03906 -0.35156,1.640625 -3.24219,15.703123 z"
127
+ inkscape:connector-curvature="0"
128
+ id="path3703"
129
+ sodipodi:nodetypes="ccccccccccsccccccscccsccccsccsccccccscscccccccccc" /><path
130
+ style="fill:#46ac32;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
131
+ d="m 194.6282,15.663287 c -7.21553,0.06707 -12.31116,6.125199 -16.12442,11.538916 -5.35583,5.811865 -11.99338,10.269644 -17.92193,15.469443 -2.56951,2.754188 -7.15376,4.561491 -7.83806,8.51293 1.9515,4.715276 -2.4698,7.480466 -5.24914,10.454636 -6.95511,7.178563 -14.45118,13.948925 -20.33602,22.069725 -1.87489,2.092725 -2.79539,6.654312 1.14916,6.456575 1.22029,1.14845 2.1359,1.154788 1.79249,3.102737 3.62041,-1.239325 6.56782,-4.060162 9.63779,-6.331062 7.79017,-6.406613 14.17465,-14.357262 22.06808,-20.629591 6.66847,-5.105748 15.00814,-6.949509 22.50575,-10.38508 6.10713,-3.444894 10.95333,-9.234839 12.30722,-16.22417 1.42087,-4.661259 0.99078,-10.193529 3.85283,-14.160059 4.04045,-1.069617 8.26488,-1.763707 12.31249,-2.656249 -3.38905,-0.539047 -6.77812,-1.077901 -10.125,-1.84375 -0.25411,-3.803165 -4.79675,-5.355044 -8.03124,-5.375001 z"
132
+ id="path170-3"
133
+ inkscape:connector-curvature="0" /><g
134
+ clip-path="url(#clipPath176)"
135
+ id="g174"
136
+ transform="matrix(1.25,0,0,-1.25,-146.96922,273.65079)"><g
137
+ id="g196"><g
138
+ id="g198" /><g
139
+ id="g204"><g
140
+ style="opacity:0.699997"
141
+ id="g206"
142
+ clip-path="url(#clipPath200)"><g
143
+ id="g208"
144
+ transform="translate(284.9585,234.6396)"><path
145
+ sodipodi:nodetypes="ccccc"
146
+ inkscape:connector-curvature="0"
147
+ id="path210"
148
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
149
+ d="M 1.6970563,-0.91923882 20.8877,-15.415073 l 0.810012,3.277224 -0.315685,3.6608076 z" /></g></g></g></g><g
150
+ id="g212"><g
151
+ id="g214" /><g
152
+ id="g220"><g
153
+ style="opacity:0.5"
154
+ id="g222"
155
+ clip-path="url(#clipPath216)"><g
156
+ id="g224"
157
+ transform="translate(293.6675,245.8477)" /></g></g></g><g
158
+ transform="matrix(1.0480122,0,0,1,-13.146359,0)"
159
+ id="g228"><g
160
+ id="g230" /><g
161
+ id="g236"><g
162
+ style="opacity:0.5"
163
+ id="g238"
164
+ clip-path="url(#clipPath232)"><g
165
+ id="g240"
166
+ transform="translate(274.1665,221.6768)"><path
167
+ sodipodi:nodetypes="ccccc"
168
+ inkscape:connector-curvature="0"
169
+ id="path242"
170
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
171
+ d="M -0.35355339,0.70710678 -19.5,18.083 l 1.667,7.875 9.25,0.084 z" /></g></g></g></g><g
172
+ transform="translate(273.687,202.3896)"
173
+ id="g244"><path
174
+ inkscape:connector-curvature="0"
175
+ id="path246"
176
+ style="fill:#283172;fill-opacity:1;fill-rule:nonzero;stroke:none"
177
+ d="m 0,0 c 0,-0.76 -0.615,-1.375 -1.375,-1.375 -0.76,0 -1.375,0.615 -1.375,1.375 0,0.76 0.615,1.375 1.375,1.375 C -0.615,1.375 0,0.76 0,0" /></g><g
178
+ transform="matrix(1.0240673,0,0,1,-6.751519,0)"
179
+ id="g248"><g
180
+ id="g250" /><g
181
+ id="g256"><g
182
+ style="opacity:0.800003"
183
+ id="g258"
184
+ clip-path="url(#clipPath252)"><g
185
+ id="g260"
186
+ transform="translate(281.3755,217.0566)"><path
187
+ sodipodi:nodetypes="cccc"
188
+ inkscape:connector-curvature="0"
189
+ id="path262"
190
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
191
+ d="M -0.84852814,0.6363961 -33.167,-8.709 l 3.917,19 z" /></g></g></g></g><g
192
+ transform="translate(294.5171,226.1113)"
193
+ id="g268" /><g
194
+ transform="translate(352.8594,370.3262)"
195
+ id="g312" /><g
196
+ id="g180"
197
+ transform="matrix(1.0443058,0,0,1,-13.601948,0.36176)"><g
198
+ id="g182" /><g
199
+ transform="rotate(2.2515536,293.4453,237.47524)"
200
+ id="g188"><g
201
+ style="opacity:0.800003"
202
+ id="g190"
203
+ clip-path="url(#clipPath184-7)"><g
204
+ id="g192"
205
+ transform="translate(282.2993,235.1855)"><path
206
+ sodipodi:nodetypes="ccccc"
207
+ inkscape:connector-curvature="0"
208
+ id="path194"
209
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
210
+ d="M -0.13253885,0.07597638 18.207,6.329 c 0,0 1.421,-1.484 2.543,-3.662 1.269,-2.463 1.542,-4.417 1.542,-4.417 z" /></g></g></g></g><g
211
+ style="stroke:#ffffff;stroke-width:0.88;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
212
+ transform="translate(290.45341,227.91117)"
213
+ id="g272"><path
214
+ inkscape:connector-curvature="0"
215
+ id="path274"
216
+ style="fill:#46ac32;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.88;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
217
+ d="m 0,-1.387868 c 0,-4.846 -3.93,-8.775 -8.775,-8.775 -4.846,0 -8.776,3.929 -8.776,8.775 0,4.847 3.93,8.775 8.776,8.775 4.845,0 8.775,-3.928 8.775,-8.775" /></g></g><path
218
+ d="m 213.08868,-35.125824 c 0,0 -3.92105,-0.775041 -7.52053,-0.88924 -3.97713,-0.304316 -7.81193,0.02475 -7.81193,0.02475 l -1.47243,20.092137 z"
219
+ style="opacity:0.5;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25"
220
+ id="path226"
221
+ inkscape:connector-curvature="0"
222
+ sodipodi:nodetypes="ccccc" /></g></g></svg>