tomwer 2.0.1.dev0__tar.gz → 2.0.2__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 (995) hide show
  1. {tomwer-2.0.1.dev0/src/tomwer.egg-info → tomwer-2.0.2}/PKG-INFO +1 -1
  2. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/MultiCoROW.py +26 -0
  3. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +1 -1
  4. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/samplemoved.py +1 -1
  5. tomwer-2.0.2/src/tomwer/core/_typing.py +15 -0
  6. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/rawdataset.py +1 -1
  7. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/NabuBaseReconstructor.py +4 -2
  8. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/settings.py +2 -0
  9. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_nabu_utils.py +22 -9
  10. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/utils.py +19 -2
  11. tomwer-2.0.2/src/tomwer/core/reconstruction/cor/anglemode.py +115 -0
  12. tomwer-2.0.2/src/tomwer/core/reconstruction/cor/cor_resource.py +208 -0
  13. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/NabuSliceMode.py +11 -1
  14. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/SingleSliceRunner.py +4 -0
  15. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/SliceInterpreter.py +16 -3
  16. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/slices.py +11 -2
  17. tomwer-2.0.2/src/tomwer/core/reconstruction/tests/test_anglemode.py +200 -0
  18. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/volume.py +4 -0
  19. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/edfscan.py +11 -5
  20. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/nxtomoscan.py +114 -27
  21. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scanbase.py +10 -7
  22. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/test_utils.py +4 -4
  23. tomwer-2.0.2/src/tomwer/core/utils/_cache.py +18 -0
  24. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/image.py +32 -0
  25. tomwer-2.0.2/src/tomwer/core/utils/tests/test_image.py +88 -0
  26. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRWidget.py +17 -2
  27. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/ControlWidget.py +2 -2
  28. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/ManualFramesSelection.py +1 -1
  29. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/NabuSlicesWidget.py +0 -1
  30. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/illustrations.py +10 -7
  31. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/diffviewer.py +1 -1
  32. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/scanoverview.py +24 -8
  33. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/nabuvolume.py +9 -2
  34. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/version.py +2 -2
  35. {tomwer-2.0.1.dev0 → tomwer-2.0.2/src/tomwer.egg-info}/PKG-INFO +1 -1
  36. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/SOURCES.txt +2 -2
  37. tomwer-2.0.1.dev0/src/orangecontrib/tomwer/widgets/control/TomoObjSeriesOW.py +0 -58
  38. tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/cor/anglemode.py +0 -71
  39. tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/cor/cor_resource.py +0 -131
  40. tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/tests/test_anglemode.py +0 -121
  41. tomwer-2.0.1.dev0/src/tomwer/core/utils/tests/test_image.py +0 -30
  42. tomwer-2.0.1.dev0/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_tomoobj_series.py +0 -96
  43. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/LICENSE +0 -0
  44. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/README.rst +0 -0
  45. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/pyproject.toml +0 -0
  46. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/setup.cfg +0 -0
  47. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/__init__.py +0 -0
  48. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/__init__.py +0 -0
  49. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/ewoks_compatibility.py +0 -0
  50. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/managedprocess.py +0 -0
  51. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/settings.py +0 -0
  52. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetNoThread.py +0 -0
  53. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetOneThreadPerRun.py +0 -0
  54. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetWithStack.py +0 -0
  55. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/__init__.py +0 -0
  56. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/state_summary.py +0 -0
  57. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tests/TestAcquisition.py +0 -0
  58. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tests/__init__.py +0 -0
  59. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +0 -0
  60. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/__init__.py +0 -0
  61. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +0 -0
  62. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/cast_volume.ows +0 -0
  63. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/complete_on_the_fly.ows +0 -0
  64. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +0 -0
  65. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth2.ows +0 -0
  66. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/darks and flats copy - method 2.ows +0 -0
  67. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/default_cor_search.ows +0 -0
  68. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/drac_publication.ows +0 -0
  69. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/hello_world_python_script.ows +0 -0
  70. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +0 -0
  71. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +0 -0
  72. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +0 -0
  73. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/__init__.py +0 -0
  74. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/multipag_example.ows +0 -0
  75. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +0 -0
  76. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +0 -0
  77. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows +0 -0
  78. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +0 -0
  79. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/untitled.ows +0 -0
  80. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/using_multicor_to_find_cor.ows +0 -0
  81. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows +0 -0
  82. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/__init__.py +0 -0
  83. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/MonitorOW.py +0 -0
  84. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +0 -0
  85. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/__init__.py +0 -0
  86. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurm.png +0 -0
  87. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurm.svg +0 -0
  88. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.png +0 -0
  89. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.svg +0 -0
  90. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/tests/__init__.py +0 -0
  91. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/AdvancementOW.py +0 -0
  92. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/BlissDataListenerOW.py +0 -0
  93. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +0 -0
  94. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataSelectorOW.py +0 -0
  95. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataValidatorOW.py +0 -0
  96. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +0 -0
  97. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/FilterOW.py +0 -0
  98. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +0 -0
  99. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXTomomillOW.py +0 -0
  100. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +0 -0
  101. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +0 -0
  102. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/VolumeSelector.py +0 -0
  103. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/_BlissDataListenerQThread.py +0 -0
  104. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/__init__.py +0 -0
  105. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/_datalistener.py +0 -0
  106. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/advancement.png +0 -0
  107. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/advancement.svg +0 -0
  108. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/blissdata_listener.png +0 -0
  109. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/blissdata_listener.svg +0 -0
  110. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.png +0 -0
  111. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.svg +0 -0
  112. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
  113. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +0 -0
  114. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datalistener.png +0 -0
  115. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/edf2nx.png +0 -0
  116. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/edf2nx.svg +0 -0
  117. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/email.png +0 -0
  118. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/email.svg +0 -0
  119. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/esrf.png +0 -0
  120. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/image_key_upgrader.png +0 -0
  121. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/namefilter.png +0 -0
  122. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/namefilter.svg +0 -0
  123. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/notification.png +0 -0
  124. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/notification.svg +0 -0
  125. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
  126. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +0 -0
  127. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/progress.svg +0 -0
  128. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
  129. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +0 -0
  130. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanlist.svg +0 -0
  131. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanselector.png +0 -0
  132. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanselector.svg +0 -0
  133. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.png +0 -0
  134. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.svg +0 -0
  135. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/time.png +0 -0
  136. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomoobjseries.png +0 -0
  137. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomoobjseries.svg +0 -0
  138. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomwer.png +0 -0
  139. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/validator.png +0 -0
  140. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/validatorcrack.png +0 -0
  141. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumeselector.png +0 -0
  142. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumeselector.svg +0 -0
  143. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumesymlink.png +0 -0
  144. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumesymlink.svg +0 -0
  145. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/tests/__init__.py +0 -0
  146. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/PublishProcessedDataOW.py +0 -0
  147. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/__init__.py +0 -0
  148. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/icons/publish_processed_data.png +0 -0
  149. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/icons/publish_processed_data.svg +0 -0
  150. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +0 -0
  151. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +0 -0
  152. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/__init__.py +0 -0
  153. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/hammer.png +0 -0
  154. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/hammer.svg +0 -0
  155. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/inspector.png +0 -0
  156. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/inspector.svg +0 -0
  157. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/tests/__init__.py +0 -0
  158. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/VolumeviewerOW.py +0 -0
  159. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/__init__.py +0 -0
  160. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/_volume_viewer.py +0 -0
  161. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/icons/deprecated_volume_viewer.png +0 -0
  162. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/icons/deprecated_volume_viewer.svg +0 -0
  163. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +0 -0
  164. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +0 -0
  165. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +0 -0
  166. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +0 -0
  167. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/__init__.py +0 -0
  168. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.png +0 -0
  169. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.svg +0 -0
  170. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.png +0 -0
  171. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.svg +0 -0
  172. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.png +0 -0
  173. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.svg +0 -0
  174. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.png +0 -0
  175. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.svg +0 -0
  176. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/tests/__init__.py +0 -0
  177. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/deprecated.png +0 -0
  178. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer.png +0 -0
  179. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_build.png +0 -0
  180. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_build.svg +0 -0
  181. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_cluster.png +0 -0
  182. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_cluster.svg +0 -0
  183. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_control.png +0 -0
  184. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_control.svg +0 -0
  185. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_data_portal.png +0 -0
  186. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_data_portal.svg +0 -0
  187. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.png +0 -0
  188. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.svg +0 -0
  189. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_edit.png +0 -0
  190. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_edit.svg +0 -0
  191. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_other.png +0 -0
  192. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_other.svg +0 -0
  193. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_stitching.png +0 -0
  194. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_stitching.svg +0 -0
  195. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_visu.png +0 -0
  196. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_visu.svg +0 -0
  197. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/PythonScriptOW.py +0 -0
  198. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/TomoObjsHub.py +0 -0
  199. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/__init__.py +0 -0
  200. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/PythonScript.svg +0 -0
  201. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/hub.png +0 -0
  202. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/hub.svg +0 -0
  203. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/tests/__init__.py +0 -0
  204. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/BaseNabuRecOW.py +0 -0
  205. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +0 -0
  206. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CoROW.py +0 -0
  207. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/ComputeReduceDarkAndFlatOW.py +0 -0
  208. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CopyReducedDarkAndFlatOW.py +0 -0
  209. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/MultiPagOW.py +0 -0
  210. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuSettingsOW.py +0 -0
  211. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuSlicesOW.py +0 -0
  212. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +0 -0
  213. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/__init__.py +0 -0
  214. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/axis.png +0 -0
  215. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/axis.svg +0 -0
  216. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/bricks.png +0 -0
  217. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/compute_darkflat.png +0 -0
  218. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/compute_darkflat.svg +0 -0
  219. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/copy_darkflat.png +0 -0
  220. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/copy_darkflat.svg +0 -0
  221. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/darkflat.png +0 -0
  222. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/darkflat.svg +0 -0
  223. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.png +0 -0
  224. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.svg +0 -0
  225. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/esrf.png +0 -0
  226. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.png +0 -0
  227. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.svg +0 -0
  228. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.png +0 -0
  229. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.svg +0 -0
  230. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_settings.svg +0 -0
  231. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_slices.png +0 -0
  232. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_slices.svg +0 -0
  233. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_volume.png +0 -0
  234. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_volume.svg +0 -0
  235. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.png +0 -0
  236. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.svg +0 -0
  237. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.png +0 -0
  238. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.svg +0 -0
  239. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.png +0 -0
  240. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.svg +0 -0
  241. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.png +0 -0
  242. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.svg +0 -0
  243. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/tomogui.png +0 -0
  244. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/tomwer.png +0 -0
  245. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/tests/__init__.py +0 -0
  246. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/StitcherOW.py +0 -0
  247. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +0 -0
  248. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/__init__.py +0 -0
  249. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/tests/__init__.py +0 -0
  250. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/tests/__init__.py +0 -0
  251. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +0 -0
  252. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +0 -0
  253. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +0 -0
  254. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +0 -0
  255. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -0
  256. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +0 -0
  257. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +0 -0
  258. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/__init__.py +0 -0
  259. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/diff.png +0 -0
  260. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/diff.svg +0 -0
  261. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/esrf.png +0 -0
  262. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/eye.png +0 -0
  263. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/eyecrack.png +0 -0
  264. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.png +0 -0
  265. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.svg +0 -0
  266. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.png +0 -0
  267. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.svg +0 -0
  268. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.png +0 -0
  269. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.svg +0 -0
  270. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sinogramviewer.png +0 -0
  271. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.png +0 -0
  272. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.svg +0 -0
  273. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/tomwer.png +0 -0
  274. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.png +0 -0
  275. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg +0 -0
  276. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/tests/__init__.py +0 -0
  277. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/__init__.py +0 -0
  278. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/__main__.py +0 -0
  279. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/__init__.py +0 -0
  280. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas.py +0 -0
  281. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/__init__.py +0 -0
  282. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/config.py +0 -0
  283. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/environ.py +0 -0
  284. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/mainwindow.py +0 -0
  285. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/splash.py +0 -0
  286. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/utils.py +0 -0
  287. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/widgetsscheme.py +0 -0
  288. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/cast_volume.py +0 -0
  289. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/cor.py +0 -0
  290. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/diffframe.py +0 -0
  291. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/estimate_motion.py +0 -0
  292. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/imagekeyeditor.py +0 -0
  293. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/imagekeyupgrader.py +0 -0
  294. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/multicor.py +0 -0
  295. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/multipag.py +0 -0
  296. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/nabuapp.py +0 -0
  297. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/nxtomoeditor.py +0 -0
  298. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/patchrawdarkflat.py +0 -0
  299. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/radiostack.py +0 -0
  300. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/scanviewer.py +0 -0
  301. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/sinogramviewer.py +0 -0
  302. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/slicestack.py +0 -0
  303. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/stitching/__init__.py +0 -0
  304. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/stitching/common.py +0 -0
  305. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/volume_viewer.py +0 -0
  306. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/ystitching.py +0 -0
  307. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/zstitching.py +0 -0
  308. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/__init__.py +0 -0
  309. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/cluster/__init__.py +0 -0
  310. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/_DataListener.py +0 -0
  311. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/__init__.py +0 -0
  312. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/__init__.py +0 -0
  313. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/datawatcherobserver.py +0 -0
  314. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/datawatcherprocess.py +0 -0
  315. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/edfdwprocess.py +0 -0
  316. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/hdf5dwprocess.py +0 -0
  317. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/status.py +0 -0
  318. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/scanvalidator.py +0 -0
  319. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/__init__.py +0 -0
  320. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/binning.py +0 -0
  321. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/dracbase.py +0 -0
  322. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/gallery.py +0 -0
  323. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/output.py +0 -0
  324. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/processeddataset.py +0 -0
  325. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_gallery.py +0 -0
  326. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_icat_processed_dataset.py +0 -0
  327. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_icat_raw_dataset.py +0 -0
  328. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/futureobject.py +0 -0
  329. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/output.py +0 -0
  330. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/__init__.py +0 -0
  331. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/__init__.py +0 -0
  332. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/filter.py +0 -0
  333. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/method.py +0 -0
  334. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/mode.py +0 -0
  335. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/nabucommon.py +0 -0
  336. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/padding.py +0 -0
  337. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/phase.py +0 -0
  338. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/plane.py +0 -0
  339. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/ringcorrection.py +0 -0
  340. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/stages.py +0 -0
  341. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/target.py +0 -0
  342. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_NabuBaseReconstructor.py +0 -0
  343. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_slice_interpreter.py +0 -0
  344. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/__init__.py +0 -0
  345. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/exception.py +0 -0
  346. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/mode.py +0 -0
  347. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/projectiontype.py +0 -0
  348. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/side.py +0 -0
  349. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/darkflat/__init__.py +0 -0
  350. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/darkflat/settings.py +0 -0
  351. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/MultiBaseParams.py +0 -0
  352. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/__init__.py +0 -0
  353. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/__init__.py +0 -0
  354. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/multicor.py +0 -0
  355. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/params.py +0 -0
  356. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/__init__.py +0 -0
  357. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/multipag.py +0 -0
  358. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/params.py +0 -0
  359. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/reconstructions.py +0 -0
  360. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/ComputedScore.py +0 -0
  361. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/ScoreMethod.py +0 -0
  362. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/__init__.py +0 -0
  363. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/compute.py +0 -0
  364. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/utils.py +0 -0
  365. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/output.py +0 -0
  366. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/params_cache.py +0 -0
  367. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/paramsbase.py +0 -0
  368. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/__init__.py +0 -0
  369. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/__init__.py +0 -0
  370. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_axis_params.py +0 -0
  371. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_cor.py +0 -0
  372. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_params_cache.py +0 -0
  373. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_paramsbase.py +0 -0
  374. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_scores.py +0 -0
  375. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_utils.py +0 -0
  376. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/LastReceivedScansDict.py +0 -0
  377. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/__init__.py +0 -0
  378. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/cor.py +0 -0
  379. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/resourcemanager.py +0 -0
  380. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/__init__.py +0 -0
  381. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/blissscan.py +0 -0
  382. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scanfactory.py +0 -0
  383. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scantype.py +0 -0
  384. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/__init__.py +0 -0
  385. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_edf.py +0 -0
  386. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_future_scan.py +0 -0
  387. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_nxtomoscan.py +0 -0
  388. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_scan.py +0 -0
  389. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/settings.py +0 -0
  390. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/signal.py +0 -0
  391. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/__init__.py +0 -0
  392. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/test_scanutils.py +0 -0
  393. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tomwer_object.py +0 -0
  394. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/_Launcher.py +0 -0
  395. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/__init__.py +0 -0
  396. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/char.py +0 -0
  397. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/deprecation.py +0 -0
  398. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/dictutils.py +0 -0
  399. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/ewoks.py +0 -0
  400. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/ftseriesutils.py +0 -0
  401. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/gpu.py +0 -0
  402. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/normalization.py +0 -0
  403. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/nxtomoutils.py +0 -0
  404. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/resource.py +0 -0
  405. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/scanutils.py +0 -0
  406. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/slurm.py +0 -0
  407. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/spec.py +0 -0
  408. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/__init__.py +0 -0
  409. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_nxtomo.py +0 -0
  410. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_scan_utils.py +0 -0
  411. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_time.py +0 -0
  412. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/threads.py +0 -0
  413. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/time.py +0 -0
  414. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/volumeutils.py +0 -0
  415. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/__init__.py +0 -0
  416. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/edfvolume.py +0 -0
  417. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/hdf5volume.py +0 -0
  418. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/jp2kvolume.py +0 -0
  419. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/rawvolume.py +0 -0
  420. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/tests/test_volumes.py +0 -0
  421. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/tiffvolume.py +0 -0
  422. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/volumebase.py +0 -0
  423. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/volumefactory.py +0 -0
  424. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/__init__.py +0 -0
  425. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/_image_from_file.py +0 -0
  426. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/__init__.py +0 -0
  427. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/slurm.py +0 -0
  428. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/supervisor.py +0 -0
  429. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/__init__.py +0 -0
  430. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/test_cluster.py +0 -0
  431. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/test_supervisor.py +0 -0
  432. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/conditions/__init__.py +0 -0
  433. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/conditions/filter.py +0 -0
  434. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/__init__.py +0 -0
  435. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/action.py +0 -0
  436. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/level.py +0 -0
  437. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/__init__.py +0 -0
  438. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/_host.py +0 -0
  439. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/actions.py +0 -0
  440. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/DataDiscoveryWindow.py +0 -0
  441. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_ControlWidget.py +0 -0
  442. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_DataDiscoveryConfigWidget.py +0 -0
  443. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_MainWidget.py +0 -0
  444. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/__init__.py +0 -0
  445. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_observer.py +0 -0
  446. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datalist.py +0 -0
  447. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datalistener.py +0 -0
  448. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datareacheractions.py +0 -0
  449. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datavalidator.py +0 -0
  450. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/history.py +0 -0
  451. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/nxtomomill.py +0 -0
  452. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/observations.py +0 -0
  453. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/scanselectorwidget.py +0 -0
  454. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/selectorwidgetbase.py +0 -0
  455. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/__init__.py +0 -0
  456. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/nxtomoconcatenate.py +0 -0
  457. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/seriescreator.py +0 -0
  458. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/serieswaiter.py +0 -0
  459. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/test/test_creator.py +0 -0
  460. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/singletomoobj.py +0 -0
  461. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/__init__.py +0 -0
  462. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datadiscovery.py +0 -0
  463. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datalist.py +0 -0
  464. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datalistener.py +0 -0
  465. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datavalidator.py +0 -0
  466. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_inputwidget.py +0 -0
  467. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_scan_observations.py +0 -0
  468. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_scanselector.py +0 -0
  469. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_single_tomo_obj.py +0 -0
  470. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_volume_dialog.py +0 -0
  471. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_volumeselector.py +0 -0
  472. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tomoobjdisplaymode.py +0 -0
  473. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/volumeselectorwidget.py +0 -0
  474. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/__init__.py +0 -0
  475. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/createscreenshots.py +0 -0
  476. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/gallery.py +0 -0
  477. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/outputformat.py +0 -0
  478. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/publish.py +0 -0
  479. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/tests/test_create_screenshots_gui.py +0 -0
  480. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/tests/test_gallery_gui.py +0 -0
  481. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/__init__.py +0 -0
  482. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/datasetgenerator.py +0 -0
  483. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/objectinspector.py +0 -0
  484. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/QDataDialog.py +0 -0
  485. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/QVolumeDialog.py +0 -0
  486. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/__init__.py +0 -0
  487. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/__init__.py +0 -0
  488. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/dkrfpatch.py +0 -0
  489. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/imagekeyeditor.py +0 -0
  490. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/nxtomoeditor.py +0 -0
  491. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/nxtomowarmer.py +0 -0
  492. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/__init__.py +0 -0
  493. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_dkrf_patch.py +0 -0
  494. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_image_key_editor.py +0 -0
  495. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_nx_editor.py +0 -0
  496. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/fonts.py +0 -0
  497. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/icons.py +0 -0
  498. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/illustrations.py +0 -0
  499. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/metadataloader.py +0 -0
  500. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/qconfigfile.py +0 -0
  501. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/qlefilesystem.py +0 -0
  502. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/__init__.py +0 -0
  503. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CalculationWidget.py +0 -0
  504. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRMainWindow.py +0 -0
  505. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoROptionsWidget.py +0 -0
  506. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRSettingsWidget.py +0 -0
  507. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CompareImages.py +0 -0
  508. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/EstimatedCoRWidget.py +0 -0
  509. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/EstimatedCorComboBox.py +0 -0
  510. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/InputWidget.py +0 -0
  511. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/__init__.py +0 -0
  512. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/__init__.py +0 -0
  513. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/darkflatcopywidget.py +0 -0
  514. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/darkflatwidget.py +0 -0
  515. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/CoRScorePlot.py +0 -0
  516. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/MultiCoRTabWidget.py +0 -0
  517. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/MultiCoRWindow.py +0 -0
  518. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/NabuAutoCorDiag.py +0 -0
  519. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/QMultiCoRParams.py +0 -0
  520. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/__init__.py +0 -0
  521. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/corrangeselector.py +0 -0
  522. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/dimensionwidget.py +0 -0
  523. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/sliceselector.py +0 -0
  524. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/DBScorePlot.py +0 -0
  525. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagSelectionWidget.py +0 -0
  526. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagTabWidget.py +0 -0
  527. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagWindow.py +0 -0
  528. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/QMultiPagParams.py +0 -0
  529. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/__init__.py +0 -0
  530. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/__init__.py +0 -0
  531. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/CastVolumeWidget.py +0 -0
  532. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_HistogramLoader.py +0 -0
  533. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_HistogramWidget.py +0 -0
  534. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_SettingsWidget.py +0 -0
  535. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_SlicePreviewWidget.py +0 -0
  536. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/__init__.py +0 -0
  537. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_check.py +0 -0
  538. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/check.py +0 -0
  539. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/dialog.py +0 -0
  540. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/estimator/method.py +0 -0
  541. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/estimator/model.py +0 -0
  542. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/mainwindow.py +0 -0
  543. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plot_config.py +0 -0
  544. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plot_utils.py +0 -0
  545. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plots_widget.py +0 -0
  546. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/nabu_config_widget.py +0 -0
  547. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWidget.py +0 -0
  548. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWindow.py +0 -0
  549. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/__init__.py +0 -0
  550. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/base.py +0 -0
  551. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +0 -0
  552. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +0 -0
  553. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/output.py +0 -0
  554. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/paddingmode.py +0 -0
  555. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +0 -0
  556. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +0 -0
  557. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +0 -0
  558. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/stages.py +0 -0
  559. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/tests/__init__.py +0 -0
  560. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/tests/test_NabuSettingsWidget.py +0 -0
  561. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuflow.py +0 -0
  562. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/platform.py +0 -0
  563. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/NabuSlicesWindow.py +0 -0
  564. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/SliceGroupBox.py +0 -0
  565. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/tests/test_NabuSlicesWidget.py +0 -0
  566. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_cast_volume.py +0 -0
  567. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_check.py +0 -0
  568. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_ctf.py +0 -0
  569. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_delta_beta_selector.py +0 -0
  570. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_nabu_preprocessing.py +0 -0
  571. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_volume.py +0 -0
  572. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/DeltaBetaSelector.py +0 -0
  573. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/DeltaBetaSelectorDialog.py +0 -0
  574. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/NabuVolumeWidget.py +0 -0
  575. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/NabuVolumeWindow.py +0 -0
  576. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/SliceSelector.py +0 -0
  577. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/__init__.py +0 -0
  578. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/__init__.py +0 -0
  579. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/actions/_ScoresPlotAction.py +0 -0
  580. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/actions/__init__.py +0 -0
  581. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/control.py +0 -0
  582. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/scoreplot.py +0 -0
  583. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/__init__.py +0 -0
  584. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_axis.py +0 -0
  585. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_multicor.py +0 -0
  586. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_multipag.py +0 -0
  587. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_nabu.py +0 -0
  588. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/samplemoved/__init__.py +0 -0
  589. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/samplemoved/selectiontable.py +0 -0
  590. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/settings.py +0 -0
  591. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stackplot.py +0 -0
  592. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stacks.py +0 -0
  593. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/SingleAxisStitchingWidget.py +0 -0
  594. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/StitchingOptionsWidget.py +0 -0
  595. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/StitchingWindow.py +0 -0
  596. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/__init__.py +0 -0
  597. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/action.py +0 -0
  598. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/alignment.py +0 -0
  599. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/axisorderedlist.py +0 -0
  600. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/_QSpinBox.py +0 -0
  601. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/__init__.py +0 -0
  602. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/_linkInfo.py +0 -0
  603. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/axisparams.py +0 -0
  604. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/output.py +0 -0
  605. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/positionoveraxis.py +0 -0
  606. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/stitchingstrategies.py +0 -0
  607. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/tests/test_axisparams.py +0 -0
  608. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/tomoobjdetails.py +0 -0
  609. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/metadataholder.py +0 -0
  610. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/normalization.py +0 -0
  611. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/preview.py +0 -0
  612. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/singleaxis.py +0 -0
  613. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitchandbackground.py +0 -0
  614. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitching_preview.py +0 -0
  615. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitching_raw.py +0 -0
  616. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_ZStitchingWindow.py +0 -0
  617. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_axis_ordered_list.py +0 -0
  618. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_normalization.py +0 -0
  619. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_preview.py +0 -0
  620. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_stitching_raw.py +0 -0
  621. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/utils.py +0 -0
  622. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/utils.py +0 -0
  623. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/__init__.py +0 -0
  624. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/fineestimation.py +0 -0
  625. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_fine_estimation.py +0 -0
  626. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_raw_estimation.py +0 -0
  627. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_stitching_window.py +0 -0
  628. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/__init__.py +0 -0
  629. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/test_cor_gui.py +0 -0
  630. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/test_qfolder_dialog.py +0 -0
  631. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/utils.py +0 -0
  632. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/HDF5DatasetSelector.py +0 -0
  633. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/RangeWidget.py +0 -0
  634. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_ProcessingOverlay.py +0 -0
  635. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/__init__.py +0 -0
  636. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_outputdir.py +0 -0
  637. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_warning.py +0 -0
  638. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/buttons.py +0 -0
  639. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/completer.py +0 -0
  640. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/flow.py +0 -0
  641. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/gpu.py +0 -0
  642. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/host_editor.py +0 -0
  643. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/inputwidget.py +0 -0
  644. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/lineselector/__init__.py +0 -0
  645. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/lineselector/lineselector.py +0 -0
  646. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/loadingmode.py +0 -0
  647. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/locale.py +0 -0
  648. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/qt_utils.py +0 -0
  649. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/reconstruction.py +0 -0
  650. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/sandboxes.py +0 -0
  651. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/scandescription.py +0 -0
  652. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/scrollarea.py +0 -0
  653. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/slice_selector.py +0 -0
  654. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/slider.py +0 -0
  655. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/splashscreen.py +0 -0
  656. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/step.py +0 -0
  657. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_completer.py +0 -0
  658. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_host_editor.py +0 -0
  659. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_line_selector.py +0 -0
  660. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_splashscreen.py +0 -0
  661. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_vignettes.py +0 -0
  662. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/unitsystem.py +0 -0
  663. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/utils.py +0 -0
  664. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/validators.py +0 -0
  665. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/vignettes.py +0 -0
  666. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/TomoPlot2D.py +0 -0
  667. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/__init__.py +0 -0
  668. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/dataviewer.py +0 -0
  669. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/__init__.py +0 -0
  670. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/frametype.py +0 -0
  671. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/shiftwidget.py +0 -0
  672. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/displaymode.py +0 -0
  673. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/fullscreenplot.py +0 -0
  674. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/imagestack.py +0 -0
  675. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/nxtomometadata.py +0 -0
  676. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/radiomode.py +0 -0
  677. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/reconstructionparameters.py +0 -0
  678. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/sinogramviewer.py +0 -0
  679. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/slicemode.py +0 -0
  680. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/__init__.py +0 -0
  681. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_dataviewer.py +0 -0
  682. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_diffviewer.py +0 -0
  683. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -0
  684. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_reconstruction_parameters.py +0 -0
  685. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_sinogramviewer.py +0 -0
  686. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_stacks.py +0 -0
  687. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/tomoobjoverview.py +0 -0
  688. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/CoordinateSystemOverlay.py +0 -0
  689. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/GeometryOrMetadataWidget.py +0 -0
  690. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/VolumeViewerWidget.py +0 -0
  691. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/VolumeViewerWindow.py +0 -0
  692. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_CrossHairs.py +0 -0
  693. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_HorizontalSliderWithBrowser.py +0 -0
  694. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_ReconstructionParameters.py +0 -0
  695. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_SliceLoader.py +0 -0
  696. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_TomoPlot2DSlices.py +0 -0
  697. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/__init__.py +0 -0
  698. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ColorBarAction.py +0 -0
  699. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_OpenGLAction.py +0 -0
  700. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowAxesAction.py +0 -0
  701. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCoordinateSystemAction.py +0 -0
  702. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCoordinateSystemLabelAction.py +0 -0
  703. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCrosshairsAction.py +0 -0
  704. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowPlotToolBarAction.py +0 -0
  705. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/__init__.py +0 -0
  706. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/tests/__init__.py +0 -0
  707. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/tests/test_VolumeViewer.py +0 -0
  708. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/toolbar.py +0 -0
  709. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volumeoverview.py +0 -0
  710. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volumeviewer.py +0 -0
  711. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/__init__.py +0 -0
  712. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/processlog.py +0 -0
  713. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/__init__.py +0 -0
  714. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/h5pyutils.py +0 -0
  715. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/raw_and_processed_data.py +0 -0
  716. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/test/test_raw_and_processed_data.py +0 -0
  717. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/test/test_utils.py +0 -0
  718. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/tomoobj.py +0 -0
  719. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/utils.py +0 -0
  720. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/__init__.py +0 -0
  721. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/__init__.py +0 -0
  722. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/data.py +0 -0
  723. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/process.py +0 -0
  724. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/tomoobj.py +0 -0
  725. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/volume.py +0 -0
  726. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/__init__.py +0 -0
  727. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/future_supervisor.py +0 -0
  728. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/slurm_cluster.py +0 -0
  729. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/conditions/__init__.py +0 -0
  730. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/conditions/filters.py +0 -0
  731. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/__init__.py +0 -0
  732. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/datadiscovery.py +0 -0
  733. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/scanselector.py +0 -0
  734. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/singletomoobj.py +0 -0
  735. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/volumeselector.py +0 -0
  736. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/dataportal/__init__.py +0 -0
  737. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/dataportal/publish.py +0 -0
  738. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/__init__.py +0 -0
  739. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/dark_flat_patch.py +0 -0
  740. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/imagekey_editor.py +0 -0
  741. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/imagekey_upgrader.py +0 -0
  742. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/field_validators/__init__.py +0 -0
  743. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/field_validators/cluster_config.py +0 -0
  744. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/__init__.py +0 -0
  745. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/cast_volume.py +0 -0
  746. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/compute_dark_flat.py +0 -0
  747. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/copy_reduced_frames.py +0 -0
  748. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/cor.py +0 -0
  749. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/estimate_motion_io.py +0 -0
  750. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/multicor.py +0 -0
  751. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/multipag.py +0 -0
  752. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_settings.py +0 -0
  753. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_slices.py +0 -0
  754. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_volume.py +0 -0
  755. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/reduced_frames.py +0 -0
  756. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/__init__.py +0 -0
  757. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/dataviewer.py +0 -0
  758. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/volume_viewer.py +0 -0
  759. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/__init__.py +0 -0
  760. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_XY.png +0 -0
  761. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_XZ.png +0 -0
  762. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_YZ.png +0 -0
  763. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/Imagej_icon.png +0 -0
  764. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/advanced_user.png +0 -0
  765. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/advanced_user.svg +0 -0
  766. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/axis.png +0 -0
  767. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/axis.svg +0 -0
  768. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/background.png +0 -0
  769. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/background.svg +0 -0
  770. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/basic_user.png +0 -0
  771. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/basic_user.svg +0 -0
  772. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_active.png +0 -0
  773. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_active.svg +0 -0
  774. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_inactive.png +0 -0
  775. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_inactive.svg +0 -0
  776. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/compare_mode_a_minus_b.png +0 -0
  777. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/compare_mode_a_minus_b.svg +0 -0
  778. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/crosshairs.png +0 -0
  779. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/crosshairs.svg +0 -0
  780. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_activate.png +0 -0
  781. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_activate.svg +0 -0
  782. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_deactivate.png +0 -0
  783. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_deactivate.svg +0 -0
  784. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/delta_beta.png +0 -0
  785. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/delta_beta.svg +0 -0
  786. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/edit_downstream.svg +0 -0
  787. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/edit_upstream.svg +0 -0
  788. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_XY.png +0 -0
  789. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_XZ.png +0 -0
  790. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_YZ.png +0 -0
  791. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/free_edition.svg +0 -0
  792. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/health.png +0 -0
  793. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/health.svg +0 -0
  794. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/hide_3D_coordinate_system.png +0 -0
  795. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/hourglass.npy +0 -0
  796. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/icat_gallery_opts.png +0 -0
  797. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/icat_gallery_opts.svg +0 -0
  798. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/imageNotFound.npy +0 -0
  799. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/input.png +0 -0
  800. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/input.svg +0 -0
  801. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/list_selection.png +0 -0
  802. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/list_selection.svg +0 -0
  803. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/log.png +0 -0
  804. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/log.svg +0 -0
  805. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/lr_mirroring.png +0 -0
  806. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/lr_mirroring.svg +0 -0
  807. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/minimalistic_user.png +0 -0
  808. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/minimalistic_user.svg +0 -0
  809. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/multi-document-save.png +0 -0
  810. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/multi-document-save.svg +0 -0
  811. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/nabu.png +0 -0
  812. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/nabu.svg +0 -0
  813. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/output.png +0 -0
  814. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/output.svg +0 -0
  815. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/parameters.png +0 -0
  816. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/parameters.svg +0 -0
  817. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xleft.png +0 -0
  818. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xleft.svg +0 -0
  819. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xright.png +0 -0
  820. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xright.svg +0 -0
  821. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/range_selection.png +0 -0
  822. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/range_selection.svg +0 -0
  823. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/red_dot.svg +0 -0
  824. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/reset_3D_coordinate_system.png +0 -0
  825. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/results.png +0 -0
  826. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/results.svg +0 -0
  827. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/short_description.png +0 -0
  828. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/short_description.svg +0 -0
  829. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_3D_coordinate_system.png +0 -0
  830. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_coordinate_system_label.svg +0 -0
  831. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_plot_toolbars.svg +0 -0
  832. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/single_selection.png +0 -0
  833. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/single_selection.svg +0 -0
  834. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/sinogram.png +0 -0
  835. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm.svg +0 -0
  836. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_active.png +0 -0
  837. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_active.svg +0 -0
  838. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_deactive.png +0 -0
  839. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_deactive.svg +0 -0
  840. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRaw.png +0 -0
  841. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRaw.svg +0 -0
  842. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRefine.png +0 -0
  843. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRefine.svg +0 -0
  844. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/tomwer.png +0 -0
  845. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/tomwer_large.png +0 -0
  846. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/ud_mirroring.png +0 -0
  847. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/ud_mirroring.svg +0 -0
  848. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/unsharp_mask.png +0 -0
  849. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/update_stitching_preview.svg +0 -0
  850. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/url.png +0 -0
  851. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/url.svg +0 -0
  852. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/vignettes.png +0 -0
  853. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/vignettes.svg +0 -0
  854. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/3D_coordinate_system.png +0 -0
  855. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/3D_coordinate_system.svg +0 -0
  856. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/ctf_z1.png +0 -0
  857. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/ctf_z1.svg +0 -0
  858. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_down.png +0 -0
  859. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_down.svg +0 -0
  860. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_right.png +0 -0
  861. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_right.svg +0 -0
  862. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/modelization_sample_stage.png +0 -0
  863. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/no_rot.svg +0 -0
  864. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/video.py +0 -0
  865. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/__init__.py +0 -0
  866. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/__init__.py +0 -0
  867. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/processingstack.py +0 -0
  868. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/__init__.py +0 -0
  869. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/cor.py +0 -0
  870. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/nabu.py +0 -0
  871. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/__init__.py +0 -0
  872. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/cluster/__init__.py +0 -0
  873. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/cluster/supervisor.py +0 -0
  874. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/conditions/__init__.py +0 -0
  875. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/conditions/filters.py +0 -0
  876. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/__init__.py +0 -0
  877. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/datadiscovery.py +0 -0
  878. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/datawatcher.py +0 -0
  879. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/emailnotifier.py +0 -0
  880. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/nxtomoconcatenate.py +0 -0
  881. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/nxtomomill.py +0 -0
  882. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanlist.py +0 -0
  883. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanselector.py +0 -0
  884. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanvalidator.py +0 -0
  885. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/singletomoobj.py +0 -0
  886. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/__init__.py +0 -0
  887. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_concatenate_nxtomos.py +0 -0
  888. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_conditions.py +0 -0
  889. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_email.py +0 -0
  890. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_h52nx_process.py +0 -0
  891. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tomoobjseries.py +0 -0
  892. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/volumeselector.py +0 -0
  893. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/dataportal/__init__.py +0 -0
  894. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/dataportal/publish.py +0 -0
  895. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/__init__.py +0 -0
  896. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/darkflatpatch.py +0 -0
  897. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/imagekey_upgrader.py +0 -0
  898. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/imagekeyeditor.py +0 -0
  899. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/nxtomoeditor.py +0 -0
  900. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/tests/test_darkflatpatch.py +0 -0
  901. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/tests/test_imagekey_editor.py +0 -0
  902. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/__init__.py +0 -0
  903. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/castvolume.py +0 -0
  904. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/config.py +0 -0
  905. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/copydarkflat.py +0 -0
  906. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/cor.py +0 -0
  907. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/estimate_motion.py +0 -0
  908. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/multicor.py +0 -0
  909. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/multipag.py +0 -0
  910. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/reducedarkflat.py +0 -0
  911. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/slices.py +0 -0
  912. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_castvolume.py +0 -0
  913. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_dark_and_flat.py +0 -0
  914. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_darkflat_copy.py +0 -0
  915. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_multipag.py +0 -0
  916. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu.py +0 -0
  917. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu_estimate_motion.py +0 -0
  918. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu_multicor.py +0 -0
  919. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/__init__.py +0 -0
  920. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/python.py +0 -0
  921. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/tests/test_script.py +0 -0
  922. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/__init__.py +0 -0
  923. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/metadataholder.py +0 -0
  924. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/nabustitcher.py +0 -0
  925. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/tests/test_metadataholder.py +0 -0
  926. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/task.py +0 -0
  927. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/__init__.py +0 -0
  928. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/dataviewer.py +0 -0
  929. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/diffviewer.py +0 -0
  930. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/imagestackviewer.py +0 -0
  931. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/radiostack.py +0 -0
  932. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/samplemoved.py +0 -0
  933. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/sinogramviewer.py +0 -0
  934. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/slicestack.py +0 -0
  935. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_diff_viewer.py +0 -0
  936. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_image_stack_viewer.py +0 -0
  937. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_radio_stack.py +0 -0
  938. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_sample_moved.py +0 -0
  939. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_sinogram_viewer.py +0 -0
  940. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_slice_stack.py +0 -0
  941. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/volume_viewer.py +0 -0
  942. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/volumeviewer.py +0 -0
  943. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/__init__.py +0 -0
  944. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/app/test_stitching.py +0 -0
  945. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/conftest.py +0 -0
  946. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/datasets.py +0 -0
  947. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_monitor_ow.py +0 -0
  948. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +0 -0
  949. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_advancement.py +0 -0
  950. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_data_validator.py +0 -0
  951. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datadiscovery.py +0 -0
  952. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_dataselector.py +0 -0
  953. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomomill.py +0 -0
  954. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_singletomoobj.py +0 -0
  955. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_volume_selector.py +0 -0
  956. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_dataset_generator.py +0 -0
  957. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_object_inspector.py +0 -0
  958. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_dark_flat_patch.py +0 -0
  959. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_editor.py +0 -0
  960. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_upgrader.py +0 -0
  961. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_nxtomo_editor.py +0 -0
  962. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/other/tests/test_pythonscript.py +0 -0
  963. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py +0 -0
  964. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_copy_reduced_dark_flat_widget.py +0 -0
  965. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cor.py +0 -0
  966. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multicor.py +0 -0
  967. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multipag.py +0 -0
  968. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_slices.py +0 -0
  969. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_volume.py +0 -0
  970. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/stitching/tests/test_zstitching.py +0 -0
  971. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/test_conditions.py +0 -0
  972. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/test_darkflat.py +0 -0
  973. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_dataviewerow.py +0 -0
  974. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_diffviewerow.py +0 -0
  975. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_nxtomo_metadata_viewer.py +0 -0
  976. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_radio_stackow.py +0 -0
  977. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sample_movedow.py +0 -0
  978. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sinogram_viewerow.py +0 -0
  979. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_slice_stackow.py +0 -0
  980. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewerow.py +0 -0
  981. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/tasks/visualization/test_volume_viewer.py +0 -0
  982. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_conversion.py +0 -0
  983. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_single_node_execution.py +0 -0
  984. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_workflows.py +0 -0
  985. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_scripts.py +0 -0
  986. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/utils.py +0 -0
  987. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/FrameBrowser.py +0 -0
  988. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/OverlayMixIn.py +0 -0
  989. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/qitem_model_resetter.py +0 -0
  990. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/dependency_links.txt +0 -0
  991. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/entry_points.txt +0 -0
  992. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/pkg_info +0 -0
  993. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/requires.txt +0 -0
  994. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/sources.txt +0 -0
  995. {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tomwer
3
- Version: 2.0.1.dev0
3
+ Version: 2.0.2
4
4
  Summary: Tomography workflow tools
5
5
  Author-email: Henri Payno <henri.payno@esrf.fr>, Pierre Paleo <pierre.paleo@esrf.fr>, Pierre-Olivier Autran <pierre-olivier.autran@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>
6
6
  License: MIT
@@ -208,6 +208,9 @@ class MultiCoROW(
208
208
  """
209
209
  if scan is None:
210
210
  return
211
+ if not _check_helical(scan=scan, process=self):
212
+ return
213
+
211
214
  if scan.cor_params is None:
212
215
  scan.cor_params = CoRParams()
213
216
  if scan.multicor_params is None:
@@ -446,3 +449,26 @@ class MultiCoROW(
446
449
  The overwrite of `handleNewSignals` is to make sure we won't trigger one extra time the widget.
447
450
  """
448
451
  pass
452
+
453
+
454
+ def _check_helical(scan: TomwerScanBase, process: MultiCoROW) -> bool:
455
+ if not scan._is_helical():
456
+ return True
457
+
458
+ error_msg = (
459
+ f"scan {scan} is a helical scan. Multi-cor doesn't work with helical scans."
460
+ )
461
+ _logger.error(error_msg)
462
+
463
+ msg = qt.QMessageBox(process)
464
+ msg.setIcon(qt.QMessageBox.Warning)
465
+ msg.setText(error_msg)
466
+ msg.show()
467
+
468
+ ProcessManager().notify_dataset_state(
469
+ dataset=scan,
470
+ process=process,
471
+ details=error_msg,
472
+ state=DatasetState.FAILED,
473
+ )
474
+ return False
@@ -75,7 +75,7 @@ class SampleMovedOW(widget.OWBaseWidget, openclass=True):
75
75
  assert isinstance(scan, TomwerScanBase)
76
76
  if os.path.isdir(scan.path):
77
77
  self._scanNameQLabel.setText(os.path.basename(scan.path))
78
- rawSlices = scan.get_proj_angle_url()
78
+ rawSlices = dict(scan.get_proj_angle_url())
79
79
 
80
80
  self._mainWidget.clearOnLoadActions()
81
81
  self._mainWidget.setImages(rawSlices)
@@ -82,7 +82,7 @@ def main(argv):
82
82
  options.scan_path = options.scan_path.rstrip(os.path.sep)
83
83
 
84
84
  scan = ScanFactory.create_scan_object(options.scan_path, options.entry)
85
- rawSlices = scan.get_proj_angle_url()
85
+ rawSlices = dict(scan.get_proj_angle_url())
86
86
  widget.setImages(rawSlices)
87
87
  # TODO: set back the flat field correction
88
88
  splash.finish(widget)
@@ -0,0 +1,15 @@
1
+ from __future__ import annotations
2
+
3
+ from pint import Quantity
4
+
5
+ from typing import Any, TypeAlias
6
+ from numpy.typing import NDArray
7
+
8
+ ImageType: TypeAlias = NDArray[Any]
9
+ PixelQuantity: TypeAlias = Quantity
10
+
11
+ Position: TypeAlias = tuple[float | None, float | None, float | None]
12
+ """(z, y, x) translation in meter. Any element is None if unresolved / not provided by the scan."""
13
+
14
+ PositionInPixel: TypeAlias = tuple[int | None, int | None, int | None]
15
+ """(z, y, x) translation in pixel. Any element is None if unresolved / not provided by the scan."""
@@ -85,7 +85,7 @@ class DracRawDataset(DracDatasetBase):
85
85
  if self.raw_flats_required and len(scan.flats) > 0:
86
86
  data_to_save["flat"] = next(iter(scan.flats.values()))
87
87
  if self.raw_projections_required:
88
- projections = scan.projections_with_angle()
88
+ projections = dict(scan.projections_with_angle())
89
89
  picked_angles = DracRawDataset.select_angles(
90
90
  angles_list=sorted(projections.keys()),
91
91
  each_angle=self.raw_projections_each,
@@ -62,6 +62,8 @@ class NabuBaseReconstructor:
62
62
 
63
63
  EXPECTS_SINGLE_SLICE = True
64
64
 
65
+ _NABU_PROCESS_PYTHON_MODULE = settings.NABU_FULL_FIELD_APP_PATH
66
+
65
67
  def __init__(
66
68
  self,
67
69
  scan: TomwerScanBase,
@@ -229,7 +231,7 @@ class NabuBaseReconstructor:
229
231
  command = (
230
232
  sys.executable,
231
233
  "-m",
232
- settings.NABU_FULL_FIELD_APP_PATH,
234
+ self._NABU_PROCESS_PYTHON_MODULE,
233
235
  f"{shlex.quote(conf_file)}", # adding ' around file name allows to handle config file with spaces
234
236
  "--logfile",
235
237
  f"{shlex.quote(log_file)}",
@@ -326,7 +328,7 @@ class NabuBaseReconstructor:
326
328
  job = SBatchScriptJob(
327
329
  slurm_config=cluster_config,
328
330
  script=(
329
- f"python3 -m {settings.NABU_FULL_FIELD_APP_PATH} '{conf_file}' --logfile='{log_file}' --gpu_mem_fraction={gpu_mem_fraction} --cpu_mem_fraction={cpu_mem_fraction}",
331
+ f"python3 -m {self._NABU_PROCESS_PYTHON_MODULE} '{conf_file}' --logfile='{log_file}' --gpu_mem_fraction={gpu_mem_fraction} --cpu_mem_fraction={cpu_mem_fraction}",
330
332
  ),
331
333
  script_path=filter_esrf_mounting_points(
332
334
  os.path.join(self.scan.resolved_path, "slurm_scripts", script_name)
@@ -16,6 +16,8 @@ NABU_TOMWER_SERVING_HATCH = "nabu_tomwer_serving_hatch.h5"
16
16
 
17
17
  NABU_FULL_FIELD_APP_PATH = "nabu.app.reconstruct"
18
18
 
19
+ NABU_HELICAL_APP_PATH = "nabu.app.reconstruct_helical"
20
+
19
21
  NABU_CAST_APP_PATH = "nabu.app.cast_volume"
20
22
 
21
23
  NABU_MULTICOR_PATH = "nabu.app.multicor"
@@ -9,6 +9,7 @@ from tomwer.core.reconstruction.common.utils import (
9
9
  )
10
10
  from tomwer.core.scan.edfscan import EDFTomoScan
11
11
  from tomwer.core.scan.nxtomoscan import NXtomoScan
12
+ from tomwer.core.utils.scanutils import MockNXtomo
12
13
 
13
14
  from tomwer.core.volume.edfvolume import EDFVolume
14
15
  from tomwer.core.volume.hdf5volume import HDF5Volume
@@ -16,16 +17,29 @@ from tomwer.core.reconstruction.common.utils import (
16
17
  get_default_output_volume_for_tiff_3d,
17
18
  )
18
19
 
19
- _scans = (
20
- NXtomoScan(
21
- scan="/my_scan_file.nx",
22
- entry="entry_test",
23
- ),
24
- EDFTomoScan("/my_scan_folder"),
25
- )
20
+
21
+ @pytest.fixture(params=("nx", "edf"))
22
+ def scan(request, tmp_path):
23
+ """
24
+ provide a scan backed by a real file / folder so properties requiring
25
+ file access (like dim_2 or _is_helical, which needs a z translation) can be resolved.
26
+ """
27
+ if request.param == "nx":
28
+ return MockNXtomo(
29
+ scan_path=str(tmp_path / "nx_scan"),
30
+ n_ini_proj=2,
31
+ n_proj=2,
32
+ n_alignement_proj=0,
33
+ create_final_flat=False,
34
+ create_ini_dark=True,
35
+ create_ini_flat=True,
36
+ n_refs=1,
37
+ dim=2048,
38
+ ).scan
39
+ else:
40
+ return EDFTomoScan(str(tmp_path / "my_scan_folder"))
26
41
 
27
42
 
28
- @pytest.mark.parametrize("scan", _scans)
29
43
  @pytest.mark.parametrize("axis", ("YZ", "XZ", "XY"))
30
44
  def test_get_recons_volume_identifier(scan, axis, tmp_path):
31
45
  """
@@ -101,7 +115,6 @@ def test_get_recons_volume_identifier(scan, axis, tmp_path):
101
115
  )
102
116
 
103
117
 
104
- @pytest.mark.parametrize("scan", _scans)
105
118
  def test_get_multi_cor_recons_volume_identifier(scan):
106
119
  """
107
120
  test the get_multi_cor_recons_volume_identifier function
@@ -244,6 +244,8 @@ def nabu_std_err_has_error(errs: bytes | None):
244
244
  or "Remark: The" in line
245
245
  or "int x_stop_other = other_x_range.y;" in line
246
246
  or "int y_stop_other = other_y_range.y;" in line
247
+ or "------------------" in line
248
+ or "Helical reconstruction is a PROTOTYPE" in line
247
249
  )
248
250
 
249
251
  if errs is None:
@@ -251,7 +253,6 @@ def nabu_std_err_has_error(errs: bytes | None):
251
253
  else:
252
254
  for line in errs.decode("UTF-8").split("\n"):
253
255
  if not ignore(line):
254
- print("\n\nline is", line)
255
256
  return True
256
257
  return False
257
258
 
@@ -272,6 +273,13 @@ def slice_index_to_int(
272
273
  # backward compatibility in the case the scan is not provided. Should not happen anymore
273
274
  _logger.warning("Scan not provided. Consider the 2048 width detector")
274
275
  return 2047
276
+ elif scan._is_helical():
277
+ z_pixel_range = scan._projections_z_pixel_range()
278
+ if z_pixel_range is None:
279
+ _logger.error("Unable to determine z pixel range. Define a default one")
280
+ return 2047
281
+ z_height_covered_by_helice = z_pixel_range[1] - z_pixel_range[0]
282
+ return z_height_covered_by_helice + scan.dim_2 - 1
275
283
  elif scan.dim_2 is not None:
276
284
  return scan.dim_2 - 1
277
285
  else:
@@ -286,7 +294,16 @@ def slice_index_to_int(
286
294
  # default middle.
287
295
  return 1024
288
296
  elif axis is NabuPlane.XY:
289
- if scan.dim_2 is None:
297
+ if scan._is_helical():
298
+ z_pixel_range = scan._projections_z_pixel_range()
299
+ if z_pixel_range is None:
300
+ _logger.error(
301
+ "Unable to determine z pixel range. Define a default one"
302
+ )
303
+ return 1024
304
+
305
+ return (z_pixel_range[1] - z_pixel_range[0]) // 2
306
+ elif scan.dim_2 is None:
290
307
  _logger.warning("unable to get dim size, guess this is 2048 height")
291
308
  return 1024
292
309
  else:
@@ -0,0 +1,115 @@
1
+ from __future__ import annotations
2
+
3
+ import numpy
4
+ from enum import Enum as _Enum
5
+ from tomwer.core.reconstruction.cor.cor_resource import (
6
+ CoRResource,
7
+ )
8
+ import logging
9
+ from silx.io.url import DataUrl
10
+
11
+ _logger = logging.getLogger(__name__)
12
+
13
+
14
+ class CoRAngleMode(_Enum):
15
+ """Existing modes for computing the Center of Rotation (CoR)"""
16
+
17
+ use_0_180 = "0-180"
18
+ use_90_270 = "90-270"
19
+ manual_selection = "manual"
20
+
21
+
22
+ def find_angles_pair(
23
+ mode: CoRAngleMode,
24
+ projection_angles: list[tuple[float, DataUrl]],
25
+ is_helical: bool = False,
26
+ ) -> tuple[CoRResource | None, CoRResource | None]:
27
+ """
28
+ Find a pair of opposite projections for CoR computation.
29
+
30
+ :param mode: Angle selection mode. Either a `CorAngleMode` or a value convertible to it.
31
+ :param projection_angles: List of (projection angle in degrees, corresponding data URL) pairs.
32
+ :param is_helical: If True, `projection_angles` can contain several projections sharing the
33
+ same angle modulo 360 (unwrapped angles spanning several turns). In that case the
34
+ projection closest to the middle of the full (unwrapped) angular range is preferred.
35
+
36
+ :return: The two selected projections as `CoRResource` instances, or `(None, None)` if no suitable pair can be found.
37
+ """
38
+ mode = CoRAngleMode(mode)
39
+
40
+ urls_by_angle = dict(projection_angles)
41
+ angles = numpy.array(tuple(urls_by_angle.keys()))
42
+
43
+ if len(angles) < 2:
44
+ _logger.warning("less than two angles found. Unable to get opposite angles")
45
+ return None, None
46
+
47
+ def mod_angle(value):
48
+ return value % 360
49
+
50
+ initial_angle = mod_angle(angles[0])
51
+ if is_helical:
52
+ # find the angle closest to the middle of the full angular range
53
+ # Note: angles are expected to be in degrees, and already unwrap
54
+ initial_angle = pick_angle_in_middle_range(angles, initial_angle)
55
+ # restrict the search to angles within 200 degree of the selected
56
+ # reference, to avoid matching the same (mod 360) angle from a much
57
+ # farther turn.
58
+ # Note: initially we were considering filtering by the z value
59
+ # and keep only projections that cover a part of the z covered by the original frame.
60
+ # but this is simpler and more robust, and should work in all cases.
61
+ angles_range_epsilon = 10.0 # degrees
62
+ angles_range_threshold = 180.0 + angles_range_epsilon
63
+ angles = angles[numpy.abs(angles - initial_angle) <= angles_range_threshold]
64
+
65
+ if mode in (CoRAngleMode.use_0_180, CoRAngleMode.manual_selection):
66
+ if is_helical:
67
+ target_angle_pair = (initial_angle, initial_angle + 180.0)
68
+ else:
69
+ target_angle_pair = (initial_angle, mod_angle(initial_angle + 180.0))
70
+ elif mode is CoRAngleMode.use_90_270:
71
+ if is_helical:
72
+ target_angle_pair = (initial_angle + 90.0, initial_angle + 270.0)
73
+ else:
74
+ target_angle_pair = (
75
+ mod_angle(initial_angle + 90.0),
76
+ mod_angle(initial_angle + 270.0),
77
+ )
78
+ else:
79
+ raise ValueError(f"{mode} is not handled")
80
+
81
+ def _circular_distance(angles: numpy.ndarray, target: float) -> numpy.ndarray:
82
+ # result in [0, 180]
83
+ return numpy.abs(((angles - target + 180.0) % 360.0) - 180.0)
84
+
85
+ def find_nearest(angles: numpy.ndarray, angle: float):
86
+ dist = _circular_distance(angles, angle)
87
+ idx = dist.argmin()
88
+ if isinstance(idx, numpy.ndarray):
89
+ idx = idx[0]
90
+ return angles[idx]
91
+
92
+ nearest_c1 = find_nearest(angles=angles, angle=target_angle_pair[0])
93
+ nearest_c2 = find_nearest(angles=angles, angle=target_angle_pair[1])
94
+ return (
95
+ CoRResource(urls_by_angle[nearest_c1], angle=nearest_c1),
96
+ CoRResource(urls_by_angle[nearest_c2], angle=nearest_c2),
97
+ )
98
+
99
+
100
+ def pick_angle_in_middle_range(
101
+ angles: numpy.ndarray, target_angle: float, anchor_tolerance_deg=0.2
102
+ ) -> float:
103
+ """
104
+ Pick the angle closest to the middle of the full angular range.
105
+
106
+ :param angles: Array of angles in degrees (unwrapped, spanning several turns).
107
+ :param target_angle: The target angle to consider (in degrees).
108
+ :return: The angle closest to the middle of the full angular range.
109
+ """
110
+ dist = numpy.abs(((angles - target_angle + 180.0) % 360.0) - 180.0)
111
+ anchor_candidates = numpy.where(dist <= anchor_tolerance_deg)[0]
112
+ if len(anchor_candidates) == 0:
113
+ anchor_candidates = numpy.array([int(dist.argmin())])
114
+ anchor_index = int(anchor_candidates[len(anchor_candidates) // 2])
115
+ return angles[anchor_index]
@@ -0,0 +1,208 @@
1
+ from __future__ import annotations
2
+
3
+ import logging
4
+ import numpy
5
+ from nabu.preproc.phase import PaganinPhaseRetrieval
6
+ from tomoscan.esrf.scan.utils import get_data
7
+
8
+ from silx.io.url import DataUrl
9
+
10
+ _logger = logging.getLogger(__name__)
11
+
12
+
13
+ class CoRResource:
14
+ """
15
+ Helper for picking resource for Cor search.
16
+
17
+ Associates a projection url with its raw, normalized and Paganin-filtered data.
18
+ The raw / normalized / Paganin data are lazily computed and cached on the
19
+ instance the first time they are requested.
20
+
21
+ :param url: url of the projection this resource points to. `None` if the
22
+ resource is not yet bound to any projection.
23
+ :param angle: rotation angle (in degree) of the projection, if known.
24
+ """
25
+
26
+ _PAGANIN_CONFIG = {"distance": 100e-3, "energy": 35, "delta_beta": 1e3}
27
+ """Paganin configuration for axis calculation. To simplify we have only one
28
+ static configuration for now. Otherwise complicate stuff"""
29
+
30
+ def __init__(self, url: None | DataUrl, angle: float | None = None):
31
+ assert url is None or isinstance(url, DataUrl)
32
+ assert url is None or url.is_valid()
33
+ self.__url = url
34
+ self.__raw_data = None
35
+ self.__norme_data = None
36
+ self.__norm_paganin = None
37
+ self.__angle = angle
38
+ self.__position_px = (None, None, None)
39
+
40
+ def __str__(self):
41
+ return f"{type(self)}, url: {self.__url.path() if self.__url else None}"
42
+
43
+ @property
44
+ def url(self):
45
+ return self.__url
46
+
47
+ @property
48
+ def data(self):
49
+ """Raw projection data, read from `url` and cached on first access.
50
+
51
+ :return: 2D numpy.array, or `None` if `url` is `None`
52
+ """
53
+ if self.__url is None:
54
+ return None
55
+ if self.__raw_data is None:
56
+ self.__raw_data = get_data(self.url)
57
+ return self.__raw_data
58
+
59
+ @data.setter
60
+ def data(self, data):
61
+ """Override the cached raw data (e.g. to inject already-loaded data
62
+ or to force a reload by setting it back to `None`)."""
63
+ self.__raw_data = data
64
+
65
+ @property
66
+ def normalized_data(self):
67
+ """Flat-field corrected (and optionally log-transformed) data, as
68
+ computed by the last call to `normalize_data`. `None` if
69
+ `normalize_data` has not been called yet.
70
+ """
71
+ return self.__norme_data
72
+
73
+ @normalized_data.setter
74
+ def normalized_data(self, data):
75
+ """Override the cached normalized data."""
76
+ self.__norme_data = data
77
+
78
+ @property
79
+ def angle(self) -> float | None:
80
+ return self.__angle
81
+
82
+ @property
83
+ def position_px(self) -> tuple[float | None, float | None, float | None]:
84
+ """(z, y, x) pixel position of the projection, as set by the last call
85
+ to `load_position`. Each component is `None` if `load_position` has
86
+ not been called yet, or if that component could not be determined.
87
+ """
88
+ return self.__position_px
89
+
90
+ def set_position(self, scan) -> None:
91
+ """Look up and cache this resource's (z, y, x) pixel position, by
92
+ matching the `TomoFrame` sharing this resource's `url` in `scan.frames`
93
+ and converting its translation (in metric unit) to pixel using
94
+ `scan.pixel_size`.
95
+
96
+ Silently leaves the position(s) to `None` if `scan` doesn't expose
97
+ `frames` / `pixel_size` (e.g. non-NXtomo scans), if no frame matches
98
+ this resource's `url`, or if a given translation is not defined on
99
+ the matching frame.
100
+
101
+ :param scan: scan the projection belongs to.
102
+ """
103
+ from tomwer.core.scan.nxtomoscan import NXtomoScan # avoid cyclci import
104
+
105
+ self.__position_px = (None, None, None)
106
+ if self.__url is None:
107
+ return
108
+
109
+ if not isinstance(scan, NXtomoScan):
110
+ return
111
+
112
+ frames = scan.frames
113
+ pixel_size = scan.pixel_size
114
+ if not frames or not pixel_size:
115
+ return
116
+ for frame in frames:
117
+ if frame.url == self.__url:
118
+ translations = (
119
+ frame.z_translation,
120
+ frame.y_translation,
121
+ frame.x_translation,
122
+ )
123
+ self.__position_px = tuple(
124
+ translation / pixel_size if translation is not None else None
125
+ for translation in translations
126
+ )
127
+ break
128
+
129
+ def normalize_data(self, scan, log_):
130
+ """Compute (and cache) the flat-field corrected data for axis calculation.
131
+
132
+ :param scan: scan the projection belongs to, used to apply flat-field
133
+ correction. Must be an instance of `TomwerScanBase`.
134
+ :param log_: if True, apply `-log` on the flat-field corrected data
135
+ (after clipping values <= 1 to 1) instead of just replacing NaNs
136
+ with the data maximum.
137
+ :return: the normalized data (2D numpy.array), or `None` if `url` is `None`
138
+ :raises TypeError: if `scan` is not a `TomwerScanBase` instance
139
+ """
140
+ from tomwer.core.scan.scanbase import TomwerScanBase # avoid cyclci import
141
+
142
+ if not isinstance(scan, TomwerScanBase):
143
+ raise TypeError(
144
+ f"scan is expected to be an instance of {TomwerScanBase}. {type(scan)} provided"
145
+ )
146
+ if self.__url is None:
147
+ return None
148
+ else:
149
+ self.__norme_data = scan.data_flat_field_correction(data=self.data)
150
+ if log_ is True:
151
+ self.__norme_data[numpy.isnan(self.__norme_data)] = (
152
+ self.__norme_data.max()
153
+ )
154
+ if self.__norme_data.max() < 0:
155
+ _logger.error("max data value < 0 unable to compute log")
156
+ else:
157
+ try:
158
+ data = self.__norme_data
159
+ data[data <= 1] = 1
160
+ self.__norme_data = -numpy.log(data)
161
+ except Exception as e:
162
+ _logger.error("Fail to apply log on radio" + e)
163
+ else:
164
+ self.__norme_data[numpy.isnan(self.__norme_data)] = (
165
+ self.__norme_data.min()
166
+ )
167
+
168
+ return self.__norme_data
169
+
170
+ @property
171
+ def normalized_data_paganin(self):
172
+ """`normalized_data` filtered by a Paganin phase retrieval
173
+ (using `CoRResource._PAGANIN_CONFIG`), computed and cached on first access.
174
+
175
+ :return: data processed by the Paganin phase retrieval, or `None` if
176
+ `url` is `None`
177
+ :raises ValueError: if `normalized_data` is `None` (`normalize_data`
178
+ must be called first)
179
+ """
180
+ if self.__url is None:
181
+ return None
182
+ if self.__norm_paganin is None:
183
+ if self.normalized_data is None:
184
+ raise ValueError("data should be normalized before applying " "paganin")
185
+ else:
186
+ data = self.normalized_data
187
+ phase_retrieval = PaganinPhaseRetrieval(
188
+ data.shape, **CoRResource._PAGANIN_CONFIG
189
+ )
190
+ self.__norm_paganin = phase_retrieval.apply_filter(data)
191
+ return self.__norm_paganin
192
+
193
+ @normalized_data_paganin.setter
194
+ def normalized_data_paganin(self, data):
195
+ """Override the cached Paganin-filtered data."""
196
+ self.__norm_paganin = data
197
+
198
+ def __eq__(self, other):
199
+ """Two `CoRResource` are equal if they point to the same `url`
200
+ (`angle` and cached data are ignored)."""
201
+ if not isinstance(other, CoRResource):
202
+ return False
203
+ if self.url is None and other.url is None:
204
+ return True
205
+ elif self.url is None or other.url is None:
206
+ return False
207
+ else:
208
+ return self.url == other.url
@@ -24,7 +24,17 @@ class NabuSliceMode(_Enum):
24
24
  if mode == mode.MIDDLE:
25
25
  axis = NabuPlane.from_axis(axis)
26
26
  if axis is NabuPlane.XY:
27
- n_slice = scan.dim_2 or 2048
27
+ if (
28
+ scan._is_helical()
29
+ and scan._projections_z_pixel_range() is not None
30
+ ):
31
+ range_coverred_by_helice = (
32
+ scan._projections_z_pixel_range()[1]
33
+ - scan._projections_z_pixel_range()[0]
34
+ )
35
+ n_slice = range_coverred_by_helice + scan.dim_2
36
+ else:
37
+ n_slice = scan.dim_2 or 2048
28
38
  elif axis in (NabuPlane.YZ, NabuPlane.XZ):
29
39
  n_slice = scan.dim_1 or 2048
30
40
  else:
@@ -287,3 +287,7 @@ class SingleSliceRunner(NabuBaseReconstructor):
287
287
  ctf=ctf,
288
288
  axis=axis,
289
289
  )
290
+
291
+
292
+ class SingleSliceRunnerHelical(SingleSliceRunner):
293
+ _NABU_PROCESS_PYTHON_MODULE = nabu_settings.NABU_HELICAL_APP_PATH
@@ -56,14 +56,27 @@ class SliceInterpreter:
56
56
  )
57
57
  )
58
58
 
59
+ max_axis_1_size = scan.dim_1 # y
60
+ max_axis_2_size = scan.dim_1 # x
61
+ if scan._is_helical():
62
+ z_pixel_range = scan._projections_z_pixel_range()
63
+ if z_pixel_range is None:
64
+ _logger.error(
65
+ "Unable to determine z pixel range. Define a default one (2048)"
66
+ )
67
+ range_covered_by_helice = z_pixel_range[1] - z_pixel_range[0]
68
+ max_axis_0_size = range_covered_by_helice + scan.dim_2
69
+ else:
70
+ max_axis_0_size = scan.dim_2 # z
71
+
59
72
  scalar_slices = list(
60
73
  filter(
61
74
  lambda slice_index: cls.filter_slice(
62
75
  slice_index=int(slice_index),
63
76
  axis=reconstruction_axis,
64
- max_axis_0_size=scan.dim_2, # z
65
- max_axis_1_size=scan.dim_1, # y
66
- max_axis_2_size=scan.dim_1, # x
77
+ max_axis_0_size=max_axis_0_size, # z
78
+ max_axis_1_size=max_axis_1_size, # y
79
+ max_axis_2_size=max_axis_2_size, # x
67
80
  invalid_slice_callback=invalid_slice_callback,
68
81
  scan_id=scan.get_identifier().short_description(),
69
82
  ),
@@ -16,7 +16,10 @@ from tomwer.core.reconstruction.common.nabucommon import (
16
16
  ResultsRun,
17
17
  )
18
18
  from tomwer.core.reconstruction.common.plane import NabuPlane
19
- from tomwer.core.reconstruction.slice.SingleSliceRunner import SingleSliceRunner
19
+ from tomwer.core.reconstruction.slice.SingleSliceRunner import (
20
+ SingleSliceRunner,
21
+ SingleSliceRunnerHelical,
22
+ )
20
23
  from tomwer.core.reconstruction.common.target import Target
21
24
  from tomwer.core.reconstruction.utils.cor import copy_cor
22
25
  from tomwer.core.scan.scanbase import TomwerScanBase
@@ -234,7 +237,13 @@ def run_single_slice_reconstruction(
234
237
  else:
235
238
  process_name = ""
236
239
 
237
- slice_reconstructor = SingleSliceRunner(
240
+ if scan._is_helical():
241
+ constructor = SingleSliceRunnerHelical
242
+ _logger.warning("Helical use case found. Reminder: this is still a prototype.")
243
+ else:
244
+ constructor = SingleSliceRunner
245
+
246
+ slice_reconstructor = constructor(
238
247
  scan=scan,
239
248
  config=nabu_config,
240
249
  dry_run=dry_run,