tomwer 1.1.1__py3-none-any.whl → 1.2.0a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- orangecontrib/tomwer/__init__.py +1 -0
- orangecontrib/tomwer/orange/managedprocess.py +6 -4
- orangecontrib/tomwer/state_summary.py +3 -2
- orangecontrib/tomwer/widgets/__init__.py +2 -2
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +9 -7
- orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +6 -5
- orangecontrib/tomwer/widgets/control/AdvancementOW.py +2 -1
- orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +235 -0
- orangecontrib/tomwer/widgets/control/DataListOW.py +7 -5
- orangecontrib/tomwer/widgets/control/DataListenerOW.py +13 -14
- orangecontrib/tomwer/widgets/control/DataSelectorOW.py +8 -6
- orangecontrib/tomwer/widgets/control/DataTransfertOW.py +9 -9
- orangecontrib/tomwer/widgets/control/DataValidatorOW.py +7 -8
- orangecontrib/tomwer/widgets/control/DataWatcherOW.py +25 -17
- orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +8 -8
- orangecontrib/tomwer/widgets/control/FilterOW.py +9 -8
- orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +3 -4
- orangecontrib/tomwer/widgets/control/NXTomomillOW.py +13 -14
- orangecontrib/tomwer/widgets/control/NotifierOW.py +3 -4
- orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +7 -5
- orangecontrib/tomwer/widgets/control/TimerOW.py +6 -5
- orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +5 -3
- orangecontrib/tomwer/widgets/control/VolumeSelector.py +8 -6
- orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +10 -9
- orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +137 -0
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +5 -8
- orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +13 -15
- orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +3 -2
- orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +10 -7
- orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +8 -5
- orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +5 -2
- orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +6 -3
- orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +8 -6
- orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +3 -1
- orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +3 -1
- orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +3 -1
- orangecontrib/tomwer/widgets/other/PythonScriptOW.py +11 -11
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +22 -27
- orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +13 -11
- orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +11 -9
- orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +16 -14
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +27 -32
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +27 -34
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +23 -25
- orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +16 -18
- orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +9 -7
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +8 -11
- orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +8 -8
- orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +6 -4
- orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +4 -3
- orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +4 -3
- orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +6 -4
- orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +8 -6
- orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +6 -3
- orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +7 -5
- orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +5 -4
- tomwer/__init__.py +1 -1
- tomwer/__main__.py +2 -1
- tomwer/app/axis.py +18 -14
- tomwer/app/canvas.py +7 -5
- tomwer/app/canvas_launcher/config.py +8 -6
- tomwer/app/canvas_launcher/environ.py +1 -2
- tomwer/app/canvas_launcher/mainwindow.py +23 -22
- tomwer/app/canvas_launcher/splash.py +1 -0
- tomwer/app/canvas_launcher/widgetsscheme.py +3 -3
- tomwer/app/darkref.py +7 -6
- tomwer/app/darkrefpatch.py +8 -6
- tomwer/app/diffframe.py +6 -4
- tomwer/app/imagekeyeditor.py +10 -10
- tomwer/app/imagekeyupgrader.py +8 -6
- tomwer/app/intensitynormalization.py +8 -8
- tomwer/app/lamino.py +5 -3
- tomwer/app/nabuapp.py +8 -6
- tomwer/app/nxtomoeditor.py +6 -5
- tomwer/app/radiostack.py +8 -6
- tomwer/app/rsync.py +3 -3
- tomwer/app/saaxis.py +22 -23
- tomwer/app/sadeltabeta.py +21 -21
- tomwer/app/samplemoved.py +8 -6
- tomwer/app/scanviewer.py +7 -6
- tomwer/app/sinogramviewer.py +8 -7
- tomwer/app/slicestack.py +8 -6
- tomwer/app/stopdatalistener.py +2 -1
- tomwer/core/futureobject.py +15 -6
- tomwer/core/log/logger.py +4 -3
- tomwer/core/log/processlog.py +0 -1
- tomwer/core/process/conditions/filters.py +3 -3
- tomwer/core/process/control/datadiscovery.py +7 -0
- tomwer/core/process/control/datalistener/datalistener.py +22 -21
- tomwer/core/process/control/datalistener/rpcserver.py +18 -28
- tomwer/core/process/control/datawatcher/datawatcher.py +15 -12
- tomwer/core/process/control/datawatcher/datawatcherobserver.py +11 -8
- tomwer/core/process/control/datawatcher/datawatcherprocess.py +7 -5
- tomwer/core/process/control/datawatcher/edfdwprocess.py +5 -15
- tomwer/core/process/control/datawatcher/hdf5dwprocess.py +3 -1
- tomwer/core/process/control/datawatcher/status.py +2 -0
- tomwer/core/process/control/nxtomomill.py +7 -6
- tomwer/core/process/control/scanlist.py +2 -1
- tomwer/core/process/control/scanselector.py +1 -0
- tomwer/core/process/control/scantransfer.py +12 -12
- tomwer/core/process/control/scanvalidator.py +7 -6
- tomwer/core/process/control/test/test_volume_link.py +5 -4
- tomwer/core/process/control/timer.py +4 -4
- tomwer/core/process/control/volumeselector.py +1 -0
- tomwer/core/process/control/volumesymlink.py +8 -9
- tomwer/core/process/edit/darkflatpatch.py +9 -12
- tomwer/core/process/edit/imagekeyeditor.py +11 -13
- tomwer/core/process/reconstruction/axis/axis.py +36 -38
- tomwer/core/process/reconstruction/axis/mode.py +2 -1
- tomwer/core/process/reconstruction/axis/params.py +23 -28
- tomwer/core/process/reconstruction/darkref/darkrefs.py +23 -27
- tomwer/core/process/reconstruction/darkref/darkrefscopy.py +14 -18
- tomwer/core/process/reconstruction/darkref/params.py +3 -1
- tomwer/core/process/reconstruction/lamino/tofu.py +11 -15
- tomwer/core/process/reconstruction/nabu/castvolume.py +15 -18
- tomwer/core/process/reconstruction/nabu/nabucommon.py +19 -20
- tomwer/core/process/reconstruction/nabu/nabuscores.py +16 -14
- tomwer/core/process/reconstruction/nabu/nabuslices.py +27 -22
- tomwer/core/process/reconstruction/nabu/nabuvolume.py +20 -22
- tomwer/core/process/reconstruction/nabu/utils.py +17 -15
- tomwer/core/process/reconstruction/normalization/__init__.py +1 -3
- tomwer/core/process/reconstruction/normalization/normalization.py +16 -21
- tomwer/core/process/reconstruction/normalization/params.py +2 -2
- tomwer/core/process/reconstruction/saaxis/__init__.py +1 -1
- tomwer/core/process/reconstruction/saaxis/params.py +6 -7
- tomwer/core/process/reconstruction/saaxis/saaxis.py +44 -55
- tomwer/core/process/reconstruction/sadeltabeta/__init__.py +1 -1
- tomwer/core/process/reconstruction/sadeltabeta/params.py +9 -13
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +40 -46
- tomwer/core/process/reconstruction/scores/__init__.py +2 -2
- tomwer/core/process/reconstruction/scores/params.py +6 -9
- tomwer/core/process/reconstruction/scores/scores.py +10 -13
- tomwer/core/process/reconstruction/test/test_axis_params.py +4 -2
- tomwer/core/process/reconstruction/test/test_darkref.py +1 -2
- tomwer/core/process/reconstruction/test/test_darkref_copy.py +3 -1
- tomwer/core/process/reconstruction/test/test_paramsbase.py +1 -1
- tomwer/core/process/reconstruction/test/test_saaxis.py +11 -7
- tomwer/core/process/reconstruction/test/test_sadeltabeta.py +5 -4
- tomwer/core/process/reconstruction/test/test_utils.py +3 -2
- tomwer/core/process/script/python.py +6 -8
- tomwer/core/process/task.py +11 -12
- tomwer/core/process/test/test_axis.py +12 -9
- tomwer/core/process/test/test_conditions.py +8 -8
- tomwer/core/process/test/test_dark_and_flat.py +9 -8
- tomwer/core/process/test/test_data_listener.py +5 -3
- tomwer/core/process/test/test_data_transfer.py +14 -12
- tomwer/core/process/test/test_data_watcher.py +3 -1
- tomwer/core/process/test/test_lamino.py +3 -1
- tomwer/core/process/test/test_nabu.py +13 -12
- tomwer/core/process/test/test_normalization.py +7 -5
- tomwer/core/process/test/test_timer.py +2 -1
- tomwer/core/process/utils.py +9 -9
- tomwer/core/progress.py +3 -4
- tomwer/core/scan/blissscan.py +4 -2
- tomwer/core/scan/edfscan.py +26 -29
- tomwer/core/scan/futurescan.py +2 -1
- tomwer/core/scan/hdf5scan.py +21 -28
- tomwer/core/scan/scanbase.py +18 -18
- tomwer/core/scan/scanfactory.py +20 -21
- tomwer/core/scan/scantype.py +7 -0
- tomwer/core/scan/test/test_edf.py +2 -1
- tomwer/core/scan/test/test_future_scan.py +2 -1
- tomwer/core/scan/test/test_h5.py +5 -4
- tomwer/core/scan/test/test_process_registration.py +5 -3
- tomwer/core/scan/test/test_scan.py +11 -9
- tomwer/core/settings.py +1 -2
- tomwer/core/test/test_lamino.py +3 -2
- tomwer/core/test/test_scanutils.py +3 -2
- tomwer/core/test/test_utils.py +6 -4
- tomwer/core/utils/__init__.py +8 -6
- tomwer/core/utils/deprecation.py +2 -2
- tomwer/core/utils/image.py +4 -3
- tomwer/core/utils/locker.py +1 -1
- tomwer/core/utils/normalization.py +1 -0
- tomwer/core/utils/nxtomoutils.py +2 -1
- tomwer/core/utils/scanutils.py +9 -6
- tomwer/core/utils/slurm.py +2 -1
- tomwer/core/utils/time.py +2 -4
- tomwer/core/utils/volumeutils.py +2 -1
- tomwer/core/volume/__init__.py +1 -1
- tomwer/core/volume/edfvolume.py +4 -3
- tomwer/core/volume/hdf5volume.py +6 -8
- tomwer/core/volume/jp2kvolume.py +4 -3
- tomwer/core/volume/rawvolume.py +7 -7
- tomwer/core/volume/tiffvolume.py +8 -6
- tomwer/core/volume/volumebase.py +1 -0
- tomwer/core/volume/volumefactory.py +18 -18
- tomwer/gui/cluster/slurm.py +2 -0
- tomwer/gui/cluster/supervisor.py +4 -2
- tomwer/gui/cluster/test/test_cluster.py +5 -4
- tomwer/gui/cluster/test/test_supervisor.py +4 -2
- tomwer/gui/conditions/filter.py +7 -6
- tomwer/gui/control/actions.py +1 -0
- tomwer/gui/control/datadiscovery.py +168 -0
- tomwer/gui/control/datalist.py +29 -28
- tomwer/gui/control/datalistener.py +8 -4
- tomwer/gui/control/datareacheractions.py +2 -1
- tomwer/gui/control/datatransfert.py +3 -1
- tomwer/gui/control/datavalidator.py +11 -12
- tomwer/gui/control/datawatcher/configuration.py +12 -1
- tomwer/gui/control/datawatcher/controlwidget.py +116 -0
- tomwer/gui/control/datawatcher/datawatcher.py +63 -121
- tomwer/gui/control/datawatcher/datawatcherobserver.py +7 -9
- tomwer/gui/control/history.py +3 -1
- tomwer/gui/control/observations.py +7 -7
- tomwer/gui/control/scanselectorwidget.py +4 -2
- tomwer/gui/control/selectorwidgetbase.py +3 -1
- tomwer/gui/control/serie/seriecreator.py +11 -12
- tomwer/gui/control/singletomoobj.py +4 -4
- tomwer/gui/control/test/test_datadiscovery.py +27 -0
- tomwer/gui/control/test/test_datalist.py +7 -6
- tomwer/gui/control/test/test_datalistener.py +4 -4
- tomwer/gui/control/test/test_datavalidator.py +3 -1
- tomwer/gui/control/test/test_inputwidget.py +5 -4
- tomwer/gui/control/test/test_process_manager.py +3 -3
- tomwer/gui/control/test/test_scanselector.py +6 -4
- tomwer/gui/control/test/test_scanvalidator.py +6 -5
- tomwer/gui/control/test/test_single_tomo_obj.py +5 -3
- tomwer/gui/control/test/test_volume_dialog.py +7 -5
- tomwer/gui/control/test/test_volumeselector.py +8 -6
- tomwer/gui/control/volumeselectorwidget.py +2 -1
- tomwer/gui/debugtools/datasetgenerator.py +2 -1
- tomwer/gui/debugtools/objectinspector.py +6 -7
- tomwer/gui/edit/dkrfpatch.py +11 -10
- tomwer/gui/edit/imagekeyeditor.py +12 -12
- tomwer/gui/edit/nxtomoeditor.py +8 -7
- tomwer/gui/edit/test/test_dkrf_patch.py +10 -9
- tomwer/gui/edit/test/test_image_key_editor.py +8 -6
- tomwer/gui/edit/test/test_nx_editor.py +7 -5
- tomwer/gui/icons.py +3 -2
- tomwer/gui/illustrations.py +3 -2
- tomwer/gui/imagefromfile.py +3 -1
- tomwer/gui/qfolderdialog.py +14 -12
- tomwer/gui/reconstruction/axis/CompareImages.py +9 -8
- tomwer/gui/reconstruction/axis/__init__.py +1 -1
- tomwer/gui/reconstruction/axis/axis.py +9 -7
- tomwer/gui/reconstruction/axis/radioaxis.py +30 -32
- tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +6 -5
- tomwer/gui/reconstruction/darkref/darkrefwidget.py +4 -2
- tomwer/gui/reconstruction/lamino/tofu/misc.py +3 -1
- tomwer/gui/reconstruction/lamino/tofu/projections.py +16 -8
- tomwer/gui/reconstruction/lamino/tofu/tofu.py +6 -3
- tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +5 -2
- tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +8 -5
- tomwer/gui/reconstruction/nabu/action.py +1 -0
- tomwer/gui/reconstruction/nabu/castvolume.py +6 -4
- tomwer/gui/reconstruction/nabu/check.py +3 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/base.py +5 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -3
- tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +4 -3
- tomwer/gui/reconstruction/nabu/nabuconfig/output.py +7 -5
- tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +8 -6
- tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +7 -7
- tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +40 -33
- tomwer/gui/reconstruction/nabu/nabuflow.py +7 -4
- tomwer/gui/reconstruction/nabu/slices.py +14 -10
- tomwer/gui/reconstruction/nabu/slurm.py +1 -0
- tomwer/gui/reconstruction/nabu/volume.py +5 -3
- tomwer/gui/reconstruction/normalization/intensity.py +14 -13
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +36 -35
- tomwer/gui/reconstruction/saaxis/dimensionwidget.py +5 -4
- tomwer/gui/reconstruction/saaxis/saaxis.py +17 -17
- tomwer/gui/reconstruction/saaxis/sliceselector.py +5 -5
- tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +33 -36
- tomwer/gui/reconstruction/scores/scoreplot.py +19 -18
- tomwer/gui/reconstruction/test/test_axis.py +14 -13
- tomwer/gui/reconstruction/test/test_lamino.py +3 -2
- tomwer/gui/reconstruction/test/test_nabu.py +8 -6
- tomwer/gui/reconstruction/test/test_saaxis.py +17 -15
- tomwer/gui/reconstruction/test/test_sadeltabeta.py +15 -13
- tomwer/gui/samplemoved/__init__.py +8 -7
- tomwer/gui/samplemoved/selectiontable.py +4 -2
- tomwer/gui/stackplot.py +14 -13
- tomwer/gui/stacks.py +11 -9
- tomwer/gui/test/test_axis_gui.py +5 -4
- tomwer/gui/test/test_qfolder_dialog.py +2 -1
- tomwer/gui/utils/__init__.py +5 -5
- tomwer/gui/utils/buttons.py +1 -0
- tomwer/gui/utils/completer.py +1 -0
- tomwer/gui/utils/flow.py +4 -2
- tomwer/gui/utils/illustrations.py +1 -0
- tomwer/gui/utils/inputwidget.py +11 -17
- tomwer/gui/utils/lineselector/lineselector.py +6 -8
- tomwer/gui/utils/qt_utils.py +1 -0
- tomwer/gui/utils/scandescription.py +2 -0
- tomwer/gui/utils/splashscreen.py +1 -1
- tomwer/gui/utils/unitsystem.py +3 -1
- tomwer/gui/utils/vignettes.py +8 -8
- tomwer/gui/utils/waiterthread.py +2 -1
- tomwer/gui/visualization/dataviewer.py +20 -28
- tomwer/gui/visualization/diffviewer/diffviewer.py +17 -20
- tomwer/gui/visualization/diffviewer/shiftwidget.py +3 -1
- tomwer/gui/visualization/nxtomometadata.py +1 -0
- tomwer/gui/visualization/reconstructionparameters.py +13 -12
- tomwer/gui/visualization/scanoverview.py +5 -3
- tomwer/gui/visualization/sinogramviewer.py +3 -2
- tomwer/gui/visualization/test/test_dataviewer.py +3 -1
- tomwer/gui/visualization/test/test_diffviewer.py +8 -6
- tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +5 -3
- tomwer/gui/visualization/test/test_reconstruction_parameters.py +5 -3
- tomwer/gui/visualization/test/test_sinogramviewer.py +10 -9
- tomwer/gui/visualization/test/test_stacks.py +8 -6
- tomwer/gui/visualization/test/test_volumeviewer.py +10 -8
- tomwer/gui/visualization/tomoobjoverview.py +7 -4
- tomwer/gui/visualization/volumeoverview.py +5 -3
- tomwer/gui/visualization/volumeviewer.py +15 -14
- tomwer/io/utils/__init__.py +3 -3
- tomwer/io/utils/h5pyutils.py +2 -1
- tomwer/io/utils/utils.py +17 -21
- tomwer/resources/__init__.py +1 -1
- tomwer/synctools/axis.py +3 -1
- tomwer/synctools/darkref.py +3 -2
- tomwer/synctools/datalistener.py +10 -6
- tomwer/synctools/datatransfert.py +2 -3
- tomwer/synctools/imageloaderthread.py +5 -3
- tomwer/synctools/rsyncmanager.py +3 -2
- tomwer/synctools/saaxis.py +3 -1
- tomwer/synctools/sadeltabeta.py +3 -1
- tomwer/synctools/stacks/control/datalistener.py +9 -12
- tomwer/synctools/stacks/edit/darkflatpatch.py +13 -12
- tomwer/synctools/stacks/edit/imagekeyeditor.py +12 -11
- tomwer/synctools/stacks/processingstack.py +3 -2
- tomwer/synctools/stacks/reconstruction/axis.py +12 -12
- tomwer/synctools/stacks/reconstruction/castvolume.py +8 -5
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +10 -9
- tomwer/synctools/stacks/reconstruction/lamino.py +9 -7
- tomwer/synctools/stacks/reconstruction/nabu.py +18 -17
- tomwer/synctools/stacks/reconstruction/normalization.py +12 -16
- tomwer/synctools/stacks/reconstruction/saaxis.py +13 -11
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +16 -14
- tomwer/synctools/test/test_darkRefs.py +4 -3
- tomwer/synctools/test/test_foldertransfer.py +14 -12
- tomwer/synctools/test/test_scanstages.py +8 -7
- tomwer/synctools/utils/scanstages.py +7 -5
- tomwer/tests/conftest.py +4 -4
- tomwer/tests/test_scripts.py +3 -2
- tomwer/tests/utils/__init__.py +5 -4
- tomwer/tests/utils/utilstest.py +5 -6
- tomwer/third_party/nabu/preproc/phase.py +7 -5
- tomwer/third_party/nabu/utils.py +3 -2
- tomwer/utils.py +12 -12
- tomwer/version.py +4 -4
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/METADATA +2 -2
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/RECORD +353 -345
- /tomwer-1.1.1-py3.8-nspkg.pth → /tomwer-1.2.0a0-py3.8-nspkg.pth +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/LICENSE +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/WHEEL +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/entry_points.txt +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/top_level.txt +0 -0
@@ -28,15 +28,17 @@ __date__ = "22/01/2017"
|
|
28
28
|
|
29
29
|
|
30
30
|
import os
|
31
|
-
from tomwer.tests.utils import skip_gui_test
|
32
|
-
from silx.gui import qt
|
33
|
-
from silx.gui.utils.testutils import TestCaseQt
|
34
|
-
from tomwer.gui.control.volumeselectorwidget import VolumeSelectorWidget
|
35
|
-
from tomwer.core.volume import EDFVolume, HDF5Volume
|
36
|
-
import numpy
|
37
31
|
import shutil
|
38
32
|
import tempfile
|
33
|
+
|
34
|
+
import numpy
|
39
35
|
import pytest
|
36
|
+
from silx.gui import qt
|
37
|
+
from silx.gui.utils.testutils import TestCaseQt
|
38
|
+
|
39
|
+
from tomwer.core.volume import EDFVolume, HDF5Volume
|
40
|
+
from tomwer.gui.control.volumeselectorwidget import VolumeSelectorWidget
|
41
|
+
from tomwer.tests.utils import skip_gui_test
|
40
42
|
|
41
43
|
|
42
44
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -30,11 +30,12 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "12/07/2022"
|
31
31
|
|
32
32
|
|
33
|
+
import logging
|
34
|
+
|
33
35
|
from tomwer.gui.control.datalist import VolumeList
|
34
36
|
from tomwer.gui.qfolderdialog import QVolumeDialog
|
35
37
|
|
36
38
|
from .selectorwidgetbase import _SelectorWidget
|
37
|
-
import logging
|
38
39
|
|
39
40
|
logger = logging.getLogger(__name__)
|
40
41
|
|
@@ -31,9 +31,10 @@ __date__ = "28/09/2020"
|
|
31
31
|
|
32
32
|
|
33
33
|
from silx.gui import qt
|
34
|
+
|
35
|
+
from tomwer.core.scan.blissscan import BlissScan
|
34
36
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
35
37
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
36
|
-
from tomwer.core.scan.blissscan import BlissScan
|
37
38
|
|
38
39
|
|
39
40
|
class DatasetGeneratorDialog(qt.QDialog):
|
@@ -30,9 +30,10 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "30/09/2020"
|
31
31
|
|
32
32
|
|
33
|
-
from silx.gui import qt
|
34
33
|
import sys
|
35
34
|
|
35
|
+
from silx.gui import qt
|
36
|
+
|
36
37
|
|
37
38
|
class ObjectInspector(qt.QWidget):
|
38
39
|
def __init__(self, parent):
|
@@ -47,10 +48,8 @@ class ObjectInspector(qt.QWidget):
|
|
47
48
|
|
48
49
|
def setObject(self, object):
|
49
50
|
self.__model.clear()
|
50
|
-
root_item = qt.QStandardItem("{
|
51
|
-
size_item = qt.QStandardItem(
|
52
|
-
"{} (M bytes)".format(sys.getsizeof(object) * 10e-6)
|
53
|
-
)
|
51
|
+
root_item = qt.QStandardItem(f"{str(object)}")
|
52
|
+
size_item = qt.QStandardItem(f"{sys.getsizeof(object) * 10e-6} (M bytes)")
|
54
53
|
self.__model.invisibleRootItem().appendRow((root_item, size_item))
|
55
54
|
|
56
55
|
def add_sub_elmts(parent_item, python_obj):
|
@@ -59,10 +58,10 @@ class ObjectInspector(qt.QWidget):
|
|
59
58
|
if hasattr(object, elmt):
|
60
59
|
children_obj = getattr(object, elmt)
|
61
60
|
# TODO: check if is a property or is a function
|
62
|
-
item = qt.QStandardItem("{}"
|
61
|
+
item = qt.QStandardItem(f"{elmt}")
|
63
62
|
# TODO: add size
|
64
63
|
size_item = qt.QStandardItem(
|
65
|
-
"{
|
64
|
+
f"{sys.getsizeof(children_obj) * 10e-6} (M bytes)"
|
66
65
|
)
|
67
66
|
parent_item.appendRow((item, size_item))
|
68
67
|
|
tomwer/gui/edit/dkrfpatch.py
CHANGED
@@ -28,19 +28,20 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "30/10/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
from typing import Union
|
33
|
+
|
31
34
|
import h5py
|
32
35
|
from silx.gui import qt
|
36
|
+
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
37
|
+
from silx.io.url import DataUrl
|
33
38
|
from silx.io.utils import h5py_read_dataset
|
34
39
|
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
35
|
-
from silx.io.url import DataUrl
|
36
40
|
from tomoscan.io import HDF5File
|
41
|
+
|
42
|
+
import tomwer.core.utils.nxtomoutils as nxtomo_utils
|
37
43
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
38
|
-
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
39
44
|
from tomwer.io.utils import get_default_directory
|
40
|
-
import tomwer.core.utils.nxtomoutils as nxtomo_utils
|
41
|
-
|
42
|
-
from typing import Union
|
43
|
-
import logging
|
44
45
|
|
45
46
|
_logger = logging.getLogger(__name__)
|
46
47
|
|
@@ -105,7 +106,7 @@ class _DarkOrFlatUrl(qt.QWidget):
|
|
105
106
|
|
106
107
|
def setSerie(self, serie):
|
107
108
|
type_name = self._type.name.lower().replace("_", " ")
|
108
|
-
item_txt = "{} serie n°{}"
|
109
|
+
item_txt = f"{type_name} serie n°{serie}"
|
109
110
|
idx = self._optionsCB.findText(item_txt)
|
110
111
|
if idx >= 0:
|
111
112
|
self._optionsCB.setCurrentIndex(idx)
|
@@ -173,16 +174,16 @@ class _DarkOrFlatUrl(qt.QWidget):
|
|
173
174
|
type_name = self._type.name.lower().replace("_", " ")
|
174
175
|
series_indexes = list(range(n_serie))
|
175
176
|
for i_serie in series_indexes:
|
176
|
-
self._optionsCB.addItem("{} serie n°{}"
|
177
|
+
self._optionsCB.addItem(f"{type_name} serie n°{i_serie}")
|
177
178
|
# if this is a end url then set to the last found entry
|
178
179
|
if self._when == "end":
|
179
180
|
opt_idx = self._optionsCB.findText(
|
180
|
-
"{} serie n°{
|
181
|
+
f"{type_name} serie n°{series_indexes[-1]}"
|
181
182
|
)
|
182
183
|
else:
|
183
184
|
# else set it to the first entry
|
184
185
|
opt_idx = self._optionsCB.findText(
|
185
|
-
"{} serie n°{
|
186
|
+
f"{type_name} serie n°{series_indexes[0]}"
|
186
187
|
)
|
187
188
|
if opt_idx >= 0:
|
188
189
|
self._optionsCB.setCurrentIndex(opt_idx)
|
@@ -28,15 +28,17 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "26/10/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import functools
|
32
|
+
import logging
|
33
|
+
import weakref
|
34
|
+
from collections.abc import Iterable
|
35
|
+
from typing import Union
|
36
|
+
|
31
37
|
from silx.gui import qt
|
38
|
+
from tomoscan.esrf.scan.hdf5scan import ImageKey as _ImageKey
|
39
|
+
|
32
40
|
from tomwer.core.process.edit.imagekeyeditor import IMAGE_KEYS
|
33
|
-
from typing import Union
|
34
41
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
35
|
-
from tomoscan.esrf.scan.hdf5scan import ImageKey as _ImageKey
|
36
|
-
import weakref
|
37
|
-
import functools
|
38
|
-
from collections.abc import Iterable
|
39
|
-
import logging
|
40
42
|
|
41
43
|
_logger = logging.getLogger(__name__)
|
42
44
|
|
@@ -626,7 +628,9 @@ class _ImageKeyListFiltered(qt.QWidget):
|
|
626
628
|
|
627
629
|
def setScan(self, scan):
|
628
630
|
if not isinstance(scan, HDF5TomoScan):
|
629
|
-
raise TypeError(
|
631
|
+
raise TypeError(
|
632
|
+
f"scan should be an instance of {HDF5TomoScan}. {type(scan)} provided"
|
633
|
+
)
|
630
634
|
self.__frames_modifications = {}
|
631
635
|
self._scan = weakref.ref(scan)
|
632
636
|
frames = scan.frames
|
@@ -659,11 +663,7 @@ class _FrameSelectionDialog(qt.QDialog):
|
|
659
663
|
def setFrames(self, frames):
|
660
664
|
item_texts = []
|
661
665
|
for frame in frames:
|
662
|
-
item_texts.append(
|
663
|
-
"{index} ({image_key})".format(
|
664
|
-
index=frame.index, image_key=frame.image_key.value
|
665
|
-
)
|
666
|
-
)
|
666
|
+
item_texts.append(f"{frame.index} ({frame.image_key.value})")
|
667
667
|
self._listWidget.addItems(item_texts)
|
668
668
|
|
669
669
|
def getSelectedFrameIndexes(self):
|
tomwer/gui/edit/nxtomoeditor.py
CHANGED
@@ -1,18 +1,19 @@
|
|
1
|
-
import weakref
|
2
1
|
import logging
|
3
|
-
import
|
2
|
+
import weakref
|
3
|
+
from typing import Optional
|
4
|
+
|
4
5
|
import h5py
|
6
|
+
import numpy
|
5
7
|
from silx.gui import qt
|
6
|
-
from
|
7
|
-
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
8
|
-
from tomwer.gui.utils.unitsystem import MetricEntry
|
9
|
-
from tomwer.gui.utils.scandescription import ScanNameLabelAndShape
|
8
|
+
from silx.io.utils import h5py_read_dataset
|
10
9
|
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
11
10
|
from tomoscan.io import HDF5File
|
12
11
|
from tomoscan.nexus.paths.nxtomo import get_paths as get_nexus_paths
|
13
|
-
from silx.io.utils import h5py_read_dataset
|
14
12
|
from tomoscan.scanbase import _FOV
|
15
13
|
|
14
|
+
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
15
|
+
from tomwer.gui.utils.scandescription import ScanNameLabelAndShape
|
16
|
+
from tomwer.gui.utils.unitsystem import MetricEntry
|
16
17
|
|
17
18
|
_logger = logging.getLogger(__name__)
|
18
19
|
|
@@ -28,21 +28,22 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "28/10/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import shutil
|
32
|
+
import tempfile
|
33
|
+
|
34
|
+
import numpy
|
31
35
|
import pytest
|
36
|
+
from nxtomomill.utils import add_dark_flat_nx_file
|
32
37
|
from silx.gui import qt
|
33
38
|
from silx.gui.utils.testutils import TestCaseQt
|
34
|
-
from tomwer.tests.utils import skip_gui_test
|
35
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
36
|
-
from tomwer.gui.edit.dkrfpatch import DarkRefPatchWidget
|
37
|
-
from tomwer.gui.edit.dkrfpatch import _DarkOrFlatUrl
|
38
39
|
from silx.io.url import DataUrl
|
39
|
-
from tomoscan.esrf.scan.utils import get_data
|
40
40
|
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
41
|
-
from
|
41
|
+
from tomoscan.esrf.scan.utils import get_data
|
42
|
+
|
42
43
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
43
|
-
import
|
44
|
-
import
|
45
|
-
import
|
44
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
45
|
+
from tomwer.gui.edit.dkrfpatch import DarkRefPatchWidget, _DarkOrFlatUrl
|
46
|
+
from tomwer.tests.utils import skip_gui_test
|
46
47
|
|
47
48
|
|
48
49
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -28,18 +28,20 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "28/10/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import tempfile
|
32
|
+
|
33
|
+
import pytest
|
31
34
|
from silx.gui import qt
|
32
|
-
from silx.gui.utils.testutils import
|
33
|
-
from
|
35
|
+
from silx.gui.utils.testutils import SignalListener, TestCaseQt
|
36
|
+
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
37
|
+
|
38
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
34
39
|
from tomwer.gui.edit.imagekeyeditor import (
|
35
40
|
ImageKeyDialog,
|
36
41
|
ImageKeyUpgraderWidget,
|
37
42
|
_AddImageKeyUpgradeOperation,
|
38
43
|
)
|
39
|
-
from tomwer.
|
40
|
-
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
41
|
-
import tempfile
|
42
|
-
import pytest
|
44
|
+
from tomwer.tests.utils import skip_gui_test
|
43
45
|
|
44
46
|
|
45
47
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import os
|
2
|
-
|
2
|
+
|
3
3
|
import numpy
|
4
|
-
|
4
|
+
import pytest
|
5
|
+
from nxtomomill.nexus.nxtomo import NXtomo
|
6
|
+
from silx.gui import qt
|
5
7
|
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
6
|
-
from tomoscan.
|
8
|
+
from tomoscan.scanbase import _FOV
|
7
9
|
from tomoscan.unitsystem.energysystem import EnergySI
|
10
|
+
from tomoscan.unitsystem.metricsystem import MetricSystem
|
11
|
+
|
8
12
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
9
13
|
from tomwer.gui.edit.nxtomoeditor import NXtomoEditor, _TranslationMetricEntry
|
10
|
-
from nxtomomill.nexus.nxtomo import NXtomo
|
11
14
|
from tomwer.tests.conftest import qtapp # noqa F401
|
12
|
-
from silx.gui import qt
|
13
15
|
|
14
16
|
|
15
17
|
@pytest.mark.parametrize("x_pixel_size", (None, 0.12))
|
tomwer/gui/icons.py
CHANGED
@@ -32,14 +32,15 @@ __license__ = "MIT"
|
|
32
32
|
__date__ = "06/09/2017"
|
33
33
|
|
34
34
|
|
35
|
-
import os
|
36
35
|
import logging
|
36
|
+
import os
|
37
37
|
import weakref
|
38
|
+
|
38
39
|
from silx.gui import qt
|
39
|
-
import tomwer.resources
|
40
40
|
from silx.utils import weakref as silxweakref
|
41
41
|
from silx.utils.deprecation import deprecated
|
42
42
|
|
43
|
+
import tomwer.resources
|
43
44
|
|
44
45
|
_logger = logging.getLogger(__name__)
|
45
46
|
"""Module logger"""
|
tomwer/gui/illustrations.py
CHANGED
@@ -32,12 +32,13 @@ __license__ = "MIT"
|
|
32
32
|
__date__ = "06/09/2017"
|
33
33
|
|
34
34
|
|
35
|
-
import os
|
36
35
|
import logging
|
36
|
+
import os
|
37
37
|
import weakref
|
38
|
+
|
38
39
|
from silx.gui import qt
|
39
|
-
import tomwer.resources
|
40
40
|
|
41
|
+
import tomwer.resources
|
41
42
|
|
42
43
|
_logger = logging.getLogger(__name__)
|
43
44
|
"""Module logger"""
|
tomwer/gui/imagefromfile.py
CHANGED
@@ -31,11 +31,13 @@ __date__ = "06/08/2018"
|
|
31
31
|
|
32
32
|
import functools
|
33
33
|
import logging
|
34
|
+
|
34
35
|
from silx.gui import qt
|
35
36
|
from silx.io.url import DataUrl
|
37
|
+
from tomoscan.io import HDF5File
|
38
|
+
|
36
39
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
40
|
from tomwer.synctools.imageloaderthread import ImageLoaderThread
|
38
|
-
from tomoscan.io import HDF5File
|
39
41
|
|
40
42
|
logger = logging.getLogger(__name__)
|
41
43
|
|
tomwer/gui/qfolderdialog.py
CHANGED
@@ -28,27 +28,29 @@ __author__ = ["H. Payno"]
|
|
28
28
|
__license__ = "MIT"
|
29
29
|
__date__ = "11/07/2022"
|
30
30
|
|
31
|
+
import logging
|
32
|
+
import os
|
33
|
+
|
34
|
+
import h5py
|
31
35
|
from silx.gui import qt
|
36
|
+
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
37
|
+
from silx.gui.utils import blockSignals
|
38
|
+
from silx.io.url import DataUrl
|
39
|
+
from tomoscan.esrf.volume.utils import (
|
40
|
+
get_most_common_extension as get_most_common_extension,
|
41
|
+
)
|
42
|
+
from tomoscan.esrf.volume.utils import guess_volumes as tomoscan_guess_volumes
|
32
43
|
from tomoscan.volumebase import VolumeBase
|
44
|
+
|
33
45
|
from tomwer.core.volume import (
|
34
46
|
EDFVolume,
|
35
47
|
HDF5Volume,
|
36
|
-
TIFFVolume,
|
37
|
-
MultiTIFFVolume,
|
38
48
|
JP2KVolume,
|
49
|
+
MultiTIFFVolume,
|
39
50
|
RawVolume,
|
51
|
+
TIFFVolume,
|
40
52
|
)
|
41
53
|
from tomwer.core.volume.volumefactory import VolumeFactory as Factory
|
42
|
-
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
43
|
-
from tomoscan.esrf.volume.utils import (
|
44
|
-
guess_volumes as tomoscan_guess_volumes,
|
45
|
-
get_most_common_extension as get_most_common_extension,
|
46
|
-
)
|
47
|
-
from silx.gui.utils import blockSignals
|
48
|
-
from silx.io.url import DataUrl
|
49
|
-
import logging
|
50
|
-
import h5py
|
51
|
-
import os
|
52
54
|
|
53
55
|
_logger = logging.getLogger()
|
54
56
|
|
@@ -27,14 +27,16 @@ __authors__ = ["v. Valls", "H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "26/02/2019"
|
29
29
|
|
30
|
+
import logging
|
31
|
+
import weakref
|
32
|
+
|
33
|
+
import numpy
|
34
|
+
from silx.gui import icons as silx_icons
|
30
35
|
from silx.gui import qt
|
31
36
|
from silx.gui.plot import CompareImages as _CompareImages
|
32
|
-
from silx.gui import icons as silx_icons
|
33
|
-
from tomwer.gui import icons as tomwer_icons
|
34
37
|
from silx.gui.plot import tools
|
35
|
-
|
36
|
-
import
|
37
|
-
import logging
|
38
|
+
|
39
|
+
from tomwer.gui import icons as tomwer_icons
|
38
40
|
|
39
41
|
_logger = logging.getLogger(__name__)
|
40
42
|
|
@@ -378,9 +380,8 @@ class CompareImagesStatusBar(qt.QStatusBar):
|
|
378
380
|
if not numpy.isclose(transform.sy, 1.0):
|
379
381
|
strings.append("Scale y: %0.3f" % transform.sy)
|
380
382
|
if not numpy.isclose(transform.rot, 0.0):
|
381
|
-
|
382
|
-
|
383
|
-
)
|
383
|
+
_rot = transform.rot * 180 / numpy.pi
|
384
|
+
strings.append(f"Rotation: {_rot:0.3f}deg")
|
384
385
|
if strings == []:
|
385
386
|
text = "No transformation"
|
386
387
|
else:
|
@@ -31,17 +31,19 @@ __license__ = "MIT"
|
|
31
31
|
__date__ = "14/10/2019"
|
32
32
|
|
33
33
|
|
34
|
+
import logging
|
34
35
|
from typing import Optional
|
36
|
+
|
35
37
|
from silx.gui import qt
|
38
|
+
from silx.utils.deprecation import deprecated
|
36
39
|
|
37
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
38
|
-
from .radioaxis import RadioAxisWindow
|
39
|
-
from ...utils.scandescription import ScanNameLabelAndShape
|
40
40
|
from tomwer.core.process.reconstruction.axis.mode import AxisMode
|
41
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
41
42
|
from tomwer.gui.utils.buttons import PadlockButton
|
42
43
|
from tomwer.synctools.axis import QAxisRP
|
43
|
-
|
44
|
-
import
|
44
|
+
|
45
|
+
from ...utils.scandescription import ScanNameLabelAndShape
|
46
|
+
from .radioaxis import RadioAxisWindow
|
45
47
|
|
46
48
|
_logger = logging.getLogger(__file__)
|
47
49
|
|
@@ -597,11 +599,11 @@ class _PositionInfoWidget(qt.QWidget):
|
|
597
599
|
elif isinstance(relative_cor, str):
|
598
600
|
self._relativePositionLabel.setText(relative_cor)
|
599
601
|
else:
|
600
|
-
self._relativePositionLabel.setText("{:.3f}"
|
602
|
+
self._relativePositionLabel.setText(f"{relative_cor:.3f}")
|
601
603
|
if abs_cor is None:
|
602
604
|
self._absolutePositionLabel.setText("?")
|
603
605
|
else:
|
604
|
-
self._absolutePositionLabel.setText("{:.3f}"
|
606
|
+
self._absolutePositionLabel.setText(f"{abs_cor:.3f}")
|
605
607
|
|
606
608
|
def _updateAbsolutePosition(self, width):
|
607
609
|
rel_value = self._relativePositionLabel.text()
|
@@ -30,33 +30,35 @@ __authors__ = ["C. Nemoz", "H. Payno"]
|
|
30
30
|
__license__ = "MIT"
|
31
31
|
__date__ = "25/02/2019"
|
32
32
|
|
33
|
-
from bisect import bisect_left
|
34
|
-
from silx.gui import qt
|
35
|
-
import logging
|
36
|
-
from tomwer.core.utils import image
|
37
|
-
import numpy
|
38
33
|
import enum
|
34
|
+
import logging
|
39
35
|
import os
|
40
|
-
from
|
41
|
-
from
|
42
|
-
|
43
|
-
|
36
|
+
from bisect import bisect_left
|
37
|
+
from typing import Optional, Union
|
38
|
+
|
39
|
+
import numpy
|
40
|
+
import scipy.signal
|
41
|
+
from silx.gui import qt
|
42
|
+
from silx.io.url import DataUrl
|
43
|
+
from silx.utils.deprecation import deprecated
|
44
|
+
|
44
45
|
from tomwer.core.process.reconstruction.axis import mode as axis_mode
|
45
46
|
from tomwer.core.process.reconstruction.axis.anglemode import CorAngleMode
|
46
47
|
from tomwer.core.process.reconstruction.axis.params import (
|
47
|
-
AxisCalculationInput,
|
48
|
-
DEFAULT_CMP_THETA,
|
49
48
|
DEFAULT_CMP_N_SUBSAMPLING_Y,
|
50
49
|
DEFAULT_CMP_OVERSAMPLING,
|
51
50
|
DEFAULT_CMP_TAKE_LOG,
|
51
|
+
DEFAULT_CMP_THETA,
|
52
|
+
AxisCalculationInput,
|
52
53
|
)
|
53
|
-
from
|
54
|
-
import
|
55
|
-
from .
|
54
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
55
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
56
|
+
from tomwer.core.utils import image
|
56
57
|
from tomwer.gui.utils.buttons import PadlockButton
|
57
|
-
from
|
58
|
-
from
|
59
|
-
|
58
|
+
from tomwer.gui.utils.qt_utils import block_signals
|
59
|
+
from tomwer.synctools.axis import QAxisRP
|
60
|
+
|
61
|
+
from .CompareImages import CompareImages
|
60
62
|
|
61
63
|
_logger = logging.getLogger(__name__)
|
62
64
|
|
@@ -283,8 +285,7 @@ class RadioAxisWindow(qt.QMainWindow):
|
|
283
285
|
raise ValueError("Fail to discover a valid scan in %s" % scan)
|
284
286
|
elif not isinstance(_scan, TomwerScanBase):
|
285
287
|
raise ValueError(
|
286
|
-
"type of
|
287
|
-
"file/dir path or an instance of ScanBase" % (scan, type(scan))
|
288
|
+
f"type of {scan} ({type(scan)}) is invalid, scan should be a file/dir path or an instance of ScanBase"
|
288
289
|
)
|
289
290
|
assert isinstance(_scan, TomwerScanBase)
|
290
291
|
|
@@ -376,7 +377,7 @@ class RadioAxisWindow(qt.QMainWindow):
|
|
376
377
|
if _imgA.shape != _imgB.shape:
|
377
378
|
_logger.error(
|
378
379
|
"The two provided images have incoherent shapes "
|
379
|
-
"(
|
380
|
+
f"({_imgA.shape} vs {_imgB.shape})"
|
380
381
|
)
|
381
382
|
elif _imgA.ndim != 2:
|
382
383
|
_logger.error("Image shape are not 2 dimensional")
|
@@ -1038,7 +1039,7 @@ class _ROIDefinition(qt.QWidget):
|
|
1038
1039
|
self._xOriginSB.setValue(x_origin)
|
1039
1040
|
self._yOriginSB.setValue(y_origin)
|
1040
1041
|
except Exception:
|
1041
|
-
_logger.warning("unable to determine origin for {}"
|
1042
|
+
_logger.warning(f"unable to determine origin for {scan}")
|
1042
1043
|
|
1043
1044
|
|
1044
1045
|
@enum.unique
|
@@ -1547,8 +1548,7 @@ class AxisTabWidget(qt.QTabWidget):
|
|
1547
1548
|
current_mode = self.getMode()
|
1548
1549
|
if current_mode not in axis_mode._VALID_INPUTS:
|
1549
1550
|
raise ValueError(
|
1550
|
-
"valid input should have been defined for the "
|
1551
|
-
"mode {}".format(current_mode.value)
|
1551
|
+
f"valid input should have been defined for the mode {current_mode.value}"
|
1552
1552
|
)
|
1553
1553
|
else:
|
1554
1554
|
valid_inputs = axis_mode._VALID_INPUTS[current_mode]
|
@@ -2017,16 +2017,16 @@ class _SliceSelector(qt.QWidget):
|
|
2017
2017
|
else:
|
2018
2018
|
return self._otherSB.value()
|
2019
2019
|
|
2020
|
-
def setSlice(self,
|
2021
|
-
if
|
2020
|
+
def setSlice(self, slice_):
|
2021
|
+
if slice_ is None:
|
2022
2022
|
return
|
2023
|
-
if
|
2023
|
+
if slice_ == "middle":
|
2024
2024
|
idx = self._modeCB.findText("middle")
|
2025
2025
|
self._modeCB.setCurrentIndex(idx)
|
2026
2026
|
else:
|
2027
2027
|
idx = self._modeCB.findText("other")
|
2028
2028
|
self._modeCB.setCurrentIndex(idx)
|
2029
|
-
self._otherSB.setValue(
|
2029
|
+
self._otherSB.setValue(slice_)
|
2030
2030
|
self.sigChanged.emit()
|
2031
2031
|
|
2032
2032
|
def getMode(self):
|
@@ -2236,15 +2236,13 @@ class _InputWidget(qt.QWidget):
|
|
2236
2236
|
axis_mode._InputType.from_value(mode)
|
2237
2237
|
except Exception:
|
2238
2238
|
raise ValueError(
|
2239
|
-
"mode {} should be an instance of {}"
|
2240
|
-
mode, axis_mode._InputType
|
2241
|
-
)
|
2239
|
+
f"mode {mode} should be an instance of {axis_mode._InputType}"
|
2242
2240
|
)
|
2243
2241
|
if len(modes) == 2:
|
2244
2242
|
self._sinogramGB.setEnabled(True)
|
2245
2243
|
self._radioGB.setEnabled(True)
|
2246
2244
|
elif len(modes) > 2:
|
2247
|
-
raise ValueError("invalid input {}"
|
2245
|
+
raise ValueError(f"invalid input {modes}")
|
2248
2246
|
elif len(modes) < 0:
|
2249
2247
|
raise ValueError("modes is empty")
|
2250
2248
|
else:
|
@@ -2537,7 +2535,7 @@ class _ManualFramesSelection(qt.QWidget):
|
|
2537
2535
|
|
2538
2536
|
@staticmethod
|
2539
2537
|
def _angleToStr(angle: float) -> str:
|
2540
|
-
return "{:0.3f}"
|
2538
|
+
return f"{float(angle):0.3f}"
|
2541
2539
|
|
2542
2540
|
def setScan(self, scan: Union[TomwerScanBase, None]) -> None:
|
2543
2541
|
self._anglesAvailable.clear()
|
@@ -31,14 +31,15 @@ __date__ = "13/08/2021"
|
|
31
31
|
import logging
|
32
32
|
import shutil
|
33
33
|
from typing import Union
|
34
|
+
|
34
35
|
from silx.gui import qt
|
36
|
+
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
37
|
+
from silx.io.url import DataUrl
|
38
|
+
|
39
|
+
from tomwer.core import settings, utils
|
35
40
|
from tomwer.core.process.reconstruction.darkref.darkrefscopy import DarkRefsCopy
|
36
|
-
from tomwer.io.utils import get_default_directory
|
37
|
-
from tomwer.core import settings
|
38
|
-
from tomwer.core import utils
|
39
41
|
from tomwer.gui.reconstruction.darkref.darkrefwidget import DarkRefWidget
|
40
|
-
from
|
41
|
-
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
42
|
+
from tomwer.io.utils import get_default_directory
|
42
43
|
|
43
44
|
_logger = logging.getLogger(__name__)
|
44
45
|
|
@@ -28,10 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "10/01/2018"
|
29
29
|
|
30
30
|
|
31
|
-
from silx.gui import qt
|
32
31
|
import logging
|
33
|
-
|
32
|
+
|
33
|
+
from silx.gui import qt
|
34
|
+
|
34
35
|
from tomwer.core.process.reconstruction.darkref import params as dkrf
|
36
|
+
from tomwer.core.process.reconstruction.darkref.darkrefs import DarkRefs
|
35
37
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
36
38
|
from tomwer.gui.utils.sandboxes import RegularExpressionSandBox
|
37
39
|
from tomwer.synctools.darkref import QDKRFRP
|
@@ -28,10 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/06/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
|
31
33
|
from silx.gui import qt
|
34
|
+
|
32
35
|
from tomwer.gui import icons
|
33
36
|
from tomwer.gui.utils.buttons import PadlockButton
|
34
|
-
import logging
|
35
37
|
|
36
38
|
_logger = logging.getLogger()
|
37
39
|
|