tomwer 1.2.0a2__tar.gz → 1.2.0a4__tar.gz

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 (791) hide show
  1. {tomwer-1.2.0a2/tomwer.egg-info → tomwer-1.2.0a4}/PKG-INFO +1 -1
  2. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +0 -6
  3. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +6 -2
  4. tomwer-1.2.0a4/orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +169 -0
  5. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/mainwindow.py +0 -3
  6. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/imagekeyeditor.py +1 -0
  7. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/imagekeyupgrader.py +2 -0
  8. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/nxtomoeditor.py +2 -0
  9. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/zstitching.py +1 -0
  10. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/nabucommon.py +57 -12
  11. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/nabuscores.py +3 -2
  12. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/nabuslices.py +7 -9
  13. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/nabuvolume.py +10 -9
  14. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/utils.py +10 -36
  15. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_nabu.py +5 -5
  16. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/reconstructionparameters.py +9 -1
  17. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/volumeviewer.py +2 -0
  18. tomwer-1.2.0a4/tomwer/resources/gui/icons/esrf_1.svg +307 -0
  19. tomwer-1.2.0a4/tomwer/resources/gui/icons/triangle.svg +80 -0
  20. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/version.py +1 -1
  21. {tomwer-1.2.0a2 → tomwer-1.2.0a4/tomwer.egg-info}/PKG-INFO +1 -1
  22. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/SOURCES.txt +2 -0
  23. tomwer-1.2.0a2/orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +0 -169
  24. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/LICENSE +0 -0
  25. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/MANIFEST.in +0 -0
  26. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/README.rst +0 -0
  27. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/__init__.py +0 -0
  28. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/__init__.py +0 -0
  29. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/orange/__init__.py +0 -0
  30. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/orange/managedprocess.py +0 -0
  31. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/orange/settings.py +0 -0
  32. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/state_summary.py +0 -0
  33. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +0 -0
  34. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/__init__.py +0 -0
  35. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +0 -0
  36. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/cast_volume.ows +0 -0
  37. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +0 -0
  38. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth2.ows +0 -0
  39. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/default_cor_search.ows +0 -0
  40. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/hello_world_python_script.ows +0 -0
  41. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +0 -0
  42. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +0 -0
  43. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows +0 -0
  44. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +0 -0
  45. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows +0 -0
  46. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/__init__.py +0 -0
  47. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +0 -0
  48. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +0 -0
  49. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/__init__.py +0 -0
  50. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/icons/slurm.png +0 -0
  51. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/icons/slurm.svg +0 -0
  52. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.png +0 -0
  53. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.svg +0 -0
  54. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/AdvancementOW.py +0 -0
  55. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +0 -0
  56. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataListOW.py +0 -0
  57. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataListenerOW.py +0 -0
  58. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataSelectorOW.py +0 -0
  59. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataTransfertOW.py +0 -0
  60. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataValidatorOW.py +0 -0
  61. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/DataWatcherOW.py +0 -0
  62. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +0 -0
  63. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/EmailOW.py +0 -0
  64. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/FilterOW.py +0 -0
  65. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +0 -0
  66. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/NXTomomillOW.py +0 -0
  67. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +0 -0
  68. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/NotifierOW.py +0 -0
  69. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/ReduceDarkFlatSelectorOW.py +0 -0
  70. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/TimerOW.py +0 -0
  71. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +0 -0
  72. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/VolumeSelector.py +0 -0
  73. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +0 -0
  74. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/__init__.py +0 -0
  75. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/advancement.png +0 -0
  76. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/advancement.svg +0 -0
  77. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.png +0 -0
  78. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.svg +0 -0
  79. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
  80. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +0 -0
  81. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/datalistener.png +0 -0
  82. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/datalistener.svg +0 -0
  83. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/datawatcher.svg +0 -0
  84. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/edf2nx.png +0 -0
  85. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/edf2nx.svg +0 -0
  86. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/email.png +0 -0
  87. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/email.svg +0 -0
  88. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/esrf.png +0 -0
  89. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/folder-transfert.svg +0 -0
  90. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/image_key_upgrader.png +0 -0
  91. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/namefilter.png +0 -0
  92. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/namefilter.svg +0 -0
  93. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/notification.png +0 -0
  94. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/notification.svg +0 -0
  95. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
  96. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +0 -0
  97. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/progress.svg +0 -0
  98. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
  99. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +0 -0
  100. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/scanlist.svg +0 -0
  101. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/scanselector.png +0 -0
  102. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/scanselector.svg +0 -0
  103. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.png +0 -0
  104. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.svg +0 -0
  105. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/time.png +0 -0
  106. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/tomoobjserie.png +0 -0
  107. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/tomoobjserie.svg +0 -0
  108. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/tomwer.png +0 -0
  109. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/validator.png +0 -0
  110. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/validatorcrack.png +0 -0
  111. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/volumeselector.png +0 -0
  112. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/volumeselector.svg +0 -0
  113. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/volumesymlink.png +0 -0
  114. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/control/icons/volumesymlink.svg +0 -0
  115. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +0 -0
  116. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +0 -0
  117. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/__init__.py +0 -0
  118. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/icons/hammer.png +0 -0
  119. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/icons/hammer.svg +0 -0
  120. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/icons/inspector.png +0 -0
  121. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/debugtools/icons/inspector.svg +0 -0
  122. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +0 -0
  123. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +0 -0
  124. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +0 -0
  125. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +0 -0
  126. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/__init__.py +0 -0
  127. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.png +0 -0
  128. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.svg +0 -0
  129. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.png +0 -0
  130. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.svg +0 -0
  131. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.png +0 -0
  132. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.svg +0 -0
  133. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.png +0 -0
  134. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.svg +0 -0
  135. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/test/__init__.py +0 -0
  136. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +0 -0
  137. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +0 -0
  138. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +0 -0
  139. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +0 -0
  140. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer.png +0 -0
  141. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_build.png +0 -0
  142. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_build.svg +0 -0
  143. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_cluster.png +0 -0
  144. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_cluster.svg +0 -0
  145. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_control.png +0 -0
  146. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_control.svg +0 -0
  147. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.png +0 -0
  148. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.svg +0 -0
  149. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_edit.png +0 -0
  150. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_edit.svg +0 -0
  151. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_other.png +0 -0
  152. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_other.svg +0 -0
  153. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_stitching.png +0 -0
  154. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_stitching.svg +0 -0
  155. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_visu.png +0 -0
  156. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/icons/tomwer_visu.svg +0 -0
  157. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/PythonScriptOW.py +0 -0
  158. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/TomoObjsHub.py +0 -0
  159. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/__init__.py +0 -0
  160. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/icons/PythonScript.svg +0 -0
  161. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/icons/hub.png +0 -0
  162. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/other/icons/hub.svg +0 -0
  163. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +0 -0
  164. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +0 -0
  165. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +0 -0
  166. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +0 -0
  167. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +0 -0
  168. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +0 -0
  169. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +0 -0
  170. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +0 -0
  171. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/__init__.py +0 -0
  172. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/XY_lamino.svg +0 -0
  173. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/XZ_lamino.svg +0 -0
  174. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/YZ_lamino.svg +0 -0
  175. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/axis.png +0 -0
  176. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/axis.svg +0 -0
  177. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/bricks.png +0 -0
  178. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/darkref.png +0 -0
  179. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/darkref.svg +0 -0
  180. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.png +0 -0
  181. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.svg +0 -0
  182. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/esrf.png +0 -0
  183. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
  184. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +0 -0
  185. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_3d.png +0 -0
  186. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_3d.svg +0 -0
  187. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.png +0 -0
  188. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.svg +0 -0
  189. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.png +0 -0
  190. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.svg +0 -0
  191. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.png +0 -0
  192. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.svg +0 -0
  193. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.png +0 -0
  194. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.svg +0 -0
  195. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.png +0 -0
  196. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.svg +0 -0
  197. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.png +0 -0
  198. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.svg +0 -0
  199. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/tomogui.png +0 -0
  200. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/reconstruction/icons/tomwer.png +0 -0
  201. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/stitching/StitcherOW.py +0 -0
  202. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +0 -0
  203. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/stitching/__init__.py +0 -0
  204. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/utils.py +0 -0
  205. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +0 -0
  206. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +0 -0
  207. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +0 -0
  208. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +0 -0
  209. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +0 -0
  210. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +0 -0
  211. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -0
  212. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +0 -0
  213. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +0 -0
  214. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/__init__.py +0 -0
  215. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/diff.png +0 -0
  216. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/diff.svg +0 -0
  217. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/esrf.png +0 -0
  218. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/eye.png +0 -0
  219. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/eyecrack.png +0 -0
  220. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/liveslice.png +0 -0
  221. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/liveslice.svg +0 -0
  222. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.png +0 -0
  223. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.svg +0 -0
  224. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.png +0 -0
  225. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.svg +0 -0
  226. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.png +0 -0
  227. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.svg +0 -0
  228. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/sinogramviewer.png +0 -0
  229. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.png +0 -0
  230. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.svg +0 -0
  231. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/tomwer.png +0 -0
  232. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.png +0 -0
  233. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg +0 -0
  234. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/setup.cfg +0 -0
  235. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/setup.py +0 -0
  236. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/__init__.py +0 -0
  237. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/__main__.py +0 -0
  238. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/__init__.py +0 -0
  239. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/axis.py +0 -0
  240. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas.py +0 -0
  241. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/__init__.py +0 -0
  242. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/config.py +0 -0
  243. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/environ.py +0 -0
  244. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/splash.py +0 -0
  245. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/canvas_launcher/widgetsscheme.py +0 -0
  246. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/darkref.py +0 -0
  247. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/darkrefpatch.py +0 -0
  248. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/diffframe.py +0 -0
  249. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/intensitynormalization.py +0 -0
  250. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/lamino.py +0 -0
  251. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/nabuapp.py +0 -0
  252. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/patchrawdarkflat.py +0 -0
  253. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/radiostack.py +0 -0
  254. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/reducedarkflat.py +0 -0
  255. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/rsync.py +0 -0
  256. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/saaxis.py +0 -0
  257. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/sadeltabeta.py +0 -0
  258. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/samplemoved.py +0 -0
  259. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/scanviewer.py +0 -0
  260. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/sinogramviewer.py +0 -0
  261. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/slicestack.py +0 -0
  262. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/app/stopdatalistener.py +0 -0
  263. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/__init__.py +0 -0
  264. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/cluster/__init__.py +0 -0
  265. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/cluster/cluster.py +0 -0
  266. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/futureobject.py +0 -0
  267. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/log/__init__.py +0 -0
  268. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/log/logger.py +0 -0
  269. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/log/processlog.py +0 -0
  270. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/__init__.py +0 -0
  271. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/cluster/__init__.py +0 -0
  272. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/cluster/supervisor.py +0 -0
  273. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/conditions/__init__.py +0 -0
  274. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/conditions/filters.py +0 -0
  275. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/__init__.py +0 -0
  276. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datadiscovery.py +0 -0
  277. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datalistener/__init__.py +0 -0
  278. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datalistener/datalistener.py +0 -0
  279. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datalistener/rpcserver.py +0 -0
  280. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/__init__.py +0 -0
  281. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/datawatcher.py +0 -0
  282. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/datawatcherobserver.py +0 -0
  283. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/datawatcherprocess.py +0 -0
  284. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/edfdwprocess.py +0 -0
  285. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/hdf5dwprocess.py +0 -0
  286. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/datawatcher/status.py +0 -0
  287. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/email.py +0 -0
  288. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/nxtomoconcatenate.py +0 -0
  289. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/nxtomomill.py +0 -0
  290. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/scanlist.py +0 -0
  291. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/scanselector.py +0 -0
  292. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/scantransfer.py +0 -0
  293. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/scanvalidator.py +0 -0
  294. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/singletomoobj.py +0 -0
  295. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/test/__init__.py +0 -0
  296. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/test/test_concatenate_nxtomos.py +0 -0
  297. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/test/test_email.py +0 -0
  298. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/test/test_h52nx_process.py +0 -0
  299. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/test/test_volume_link.py +0 -0
  300. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/timer.py +0 -0
  301. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/tomoobjserie.py +0 -0
  302. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/volumeselector.py +0 -0
  303. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/control/volumesymlink.py +0 -0
  304. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/edit/__init__.py +0 -0
  305. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/edit/darkflatpatch.py +0 -0
  306. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/edit/imagekeyeditor.py +0 -0
  307. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/__init__.py +0 -0
  308. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/__init__.py +0 -0
  309. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/anglemode.py +0 -0
  310. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/axis.py +0 -0
  311. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/mode.py +0 -0
  312. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/params.py +0 -0
  313. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/axis/projectiontype.py +0 -0
  314. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/darkref/__init__.py +0 -0
  315. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/darkref/darkrefs.py +0 -0
  316. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/darkref/darkrefscopy.py +0 -0
  317. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/darkref/params.py +0 -0
  318. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/darkref/settings.py +0 -0
  319. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/lamino/__init__.py +0 -0
  320. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/lamino/tofu.py +0 -0
  321. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/__init__.py +0 -0
  322. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/castvolume.py +0 -0
  323. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/helical.py +0 -0
  324. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/settings.py +0 -0
  325. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/nabu/target.py +0 -0
  326. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/normalization/__init__.py +0 -0
  327. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/normalization/normalization.py +0 -0
  328. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/normalization/params.py +0 -0
  329. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/paramsbase.py +0 -0
  330. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/saaxis/__init__.py +0 -0
  331. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/saaxis/params.py +0 -0
  332. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/saaxis/saaxis.py +0 -0
  333. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/sadeltabeta/__init__.py +0 -0
  334. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/sadeltabeta/params.py +0 -0
  335. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +0 -0
  336. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/scores/__init__.py +0 -0
  337. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/scores/params.py +0 -0
  338. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/scores/scores.py +0 -0
  339. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/__init__.py +0 -0
  340. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_axis_params.py +0 -0
  341. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_darkref.py +0 -0
  342. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_darkref_copy.py +0 -0
  343. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_paramsbase.py +0 -0
  344. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_saaxis.py +0 -0
  345. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_sadeltabeta.py +0 -0
  346. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/test/test_utils.py +0 -0
  347. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/utils/__init__.py +0 -0
  348. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/reconstruction/utils/cor.py +0 -0
  349. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/script/__init__.py +0 -0
  350. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/script/python.py +0 -0
  351. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/stitching/__init__.py +0 -0
  352. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/stitching/metadataholder.py +0 -0
  353. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/stitching/nabustitcher.py +0 -0
  354. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/task.py +0 -0
  355. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/__init__.py +0 -0
  356. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_axis.py +0 -0
  357. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_conditions.py +0 -0
  358. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_dark_and_flat.py +0 -0
  359. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_data_listener.py +0 -0
  360. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_data_transfer.py +0 -0
  361. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_data_watcher.py +0 -0
  362. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_lamino.py +0 -0
  363. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_normalization.py +0 -0
  364. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/test/test_timer.py +0 -0
  365. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/utils.py +0 -0
  366. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/__init__.py +0 -0
  367. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/dataviewer.py +0 -0
  368. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/diffviewer.py +0 -0
  369. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/imagestackviewer.py +0 -0
  370. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/liveslice.py +0 -0
  371. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/radiostack.py +0 -0
  372. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/samplemoved.py +0 -0
  373. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/sinogramviewer.py +0 -0
  374. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/slicestack.py +0 -0
  375. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/process/visualization/volumeviewer.py +0 -0
  376. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/progress.py +0 -0
  377. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/__init__.py +0 -0
  378. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/blissscan.py +0 -0
  379. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/edfscan.py +0 -0
  380. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/futurescan.py +0 -0
  381. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/hdf5scan.py +0 -0
  382. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/helicalmetadata.py +0 -0
  383. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/scanbase.py +0 -0
  384. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/scanfactory.py +0 -0
  385. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/scantype.py +0 -0
  386. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/__init__.py +0 -0
  387. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/test_edf.py +0 -0
  388. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/test_future_scan.py +0 -0
  389. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/test_h5.py +0 -0
  390. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/test_process_registration.py +0 -0
  391. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/scan/test/test_scan.py +0 -0
  392. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/settings.py +0 -0
  393. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/signal.py +0 -0
  394. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/test/__init__.py +0 -0
  395. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/test/test_lamino.py +0 -0
  396. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/test/test_scanutils.py +0 -0
  397. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/test/test_utils.py +0 -0
  398. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/tomwer_object.py +0 -0
  399. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/Singleton.py +0 -0
  400. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/__init__.py +0 -0
  401. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/char.py +0 -0
  402. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/deprecation.py +0 -0
  403. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/ftseriesutils.py +0 -0
  404. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/gpu.py +0 -0
  405. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/image.py +0 -0
  406. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/locker.py +0 -0
  407. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/logconfig.py +0 -0
  408. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/normalization.py +0 -0
  409. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/nxtomoutils.py +0 -0
  410. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/resource.py +0 -0
  411. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/scanutils.py +0 -0
  412. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/slurm.py +0 -0
  413. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/threads.py +0 -0
  414. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/time.py +0 -0
  415. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/utils/volumeutils.py +0 -0
  416. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/__init__.py +0 -0
  417. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/edfvolume.py +0 -0
  418. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/hdf5volume.py +0 -0
  419. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/jp2kvolume.py +0 -0
  420. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/rawvolume.py +0 -0
  421. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/tiffvolume.py +0 -0
  422. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/volumebase.py +0 -0
  423. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/core/volume/volumefactory.py +0 -0
  424. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/__init__.py +0 -0
  425. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/__init__.py +0 -0
  426. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/slurm.py +0 -0
  427. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/supervisor.py +0 -0
  428. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/test/__init__.py +0 -0
  429. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/test/test_cluster.py +0 -0
  430. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/cluster/test/test_supervisor.py +0 -0
  431. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/conditions/__init__.py +0 -0
  432. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/conditions/filter.py +0 -0
  433. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/__init__.py +0 -0
  434. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/actions.py +0 -0
  435. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datadiscovery.py +0 -0
  436. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datalist.py +0 -0
  437. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datalistener.py +0 -0
  438. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datareacheractions.py +0 -0
  439. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datatransfert.py +0 -0
  440. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datavalidator.py +0 -0
  441. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datawatcher/__init__.py +0 -0
  442. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datawatcher/configuration.py +0 -0
  443. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datawatcher/controlwidget.py +0 -0
  444. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datawatcher/datawatcher.py +0 -0
  445. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/datawatcher/datawatcherobserver.py +0 -0
  446. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/email.py +0 -0
  447. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/history.py +0 -0
  448. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/nxtomomill.py +0 -0
  449. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/observations.py +0 -0
  450. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/reducedarkflatselector.py +0 -0
  451. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/scanselectorwidget.py +0 -0
  452. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/selectorwidgetbase.py +0 -0
  453. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/serie/__init__.py +0 -0
  454. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/serie/nxtomoconcatenate.py +0 -0
  455. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/serie/seriecreator.py +0 -0
  456. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/serie/seriewaiter.py +0 -0
  457. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/singletomoobj.py +0 -0
  458. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/__init__.py +0 -0
  459. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_datadiscovery.py +0 -0
  460. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_datalist.py +0 -0
  461. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_datalistener.py +0 -0
  462. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_datavalidator.py +0 -0
  463. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_email.py +0 -0
  464. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_inputwidget.py +0 -0
  465. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_process_manager.py +0 -0
  466. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_reducedarkflat_selector.py +0 -0
  467. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_scanselector.py +0 -0
  468. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_scanvalidator.py +0 -0
  469. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_single_tomo_obj.py +0 -0
  470. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_volume_dialog.py +0 -0
  471. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/test/test_volumeselector.py +0 -0
  472. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/control/volumeselectorwidget.py +0 -0
  473. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/debugtools/__init__.py +0 -0
  474. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/debugtools/datasetgenerator.py +0 -0
  475. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/debugtools/objectinspector.py +0 -0
  476. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/__init__.py +0 -0
  477. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/dkrfpatch.py +0 -0
  478. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/imagekeyeditor.py +0 -0
  479. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/nxtomoeditor.py +0 -0
  480. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/nxtomowarmer.py +0 -0
  481. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/test/__init__.py +0 -0
  482. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/test/test_dkrf_patch.py +0 -0
  483. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/test/test_image_key_editor.py +0 -0
  484. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/edit/test/test_nx_editor.py +0 -0
  485. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/icons.py +0 -0
  486. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/illustrations.py +0 -0
  487. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/imagefromfile.py +0 -0
  488. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/qconfigfile.py +0 -0
  489. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/qfolderdialog.py +0 -0
  490. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/qlefilesystem.py +0 -0
  491. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/__init__.py +0 -0
  492. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/axis/CompareImages.py +0 -0
  493. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/axis/__init__.py +0 -0
  494. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/axis/axis.py +0 -0
  495. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/axis/radioaxis.py +0 -0
  496. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/darkref/__init__.py +0 -0
  497. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +0 -0
  498. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/darkref/darkrefwidget.py +0 -0
  499. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/__init__.py +0 -0
  500. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/TofuOptionLoader.py +0 -0
  501. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/__init__.py +0 -0
  502. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/misc.py +0 -0
  503. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/projections.py +0 -0
  504. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/settings.py +0 -0
  505. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/tofu.py +0 -0
  506. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +0 -0
  507. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +0 -0
  508. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/__init__.py +0 -0
  509. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/action.py +0 -0
  510. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/castvolume.py +0 -0
  511. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/check.py +0 -0
  512. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/helical.py +0 -0
  513. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/__init__.py +0 -0
  514. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/base.py +0 -0
  515. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +0 -0
  516. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +0 -0
  517. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/output.py +0 -0
  518. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +0 -0
  519. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +0 -0
  520. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +0 -0
  521. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/nabuflow.py +0 -0
  522. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/slices.py +0 -0
  523. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/slurm.py +0 -0
  524. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/nabu/volume.py +0 -0
  525. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/normalization/__init__.py +0 -0
  526. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/normalization/intensity.py +0 -0
  527. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/saaxis/__init__.py +0 -0
  528. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/saaxis/corrangeselector.py +0 -0
  529. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/saaxis/dimensionwidget.py +0 -0
  530. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/saaxis/saaxis.py +0 -0
  531. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/saaxis/sliceselector.py +0 -0
  532. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/sadeltabeta/__init__.py +0 -0
  533. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +0 -0
  534. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/scores/__init__.py +0 -0
  535. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/scores/control.py +0 -0
  536. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/scores/scoreplot.py +0 -0
  537. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/__init__.py +0 -0
  538. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/test_axis.py +0 -0
  539. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/test_lamino.py +0 -0
  540. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/test_nabu.py +0 -0
  541. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/test_saaxis.py +0 -0
  542. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/reconstruction/test/test_sadeltabeta.py +0 -0
  543. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/samplemoved/__init__.py +0 -0
  544. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/samplemoved/selectiontable.py +0 -0
  545. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/settings.py +0 -0
  546. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stackplot.py +0 -0
  547. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stacks.py +0 -0
  548. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/__init__.py +0 -0
  549. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/axisorderedlist.py +0 -0
  550. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/__init__.py +0 -0
  551. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/axisparams.py +0 -0
  552. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/output.py +0 -0
  553. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/positionoveraxis.py +0 -0
  554. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/stitchingstrategies.py +0 -0
  555. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/config/tomoobjdetails.py +0 -0
  556. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/metadataholder.py +0 -0
  557. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/stitchandbackground.py +0 -0
  558. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/stitching.py +0 -0
  559. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/stitching_preview.py +0 -0
  560. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/stitching_raw.py +0 -0
  561. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/z_stitching/__init__.py +0 -0
  562. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/stitching/z_stitching/fineestimation.py +0 -0
  563. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/test/__init__.py +0 -0
  564. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/test/test_axis_gui.py +0 -0
  565. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/test/test_qfolder_dialog.py +0 -0
  566. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/__init__.py +0 -0
  567. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/buttons.py +0 -0
  568. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/completer.py +0 -0
  569. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/flow.py +0 -0
  570. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/illustrations.py +0 -0
  571. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/inputwidget.py +0 -0
  572. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/lineselector/__init__.py +0 -0
  573. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/lineselector/lineselector.py +0 -0
  574. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/qt_utils.py +0 -0
  575. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/sandboxes.py +0 -0
  576. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/scandescription.py +0 -0
  577. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/scrollarea.py +0 -0
  578. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/slider.py +0 -0
  579. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/splashscreen.py +0 -0
  580. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/unitsystem.py +0 -0
  581. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/utils.py +0 -0
  582. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/vignettes.py +0 -0
  583. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/utils/waiterthread.py +0 -0
  584. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/__init__.py +0 -0
  585. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/dataviewer.py +0 -0
  586. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/diffviewer/__init__.py +0 -0
  587. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/diffviewer/diffviewer.py +0 -0
  588. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/diffviewer/shiftwidget.py +0 -0
  589. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/fullscreenplot.py +0 -0
  590. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/nxtomometadata.py +0 -0
  591. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/scanoverview.py +0 -0
  592. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/sinogramviewer.py +0 -0
  593. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/__init__.py +0 -0
  594. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_dataviewer.py +0 -0
  595. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_diffviewer.py +0 -0
  596. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -0
  597. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_reconstruction_parameters.py +0 -0
  598. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_sinogramviewer.py +0 -0
  599. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_stacks.py +0 -0
  600. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/test/test_volumeviewer.py +0 -0
  601. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/tomoobjoverview.py +0 -0
  602. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/gui/visualization/volumeoverview.py +0 -0
  603. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/io/__init__.py +0 -0
  604. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/io/utils/__init__.py +0 -0
  605. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/io/utils/h5pyutils.py +0 -0
  606. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/io/utils/tomoobj.py +0 -0
  607. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/io/utils/utils.py +0 -0
  608. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/__init__.py +0 -0
  609. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/Imagej_icon.png +0 -0
  610. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/a.png +0 -0
  611. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/a.svg +0 -0
  612. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/add.png +0 -0
  613. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/add.svg +0 -0
  614. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/advanced_user.png +0 -0
  615. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/advanced_user.svg +0 -0
  616. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/axis.png +0 -0
  617. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/axis.svg +0 -0
  618. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/background.png +0 -0
  619. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/background.svg +0 -0
  620. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/basic_user.png +0 -0
  621. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/basic_user.svg +0 -0
  622. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/cfg_file_active.png +0 -0
  623. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/cfg_file_active.svg +0 -0
  624. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/cfg_file_inactive.png +0 -0
  625. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/cfg_file_inactive.svg +0 -0
  626. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/compare_mode_a_minus_b.png +0 -0
  627. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/compare_mode_a_minus_b.svg +0 -0
  628. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/compose.png +0 -0
  629. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/compose.svg +0 -0
  630. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/datalistener_activate.png +0 -0
  631. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/datalistener_activate.svg +0 -0
  632. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/datalistener_deactivate.png +0 -0
  633. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/datalistener_deactivate.svg +0 -0
  634. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/delta_beta.png +0 -0
  635. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/delta_beta.svg +0 -0
  636. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/exit.png +0 -0
  637. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/exit.svg +0 -0
  638. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/full_screen.png +0 -0
  639. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/full_screen.svg +0 -0
  640. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/hammer.png +0 -0
  641. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/hammer.svg +0 -0
  642. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/health.png +0 -0
  643. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/health.svg +0 -0
  644. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/high_speed.png +0 -0
  645. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/high_speed.svg +0 -0
  646. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/history.png +0 -0
  647. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/hourglass.npy +0 -0
  648. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/imageNotFound.npy +0 -0
  649. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/information.png +0 -0
  650. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/information.svg +0 -0
  651. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/input.png +0 -0
  652. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/input.svg +0 -0
  653. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/invisible.png +0 -0
  654. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/invisible.svg +0 -0
  655. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/lamino_parameters.svg +0 -0
  656. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/lineselection.png +0 -0
  657. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/lineselection.svg +0 -0
  658. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/list_selection.png +0 -0
  659. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/list_selection.svg +0 -0
  660. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/locked.png +0 -0
  661. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/locked.svg +0 -0
  662. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/log.png +0 -0
  663. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/log.svg +0 -0
  664. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/loop.png +0 -0
  665. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/low_speed.png +0 -0
  666. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/low_speed.svg +0 -0
  667. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/medium_low_speed.png +0 -0
  668. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/medium_low_speed.svg +0 -0
  669. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/minimalistic_user.png +0 -0
  670. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/minimalistic_user.svg +0 -0
  671. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/multi-document-save.png +0 -0
  672. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/multi-document-save.svg +0 -0
  673. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/nabu.png +0 -0
  674. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/nabu.svg +0 -0
  675. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/output.png +0 -0
  676. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/output.svg +0 -0
  677. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/parameters.png +0 -0
  678. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/parameters.svg +0 -0
  679. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/plot-xleft.png +0 -0
  680. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/plot-xleft.svg +0 -0
  681. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/plot-xright.png +0 -0
  682. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/plot-xright.svg +0 -0
  683. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/range_selection.png +0 -0
  684. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/range_selection.svg +0 -0
  685. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/results.png +0 -0
  686. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/results.svg +0 -0
  687. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/rm.png +0 -0
  688. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/rm.svg +0 -0
  689. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_four.png +0 -0
  690. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_four.svg +0 -0
  691. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_one.png +0 -0
  692. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_one.svg +0 -0
  693. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_three.png +0 -0
  694. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_three.svg +0 -0
  695. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_two.png +0 -0
  696. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/roman_two.svg +0 -0
  697. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/single_selection.png +0 -0
  698. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/single_selection.svg +0 -0
  699. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/sinogram.png +0 -0
  700. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/slurm.svg +0 -0
  701. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/slurm_active.png +0 -0
  702. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/slurm_active.svg +0 -0
  703. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/slurm_deactive.png +0 -0
  704. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/slurm_deactive.svg +0 -0
  705. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/stitching_modeRaw.png +0 -0
  706. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/stitching_modeRaw.svg +0 -0
  707. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/stitching_modeRefine.png +0 -0
  708. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/stitching_modeRefine.svg +0 -0
  709. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/switch.png +0 -0
  710. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/tomwer.png +0 -0
  711. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/tomwer_large.png +0 -0
  712. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/unlocked.png +0 -0
  713. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/unlocked.svg +0 -0
  714. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/unsharp_mask.png +0 -0
  715. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/update_stitching_preview.svg +0 -0
  716. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/vignettes.png +0 -0
  717. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/vignettes.svg +0 -0
  718. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/visible.png +0 -0
  719. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/visible.svg +0 -0
  720. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/warning.png +0 -0
  721. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/icons/warning.svg +0 -0
  722. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/ctf_z1.png +0 -0
  723. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/ctf_z1.svg +0 -0
  724. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/flow_down.png +0 -0
  725. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/flow_down.svg +0 -0
  726. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/flow_right.png +0 -0
  727. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/flow_right.svg +0 -0
  728. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_angle.png +0 -0
  729. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_angle.svg +0 -0
  730. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_beta_angle.png +0 -0
  731. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_beta_angle.svg +0 -0
  732. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_theta_angle.png +0 -0
  733. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/lamino_theta_angle.svg +0 -0
  734. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/manual_slice.png +0 -0
  735. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/manual_slice.svg +0 -0
  736. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/no_rot.svg +0 -0
  737. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/psi_angle.png +0 -0
  738. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/psi_angle.svg +0 -0
  739. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/rotation_center.png +0 -0
  740. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/rotation_center.svg +0 -0
  741. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/slice_stack.png +0 -0
  742. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/slice_stack.svg +0 -0
  743. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/xy_slice.png +0 -0
  744. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/xy_slice.svg +0 -0
  745. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/xz_slice.png +0 -0
  746. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/xz_slice.svg +0 -0
  747. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/yz_slice.png +0 -0
  748. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/resources/gui/illustrations/yz_slice.svg +0 -0
  749. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/__init__.py +0 -0
  750. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/axis.py +0 -0
  751. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/darkref.py +0 -0
  752. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/datalistener.py +0 -0
  753. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/datatransfert.py +0 -0
  754. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/imageloaderthread.py +0 -0
  755. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/rsyncmanager.py +0 -0
  756. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/saaxis.py +0 -0
  757. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/sadeltabeta.py +0 -0
  758. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/__init__.py +0 -0
  759. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/control/__init__.py +0 -0
  760. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/control/datalistener.py +0 -0
  761. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/edit/__init__.py +0 -0
  762. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/edit/darkflatpatch.py +0 -0
  763. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/edit/imagekeyeditor.py +0 -0
  764. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/processingstack.py +0 -0
  765. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/__init__.py +0 -0
  766. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/axis.py +0 -0
  767. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/castvolume.py +0 -0
  768. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/dkrefcopy.py +0 -0
  769. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/lamino.py +0 -0
  770. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/nabu.py +0 -0
  771. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/normalization.py +0 -0
  772. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/saaxis.py +0 -0
  773. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/stacks/reconstruction/sadeltabeta.py +0 -0
  774. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/test/__init__.py +0 -0
  775. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/test/test_darkRefs.py +0 -0
  776. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/test/test_foldertransfer.py +0 -0
  777. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/test/test_scanstages.py +0 -0
  778. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/utils/__init__.py +0 -0
  779. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/synctools/utils/scanstages.py +0 -0
  780. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/__init__.py +0 -0
  781. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/conftest.py +0 -0
  782. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/test_scripts.py +0 -0
  783. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/test_utils.py +0 -0
  784. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/utils/__init__.py +0 -0
  785. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/tests/utils/utilstest.py +0 -0
  786. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer/utils.py +0 -0
  787. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/dependency_links.txt +0 -0
  788. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/entry_points.txt +0 -0
  789. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/namespace_packages.txt +0 -0
  790. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/requires.txt +0 -0
  791. {tomwer-1.2.0a2 → tomwer-1.2.0a4}/tomwer.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tomwer
