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,22 +28,25 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "18/02/2018"
|
29
29
|
|
30
30
|
|
31
|
-
import os
|
32
31
|
import logging
|
32
|
+
import os
|
33
33
|
from typing import Optional
|
34
|
-
|
35
|
-
from
|
36
|
-
from
|
37
|
-
|
34
|
+
|
35
|
+
from silx.gui import icons as silxicons
|
36
|
+
from silx.gui import qt
|
37
|
+
|
38
38
|
from tomwer.core.process.control.datawatcher.datawatcher import _DataWatcher
|
39
|
-
from tomwer.
|
40
|
-
from tomwer.
|
41
|
-
from tomwer.gui.control.datawatcher import configuration
|
42
|
-
from .datawatcherobserver import _QOngoingObservation
|
43
|
-
from .datawatcherobserver import _QDataWatcherObserver
|
39
|
+
from tomwer.core.scan.blissscan import BlissScan
|
40
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
44
41
|
from tomwer.core.scan.scanfactory import ScanFactory
|
45
42
|
from tomwer.core.utils import logconfig
|
46
|
-
from tomwer.
|
43
|
+
from tomwer.gui.control import datareacheractions, history, observations
|
44
|
+
from tomwer.gui.control.datawatcher import configuration
|
45
|
+
from tomwer.gui.control.datawatcher.controlwidget import ControlWidget
|
46
|
+
from tomwer.gui.utils.waiterthread import QWaiterThread
|
47
|
+
from tomwer.io.utils import get_default_directory
|
48
|
+
|
49
|
+
from .datawatcherobserver import _QDataWatcherObserver, _QOngoingObservation
|
47
50
|
|
48
51
|
logger = logging.getLogger(__name__)
|
49
52
|
|
@@ -55,9 +58,6 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
55
58
|
:param parent: the parent widget
|
56
59
|
"""
|
57
60
|
|
58
|
-
_textStopObservation = "Stop observation"
|
59
|
-
_textStartObservation = "Start observation"
|
60
|
-
|
61
61
|
obsStatusToWidgetStatus = {
|
62
62
|
"not processing": "Not processed",
|
63
63
|
"none found": "Running",
|
@@ -79,7 +79,6 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
79
79
|
|
80
80
|
DEFAULT_DIRECTORY = "/lbsram/data/visitor"
|
81
81
|
|
82
|
-
# TODO: status should also pass a TomoBase instance
|
83
82
|
sigTMStatusChanged = qt.Signal(str)
|
84
83
|
"""Signal emitted when the state changed"""
|
85
84
|
sigScanReady = qt.Signal(object)
|
@@ -108,6 +107,15 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
108
107
|
status ..."""
|
109
108
|
_DataWatcher.__init__(self)
|
110
109
|
self.setFolderObserved(self.folderObserved)
|
110
|
+
self._setStateIcon(silxicons.getQIcon("remove"))
|
111
|
+
|
112
|
+
# connect signal / slot
|
113
|
+
self._qteFolderSelected.textChanged.connect(self._updateFolderObserved)
|
114
|
+
self._qteFolderSelected.editingFinished.connect(self._restartObservation)
|
115
|
+
self._filterQLE.editingFinished.connect(self._restartObservation)
|
116
|
+
self._filterQLE.editingFinished.connect(self._filterChanged)
|
117
|
+
self._qpbstartstop.released.connect(self._switchObservation)
|
118
|
+
|
111
119
|
# expose api
|
112
120
|
self.sigObservationModeChanged = (
|
113
121
|
self.getConfigWindow()._observationMethod.sigSelectionChanged
|
@@ -231,22 +239,7 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
231
239
|
|
232
240
|
def getControlWindow(self):
|
233
241
|
if self.controlWidget is None:
|
234
|
-
self.controlWidget =
|
235
|
-
self.controlWidget.setLayout(qt.QVBoxLayout())
|
236
|
-
layout = self.controlWidget.layout()
|
237
|
-
|
238
|
-
self.statusBar = qt.QStatusBar(parent=self.controlWidget)
|
239
|
-
self._qlInfo = qt.QLabel(parent=self.controlWidget)
|
240
|
-
|
241
|
-
layout.addWidget(self._getFolderSelection())
|
242
|
-
layout.addWidget(self._qlInfo)
|
243
|
-
layout.addWidget(self._buildFilterWidget())
|
244
|
-
layout.addWidget(self._buildStartStopButton())
|
245
|
-
layout.addWidget(self.statusBar)
|
246
|
-
|
247
|
-
spacer = qt.QWidget(self)
|
248
|
-
spacer.setSizePolicy(qt.QSizePolicy.Minimum, qt.QSizePolicy.Expanding)
|
249
|
-
layout.addWidget(spacer)
|
242
|
+
self.controlWidget = ControlWidget(parent=self)
|
250
243
|
|
251
244
|
return self.controlWidget
|
252
245
|
|
@@ -260,22 +253,6 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
260
253
|
self._mainWidget.layout().addWidget(self.getHistoryWindow())
|
261
254
|
self.setCentralWidget(self._mainWidget)
|
262
255
|
|
263
|
-
def _buildFilterWidget(self):
|
264
|
-
widget = qt.QWidget(self.controlWidget)
|
265
|
-
layout = qt.QHBoxLayout()
|
266
|
-
widget.setLayout(layout)
|
267
|
-
widget.layout().addWidget(qt.QLabel("filter"))
|
268
|
-
self._filterQLE = qt.QLineEdit("", self)
|
269
|
-
self._filterQLE.setToolTip(
|
270
|
-
"You can provide a Linux Regular Expression that will insure only file fitting the expression will be discovered"
|
271
|
-
)
|
272
|
-
self._filterQLE.setPlaceholderText("*file_pattern*")
|
273
|
-
widget.layout().addWidget(self._filterQLE)
|
274
|
-
self._filterQLE.editingFinished.connect(self._restartObservation)
|
275
|
-
self._filterQLE.editingFinished.connect(self._filterChanged)
|
276
|
-
|
277
|
-
return widget
|
278
|
-
|
279
256
|
def _filterChanged(self, *args, **kwargs):
|
280
257
|
self.sigFilterFileNamePatternChanged.emit(self._filterQLE.text())
|
281
258
|
|
@@ -286,33 +263,6 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
286
263
|
else:
|
287
264
|
return value
|
288
265
|
|
289
|
-
def _buildStartStopButton(self):
|
290
|
-
"""
|
291
|
-
Build the start/stop button in a QHLayout with one spacer on the left
|
292
|
-
and one on the right
|
293
|
-
"""
|
294
|
-
widget = qt.QWidget(self.controlWidget)
|
295
|
-
layout = qt.QHBoxLayout()
|
296
|
-
widget.setLayout(layout)
|
297
|
-
|
298
|
-
# left spacer
|
299
|
-
spacerL = qt.QWidget(widget)
|
300
|
-
spacerL.setSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum)
|
301
|
-
layout.addWidget(spacerL)
|
302
|
-
|
303
|
-
# button
|
304
|
-
self._qpbstartstop = qt.QPushButton(self._textStartObservation)
|
305
|
-
self._qpbstartstop.setAutoDefault(True)
|
306
|
-
self._qpbstartstop.pressed.connect(self._switchObservation)
|
307
|
-
layout.addWidget(self._qpbstartstop)
|
308
|
-
|
309
|
-
# right spacer
|
310
|
-
spacerR = qt.QWidget(widget)
|
311
|
-
spacerR.setSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Minimum)
|
312
|
-
layout.addWidget(spacerR)
|
313
|
-
|
314
|
-
return widget
|
315
|
-
|
316
266
|
def _buildLoopTimeBreak(self):
|
317
267
|
"""
|
318
268
|
Build the spin box to define the break we want to make between two
|
@@ -332,11 +282,35 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
332
282
|
|
333
283
|
return widget
|
334
284
|
|
285
|
+
@property
|
286
|
+
def _qlInfo(self):
|
287
|
+
return self.getControlWindow()._qlInfo
|
288
|
+
|
289
|
+
@property
|
290
|
+
def _qteFolderSelected(self):
|
291
|
+
return self.getControlWindow()._qteFolderSelected
|
292
|
+
|
293
|
+
@property
|
294
|
+
def _filterQLE(self):
|
295
|
+
return self.getControlWindow()._filterQLE
|
296
|
+
|
297
|
+
@property
|
298
|
+
def _qpbstartstop(self):
|
299
|
+
return self.getControlWindow()._qpbstartstop
|
300
|
+
|
301
|
+
@property
|
302
|
+
def _stateLabel(self):
|
303
|
+
return self.getControlWindow()._stateLabel
|
304
|
+
|
305
|
+
@property
|
306
|
+
def mystatusBar(self):
|
307
|
+
return self.getControlWindow().mystatusBar
|
308
|
+
|
335
309
|
def _getInitPath(self):
|
336
310
|
initPath = ""
|
337
311
|
if "DATADIR" in os.environ:
|
338
312
|
initPath = os.environ["DATADIR"]
|
339
|
-
self._qlInfo.setText(
|
313
|
+
self.getControlWindow()._qlInfo.setText(
|
340
314
|
"note : environment variable DATADIR found, "
|
341
315
|
"$DATADIR setted has the root of the observe folder"
|
342
316
|
)
|
@@ -391,7 +365,7 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
391
365
|
message = "observation stopped"
|
392
366
|
self.sigObservationEnd.emit()
|
393
367
|
logger.inform(message)
|
394
|
-
self.
|
368
|
+
self.mystatusBar.showMessage(message)
|
395
369
|
self._setCurrentStatus("not processing")
|
396
370
|
return True
|
397
371
|
|
@@ -405,7 +379,7 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
405
379
|
if _DataWatcher.start(self):
|
406
380
|
mess = f"start observation on {self.folderObserved}"
|
407
381
|
logger.inform(mess)
|
408
|
-
self.
|
382
|
+
self.mystatusBar.showMessage(mess)
|
409
383
|
self._setCurrentStatus("started")
|
410
384
|
self.sigObservationStart.emit()
|
411
385
|
return True
|
@@ -415,41 +389,9 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
415
389
|
def _setIsObserving(self, b):
|
416
390
|
_DataWatcher._setIsObserving(self, b)
|
417
391
|
if self.isObserving is True: # pylint: disable=E1101
|
418
|
-
self._qpbstartstop.setText(self.
|
392
|
+
self._qpbstartstop.setText(self.getControlWindow()._TXT_STOP_OBS)
|
419
393
|
else:
|
420
|
-
self._qpbstartstop.setText(self.
|
421
|
-
|
422
|
-
def _getFolderSelection(self):
|
423
|
-
"""
|
424
|
-
Return the widget used for the folder selection
|
425
|
-
"""
|
426
|
-
widget = qt.QWidget(self)
|
427
|
-
layout = qt.QHBoxLayout()
|
428
|
-
|
429
|
-
self._qtbSelectFolder = qt.QPushButton("Select folder", parent=widget)
|
430
|
-
self._qtbSelectFolder.setAutoDefault(True)
|
431
|
-
self._qtbSelectFolder.clicked.connect(self._setFolderPath)
|
432
|
-
|
433
|
-
self._qteFolderSelected = QLFileSystem("", parent=widget)
|
434
|
-
self._qteFolderSelected.textChanged.connect(self._updateFolderObserved)
|
435
|
-
self._qteFolderSelected.editingFinished.connect(self._restartObservation)
|
436
|
-
|
437
|
-
layout.setContentsMargins(0, 0, 0, 0)
|
438
|
-
layout.setSpacing(0)
|
439
|
-
|
440
|
-
layout.addWidget(self._qteFolderSelected)
|
441
|
-
layout.addWidget(self._qtbSelectFolder)
|
442
|
-
|
443
|
-
self.animated_icon = silxicons.getWaitIcon()
|
444
|
-
self.__stateLabel = qt.QLabel(parent=widget)
|
445
|
-
self.animated_icon.register(self.__stateLabel)
|
446
|
-
self._setStateIcon(silxicons.getQIcon("remove"))
|
447
|
-
|
448
|
-
self.__stateLabel.setFixedWidth(30)
|
449
|
-
layout.addWidget(self.__stateLabel)
|
450
|
-
|
451
|
-
widget.setLayout(layout)
|
452
|
-
return widget
|
394
|
+
self._qpbstartstop.setText(self.getControlWindow()._TXT_START_OBS)
|
453
395
|
|
454
396
|
def _setFolderPath(self): # pragma: no cover
|
455
397
|
"""
|
@@ -505,17 +447,17 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
505
447
|
else:
|
506
448
|
return False
|
507
449
|
|
508
|
-
def _messageNotDir(self,
|
509
|
-
super()._messageNotDir(
|
510
|
-
message = "Given path (
|
511
|
-
self.
|
450
|
+
def _messageNotDir(self, dir_):
|
451
|
+
super()._messageNotDir(dir_=dir_)
|
452
|
+
message = f"Given path ({dir_}) isn't a directory."
|
453
|
+
self.mystatusBar.showMessage("!!! " + message + "!!!")
|
512
454
|
|
513
455
|
def informationReceived(self, info):
|
514
|
-
self.
|
456
|
+
self.mystatusBar.showMessage(info)
|
515
457
|
|
516
458
|
def _scanStatusChanged(self, scan, status):
|
517
|
-
mess = "scan
|
518
|
-
self.
|
459
|
+
mess = f"scan {os.path.basename(scan)} is observed. Status: {status}"
|
460
|
+
self.mystatusBar.showMessage(mess)
|
519
461
|
|
520
462
|
def _connectObserverThread(self):
|
521
463
|
if self.observationThread is not None and self.obsThIsConnected is False:
|
@@ -560,9 +502,9 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
560
502
|
:param icon:the icon to set"""
|
561
503
|
# needed for heritage from DataWatcher
|
562
504
|
if icon is None:
|
563
|
-
self.
|
505
|
+
self._stateLabel.setPixmap(qt.QIcon().pixmap(30, state=qt.QIcon.On))
|
564
506
|
else:
|
565
|
-
self.
|
507
|
+
self._stateLabel.setPixmap(icon.pixmap(30, state=qt.QIcon.On))
|
566
508
|
|
567
509
|
def _updateAnimatedIcon(self):
|
568
510
|
"""Simple function which manage the waiting icon"""
|
@@ -619,7 +561,7 @@ class DataWatcherWidget(_DataWatcher, qt.QMainWindow):
|
|
619
561
|
|
620
562
|
def waitForObservationFinished(self):
|
621
563
|
if self.observationThread.observations is not None:
|
622
|
-
for
|
564
|
+
for _, thread in self.observationThread.observations.dict.items():
|
623
565
|
thread.wait(10)
|
624
566
|
|
625
567
|
def _launchObservation(self):
|
@@ -28,24 +28,22 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "10/01/2019"
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
import logging
|
32
32
|
import os
|
33
|
+
from fnmatch import fnmatch
|
34
|
+
|
35
|
+
import h5py
|
33
36
|
from silx.gui import qt
|
34
|
-
|
35
|
-
|
36
|
-
)
|
37
|
+
|
38
|
+
from tomwer.core.process.control.datawatcher import status as datawatcherstatus
|
37
39
|
from tomwer.core.process.control.datawatcher.datawatcherobserver import (
|
38
40
|
_DataWatcherObserver_MixIn,
|
39
|
-
)
|
40
|
-
from tomwer.core.process.control.datawatcher.datawatcherobserver import (
|
41
41
|
_DataWatcherStaticObserverMixIn,
|
42
|
+
_OngoingObservation,
|
42
43
|
)
|
43
44
|
from tomwer.core.scan.blissscan import BlissScan
|
44
45
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
45
|
-
from tomwer.core.process.control.datawatcher import status as datawatcherstatus
|
46
|
-
import logging
|
47
46
|
from tomwer.core.scan.scanfactory import ScanFactory
|
48
|
-
import h5py
|
49
47
|
|
50
48
|
logger = logging.getLogger(__name__)
|
51
49
|
|
tomwer/gui/control/history.py
CHANGED
@@ -28,8 +28,10 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "18/02/2018"
|
29
29
|
|
30
30
|
|
31
|
-
from silx.gui import qt
|
32
31
|
from operator import itemgetter
|
32
|
+
|
33
|
+
from silx.gui import qt
|
34
|
+
|
33
35
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
34
36
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
35
37
|
|
@@ -28,13 +28,15 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "31/05/2018"
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
import os
|
32
|
+
import weakref
|
32
33
|
from collections import OrderedDict
|
34
|
+
|
35
|
+
from silx.gui import qt
|
36
|
+
|
37
|
+
from tomwer.core.scan.blissscan import BlissScan
|
33
38
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
34
39
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
35
|
-
from tomwer.core.scan.blissscan import BlissScan
|
36
|
-
import weakref
|
37
|
-
import os
|
38
40
|
|
39
41
|
|
40
42
|
class ScanObservation(qt.QWidget):
|
@@ -194,9 +196,7 @@ class _ObservedScanModel(qt.QAbstractTableModel):
|
|
194
196
|
if isinstance(obs, TomwerScanBase):
|
195
197
|
return obs.tomo_n or 0
|
196
198
|
elif isinstance(obs, BlissScan):
|
197
|
-
return "(at least) {} over {}"
|
198
|
-
obs.n_acquired or "?", obs.tomo_n or "?"
|
199
|
-
)
|
199
|
+
return f"(at least) {obs.n_acquired or '?'} over {obs.tomo_n or '?'}"
|
200
200
|
elif os.path.exists(obs) and os.path.isdir(obs):
|
201
201
|
return str(len(os.listdir(obs)))
|
202
202
|
else:
|
@@ -28,11 +28,13 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "25/05/2018"
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
import logging
|
32
|
+
|
32
33
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
33
34
|
from tomwer.gui.control.datalist import GenericScanList
|
35
|
+
from tomwer.gui.qfolderdialog import QDataDialog
|
36
|
+
|
34
37
|
from .selectorwidgetbase import _SelectorWidget
|
35
|
-
import logging
|
36
38
|
|
37
39
|
logger = logging.getLogger(__name__)
|
38
40
|
|
@@ -28,21 +28,22 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "12/01/2022"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
from contextlib import AbstractContextManager
|
32
|
-
from typing import
|
33
|
-
|
34
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
35
|
-
from tomwer.core.volume.volumefactory import VolumeFactory
|
36
|
-
from tomwer.gui.control.datalist import TomoObjList
|
37
|
-
from tomwer.gui.visualization.tomoobjoverview import TomoObjOverview
|
38
|
-
from tomwer.core.tomwer_object import TomwerObject
|
33
|
+
from typing import Iterable, Optional
|
34
|
+
|
39
35
|
from silx.gui import qt
|
40
36
|
from silx.gui.utils import blockSignals
|
41
|
-
from tomoscan.serie import Serie
|
42
37
|
from silx.utils.enum import Enum as _Enum
|
43
|
-
import
|
38
|
+
from tomoscan.serie import Serie
|
44
39
|
|
40
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
41
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
42
|
+
from tomwer.core.tomwer_object import TomwerObject
|
43
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
44
|
+
from tomwer.gui.control.datalist import TomoObjList
|
45
45
|
from tomwer.gui.qfolderdialog import QDataDialog
|
46
|
+
from tomwer.gui.visualization.tomoobjoverview import TomoObjOverview
|
46
47
|
|
47
48
|
_logger = logging.getLogger(__name__)
|
48
49
|
|
@@ -421,9 +422,7 @@ class _SerieDefinitionTree(qt.QWidget):
|
|
421
422
|
else:
|
422
423
|
scans = [ScanFactory.create_scan_object(scan_path=file_, entry=entry)]
|
423
424
|
except Exception as e:
|
424
|
-
_logger.error(
|
425
|
-
"cannot create scan instances from {}. Error is {}".format(file_, e)
|
426
|
-
)
|
425
|
+
_logger.error(f"cannot create scan instances from {file_}. Error is {e}")
|
427
426
|
else:
|
428
427
|
changed = False
|
429
428
|
with self.SignalBlocker(self):
|
@@ -1,22 +1,22 @@
|
|
1
|
+
import logging
|
1
2
|
import os
|
3
|
+
|
2
4
|
from silx.gui import qt
|
5
|
+
from tomoscan.esrf.volume.utils import guess_volumes
|
3
6
|
|
4
7
|
from tomwer.core.scan.scanfactory import ScanFactory
|
5
8
|
from tomwer.core.tomwer_object import TomwerObject
|
6
9
|
from tomwer.core.volume.edfvolume import EDFVolume, EDFVolumeIdentifier
|
7
10
|
from tomwer.core.volume.hdf5volume import HDF5Volume, HDF5VolumeIdentifier
|
8
11
|
from tomwer.core.volume.jp2kvolume import JP2KVolume, JP2KVolumeIdentifier
|
12
|
+
from tomwer.core.volume.rawvolume import RawVolume, RawVolumeIdentifier
|
9
13
|
from tomwer.core.volume.tiffvolume import (
|
10
14
|
MultiTIFFVolume,
|
11
15
|
MultiTiffVolumeIdentifier,
|
12
16
|
TIFFVolume,
|
13
17
|
TIFFVolumeIdentifier,
|
14
18
|
)
|
15
|
-
from tomwer.core.volume.rawvolume import RawVolume, RawVolumeIdentifier
|
16
|
-
from tomoscan.esrf.volume.utils import guess_volumes
|
17
19
|
from tomwer.gui.qfolderdialog import QDataDialog
|
18
|
-
import logging
|
19
|
-
|
20
20
|
from tomwer.gui.qlefilesystem import QLFileSystem
|
21
21
|
|
22
22
|
_logger = logging.getLogger(__name__)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
from tomwer.tests.conftest import qtapp # noqa F401
|
2
|
+
from tomwer.gui.control.datadiscovery import DataDiscoveryWidget
|
3
|
+
from tomwer.core.scan.scantype import ScanType
|
4
|
+
|
5
|
+
|
6
|
+
def test_data_discovery_widget(qtapp): # noqa F811
|
7
|
+
widget = DataDiscoveryWidget()
|
8
|
+
pass
|
9
|
+
widget.show()
|
10
|
+
configuration = widget.getConfiguration()
|
11
|
+
|
12
|
+
assert isinstance(configuration, dict)
|
13
|
+
assert configuration == {
|
14
|
+
"start_folder": "",
|
15
|
+
"file_filter": None,
|
16
|
+
"scan_type_searched": ScanType.NX_TOMO.value,
|
17
|
+
}
|
18
|
+
|
19
|
+
new_config = {
|
20
|
+
"start_folder": "/my/folder",
|
21
|
+
"file_filter": "*.nx",
|
22
|
+
"scan_type_searched": ScanType.BLISS.value,
|
23
|
+
}
|
24
|
+
|
25
|
+
widget.setConfiguration(new_config)
|
26
|
+
assert widget.getConfiguration() == new_config
|
27
|
+
widget = None
|
@@ -27,14 +27,15 @@ __license__ = "MIT"
|
|
27
27
|
__date__ = "05/11/2018"
|
28
28
|
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
import tempfile
|
31
|
+
|
32
|
+
import pytest
|
33
|
+
from silx.gui import qt
|
33
34
|
from silx.gui.utils.testutils import TestCaseQt
|
35
|
+
|
34
36
|
from tomwer.core.utils.scanutils import MockEDF
|
35
|
-
from
|
36
|
-
import
|
37
|
-
import tempfile
|
37
|
+
from tomwer.gui.control.datalist import GenericScanListDialog, VolumeList
|
38
|
+
from tomwer.tests.utils import skip_gui_test
|
38
39
|
|
39
40
|
|
40
41
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -28,12 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "18/03/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import pytest
|
31
32
|
from silx.gui import qt
|
32
|
-
from silx.gui.utils.testutils import TestCaseQt
|
33
|
-
|
33
|
+
from silx.gui.utils.testutils import SignalListener, TestCaseQt
|
34
|
+
|
34
35
|
from tomwer.gui.control.datalistener import ConfigurationWidget
|
35
|
-
from
|
36
|
-
import pytest
|
36
|
+
from tomwer.tests.utils import skip_gui_test
|
37
37
|
|
38
38
|
|
39
39
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -27,12 +27,13 @@ __license__ = "MIT"
|
|
27
27
|
__date__ = "16/06/2021"
|
28
28
|
|
29
29
|
|
30
|
-
from tomwer.gui.utils import inputwidget
|
31
|
-
from tomwer.tests.utils import skip_gui_test
|
32
|
-
from silx.gui.utils.testutils import TestCaseQt
|
33
|
-
from silx.gui import qt
|
34
30
|
import numpy
|
35
31
|
import pytest
|
32
|
+
from silx.gui import qt
|
33
|
+
from silx.gui.utils.testutils import TestCaseQt
|
34
|
+
|
35
|
+
from tomwer.gui.utils import inputwidget
|
36
|
+
from tomwer.tests.utils import skip_gui_test
|
36
37
|
|
37
38
|
|
38
39
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -30,10 +30,10 @@ __date__ = "09/11/2020"
|
|
30
30
|
|
31
31
|
import pytest
|
32
32
|
from silx.gui import qt
|
33
|
-
from silx.gui.utils.testutils import TestCaseQt
|
34
|
-
|
33
|
+
from silx.gui.utils.testutils import SignalListener, TestCaseQt
|
34
|
+
|
35
35
|
from tomwer.gui.control.datalistener import ConfigurationWidget
|
36
|
-
from
|
36
|
+
from tomwer.tests.utils import skip_gui_test
|
37
37
|
|
38
38
|
|
39
39
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -27,13 +27,15 @@ __license__ = "MIT"
|
|
27
27
|
__date__ = "22/01/2017"
|
28
28
|
|
29
29
|
|
30
|
-
from tomwer.tests.utils import skip_gui_test
|
31
|
-
from silx.gui.utils.testutils import TestCaseQt
|
32
|
-
from tomwer.gui.control.scanselectorwidget import ScanSelectorWidget
|
33
|
-
from tomwer.core.utils.scanutils import MockEDF
|
34
30
|
import shutil
|
35
31
|
import tempfile
|
32
|
+
|
36
33
|
import pytest
|
34
|
+
from silx.gui.utils.testutils import TestCaseQt
|
35
|
+
|
36
|
+
from tomwer.core.utils.scanutils import MockEDF
|
37
|
+
from tomwer.gui.control.scanselectorwidget import ScanSelectorWidget
|
38
|
+
from tomwer.tests.utils import skip_gui_test
|
37
39
|
|
38
40
|
|
39
41
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -33,14 +33,15 @@ import os
|
|
33
33
|
import shutil
|
34
34
|
import tempfile
|
35
35
|
import time
|
36
|
-
|
36
|
+
|
37
37
|
import pytest
|
38
|
-
from
|
39
|
-
|
40
|
-
from tomwer.core
|
38
|
+
from silx.gui.utils.testutils import TestCaseQt
|
39
|
+
|
40
|
+
from tomwer.core import settings, utils
|
41
41
|
from tomwer.core.process.control.scanvalidator import ScanValidatorP
|
42
|
-
from tomwer.gui.utils.waiterthread import QWaiterThread
|
43
42
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
43
|
+
from tomwer.core.utils.scanutils import MockEDF
|
44
|
+
from tomwer.gui.utils.waiterthread import QWaiterThread
|
44
45
|
from tomwer.tests.utils import skip_gui_test
|
45
46
|
|
46
47
|
logging.disable(logging.INFO)
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import os
|
2
2
|
import tempfile
|
3
|
+
|
3
4
|
import numpy
|
4
|
-
from silx.gui.utils.testutils import TestCaseQt
|
5
5
|
from silx.gui import qt
|
6
|
-
from
|
7
|
-
|
6
|
+
from silx.gui.utils.testutils import TestCaseQt
|
7
|
+
|
8
8
|
from tomwer.core.utils.scanutils import MockHDF5
|
9
|
+
from tomwer.core.volume.hdf5volume import HDF5Volume
|
10
|
+
from tomwer.gui.control.singletomoobj import SingleTomoObj
|
9
11
|
|
10
12
|
|
11
13
|
class TestSingletomoObj(TestCaseQt):
|
@@ -32,14 +32,16 @@ __date__ = "11/07/2022"
|
|
32
32
|
import os
|
33
33
|
import shutil
|
34
34
|
import tempfile
|
35
|
-
|
35
|
+
|
36
|
+
import numpy
|
37
|
+
import pytest
|
36
38
|
from silx.gui import qt
|
37
|
-
from
|
38
|
-
from tomwer.gui.qfolderdialog import QVolumeDialog
|
39
|
+
from silx.gui.utils.testutils import TestCaseQt
|
39
40
|
from tomoscan.esrf.volume.edfvolume import EDFVolume
|
40
41
|
from tomoscan.esrf.volume.hdf5volume import HDF5Volume
|
41
|
-
|
42
|
-
import
|
42
|
+
|
43
|
+
from tomwer.gui.qfolderdialog import QVolumeDialog
|
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")
|