tomwer 1.2.0a2__tar.gz → 1.2.0a3__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 (788) hide show
  1. {tomwer-1.2.0a2/tomwer.egg-info → tomwer-1.2.0a3}/PKG-INFO +1 -1
  2. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +0 -6
  3. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +6 -2
  4. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/mainwindow.py +0 -3
  5. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/nabucommon.py +57 -12
  6. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/nabuscores.py +3 -2
  7. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/nabuslices.py +7 -9
  8. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/nabuvolume.py +10 -9
  9. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/utils.py +10 -36
  10. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_nabu.py +5 -5
  11. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/reconstructionparameters.py +9 -1
  12. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/volumeviewer.py +2 -0
  13. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/version.py +1 -1
  14. {tomwer-1.2.0a2 → tomwer-1.2.0a3/tomwer.egg-info}/PKG-INFO +1 -1
  15. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/LICENSE +0 -0
  16. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/MANIFEST.in +0 -0
  17. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/README.rst +0 -0
  18. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/__init__.py +0 -0
  19. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/__init__.py +0 -0
  20. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/orange/__init__.py +0 -0
  21. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/orange/managedprocess.py +0 -0
  22. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/orange/settings.py +0 -0
  23. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/state_summary.py +0 -0
  24. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +0 -0
  25. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/__init__.py +0 -0
  26. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +0 -0
  27. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/cast_volume.ows +0 -0
  28. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +0 -0
  29. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth2.ows +0 -0
  30. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/default_cor_search.ows +0 -0
  31. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/hello_world_python_script.ows +0 -0
  32. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +0 -0
  33. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +0 -0
  34. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows +0 -0
  35. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +0 -0
  36. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/tutorials/using_saaxis_to_find_cor.ows +0 -0
  37. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/__init__.py +0 -0
  38. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +0 -0
  39. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +0 -0
  40. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/__init__.py +0 -0
  41. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/icons/slurm.png +0 -0
  42. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/icons/slurm.svg +0 -0
  43. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.png +0 -0
  44. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.svg +0 -0
  45. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/AdvancementOW.py +0 -0
  46. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +0 -0
  47. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataListOW.py +0 -0
  48. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataListenerOW.py +0 -0
  49. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataSelectorOW.py +0 -0
  50. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataTransfertOW.py +0 -0
  51. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataValidatorOW.py +0 -0
  52. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/DataWatcherOW.py +0 -0
  53. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +0 -0
  54. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/EmailOW.py +0 -0
  55. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/FilterOW.py +0 -0
  56. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +0 -0
  57. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/NXTomomillOW.py +0 -0
  58. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +0 -0
  59. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/NotifierOW.py +0 -0
  60. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/ReduceDarkFlatSelectorOW.py +0 -0
  61. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/TimerOW.py +0 -0
  62. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +0 -0
  63. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/VolumeSelector.py +0 -0
  64. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +0 -0
  65. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/__init__.py +0 -0
  66. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/advancement.png +0 -0
  67. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/advancement.svg +0 -0
  68. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.png +0 -0
  69. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.svg +0 -0
  70. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
  71. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +0 -0
  72. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/datalistener.png +0 -0
  73. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/datalistener.svg +0 -0
  74. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/datawatcher.svg +0 -0
  75. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/edf2nx.png +0 -0
  76. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/edf2nx.svg +0 -0
  77. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/email.png +0 -0
  78. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/email.svg +0 -0
  79. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/esrf.png +0 -0
  80. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/folder-transfert.svg +0 -0
  81. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/image_key_upgrader.png +0 -0
  82. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/namefilter.png +0 -0
  83. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/namefilter.svg +0 -0
  84. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/notification.png +0 -0
  85. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/notification.svg +0 -0
  86. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
  87. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +0 -0
  88. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/progress.svg +0 -0
  89. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
  90. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +0 -0
  91. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/scanlist.svg +0 -0
  92. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/scanselector.png +0 -0
  93. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/scanselector.svg +0 -0
  94. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.png +0 -0
  95. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.svg +0 -0
  96. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/time.png +0 -0
  97. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/tomoobjserie.png +0 -0
  98. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/tomoobjserie.svg +0 -0
  99. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/tomwer.png +0 -0
  100. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/validator.png +0 -0
  101. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/validatorcrack.png +0 -0
  102. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/volumeselector.png +0 -0
  103. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/volumeselector.svg +0 -0
  104. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/volumesymlink.png +0 -0
  105. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/control/icons/volumesymlink.svg +0 -0
  106. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +0 -0
  107. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +0 -0
  108. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/__init__.py +0 -0
  109. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/icons/hammer.png +0 -0
  110. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/icons/hammer.svg +0 -0
  111. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/icons/inspector.png +0 -0
  112. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/debugtools/icons/inspector.svg +0 -0
  113. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +0 -0
  114. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +0 -0
  115. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +0 -0
  116. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +0 -0
  117. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/__init__.py +0 -0
  118. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.png +0 -0
  119. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.svg +0 -0
  120. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.png +0 -0
  121. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.svg +0 -0
  122. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.png +0 -0
  123. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.svg +0 -0
  124. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.png +0 -0
  125. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.svg +0 -0
  126. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/test/__init__.py +0 -0
  127. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +0 -0
  128. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +0 -0
  129. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +0 -0
  130. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +0 -0
  131. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer.png +0 -0
  132. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_build.png +0 -0
  133. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_build.svg +0 -0
  134. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_cluster.png +0 -0
  135. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_cluster.svg +0 -0
  136. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_control.png +0 -0
  137. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_control.svg +0 -0
  138. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.png +0 -0
  139. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.svg +0 -0
  140. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_edit.png +0 -0
  141. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_edit.svg +0 -0
  142. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_other.png +0 -0
  143. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_other.svg +0 -0
  144. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_stitching.png +0 -0
  145. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_stitching.svg +0 -0
  146. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_visu.png +0 -0
  147. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/icons/tomwer_visu.svg +0 -0
  148. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/PythonScriptOW.py +0 -0
  149. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/TomoObjsHub.py +0 -0
  150. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/__init__.py +0 -0
  151. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/icons/PythonScript.svg +0 -0
  152. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/icons/hub.png +0 -0
  153. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/other/icons/hub.svg +0 -0
  154. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +0 -0
  155. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +0 -0
  156. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/NabuHelicalPrepareWeightsDoubleOW.py +0 -0
  157. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +0 -0
  158. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +0 -0
  159. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +0 -0
  160. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +0 -0
  161. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +0 -0
  162. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +0 -0
  163. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/__init__.py +0 -0
  164. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/XY_lamino.svg +0 -0
  165. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/XZ_lamino.svg +0 -0
  166. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/YZ_lamino.svg +0 -0
  167. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/axis.png +0 -0
  168. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/axis.svg +0 -0
  169. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/bricks.png +0 -0
  170. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/darkref.png +0 -0
  171. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/darkref.svg +0 -0
  172. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.png +0 -0
  173. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.svg +0 -0
  174. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/esrf.png +0 -0
  175. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
  176. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +0 -0
  177. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_3d.png +0 -0
  178. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_3d.svg +0 -0
  179. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.png +0 -0
  180. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.svg +0 -0
  181. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.png +0 -0
  182. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.svg +0 -0
  183. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.png +0 -0
  184. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.svg +0 -0
  185. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.png +0 -0
  186. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.svg +0 -0
  187. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.png +0 -0
  188. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.svg +0 -0
  189. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.png +0 -0
  190. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.svg +0 -0
  191. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/tomogui.png +0 -0
  192. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/reconstruction/icons/tomwer.png +0 -0
  193. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/stitching/StitcherOW.py +0 -0
  194. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +0 -0
  195. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/stitching/__init__.py +0 -0
  196. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/utils.py +0 -0
  197. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +0 -0
  198. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +0 -0
  199. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +0 -0
  200. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +0 -0
  201. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +0 -0
  202. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +0 -0
  203. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -0
  204. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +0 -0
  205. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +0 -0
  206. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/__init__.py +0 -0
  207. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/diff.png +0 -0
  208. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/diff.svg +0 -0
  209. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/esrf.png +0 -0
  210. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/eye.png +0 -0
  211. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/eyecrack.png +0 -0
  212. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/liveslice.png +0 -0
  213. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/liveslice.svg +0 -0
  214. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.png +0 -0
  215. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.svg +0 -0
  216. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.png +0 -0
  217. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.svg +0 -0
  218. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.png +0 -0
  219. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.svg +0 -0
  220. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/sinogramviewer.png +0 -0
  221. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.png +0 -0
  222. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.svg +0 -0
  223. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/tomwer.png +0 -0
  224. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.png +0 -0
  225. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg +0 -0
  226. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/setup.cfg +0 -0
  227. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/setup.py +0 -0
  228. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/__init__.py +0 -0
  229. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/__main__.py +0 -0
  230. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/__init__.py +0 -0
  231. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/axis.py +0 -0
  232. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas.py +0 -0
  233. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/__init__.py +0 -0
  234. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/config.py +0 -0
  235. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/environ.py +0 -0
  236. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/splash.py +0 -0
  237. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/canvas_launcher/widgetsscheme.py +0 -0
  238. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/darkref.py +0 -0
  239. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/darkrefpatch.py +0 -0
  240. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/diffframe.py +0 -0
  241. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/imagekeyeditor.py +0 -0
  242. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/imagekeyupgrader.py +0 -0
  243. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/intensitynormalization.py +0 -0
  244. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/lamino.py +0 -0
  245. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/nabuapp.py +0 -0
  246. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/nxtomoeditor.py +0 -0
  247. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/patchrawdarkflat.py +0 -0
  248. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/radiostack.py +0 -0
  249. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/reducedarkflat.py +0 -0
  250. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/rsync.py +0 -0
  251. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/saaxis.py +0 -0
  252. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/sadeltabeta.py +0 -0
  253. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/samplemoved.py +0 -0
  254. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/scanviewer.py +0 -0
  255. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/sinogramviewer.py +0 -0
  256. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/slicestack.py +0 -0
  257. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/stopdatalistener.py +0 -0
  258. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/app/zstitching.py +0 -0
  259. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/__init__.py +0 -0
  260. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/cluster/__init__.py +0 -0
  261. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/cluster/cluster.py +0 -0
  262. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/futureobject.py +0 -0
  263. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/log/__init__.py +0 -0
  264. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/log/logger.py +0 -0
  265. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/log/processlog.py +0 -0
  266. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/__init__.py +0 -0
  267. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/cluster/__init__.py +0 -0
  268. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/cluster/supervisor.py +0 -0
  269. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/conditions/__init__.py +0 -0
  270. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/conditions/filters.py +0 -0
  271. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/__init__.py +0 -0
  272. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datadiscovery.py +0 -0
  273. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datalistener/__init__.py +0 -0
  274. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datalistener/datalistener.py +0 -0
  275. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datalistener/rpcserver.py +0 -0
  276. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/__init__.py +0 -0
  277. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/datawatcher.py +0 -0
  278. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/datawatcherobserver.py +0 -0
  279. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/datawatcherprocess.py +0 -0
  280. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/edfdwprocess.py +0 -0
  281. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/hdf5dwprocess.py +0 -0
  282. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/datawatcher/status.py +0 -0
  283. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/email.py +0 -0
  284. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/nxtomoconcatenate.py +0 -0
  285. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/nxtomomill.py +0 -0
  286. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/scanlist.py +0 -0
  287. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/scanselector.py +0 -0
  288. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/scantransfer.py +0 -0
  289. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/scanvalidator.py +0 -0
  290. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/singletomoobj.py +0 -0
  291. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/test/__init__.py +0 -0
  292. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/test/test_concatenate_nxtomos.py +0 -0
  293. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/test/test_email.py +0 -0
  294. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/test/test_h52nx_process.py +0 -0
  295. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/test/test_volume_link.py +0 -0
  296. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/timer.py +0 -0
  297. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/tomoobjserie.py +0 -0
  298. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/volumeselector.py +0 -0
  299. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/control/volumesymlink.py +0 -0
  300. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/edit/__init__.py +0 -0
  301. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/edit/darkflatpatch.py +0 -0
  302. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/edit/imagekeyeditor.py +0 -0
  303. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/__init__.py +0 -0
  304. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/__init__.py +0 -0
  305. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/anglemode.py +0 -0
  306. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/axis.py +0 -0
  307. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/mode.py +0 -0
  308. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/params.py +0 -0
  309. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/axis/projectiontype.py +0 -0
  310. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/darkref/__init__.py +0 -0
  311. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/darkref/darkrefs.py +0 -0
  312. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/darkref/darkrefscopy.py +0 -0
  313. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/darkref/params.py +0 -0
  314. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/darkref/settings.py +0 -0
  315. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/lamino/__init__.py +0 -0
  316. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/lamino/tofu.py +0 -0
  317. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/__init__.py +0 -0
  318. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/castvolume.py +0 -0
  319. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/helical.py +0 -0
  320. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/settings.py +0 -0
  321. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/nabu/target.py +0 -0
  322. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/normalization/__init__.py +0 -0
  323. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/normalization/normalization.py +0 -0
  324. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/normalization/params.py +0 -0
  325. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/paramsbase.py +0 -0
  326. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/saaxis/__init__.py +0 -0
  327. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/saaxis/params.py +0 -0
  328. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/saaxis/saaxis.py +0 -0
  329. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/sadeltabeta/__init__.py +0 -0
  330. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/sadeltabeta/params.py +0 -0
  331. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +0 -0
  332. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/scores/__init__.py +0 -0
  333. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/scores/params.py +0 -0
  334. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/scores/scores.py +0 -0
  335. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/__init__.py +0 -0
  336. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_axis_params.py +0 -0
  337. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_darkref.py +0 -0
  338. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_darkref_copy.py +0 -0
  339. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_paramsbase.py +0 -0
  340. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_saaxis.py +0 -0
  341. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_sadeltabeta.py +0 -0
  342. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/test/test_utils.py +0 -0
  343. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/utils/__init__.py +0 -0
  344. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/reconstruction/utils/cor.py +0 -0
  345. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/script/__init__.py +0 -0
  346. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/script/python.py +0 -0
  347. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/stitching/__init__.py +0 -0
  348. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/stitching/metadataholder.py +0 -0
  349. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/stitching/nabustitcher.py +0 -0
  350. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/task.py +0 -0
  351. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/__init__.py +0 -0
  352. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_axis.py +0 -0
  353. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_conditions.py +0 -0
  354. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_dark_and_flat.py +0 -0
  355. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_data_listener.py +0 -0
  356. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_data_transfer.py +0 -0
  357. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_data_watcher.py +0 -0
  358. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_lamino.py +0 -0
  359. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_normalization.py +0 -0
  360. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/test/test_timer.py +0 -0
  361. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/utils.py +0 -0
  362. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/__init__.py +0 -0
  363. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/dataviewer.py +0 -0
  364. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/diffviewer.py +0 -0
  365. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/imagestackviewer.py +0 -0
  366. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/liveslice.py +0 -0
  367. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/radiostack.py +0 -0
  368. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/samplemoved.py +0 -0
  369. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/sinogramviewer.py +0 -0
  370. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/slicestack.py +0 -0
  371. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/process/visualization/volumeviewer.py +0 -0
  372. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/progress.py +0 -0
  373. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/__init__.py +0 -0
  374. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/blissscan.py +0 -0
  375. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/edfscan.py +0 -0
  376. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/futurescan.py +0 -0
  377. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/hdf5scan.py +0 -0
  378. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/helicalmetadata.py +0 -0
  379. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/scanbase.py +0 -0
  380. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/scanfactory.py +0 -0
  381. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/scantype.py +0 -0
  382. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/__init__.py +0 -0
  383. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/test_edf.py +0 -0
  384. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/test_future_scan.py +0 -0
  385. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/test_h5.py +0 -0
  386. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/test_process_registration.py +0 -0
  387. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/scan/test/test_scan.py +0 -0
  388. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/settings.py +0 -0
  389. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/signal.py +0 -0
  390. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/test/__init__.py +0 -0
  391. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/test/test_lamino.py +0 -0
  392. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/test/test_scanutils.py +0 -0
  393. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/test/test_utils.py +0 -0
  394. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/tomwer_object.py +0 -0
  395. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/Singleton.py +0 -0
  396. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/__init__.py +0 -0
  397. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/char.py +0 -0
  398. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/deprecation.py +0 -0
  399. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/ftseriesutils.py +0 -0
  400. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/gpu.py +0 -0
  401. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/image.py +0 -0
  402. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/locker.py +0 -0
  403. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/logconfig.py +0 -0
  404. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/normalization.py +0 -0
  405. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/nxtomoutils.py +0 -0
  406. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/resource.py +0 -0
  407. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/scanutils.py +0 -0
  408. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/slurm.py +0 -0
  409. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/threads.py +0 -0
  410. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/time.py +0 -0
  411. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/utils/volumeutils.py +0 -0
  412. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/__init__.py +0 -0
  413. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/edfvolume.py +0 -0
  414. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/hdf5volume.py +0 -0
  415. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/jp2kvolume.py +0 -0
  416. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/rawvolume.py +0 -0
  417. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/tiffvolume.py +0 -0
  418. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/volumebase.py +0 -0
  419. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/core/volume/volumefactory.py +0 -0
  420. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/__init__.py +0 -0
  421. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/__init__.py +0 -0
  422. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/slurm.py +0 -0
  423. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/supervisor.py +0 -0
  424. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/test/__init__.py +0 -0
  425. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/test/test_cluster.py +0 -0
  426. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/cluster/test/test_supervisor.py +0 -0
  427. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/conditions/__init__.py +0 -0
  428. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/conditions/filter.py +0 -0
  429. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/__init__.py +0 -0
  430. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/actions.py +0 -0
  431. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datadiscovery.py +0 -0
  432. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datalist.py +0 -0
  433. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datalistener.py +0 -0
  434. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datareacheractions.py +0 -0
  435. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datatransfert.py +0 -0
  436. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datavalidator.py +0 -0
  437. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datawatcher/__init__.py +0 -0
  438. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datawatcher/configuration.py +0 -0
  439. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datawatcher/controlwidget.py +0 -0
  440. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datawatcher/datawatcher.py +0 -0
  441. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/datawatcher/datawatcherobserver.py +0 -0
  442. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/email.py +0 -0
  443. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/history.py +0 -0
  444. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/nxtomomill.py +0 -0
  445. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/observations.py +0 -0
  446. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/reducedarkflatselector.py +0 -0
  447. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/scanselectorwidget.py +0 -0
  448. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/selectorwidgetbase.py +0 -0
  449. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/serie/__init__.py +0 -0
  450. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/serie/nxtomoconcatenate.py +0 -0
  451. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/serie/seriecreator.py +0 -0
  452. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/serie/seriewaiter.py +0 -0
  453. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/singletomoobj.py +0 -0
  454. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/__init__.py +0 -0
  455. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_datadiscovery.py +0 -0
  456. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_datalist.py +0 -0
  457. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_datalistener.py +0 -0
  458. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_datavalidator.py +0 -0
  459. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_email.py +0 -0
  460. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_inputwidget.py +0 -0
  461. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_process_manager.py +0 -0
  462. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_reducedarkflat_selector.py +0 -0
  463. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_scanselector.py +0 -0
  464. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_scanvalidator.py +0 -0
  465. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_single_tomo_obj.py +0 -0
  466. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_volume_dialog.py +0 -0
  467. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/test/test_volumeselector.py +0 -0
  468. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/control/volumeselectorwidget.py +0 -0
  469. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/debugtools/__init__.py +0 -0
  470. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/debugtools/datasetgenerator.py +0 -0
  471. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/debugtools/objectinspector.py +0 -0
  472. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/__init__.py +0 -0
  473. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/dkrfpatch.py +0 -0
  474. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/imagekeyeditor.py +0 -0
  475. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/nxtomoeditor.py +0 -0
  476. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/nxtomowarmer.py +0 -0
  477. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/test/__init__.py +0 -0
  478. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/test/test_dkrf_patch.py +0 -0
  479. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/test/test_image_key_editor.py +0 -0
  480. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/edit/test/test_nx_editor.py +0 -0
  481. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/icons.py +0 -0
  482. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/illustrations.py +0 -0
  483. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/imagefromfile.py +0 -0
  484. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/qconfigfile.py +0 -0
  485. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/qfolderdialog.py +0 -0
  486. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/qlefilesystem.py +0 -0
  487. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/__init__.py +0 -0
  488. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/axis/CompareImages.py +0 -0
  489. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/axis/__init__.py +0 -0
  490. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/axis/axis.py +0 -0
  491. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/axis/radioaxis.py +0 -0
  492. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/darkref/__init__.py +0 -0
  493. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +0 -0
  494. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/darkref/darkrefwidget.py +0 -0
  495. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/__init__.py +0 -0
  496. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/TofuOptionLoader.py +0 -0
  497. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/__init__.py +0 -0
  498. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/misc.py +0 -0
  499. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/projections.py +0 -0
  500. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/settings.py +0 -0
  501. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/tofu.py +0 -0
  502. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +0 -0
  503. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +0 -0
  504. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/__init__.py +0 -0
  505. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/action.py +0 -0
  506. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/castvolume.py +0 -0
  507. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/check.py +0 -0
  508. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/helical.py +0 -0
  509. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/__init__.py +0 -0
  510. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/base.py +0 -0
  511. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +0 -0
  512. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +0 -0
  513. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/output.py +0 -0
  514. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +0 -0
  515. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +0 -0
  516. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +0 -0
  517. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/nabuflow.py +0 -0
  518. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/slices.py +0 -0
  519. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/slurm.py +0 -0
  520. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/nabu/volume.py +0 -0
  521. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/normalization/__init__.py +0 -0
  522. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/normalization/intensity.py +0 -0
  523. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/saaxis/__init__.py +0 -0
  524. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/saaxis/corrangeselector.py +0 -0
  525. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/saaxis/dimensionwidget.py +0 -0
  526. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/saaxis/saaxis.py +0 -0
  527. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/saaxis/sliceselector.py +0 -0
  528. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/sadeltabeta/__init__.py +0 -0
  529. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +0 -0
  530. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/scores/__init__.py +0 -0
  531. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/scores/control.py +0 -0
  532. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/scores/scoreplot.py +0 -0
  533. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/__init__.py +0 -0
  534. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/test_axis.py +0 -0
  535. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/test_lamino.py +0 -0
  536. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/test_nabu.py +0 -0
  537. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/test_saaxis.py +0 -0
  538. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/reconstruction/test/test_sadeltabeta.py +0 -0
  539. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/samplemoved/__init__.py +0 -0
  540. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/samplemoved/selectiontable.py +0 -0
  541. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/settings.py +0 -0
  542. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stackplot.py +0 -0
  543. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stacks.py +0 -0
  544. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/__init__.py +0 -0
  545. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/axisorderedlist.py +0 -0
  546. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/__init__.py +0 -0
  547. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/axisparams.py +0 -0
  548. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/output.py +0 -0
  549. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/positionoveraxis.py +0 -0
  550. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/stitchingstrategies.py +0 -0
  551. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/config/tomoobjdetails.py +0 -0
  552. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/metadataholder.py +0 -0
  553. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/stitchandbackground.py +0 -0
  554. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/stitching.py +0 -0
  555. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/stitching_preview.py +0 -0
  556. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/stitching_raw.py +0 -0
  557. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/z_stitching/__init__.py +0 -0
  558. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/stitching/z_stitching/fineestimation.py +0 -0
  559. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/test/__init__.py +0 -0
  560. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/test/test_axis_gui.py +0 -0
  561. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/test/test_qfolder_dialog.py +0 -0
  562. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/__init__.py +0 -0
  563. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/buttons.py +0 -0
  564. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/completer.py +0 -0
  565. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/flow.py +0 -0
  566. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/illustrations.py +0 -0
  567. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/inputwidget.py +0 -0
  568. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/lineselector/__init__.py +0 -0
  569. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/lineselector/lineselector.py +0 -0
  570. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/qt_utils.py +0 -0
  571. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/sandboxes.py +0 -0
  572. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/scandescription.py +0 -0
  573. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/scrollarea.py +0 -0
  574. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/slider.py +0 -0
  575. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/splashscreen.py +0 -0
  576. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/unitsystem.py +0 -0
  577. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/utils.py +0 -0
  578. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/vignettes.py +0 -0
  579. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/utils/waiterthread.py +0 -0
  580. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/__init__.py +0 -0
  581. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/dataviewer.py +0 -0
  582. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/diffviewer/__init__.py +0 -0
  583. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/diffviewer/diffviewer.py +0 -0
  584. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/diffviewer/shiftwidget.py +0 -0
  585. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/fullscreenplot.py +0 -0
  586. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/nxtomometadata.py +0 -0
  587. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/scanoverview.py +0 -0
  588. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/sinogramviewer.py +0 -0
  589. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/__init__.py +0 -0
  590. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_dataviewer.py +0 -0
  591. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_diffviewer.py +0 -0
  592. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -0
  593. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_reconstruction_parameters.py +0 -0
  594. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_sinogramviewer.py +0 -0
  595. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_stacks.py +0 -0
  596. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/test/test_volumeviewer.py +0 -0
  597. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/tomoobjoverview.py +0 -0
  598. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/gui/visualization/volumeoverview.py +0 -0
  599. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/io/__init__.py +0 -0
  600. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/io/utils/__init__.py +0 -0
  601. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/io/utils/h5pyutils.py +0 -0
  602. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/io/utils/tomoobj.py +0 -0
  603. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/io/utils/utils.py +0 -0
  604. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/__init__.py +0 -0
  605. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/Imagej_icon.png +0 -0
  606. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/a.png +0 -0
  607. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/a.svg +0 -0
  608. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/add.png +0 -0
  609. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/add.svg +0 -0
  610. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/advanced_user.png +0 -0
  611. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/advanced_user.svg +0 -0
  612. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/axis.png +0 -0
  613. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/axis.svg +0 -0
  614. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/background.png +0 -0
  615. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/background.svg +0 -0
  616. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/basic_user.png +0 -0
  617. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/basic_user.svg +0 -0
  618. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/cfg_file_active.png +0 -0
  619. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/cfg_file_active.svg +0 -0
  620. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/cfg_file_inactive.png +0 -0
  621. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/cfg_file_inactive.svg +0 -0
  622. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/compare_mode_a_minus_b.png +0 -0
  623. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/compare_mode_a_minus_b.svg +0 -0
  624. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/compose.png +0 -0
  625. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/compose.svg +0 -0
  626. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/datalistener_activate.png +0 -0
  627. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/datalistener_activate.svg +0 -0
  628. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/datalistener_deactivate.png +0 -0
  629. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/datalistener_deactivate.svg +0 -0
  630. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/delta_beta.png +0 -0
  631. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/delta_beta.svg +0 -0
  632. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/exit.png +0 -0
  633. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/exit.svg +0 -0
  634. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/full_screen.png +0 -0
  635. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/full_screen.svg +0 -0
  636. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/hammer.png +0 -0
  637. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/hammer.svg +0 -0
  638. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/health.png +0 -0
  639. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/health.svg +0 -0
  640. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/high_speed.png +0 -0
  641. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/high_speed.svg +0 -0
  642. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/history.png +0 -0
  643. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/hourglass.npy +0 -0
  644. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/imageNotFound.npy +0 -0
  645. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/information.png +0 -0
  646. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/information.svg +0 -0
  647. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/input.png +0 -0
  648. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/input.svg +0 -0
  649. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/invisible.png +0 -0
  650. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/invisible.svg +0 -0
  651. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/lamino_parameters.svg +0 -0
  652. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/lineselection.png +0 -0
  653. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/lineselection.svg +0 -0
  654. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/list_selection.png +0 -0
  655. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/list_selection.svg +0 -0
  656. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/locked.png +0 -0
  657. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/locked.svg +0 -0
  658. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/log.png +0 -0
  659. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/log.svg +0 -0
  660. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/loop.png +0 -0
  661. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/low_speed.png +0 -0
  662. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/low_speed.svg +0 -0
  663. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/medium_low_speed.png +0 -0
  664. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/medium_low_speed.svg +0 -0
  665. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/minimalistic_user.png +0 -0
  666. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/minimalistic_user.svg +0 -0
  667. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/multi-document-save.png +0 -0
  668. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/multi-document-save.svg +0 -0
  669. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/nabu.png +0 -0
  670. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/nabu.svg +0 -0
  671. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/output.png +0 -0
  672. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/output.svg +0 -0
  673. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/parameters.png +0 -0
  674. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/parameters.svg +0 -0
  675. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/plot-xleft.png +0 -0
  676. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/plot-xleft.svg +0 -0
  677. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/plot-xright.png +0 -0
  678. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/plot-xright.svg +0 -0
  679. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/range_selection.png +0 -0
  680. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/range_selection.svg +0 -0
  681. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/results.png +0 -0
  682. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/results.svg +0 -0
  683. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/rm.png +0 -0
  684. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/rm.svg +0 -0
  685. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_four.png +0 -0
  686. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_four.svg +0 -0
  687. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_one.png +0 -0
  688. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_one.svg +0 -0
  689. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_three.png +0 -0
  690. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_three.svg +0 -0
  691. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_two.png +0 -0
  692. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/roman_two.svg +0 -0
  693. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/single_selection.png +0 -0
  694. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/single_selection.svg +0 -0
  695. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/sinogram.png +0 -0
  696. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/slurm.svg +0 -0
  697. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/slurm_active.png +0 -0
  698. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/slurm_active.svg +0 -0
  699. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/slurm_deactive.png +0 -0
  700. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/slurm_deactive.svg +0 -0
  701. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/stitching_modeRaw.png +0 -0
  702. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/stitching_modeRaw.svg +0 -0
  703. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/stitching_modeRefine.png +0 -0
  704. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/stitching_modeRefine.svg +0 -0
  705. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/switch.png +0 -0
  706. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/tomwer.png +0 -0
  707. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/tomwer_large.png +0 -0
  708. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/unlocked.png +0 -0
  709. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/unlocked.svg +0 -0
  710. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/unsharp_mask.png +0 -0
  711. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/update_stitching_preview.svg +0 -0
  712. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/vignettes.png +0 -0
  713. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/vignettes.svg +0 -0
  714. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/visible.png +0 -0
  715. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/visible.svg +0 -0
  716. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/warning.png +0 -0
  717. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/icons/warning.svg +0 -0
  718. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/ctf_z1.png +0 -0
  719. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/ctf_z1.svg +0 -0
  720. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/flow_down.png +0 -0
  721. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/flow_down.svg +0 -0
  722. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/flow_right.png +0 -0
  723. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/flow_right.svg +0 -0
  724. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_angle.png +0 -0
  725. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_angle.svg +0 -0
  726. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_beta_angle.png +0 -0
  727. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_beta_angle.svg +0 -0
  728. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_theta_angle.png +0 -0
  729. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/lamino_theta_angle.svg +0 -0
  730. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/manual_slice.png +0 -0
  731. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/manual_slice.svg +0 -0
  732. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/no_rot.svg +0 -0
  733. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/psi_angle.png +0 -0
  734. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/psi_angle.svg +0 -0
  735. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/rotation_center.png +0 -0
  736. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/rotation_center.svg +0 -0
  737. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/slice_stack.png +0 -0
  738. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/slice_stack.svg +0 -0
  739. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/xy_slice.png +0 -0
  740. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/xy_slice.svg +0 -0
  741. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/xz_slice.png +0 -0
  742. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/xz_slice.svg +0 -0
  743. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/yz_slice.png +0 -0
  744. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/resources/gui/illustrations/yz_slice.svg +0 -0
  745. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/__init__.py +0 -0
  746. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/axis.py +0 -0
  747. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/darkref.py +0 -0
  748. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/datalistener.py +0 -0
  749. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/datatransfert.py +0 -0
  750. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/imageloaderthread.py +0 -0
  751. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/rsyncmanager.py +0 -0
  752. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/saaxis.py +0 -0
  753. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/sadeltabeta.py +0 -0
  754. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/__init__.py +0 -0
  755. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/control/__init__.py +0 -0
  756. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/control/datalistener.py +0 -0
  757. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/edit/__init__.py +0 -0
  758. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/edit/darkflatpatch.py +0 -0
  759. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/edit/imagekeyeditor.py +0 -0
  760. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/processingstack.py +0 -0
  761. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/__init__.py +0 -0
  762. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/axis.py +0 -0
  763. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/castvolume.py +0 -0
  764. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/dkrefcopy.py +0 -0
  765. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/lamino.py +0 -0
  766. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/nabu.py +0 -0
  767. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/normalization.py +0 -0
  768. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/saaxis.py +0 -0
  769. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/stacks/reconstruction/sadeltabeta.py +0 -0
  770. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/test/__init__.py +0 -0
  771. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/test/test_darkRefs.py +0 -0
  772. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/test/test_foldertransfer.py +0 -0
  773. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/test/test_scanstages.py +0 -0
  774. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/utils/__init__.py +0 -0
  775. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/synctools/utils/scanstages.py +0 -0
  776. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/__init__.py +0 -0
  777. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/conftest.py +0 -0
  778. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/test_scripts.py +0 -0
  779. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/test_utils.py +0 -0
  780. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/utils/__init__.py +0 -0
  781. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/tests/utils/utilstest.py +0 -0
  782. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer/utils.py +0 -0
  783. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer.egg-info/SOURCES.txt +0 -0
  784. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer.egg-info/dependency_links.txt +0 -0
  785. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer.egg-info/entry_points.txt +0 -0
  786. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer.egg-info/namespace_packages.txt +0 -0
  787. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/tomwer.egg-info/requires.txt +0 -0
  788. {tomwer-1.2.0a2 → tomwer-1.2.0a3}/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.0a3
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")
@@ -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(
@@ -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"
@@ -160,15 +160,23 @@ class ReconstructionParameters(qt.QWidget):
160
160
  # voxel size can be stored as pixel size (old version) or voxel size (new version)
161
161
  recons_params = metadata.get("processing_options", {}).get("reconstruction", {})
162
162
  voxel_size_cm = recons_params.get("voxel_size_cm", None)
163
+
163
164
  # now voxel size is expected to be a tuple of three elements
164
165
  if voxel_size_cm is not None:
165
166
  voxel_size_cm = voxel_size_cm[0]
167
+ # FIXME: load_ini seems to fail to remove some char like '(' or ')'... to be fixed or investigate
168
+ # simplest might be to filter those when dumping it to text file... ??? or to handle those at silx level
169
+ if isinstance(voxel_size_cm, str):
170
+ for char_to_ignore in (" ", "(", ")", "[", "]"):
171
+ voxel_size_cm = voxel_size_cm.replace(char_to_ignore, "")
166
172
  else:
167
173
  # backward compatibility with old volume
168
174
  voxel_size_cm = recons_params.get("pixel_size_cm", None)
169
175
  if voxel_size_cm is not None:
170
176
  voxel_size_cm = f"{float(voxel_size_cm):.8}"
171
- self._pixelSizeQLE.setText(voxel_size_cm if voxel_size_cm is not None else "")
177
+ self._pixelSizeQLE.setText(
178
+ str(voxel_size_cm) if voxel_size_cm is not None else ""
179
+ )
172
180
 
173
181
  def _setCor(self, metadata: dict):
174
182
  cor = (
@@ -357,6 +357,8 @@ class VolumeViewer(qt.QMainWindow):
357
357
  self._set_volume(data)
358
358
  # set reconstruction parameters
359
359
  try:
360
+ # warning: limitation expected for .vol as it gets two configuration file. The default one is vol.info and does not contains
361
+ # any of the metadata 'distance', 'pixel size'... but it is here for backward compatiblity
360
362
  self._reconsWidget.setVolumeMetadata(
361
363
  volume.metadata or volume.load_metadata()
362
364
  )
@@ -79,7 +79,7 @@ MAJOR = 1
79
79
  MINOR = 2
80
80
  MICRO = 0
81
81
  RELEV = "alpha" # <16
82
- SERIAL = 2 # <16
82
+ SERIAL = 3 # <16
83
83
 
84
84
  date = __date__
85
85
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tomwer
3
- Version: 1.2.0a2
3
+ Version: 1.2.0a3
4
4
  Summary: "tomography workflow tools"
5
5
  Home-page: https://gitlab.esrf.fr/tomotools/tomwer
6
6
  Author: data analysis unit
File without changes
File without changes
File without changes