3
- Version: 1.2.0a2
3
+ Version: 1.2.0a4
4
4
  Summary: "tomography workflow tools"
5
5
  Home-page: https://gitlab.esrf.fr/tomotools/tomwer
6
6
  Author: data analysis unit
@@ -139,9 +139,6 @@ class SingleTomoObjOW(OWBaseWidget, openclass=True):
139
139
  if isinstance(data, TomwerScanBase):
140
140
  if data.reduced_darks not in (None, {}):
141
141
  reduced_darks = data.reduced_darks
142
- reduced_darks[
143
- "reduce_frames_name"
144
- ] = f"darks from {data.get_identifier().short_description()}"
145
142
  self.Outputs.reduced_darks.send(reduced_darks)
146
143
 
147
144
  # we want to send those in relative position to have something generic. This is a convention for now
@@ -157,9 +154,6 @@ class SingleTomoObjOW(OWBaseWidget, openclass=True):
157
154
 
158
155
  if data.reduced_flats not in (None, {}):
159
156
  reduced_flats = data.reduced_flats
160
- reduced_flats[
161
- "reduce_frames_name"
162
- ] = f"flats from {data.get_identifier().short_description()}"
163
157
  self.Outputs.reduced_flats.send(reduced_flats)
164
158
 
165
159
  # we want to send those in relative position to have something generic. This is a convention for now
