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.
- {tomwer-2.0.1.dev0/src/tomwer.egg-info → tomwer-2.0.2}/PKG-INFO +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/MultiCoROW.py +26 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/samplemoved.py +1 -1
- tomwer-2.0.2/src/tomwer/core/_typing.py +15 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/rawdataset.py +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/NabuBaseReconstructor.py +4 -2
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/settings.py +2 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_nabu_utils.py +22 -9
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/utils.py +19 -2
- tomwer-2.0.2/src/tomwer/core/reconstruction/cor/anglemode.py +115 -0
- tomwer-2.0.2/src/tomwer/core/reconstruction/cor/cor_resource.py +208 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/NabuSliceMode.py +11 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/SingleSliceRunner.py +4 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/SliceInterpreter.py +16 -3
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/slices.py +11 -2
- tomwer-2.0.2/src/tomwer/core/reconstruction/tests/test_anglemode.py +200 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/volume.py +4 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/edfscan.py +11 -5
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/nxtomoscan.py +114 -27
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scanbase.py +10 -7
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/test_utils.py +4 -4
- tomwer-2.0.2/src/tomwer/core/utils/_cache.py +18 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/image.py +32 -0
- tomwer-2.0.2/src/tomwer/core/utils/tests/test_image.py +88 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRWidget.py +17 -2
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/ControlWidget.py +2 -2
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/ManualFramesSelection.py +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/NabuSlicesWidget.py +0 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/illustrations.py +10 -7
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/diffviewer.py +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/scanoverview.py +24 -8
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/nabuvolume.py +9 -2
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/version.py +2 -2
- {tomwer-2.0.1.dev0 → tomwer-2.0.2/src/tomwer.egg-info}/PKG-INFO +1 -1
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/SOURCES.txt +2 -2
- tomwer-2.0.1.dev0/src/orangecontrib/tomwer/widgets/control/TomoObjSeriesOW.py +0 -58
- tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/cor/anglemode.py +0 -71
- tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/cor/cor_resource.py +0 -131
- tomwer-2.0.1.dev0/src/tomwer/core/reconstruction/tests/test_anglemode.py +0 -121
- tomwer-2.0.1.dev0/src/tomwer/core/utils/tests/test_image.py +0 -30
- tomwer-2.0.1.dev0/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_tomoobj_series.py +0 -96
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/LICENSE +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/README.rst +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/pyproject.toml +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/setup.cfg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/ewoks_compatibility.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/managedprocess.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/settings.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetNoThread.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetOneThreadPerRun.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/TomwerWidgetWithStack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/orange/task_widgets/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/state_summary.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tests/TestAcquisition.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/EBS_tomo_listener.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/append_raw_darks_and_flats_frames_to_NXtomos.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/cast_volume.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/complete_on_the_fly.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth1.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/copy_reduced_darks_and_flats_meth2.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/darks and flats copy - method 2.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/default_cor_search.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/drac_publication.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/hello_world_python_script.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_full_volume.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_insitu.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/ID16b_normalization.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/id16b/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/multipag_example.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_slice_reconstruction.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_slice_reconstruction_on_slurm.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_volume_local_reconstruction.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/simple_volume_to_slurm_reconstruction.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/untitled.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/using_multicor_to_find_cor.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/tutorials/volume_casting_on_slurm.ows +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/MonitorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurm.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurm.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/icons/slurmobserver.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/cluster/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/AdvancementOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/BlissDataListenerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataSelectorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/DataValidatorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/FilterOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXTomomillOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/NXtomoConcatenate.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/VolumeSelector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/_BlissDataListenerQThread.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/_datalistener.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/advancement.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/advancement.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/blissdata_listener.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/blissdata_listener.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/concatenate_nxtomos.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/datalistener.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/edf2nx.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/edf2nx.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/email.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/email.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/esrf.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/image_key_upgrader.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/namefilter.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/namefilter.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/notification.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/notification.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/progress.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/reduced_darkflat_selector.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanlist.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanselector.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/scanselector.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/single_tomo_obj.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/time.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomoobjseries.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomoobjseries.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/tomwer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/validator.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/validatorcrack.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumeselector.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumeselector.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumesymlink.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/icons/volumesymlink.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/control/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/PublishProcessedDataOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/icons/publish_processed_data.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/dataportal/icons/publish_processed_data.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/hammer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/hammer.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/inspector.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/icons/inspector.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/debugtools/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/VolumeviewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/_volume_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/icons/deprecated_volume_viewer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/deprecated/icons/deprecated_volume_viewer.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_editor.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/image_key_upgrader.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/nx_tomo_editor.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/icons/patch_dark_flat.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/edit/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/deprecated.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_build.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_build.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_cluster.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_cluster.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_control.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_control.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_data_portal.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_data_portal.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_debug_tools.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_edit.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_edit.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_other.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_other.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_stitching.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_stitching.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_visu.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/icons/tomwer_visu.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/PythonScriptOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/TomoObjsHub.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/PythonScript.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/hub.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/icons/hub.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/other/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/BaseNabuRecOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CoROW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/ComputeReduceDarkAndFlatOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/CopyReducedDarkAndFlatOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/MultiPagOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuSettingsOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuSlicesOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/axis.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/axis.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/bricks.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/compute_darkflat.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/compute_darkflat.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/copy_darkflat.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/copy_darkflat.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/darkflat.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/darkflat.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/delta_beta_range.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/esrf.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_cast.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_prepare_weights_double.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_settings.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_slices.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_slices.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_volume.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/nabu_volume.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/norm_I.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/refCopy.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/saaxis.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/sadeltabeta.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/tomogui.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/icons/tomwer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/StitcherOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/ZStitchingConfigOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/stitching/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/diff.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/diff.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/esrf.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/eye.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/eyecrack.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/nx_tomo_metadata_viewer.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/radiosstack.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sampleMoved.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/sinogramviewer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/slicesstack.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/tomwer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/icons/volumeviewer.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/__main__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/config.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/environ.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/mainwindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/splash.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/canvas_launcher/widgetsscheme.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/cast_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/diffframe.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/estimate_motion.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/imagekeyeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/imagekeyupgrader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/nabuapp.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/nxtomoeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/patchrawdarkflat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/radiostack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/scanviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/sinogramviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/slicestack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/stitching/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/stitching/common.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/volume_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/ystitching.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/app/zstitching.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/cluster/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/_DataListener.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/datawatcherobserver.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/datawatcherprocess.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/edfdwprocess.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/hdf5dwprocess.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/datawatcher/status.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/control/scanvalidator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/binning.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/dracbase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/gallery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/output.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/processeddataset.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_gallery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_icat_processed_dataset.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/drac/tests/test_icat_raw_dataset.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/futureobject.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/output.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/filter.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/method.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/mode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/nabucommon.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/padding.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/phase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/plane.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/ringcorrection.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/stages.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/target.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_NabuBaseReconstructor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_slice_interpreter.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/exception.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/mode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/projectiontype.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/cor/side.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/darkflat/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/darkflat/settings.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/MultiBaseParams.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multicor/params.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/multipag/params.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/reconstructions.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/ComputedScore.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/ScoreMethod.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/compute.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/multi/scores/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/output.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/params_cache.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/paramsbase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/slice/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_axis_params.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_params_cache.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_paramsbase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_scores.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/tests/test_utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/LastReceivedScansDict.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/utils/cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/resourcemanager.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/blissscan.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scanfactory.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/scantype.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_edf.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_future_scan.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_nxtomoscan.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/scan/tests/test_scan.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/settings.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/signal.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tests/test_scanutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/tomwer_object.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/_Launcher.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/char.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/deprecation.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/dictutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/ewoks.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/ftseriesutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/gpu.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/normalization.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/nxtomoutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/resource.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/scanutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/slurm.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/spec.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_nxtomo.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_scan_utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/tests/test_time.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/threads.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/time.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/utils/volumeutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/edfvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/hdf5volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/jp2kvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/rawvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/tests/test_volumes.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/tiffvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/volumebase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/volume/volumefactory.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/_image_from_file.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/slurm.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/supervisor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/test_cluster.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/cluster/tests/test_supervisor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/conditions/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/conditions/filter.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/action.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/configuration/level.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/_host.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/actions.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/DataDiscoveryWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_ControlWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_DataDiscoveryConfigWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_MainWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/data_discovery/_observer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datalist.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datalistener.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datareacheractions.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/datavalidator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/history.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/nxtomomill.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/observations.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/scanselectorwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/selectorwidgetbase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/nxtomoconcatenate.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/seriescreator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/serieswaiter.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/series/test/test_creator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/singletomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datadiscovery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datalist.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datalistener.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_datavalidator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_inputwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_scan_observations.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_scanselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_single_tomo_obj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_volume_dialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tests/test_volumeselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/tomoobjdisplaymode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/control/volumeselectorwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/createscreenshots.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/gallery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/outputformat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/publish.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/tests/test_create_screenshots_gui.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dataportal/tests/test_gallery_gui.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/datasetgenerator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/debugtools/objectinspector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/QDataDialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/QVolumeDialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/dialog/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/dkrfpatch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/imagekeyeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/nxtomoeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/nxtomowarmer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_dkrf_patch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_image_key_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/edit/tests/test_nx_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/fonts.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/icons.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/illustrations.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/metadataloader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/qconfigfile.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/qlefilesystem.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CalculationWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRMainWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoROptionsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CoRSettingsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/CompareImages.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/EstimatedCoRWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/EstimatedCorComboBox.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/InputWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/cor/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/darkflatcopywidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/darkflat/darkflatwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/CoRScorePlot.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/MultiCoRTabWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/MultiCoRWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/NabuAutoCorDiag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/QMultiCoRParams.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/corrangeselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/dimensionwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multicor/sliceselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/DBScorePlot.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagSelectionWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagTabWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/MultiPagWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/QMultiPagParams.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/multipag/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/CastVolumeWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_HistogramLoader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_HistogramWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_SettingsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_SlicePreviewWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/castvolume/_check.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/check.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/dialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/estimator/method.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/estimator/model.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/mainwindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plot_config.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plot_utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/motion_plots_widget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/estimate_motion/nabu_config_widget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/NabuSettingsWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/base.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/output.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/paddingmode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/stages.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuconfig/tests/test_NabuSettingsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/nabuflow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/platform.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/NabuSlicesWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/SliceGroupBox.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/slices/tests/test_NabuSlicesWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_cast_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_check.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_ctf.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_delta_beta_selector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_nabu_preprocessing.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/test/test_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/DeltaBetaSelector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/DeltaBetaSelectorDialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/NabuVolumeWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/NabuVolumeWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/SliceSelector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/nabu/volume/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/actions/_ScoresPlotAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/actions/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/control.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/scores/scoreplot.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_axis.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/reconstruction/tests/test_nabu.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/samplemoved/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/samplemoved/selectiontable.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/settings.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stackplot.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stacks.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/SingleAxisStitchingWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/StitchingOptionsWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/StitchingWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/action.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/alignment.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/axisorderedlist.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/_QSpinBox.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/_linkInfo.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/axisparams.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/output.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/positionoveraxis.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/stitchingstrategies.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/tests/test_axisparams.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/config/tomoobjdetails.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/metadataholder.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/normalization.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/preview.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/singleaxis.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitchandbackground.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitching_preview.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/stitching_raw.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_ZStitchingWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_axis_ordered_list.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_normalization.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_preview.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/test_stitching_raw.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/tests/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/fineestimation.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_fine_estimation.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_raw_estimation.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/stitching/z_stitching/tests/test_stitching_window.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/test_cor_gui.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/test_qfolder_dialog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/tests/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/HDF5DatasetSelector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/RangeWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_ProcessingOverlay.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_outputdir.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/_warning.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/buttons.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/completer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/flow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/gpu.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/host_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/inputwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/lineselector/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/lineselector/lineselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/loadingmode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/locale.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/qt_utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/reconstruction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/sandboxes.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/scandescription.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/scrollarea.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/slice_selector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/slider.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/splashscreen.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/step.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_completer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_host_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_line_selector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_splashscreen.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/tests/test_vignettes.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/unitsystem.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/validators.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/utils/vignettes.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/TomoPlot2D.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/dataviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/frametype.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/diffviewer/shiftwidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/displaymode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/fullscreenplot.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/imagestack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/nxtomometadata.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/radiomode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/reconstructionparameters.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/sinogramviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/slicemode.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_dataviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_diffviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_reconstruction_parameters.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_sinogramviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/test/test_stacks.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/tomoobjoverview.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/CoordinateSystemOverlay.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/GeometryOrMetadataWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/VolumeViewerWidget.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/VolumeViewerWindow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_CrossHairs.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_HorizontalSliderWithBrowser.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_ReconstructionParameters.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_SliceLoader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/_TomoPlot2DSlices.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ColorBarAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_OpenGLAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowAxesAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCoordinateSystemAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCoordinateSystemLabelAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowCrosshairsAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/_ShowPlotToolBarAction.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/actions/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/tests/test_VolumeViewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volume_viewer/toolbar.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volumeoverview.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/gui/visualization/volumeviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/processlog.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/h5pyutils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/raw_and_processed_data.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/test/test_raw_and_processed_data.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/test/test_utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/tomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/io/utils/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/data.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/process.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/tomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/_common/volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/future_supervisor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/cluster/slurm_cluster.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/conditions/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/conditions/filters.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/datadiscovery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/scanselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/singletomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/control/volumeselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/dataportal/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/dataportal/publish.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/dark_flat_patch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/imagekey_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/edit/imagekey_upgrader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/field_validators/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/field_validators/cluster_config.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/cast_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/compute_dark_flat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/copy_reduced_frames.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/estimate_motion_io.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_settings.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_slices.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/nabu_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/reconstruction/reduced_frames.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/dataviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/models/visualization/volume_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_XY.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_XZ.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/3D_coordinate_system_YZ.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/Imagej_icon.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/advanced_user.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/advanced_user.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/axis.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/axis.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/background.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/background.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/basic_user.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/basic_user.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_active.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_active.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_inactive.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/cfg_file_inactive.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/compare_mode_a_minus_b.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/compare_mode_a_minus_b.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/crosshairs.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/crosshairs.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_activate.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_activate.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_deactivate.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/datalistener_deactivate.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/delta_beta.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/delta_beta.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/edit_downstream.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/edit_upstream.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_XY.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_XZ.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/extend_3D_coordinate_system_YZ.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/free_edition.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/health.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/health.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/hide_3D_coordinate_system.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/hourglass.npy +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/icat_gallery_opts.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/icat_gallery_opts.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/imageNotFound.npy +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/input.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/input.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/list_selection.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/list_selection.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/log.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/log.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/lr_mirroring.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/lr_mirroring.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/minimalistic_user.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/minimalistic_user.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/multi-document-save.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/multi-document-save.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/nabu.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/nabu.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/output.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/output.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/parameters.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/parameters.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xleft.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xleft.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xright.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/plot-xright.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/range_selection.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/range_selection.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/red_dot.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/reset_3D_coordinate_system.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/results.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/results.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/short_description.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/short_description.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_3D_coordinate_system.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_coordinate_system_label.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/show_plot_toolbars.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/single_selection.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/single_selection.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/sinogram.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_active.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_active.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_deactive.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/slurm_deactive.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRaw.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRaw.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRefine.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/stitching_modeRefine.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/tomwer.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/tomwer_large.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/ud_mirroring.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/ud_mirroring.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/unsharp_mask.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/update_stitching_preview.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/url.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/url.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/vignettes.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/icons/vignettes.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/3D_coordinate_system.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/3D_coordinate_system.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/ctf_z1.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/ctf_z1.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_down.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_down.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_right.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/flow_right.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/modelization_sample_stage.png +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/gui/illustrations/no_rot.svg +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/resources/video.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/processingstack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/synctools/stacks/reconstruction/nabu.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/cluster/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/cluster/supervisor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/conditions/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/conditions/filters.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/datadiscovery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/datawatcher.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/emailnotifier.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/nxtomoconcatenate.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/nxtomomill.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanlist.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/scanvalidator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/singletomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_concatenate_nxtomos.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_conditions.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_email.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tests/test_h52nx_process.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/tomoobjseries.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/control/volumeselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/dataportal/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/dataportal/publish.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/darkflatpatch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/imagekey_upgrader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/imagekeyeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/nxtomoeditor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/tests/test_darkflatpatch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/edit/tests/test_imagekey_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/castvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/config.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/copydarkflat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/estimate_motion.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/reducedarkflat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/slices.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_castvolume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_dark_and_flat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_darkflat_copy.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu_estimate_motion.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/reconstruction/tests/test_nabu_multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/python.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/script/tests/test_script.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/metadataholder.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/nabustitcher.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/stitching/tests/test_metadataholder.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/task.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/dataviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/diffviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/imagestackviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/radiostack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/samplemoved.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/sinogramviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/slicestack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_diff_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_image_stack_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_radio_stack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_sample_moved.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_sinogram_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/tests/test_slice_stack.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/volume_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tasks/visualization/volumeviewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/__init__.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/app/test_stitching.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/conftest.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/datasets.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_monitor_ow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/cluster/tests/test_slurm_clusterow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_advancement.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_data_validator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_datadiscovery.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_dataselector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_nxtomomill.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_singletomoobj.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/control/tests/test_volume_selector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_dataset_generator.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/debugtools/tests/test_object_inspector.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_dark_flat_patch.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_image_key_upgrader.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/edit/tests/test_nxtomo_editor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/other/tests/test_pythonscript.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cast_volumeow.py +0 -0
- {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
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_cor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multicor.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_multipag.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_slices.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/reconstruction/tests/test_nabu_volume.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/stitching/tests/test_zstitching.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/test_conditions.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/test_darkflat.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_dataviewerow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_diffviewerow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_nxtomo_metadata_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_radio_stackow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sample_movedow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_sinogram_viewerow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_slice_stackow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/orangecontrib/tomwer/widgets/visualization/tests/test_volume_viewerow.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/tasks/visualization/test_volume_viewer.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_conversion.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_single_node_execution.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_ewoks/test_workflows.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/test_scripts.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/tests/utils.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/FrameBrowser.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/OverlayMixIn.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/third_part/qitem_model_resetter.py +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/dependency_links.txt +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/entry_points.txt +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/pkg_info +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/requires.txt +0 -0
- {tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer.egg-info/sources.txt +0 -0
- {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.
|
|
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
|
{tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/reconstruction/MultiCoROW.py
RENAMED
|
@@ -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
|
{tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py
RENAMED
|
@@ -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,
|
{tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/NabuBaseReconstructor.py
RENAMED
|
@@ -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
|
-
|
|
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 {
|
|
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"
|
{tomwer-2.0.1.dev0 → tomwer-2.0.2}/src/tomwer/core/reconstruction/common/test/test_nabu_utils.py
RENAMED
|
@@ -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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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.
|
|
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
|
-
|
|
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:
|
|
@@ -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=
|
|
65
|
-
max_axis_1_size=
|
|
66
|
-
max_axis_2_size=
|
|
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
|
|
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
|
-
|
|
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,
|