@@ -246,16 +246,20 @@ class DarkRefAndCopyOW(SuperviseOW, WidgetLongProcessing):
246
246
  self.sigScanReady.emit(scan)
247
247
  if scan.reduced_darks not in (None, {}):
248
248
  # we want to send those in relative position to have something generic. This is a convention for now
249
+ reduced_darks = scan.reduced_darks
250
+ reduced_darks.pop("reduce_frames_name", None)
249
251
  self.Outputs.reduced_darks.send(
250
252
  tomoscan.esrf.scan.utils.from_absolute_reduced_frames_to_relative(
251
- reduced_frames=scan.reduced_darks, scan=scan
253
+ reduced_frames=reduced_darks, scan=scan
252
254
  )
253
255
  )
254
256
  if scan.reduced_flats not in (None, {}):
255
257
  # we want to send those in relative position to have something generic. This is a convention for now
258
+ reduced_flats = scan.reduced_flats
259
+ reduced_flats.pop("reduce_frames_name", None)
256
260
  self.Outputs.reduced_flats.send(
257
261
  tomoscan.esrf.scan.utils.from_absolute_reduced_frames_to_relative(
258
- reduced_frames=scan.reduced_flats, scan=scan
262
+ reduced_frames=reduced_flats, scan=scan
259
263
  )
260
264
  )
261
265
  _logger.info(f"{scan} ended")
@@ -0,0 +1,169 @@
1
+ # import logging
2
+
3
+ # from orangewidget import gui
4
+ # from orangewidget.settings import Setting
5
+ # from orangewidget.widget import Input, Output
6
+ # from orangecontrib.tomwer.orange.managedprocess import TomwerWithStackStack
7
+ # from silx.gui import qt
8
+ # from typing import Optional
9
+
10
+ # from tomwer.core.futureobject import FutureTomwerObject
11
+ # from tomwer.core.scan.scanbase import TomwerScanBase
12
+ # from tomwer.gui.reconstruction.nabu.helical import HelicalPrepareWeightsDouble
13
+ # from tomwer.core.process.reconstruction.nabu.helical import (
14
+ # NabuHelicalPrepareWeightsDouble,
15
+ # )
16
+ # from tomwer.core.scan.hdf5scan import HDF5TomoScan
17
+
18
+ # _logger = logging.getLogger(__name__)
19
+
20
+
21
+ # class NabuHelicalPrepareWeightsDoubleOW(
22
+ # TomwerWithStackStack,
23
+ # ewokstaskclass=NabuHelicalPrepareWeightsDouble,
24
+ # ):
25
+ # """
26
+ # widget used to call the `nabu-helical-prepare-weights-double` application on a dedicated thread. It define weights map and double flat field.
27
+
28
+ # :param parent: the parent widget
29
+ # """
30
+
31
+ # # note of this widget should be the one registered on the documentation
32
+ # name = "helical prerate weights double"
33
+ # id = "orangecontrib.tomwer.widgets.reconstruction.NabuHelicalPrepareWeightsDoubleOW.NabuHelicalPrepareWeightsDoubleOW"
34
+ # description = "compute map of weights requested for nabu helical reconstruction"
35
+ # icon = "icons/nabu_prepare_weights_double.svg"
36
+ # priority = 199
37
+ # keywords = [
38
+ # "tomography",
39
+ # "nabu",
40
+ # "reconstruction",
41
+ # "nabu-helical",
42
+ # "helical",
43
+ # "weights",
44
+ # "prepare",
45
+ # ]
46
+
47
+ # want_main_area = True
48
+ # want_control_area = False
49
+ # resizing_enabled = True
50
+
51
+ # _ewoks_default_inputs = Setting(
52
+ # {
53
+ # "data": None,
54
+ # "transition_width": 50,
55
+ # "processes_file": "",
56
+ # }
57
+ # )
58
+
59
+ # sigScanReady = qt.Signal(TomwerScanBase)
60
+ # "Signal emitted when a scan is ended"
61
+
62
+ # TIMEOUT = 30
63
+
64
+ # class Inputs:
65
+ # data = Input(
66
+ # name="data",
67
+ # type=TomwerScanBase,
68
+ # doc="one scan to be process",
69
+ # default=True,
70
+ # multiple=False,
71
+ # )
72
+
73
+ # class Outputs:
74
+ # data = Output(name="data", type=TomwerScanBase, doc="one scan to be process")
75
+ # future_tomo_obj = Output(
76
+ # name="future_tomo_obj",
77
+ # type=FutureTomwerObject,
78
+ # doc="future object (process remotely)",
79
+ # )
80
+
81
+ # LOGGER = _logger
82
+
83
+ # def __init__(self, parent=None):
84
+ # super().__init__(parent)
85
+ # self.__scan = None
86
+
87
+ # # gui definition
88
+ # _layout = gui.vBox(self.mainArea, self.name).layout()
89
+ # self.widget = HelicalPrepareWeightsDouble(parent=self)
90
+ # _layout.addWidget(self.widget)
91
+
92
+ # ## connect signal / slot
93
+ # self.widget.sigConfigChanged.connect(self._updateSettings)
94
+
95
+ # self.task_output_changed_callbacks.add(self._notify_state)
96
+
97
+ # ## handle settings
98
+ # self._loadSettings()
99
+ # self.task_executor_queue.sigComputationStarted.connect(self._newTaskStarted)
100
+
101
+ # def _updateSettings(self):
102
+ # config = self.widget.getConfiguration()
103
+ # for key in ("transition_width", "processes_file"):
104
+ # self._ewoks_default_inputs[key] = config[key] # pylint: disable=E1137
105
+
106
+ # @property
107
+ # def request_input(self):
108
+ # return self.__request_input
109
+
110
+ # @request_input.setter
111
+ # def request_input(self, request):
112
+ # self.__request_input = request
113
+
114
+ # def get_task_inputs(self):
115
+ # assert self.__scan is not None
116
+ # return {
117
+ # "data": self.__scan,
118
+ # "transition_width": self.widget.getConfiguration()["transition_width"],
119
+ # "processes_file": self.widget.getConfiguration()["processes_file"],
120
+ # }
121
+
122
+ # def handleNewSignals(self) -> None:
123
+ # """Invoked by the workflow signal propagation manager after all
124
+ # signals handlers have been called.
125
+ # """
126
+ # # for now we want to avoid propagation any processing.
127
+ # # task will be executed only when the user validates the dialog
128
+ # data = super().get_task_inputs().get("data", None)
129
+ # if data is not None:
130
+ # if not isinstance(data, HDF5TomoScan):
131
+ # raise TypeError(
132
+ # f"data is expected to be an instance of HDF5TomoScan. {type(data)} are not handled"
133
+ # )
134
+ # self.add(data.path)
135
+
136
+ # def _loadSettings(self):
137
+ # self.widget.setConfiguration(self._ewoks_default_inputs)
138
+
139
+ # def _newTaskStarted(self):
140
+ # try:
141
+ # task_executor = self.sender()
142
+ # scan = task_executor.current_task.inputs.data
143
+ # self.notify_on_going(scan)
144
+ # except Exception:
145
+ # pass
146
+
147
+ # def _notify_state(self):
148
+ # try:
149
+ # task_executor = self.sender()
150
+ # task_suceeded = task_executor.succeeded
151
+ # scan = task_executor.current_task.outputs.data
152
+ # if task_suceeded:
153
+ # self.notify_succeed(scan=scan)
154
+ # else:
155
+ # self.notify_failed(scan=scan)
156
+ # except Exception as e:
157
+ # _logger.error(f"failed to handle task finished callback. Raiseon is {e}")
158
+
159
+ # @Inputs.data
160
+ # def process_data(self, scan: Optional[TomwerScanBase]):
161
+ # if scan is None:
162
+ # return
163
+ # else:
164
+ # self.__scan = scan
165
+ # self.notify_pending(scan=scan)
166
+ # self.execute_ewoks_task()
167
+
168
+ # def sizeHint(self) -> qt.QSize:
169
+ # return qt.QSize(650, 60)
@@ -61,9 +61,7 @@ class MainWindow(_MainWindow):
61
61
  HELPDESK_URL = "https://requests.esrf.fr/plugins/servlet/desk/portal/41"
62
62
 
63
63
  def __init__(self, *args, **kwargs):
64
- print("create window")
65
64
  super().__init__(*args, **kwargs)
66
- print("end super")
67
65
  self.process_supervisor_dock = DockWidget(
68
66
  self.tr("object supervisor"),
69
67
  self,
@@ -71,7 +69,6 @@ class MainWindow(_MainWindow):
71
69
  allowedAreas=qt.Qt.BottomDockWidgetArea,
72
70
  visible=self.show_processes_manager_action.isChecked(),
73
71
  )
74
- print("continue")
75
72
 
76
73
  self.process_supervisor_dock.setWidget(ProcessManagerWindow(parent=None))
77
74
  self.process_supervisor_dock.visibilityChanged[bool].connect(
@@ -85,6 +85,7 @@ def main(argv):
85
85
  options.scan_path = options.scan_path.rstrip(os.path.sep)
86
86
 
87
87
  widget = ImageKeyDialog(parent=None)
88
+ widget.setWindowFlags(qt.Qt.Window)
88
89
  widget.setScan(scan)
89
90
  widget.setWindowTitle("Image key editor")
90
91
  widget.setWindowIcon(icons.getQIcon("tomwer"))
@@ -94,6 +94,8 @@ def main(argv):
94
94
  options.scan_path = options.scan_path.rstrip(os.path.sep)
95
95
 
96
96
  widget = ImageKeyUpgraderDialog(parent=None)
97
+ widget.setWindowFlags(qt.Qt.Window)
98
+
97
99
  widget.setScan(scan)
98
100
  widget.setWindowTitle("Image key upgrader")
99
101
  widget.setWindowIcon(icons.getQIcon("tomwer"))
@@ -83,6 +83,8 @@ def main(argv):
83
83
  return
84
84
 
85
85
  dialog = NXtomoEditorDialog()
86
+ dialog.setWindowFlags(qt.Qt.Window)
87
+
86
88
  dialog.setScan(scan)
87
89
  dialog.show()
88
90
  splash.finish(dialog)
@@ -257,6 +257,7 @@ def main(argv):
257
257
  timer.timeout.connect(lambda: None)
258
258
 
259
259
  window = MainWindow()
260
+ window.setWindowFlags(qt.Qt.Window)
260
261
 
261
262
  window.show()
262
263
  from sluurp.utils import has_sbatch_available
@@ -327,6 +327,18 @@ class _NabuBaseReconstructor:
327
327
  else:
328
328
  raise ValueError(f"{self.target} is not recognized as a valid target")
329
329
 
330
+ @staticmethod
331
+ def _get_gpu_and_cpu_mem_fraction(config_to_dump: dict):
332
+ gpu_mem_fraction = config_to_dump.get("resources", {}).get(
333
+ "gpu_mem_fraction", config_to_dump.get("gpu_mem_fraction", 0.9)
334
+ )
335
+ assert gpu_mem_fraction <= 1
336
+ cpu_mem_fraction = config_to_dump.get("resources", {}).get(
337
+ "cpu_mem_fraction", config_to_dump.get("cpu_mem_fraction", 0.9)
338
+ )
339
+ assert cpu_mem_fraction <= 1
340
+ return gpu_mem_fraction, cpu_mem_fraction
341
+
330
342
  def _run_nabu_locally(
331
343
  self,
332
344
  conf_file: str,
@@ -346,8 +358,22 @@ class _NabuBaseReconstructor:
346
358
  """
347
359
  if not has_nabu:
348
360
  raise ImportError("Fail to import nabu")
361
+ assert isinstance(config_to_dump, dict)
362
+ gpu_mem_fraction, cpu_mem_fraction = self._get_gpu_and_cpu_mem_fraction(
363
+ config_to_dump
364
+ )
365
+
349
366
  command = " ".join(
350
- ("python3", "-m", settings.NABU_FULL_FIELD_APP_PATH, conf_file)
367
+ (
368
+ "python3",
369
+ "-m",
370
+ settings.NABU_FULL_FIELD_APP_PATH,
371
+ conf_file,
372
+ "--gpu_mem_fraction",
373
+ str(gpu_mem_fraction),
374
+ "--cpu_mem_fraction",
375
+ str(cpu_mem_fraction),
376
+ )
351
377
  )
352
378
  _logger.info(f'call nabu from "{command}"')
353
379
 
@@ -422,13 +448,21 @@ class _NabuBaseReconstructor:
422
448
  project_name = project_name.replace(" ", "_")
423
449
  cluster_config["job_name"] = project_name
424
450
 
451
+ # extract gpu_mem_fraction and cpu_mem_fraction
452
+ assert isinstance(config_to_dump, dict)
453
+ gpu_mem_fraction, cpu_mem_fraction = self._get_gpu_and_cpu_mem_fraction(
454
+ config_to_dump
455
+ )
456
+
425
457
  # submit job
426
458
  script_name = get_slurm_script_name(prefix="nabu")
427
459
  # for now force job name
428
460
  cluster_config["job_name"] = f"tomwer-nabu {conf_file}"
429
461
  job = SBatchScriptJob(
430
462
  slurm_config=cluster_config,
431
- script=(f"python3 -m {settings.NABU_FULL_FIELD_APP_PATH} {conf_file}",),
463
+ script=(
464
+ f"python3 -m {settings.NABU_FULL_FIELD_APP_PATH} {conf_file} --gpu_mem_fraction {gpu_mem_fraction} --cpu_mem_fraction {cpu_mem_fraction}",
465
+ ),
432
466
  script_path=os.path.join(self.scan.path, "slurm_scripts", script_name),
433
467
  clean_script=False,
434
468
  working_directory=self.scan.working_directory,
@@ -455,10 +489,12 @@ class _NabuBaseReconstructor:
455
489
  """Return a tuple a potential callback to be launch once the future is done"""
456
490
  return tuple()
457
491
 
458
- def _treateOutputSliceConfig(self, config):
492
+ def _treateOutputSliceConfig(self, config) -> tuple:
459
493
  """
460
494
  - add or overwrite some parameters of the dictionary
461
495
  - create the output directory if does not exist
496
+
497
+ :return: (config: dict, nabu_cfg_folder: str)
462
498
  """
463
499
  # handle phase
464
500
  pag = False
@@ -492,16 +528,26 @@ class _NabuBaseReconstructor:
492
528
  location = config["output"].get("location", None)
493
529
  if location not in ("", None):
494
530
  location = format_output_location(location, scan=self.scan)
495
- # if user specify the location
496
- if not os.path.isdir(config["output"]["location"]):
497
- os.makedirs(location)
531
+ location_cfg_files = location
498
532
  else:
499
533
  # otherwise default location will be the data root level
500
534
  location = self.scan.path
535
+ location_cfg_files = location
536
+ # TODO: if is a single file - append prefix
537
+ if config["output"].get("file_format") in (
538
+ NabuOutputFileFormat.EDF.value,
539
+ NabuOutputFileFormat.TIFF.value,
540
+ NabuOutputFileFormat.JP2K.value,
541
+ ): # if user specify the location
542
+ location = "/".join([location, _file_name])
543
+
501
544
  # add reconstruction path to the list. scan `reconstruction_paths` register all the existing path where
502
545
  # reconstruction are saved in order to be able to browse them all
503
546
  self.scan.add_reconstruction_path(location)
504
547
  config["output"]["location"] = location
548
+ else:
549
+ # don't think this could ever happen
550
+ location_cfg_files = self.scan.path
505
551
  # handle preproc
506
552
  if "preproc" not in config:
507
553
  config["preproc"] = {}
@@ -514,14 +560,14 @@ class _NabuBaseReconstructor:
514
560
 
515
561
  extra_infos = self.scan.intensity_normalization.get_extra_infos()
516
562
 
517
- nabu_cfg_folders = os.path.join(
518
- config["output"]["location"], settings.NABU_CFG_FILE_FOLDER
563
+ nabu_cfg_folder = os.path.join(
564
+ location_cfg_files, settings.NABU_CFG_FILE_FOLDER
519
565
  )
520
- os.makedirs(nabu_cfg_folders, exist_ok=True)
566
+ os.makedirs(nabu_cfg_folder, exist_ok=True)
521
567
 
522
568
  # configuration file and nabu_tomwer_serving_hatch must be in the same folder
523
569
  serving_hatch_file = os.path.join(
524
- nabu_cfg_folders, settings.NABU_TOMWER_SERVING_HATCH
570
+ nabu_cfg_folder, settings.NABU_TOMWER_SERVING_HATCH
525
571
  )
526
572
 
527
573
  source = extra_infos.get("source", INormSource.NONE)
@@ -576,8 +622,7 @@ class _NabuBaseReconstructor:
576
622
  )
577
623
  else:
578
624
  raise NotImplementedError(f"source type {source.value} is not handled")
579
-
580
- return config
625
+ return config, nabu_cfg_folder
581
626
 
582
627
  def _get_file_basename_reconstruction(self, pag, db, ctf):
583
628
  """return created file base name"""
@@ -223,6 +223,8 @@ class _Reconstructor(_NabuBaseReconstructor):
223
223
  if self._cancelled:
224
224
  break
225
225
  config, conf_file = self.preprocess_config(deepcopy(config), var_value)
226
+ print("conf file is", conf_file)
227
+ print("confif output is", config.get("output"))
226
228
 
227
229
  # add some tomwer metadata and save the configuration
228
230
  # note: for now the section is ignored by nabu but shouldn't stay that way
@@ -336,8 +338,7 @@ class _Reconstructor(_NabuBaseReconstructor):
336
338
  config["output"]["location"],
337
339
  nabu_settings.NABU_CFG_FILE_FOLDER,
338
340
  )
339
- if not os.path.exists(cfg_folder):
340
- os.makedirs(cfg_folder)
341
+ os.makedirs(cfg_folder, exist_ok=True)
341
342
 
342
343
  conf_file = os.path.join(
343
344
  cfg_folder, file_prefix + nabu_settings.NABU_CONFIG_FILE_EXTENSION
@@ -716,17 +716,15 @@ class SingleSliceRunner(_NabuBaseReconstructor):
716
716
  "steps_file": steps_file,
717
717
  }
718
718
 
719
- config = self._treateOutputSliceConfig(config)
719
+ config, cfg_folder = self._treateOutputSliceConfig(config)
720
720
  # the policy is to save nabu .cfg file at the same location as the
721
721
  # force overwrite results
722
722
  if self.slice_index is not None:
723
723
  config["reconstruction"]["start_z"] = self.slice_index
724
724
  config["reconstruction"]["end_z"] = self.slice_index
725
- cfg_folder = os.path.join(
726
- config["output"]["location"], nabu_settings.NABU_CFG_FILE_FOLDER
727
- )
728
- if not os.path.exists(cfg_folder):
729
- os.makedirs(cfg_folder)
725
+
726
+ if self.slice_index is not None:
727
+ os.makedirs(config["output"]["location"], exist_ok=True)
730
728
 
731
729
  name = (
732
730
  config["output"]["file_prefix"] + nabu_settings.NABU_CONFIG_FILE_EXTENSION
@@ -828,7 +826,7 @@ class SingleSliceRunner(_NabuBaseReconstructor):
828
826
  return "_".join(
829
827
  (
830
828
  basename + "slice_pag",
831
- str(slice_index).zfill(4),
829
+ str(slice_index).zfill(6),
832
830
  "db" + str(db).zfill(4),
833
831
  )
834
832
  )
@@ -836,12 +834,12 @@ class SingleSliceRunner(_NabuBaseReconstructor):
836
834
  return "_".join(
837
835
  (
838
836
  basename + "slice_ctf",
839
- str(slice_index).zfill(4),
837
+ str(slice_index).zfill(6),
840
838
  "db" + str(db).zfill(4),
841
839
  )
842
840
  )
843
841
  else:
844
- return "_".join((basename + "slice", str(slice_index).zfill(4)))
842
+ return "_".join((basename + "slice", str(slice_index).zfill(6)))
845
843
 
846
844
  @docstring(_NabuBaseReconstructor)
847
845
  def _get_file_basename_reconstruction(self, pag, db, ctf):
@@ -224,7 +224,9 @@ class VolumeRunner(_NabuBaseReconstructor):
224
224
  # force overwrite results
225
225
  if "output" not in self.configuration:
226
226
  self.configuration["output"] = {}
227
- config_slices = self._treateOutputConfig(self.configuration)
227
+ config_slices, cfg_folder = self._treateOutputConfig(self.configuration)
228
+
229
+ # force overwriting results
228
230
  config_slices["output"].update({"overwrite_results": 1})
229
231
 
230
232
  # check and clamp `start_z` and `end_z`
@@ -242,12 +244,6 @@ class VolumeRunner(_NabuBaseReconstructor):
242
244
  value = -1
243
245
  config_slices["reconstruction"][key] = value
244
246
 
245
- cfg_folder = os.path.join(
246
- config_slices["output"]["location"], settings.NABU_CFG_FILE_FOLDER
247
- )
248
- if not os.path.exists(cfg_folder):
249
- os.makedirs(cfg_folder)
250
-
251
247
  name = (
252
248
  config_slices["output"]["file_prefix"] + settings.NABU_CONFIG_FILE_EXTENSION
253
249
  )
@@ -256,6 +252,9 @@ class VolumeRunner(_NabuBaseReconstructor):
256
252
  conf_file = os.path.join(cfg_folder, name)
257
253
  _logger.info(f"{self.scan}: create {conf_file}")
258
254
 
255
+ # make sure output location exists
256
+ os.makedirs(config_slices["output"]["location"], exist_ok=True)
257
+
259
258
  # add some tomwer metadata and save the configuration
260
259
  # note: for now the section is ignored by nabu but shouldn't stay that way
261
260
  with utils.TomwerInfo(config_slices) as config_to_dump:
@@ -317,7 +316,9 @@ class VolumeRunner(_NabuBaseReconstructor):
317
316
  :return: (nabu config dict, nabu extra options)
318
317
  """
319
318
  config = copy.deepcopy(config)
320
- config = super()._treateOutputSliceConfig(config)
319
+ config, nabu_cfg_folder = super()._treateOutputSliceConfig(config)
320
+ os.makedirs(config["output"]["location"], exist_ok=True)
321
+
321
322
  # adapt config_s to specific volume treatment
322
323
  if "postproc" in config:
323
324
  config["postproc"] = config["postproc"]
@@ -329,7 +330,7 @@ class VolumeRunner(_NabuBaseReconstructor):
329
330
  config["reconstruction"]["end_z"] = config["end_z"]
330
331
  del config["end_z"]
331
332
 
332
- return config
333
+ return config, nabu_cfg_folder
333
334
 
334
335
  @docstring(_NabuBaseReconstructor)
335
336
  def _get_file_basename_reconstruction(self, pag, db, ctf):
@@ -159,7 +159,7 @@ def get_recons_volume_identifier(
159
159
  if file_format in ("hdf5", "h5", "hdf"):
160
160
  if slice_index is not None:
161
161
  # case of a single hdf5 file
162
- file_name = "_".join((file_prefix, str(slice_index).zfill(4)))
162
+ file_name = "_".join((file_prefix, str(slice_index).zfill(6)))
163
163
  else:
164
164
  file_name = file_prefix
165
165
  file_name = ".".join((file_name, file_format))
@@ -179,23 +179,13 @@ def get_recons_volume_identifier(
179
179
  elif file_format in ("vol", "raw"):
180
180
  if slice_index is not None:
181
181
  # case of a single hdf5 file
182
- file_name = "_".join((file_prefix, str(slice_index).zfill(4)))
182
+ file_name = "_".join((file_prefix, str(slice_index).zfill(6)))
183
183
  else:
184
184
  file_name = file_prefix
185
- # on 2022.3.x the location seems invalid for nabu. Add this second location to
186
- # handle most of the case.
187
- fix_nabu = os.path.join(file_prefix, file_name)
188
-
189
185
  file_name = ".".join((file_name, file_format))
190
186
  file_path = os.path.join(location, file_name)
191
187
 
192
- file_name_fix_nabu = ".".join((fix_nabu, file_format))
193
- file_path_fix_nabu = os.path.join(location, file_name_fix_nabu)
194
-
195
- volumes = (
196
- RawVolume(file_path=file_path_fix_nabu),
197
- RawVolume(file_path=file_path),
198
- )
188
+ volumes = (RawVolume(file_path=file_path),)
199
189
  elif file_format in ("jp2", "jp2k", "edf", "tiff"):
200
190
  if file_format in ("jp2k", "jp2"):
201
191
  constructor = JP2KVolume
@@ -205,31 +195,15 @@ def get_recons_volume_identifier(
205
195
  constructor = TIFFVolume
206
196
  else:
207
197
  raise NotImplementedError
208
- output_extension = file_format
209
198
  basename = file_prefix
199
+ file_path = location
200
+ volumes = (
201
+ constructor(
202
+ folder=location,
203
+ volume_basename=basename,
204
+ ),
205
+ )
210
206
 
211
- if slice_index is None and start_z is None and end_z is None:
212
- # if this is a single slice
213
- file_path = ".".join(
214
- (
215
- os.path.join(location, file_prefix, file_prefix),
216
- output_extension,
217
- )
218
- )
219
- # TODO: in the future we might want to provide data_slice according to z values
220
- volumes = (
221
- constructor(
222
- folder=os.path.join(location, file_prefix),
223
- volume_basename=basename,
224
- ),
225
- )
226
- else:
227
- volumes = (
228
- constructor(
229
- folder=os.path.join(location, file_prefix),
230
- volume_basename=basename,
231
- ),
232
- )
233
207
  # case of the multitiff. Not handled by tomwer
234
208
  # elif file_format == "tiff":
235
209
  # # for single frame tiff nabu uses another convention by saving it 'directly'.
@@ -127,7 +127,7 @@ class TestNabuIni(unittest.TestCase):
127
127
  # check volume and slice .cfg files for nabu reconstruction are here
128
128
  for file_name in (
129
129
  os.path.basename(self.scan.path) + ".cfg",
130
- os.path.basename(self.scan.path) + "slice_0001" + ".cfg",
130
+ os.path.basename(self.scan.path) + "slice_000001" + ".cfg",
131
131
  ):
132
132
  with self.subTest(file_name=file_name):
133
133
  self.assertTrue(
@@ -151,7 +151,7 @@ class TestNabuIni(unittest.TestCase):
151
151
  # check volume and slice .cfg files for nabu reconstruction are here
152
152
  for file_name in (
153
153
  os.path.basename(self.scan.path) + "pag_db0100.cfg",
154
- os.path.basename(self.scan.path) + "slice_pag_0001_db0100" + ".cfg",
154
+ os.path.basename(self.scan.path) + "slice_pag_000001_db0100" + ".cfg",
155
155
  ):
156
156
  with self.subTest(file_name=file_name):
157
157
  self.assertTrue(
@@ -178,7 +178,7 @@ class TestNabuIni(unittest.TestCase):
178
178
  ini_files.append(
179
179
  os.path.basename(self.scan.path)
180
180
  + "slice_"
181
- + str(slice_index).zfill(4)
181
+ + str(slice_index).zfill(6)
182
182
  + ".cfg"
183
183
  )
184
184
 
@@ -222,7 +222,7 @@ class TestNabuIni(unittest.TestCase):
222
222
  # add slice ini file
223
223
  ini_files.append(
224
224
  os.path.basename(self.scan.path)
225
- + "slice_pag_0001_db"
225
+ + "slice_pag_000001_db"
226
226
  + str(int(pag_db)).zfill(4)
227
227
  + ".cfg"
228
228
  )
@@ -265,7 +265,7 @@ class TestNabuIni(unittest.TestCase):
265
265
  ini_files.append(
266
266
  os.path.basename(self.scan.path)
267
267
  + "slice_pag_"
268
- + str(slice_index).zfill(4)
268
+ + str(slice_index).zfill(6)
269
269
  + "_db"
270
270
  + str(pag_db).zfill(4)
271
271
  + ".cfg"