tomwer 1.1.0rc7__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 +32 -38
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +26 -26
- 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/slurm.py +36 -0
- tomwer/core/process/reconstruction/nabu/utils.py +18 -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/laminoutils.py +80 -0
- 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/lineselection.py +76 -0
- 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 +3 -3
- tomwer/web/__init__.py +30 -0
- tomwer/web/client.py +43 -0
- tomwer/web/config.py +36 -0
- tomwer/web/test/__init__.py +0 -0
- tomwer/web/test/test_graylog_connection.py +59 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/METADATA +2 -2
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/RECORD +361 -345
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/WHEEL +1 -1
- /tomwer-1.1.0rc7-py3.9-nspkg.pth → /tomwer-1.2.0a0-py3.8-nspkg.pth +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/LICENSE +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/entry_points.txt +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.1.0rc7.dist-info → tomwer-1.2.0a0.dist-info}/top_level.txt +0 -0
@@ -27,21 +27,24 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "13/08/2021"
|
29
29
|
|
30
|
+
import logging
|
31
|
+
import weakref
|
32
|
+
|
30
33
|
from silx.gui import qt
|
31
|
-
from silx.
|
34
|
+
from silx.gui.plot.ImageStack import ImageStack as _ImageStack
|
35
|
+
from silx.gui.plot.ImageStack import UrlLoader
|
32
36
|
from silx.gui.utils.signal import SignalProxy
|
33
|
-
import
|
34
|
-
import
|
35
|
-
|
37
|
+
from silx.io.url import DataUrl
|
38
|
+
from silx.utils.enum import Enum as _Enum
|
39
|
+
|
36
40
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
41
|
from tomwer.core.utils.ftseriesutils import get_vol_file_shape
|
38
|
-
from silx.io.url import DataUrl
|
39
42
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
43
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
40
44
|
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
41
45
|
from tomwer.gui.visualization.reconstructionparameters import ReconstructionParameters
|
42
46
|
from tomwer.gui.visualization.scanoverview import ScanOverviewWidget
|
43
47
|
from tomwer.io.utils.utils import get_slice_data
|
44
|
-
from tomwer.core.volume.volumefactory import VolumeFactory
|
45
48
|
|
46
49
|
try:
|
47
50
|
from PIL import Image
|
@@ -55,10 +58,11 @@ except ImportError: # pragma: no cover
|
|
55
58
|
has_cv2 = False # pragma: no cover
|
56
59
|
else:
|
57
60
|
has_cv2 = True
|
61
|
+
import os
|
62
|
+
import time
|
63
|
+
|
58
64
|
import numpy
|
59
65
|
import numpy.lib.npyio
|
60
|
-
import time
|
61
|
-
import os
|
62
66
|
|
63
67
|
_logger = logging.getLogger(__name__)
|
64
68
|
|
@@ -496,9 +500,7 @@ class ImageStack(_ImageStack):
|
|
496
500
|
if data.ndim == 3 and data.shape[0] == 1:
|
497
501
|
data = data.reshape((data.shape[1], data.shape[2]))
|
498
502
|
else:
|
499
|
-
_logger.warning(
|
500
|
-
"Image Stack only manage 2D data. Url: {}" "".format(url)
|
501
|
-
)
|
503
|
+
_logger.warning(f"Image Stack only manage 2D data. Url: {url}")
|
502
504
|
return
|
503
505
|
if self._normFct is None:
|
504
506
|
self._urlData[url] = data
|
@@ -525,9 +527,7 @@ class ImageStack(_ImageStack):
|
|
525
527
|
self._reconsWidget.setUrl(url)
|
526
528
|
except Exception as e:
|
527
529
|
_logger.info(
|
528
|
-
"Unable to set reconstruction parameters from"
|
529
|
-
" {}. Not handled for pyhst reconstructions. "
|
530
|
-
"Error is {}".format(url, str(e))
|
530
|
+
f"Unable to set reconstruction parameters from {url}. Not handled for pyhst reconstructions. Error is {e}"
|
531
531
|
)
|
532
532
|
super().setCurrentUrl(url)
|
533
533
|
|
@@ -542,13 +542,12 @@ class ImageStack(_ImageStack):
|
|
542
542
|
url = DataUrl(path=item.text())
|
543
543
|
except Exception:
|
544
544
|
_logger.info(
|
545
|
-
"fail to deduce data of last modification for "
|
546
|
-
"{}".format(item.text())
|
545
|
+
f"fail to deduce data of last modification for {item.text()}"
|
547
546
|
)
|
548
547
|
else:
|
549
548
|
if os.path.exists(url.file_path()):
|
550
549
|
lst_m = time.ctime(os.path.getmtime(url.file_path()))
|
551
|
-
item.setToolTip("last modification : {}"
|
550
|
+
item.setToolTip(f"last modification : {lst_m}")
|
552
551
|
items.append(listWidget.item(i))
|
553
552
|
|
554
553
|
|
@@ -586,9 +585,7 @@ class _TomwerUrlLoader(UrlLoader):
|
|
586
585
|
except ValueError:
|
587
586
|
self.data = None
|
588
587
|
_logger.warning(
|
589
|
-
"Fail to open {}. Maybe the reconstruction failed."
|
590
|
-
self.url.path()
|
591
|
-
)
|
588
|
+
f"Fail to open {self.url.path()}. Maybe the reconstruction failed."
|
592
589
|
)
|
593
590
|
|
594
591
|
def _load_vol(self):
|
@@ -632,9 +629,7 @@ class _TomwerUrlLoader(UrlLoader):
|
|
632
629
|
data = data.reshape(shape)
|
633
630
|
except ValueError:
|
634
631
|
_logger.warning(
|
635
|
-
"unable to fix shape for raw file {}. "
|
636
|
-
"Look for information in {}"
|
637
|
-
"".format(raw_file, info_file)
|
632
|
+
f"unable to fix shape for raw file {raw_file}. Look for information in {info_file}"
|
638
633
|
)
|
639
634
|
try:
|
640
635
|
sqr = int(numpy.sqrt(len(data)))
|
@@ -642,15 +637,12 @@ class _TomwerUrlLoader(UrlLoader):
|
|
642
637
|
data = data.reshape(shape)
|
643
638
|
except ValueError:
|
644
639
|
_logger.info(
|
645
|
-
"deduction of shape size for {} "
|
646
|
-
"failed".format(raw_file)
|
640
|
+
f"deduction of shape size for {raw_file} failed"
|
647
641
|
)
|
648
642
|
data = None
|
649
643
|
else:
|
650
644
|
_logger.warning(
|
651
|
-
f"try deducing shape size for {raw_file} "
|
652
|
-
"might be an incorrect "
|
653
|
-
"interpretation"
|
645
|
+
f"try deducing shape size for {raw_file} might be an incorrect interpretation"
|
654
646
|
)
|
655
647
|
if self.url.data_slice() is None:
|
656
648
|
return data
|
@@ -34,21 +34,23 @@ __date__ = "23/03/2022"
|
|
34
34
|
import functools
|
35
35
|
import logging
|
36
36
|
import os
|
37
|
+
|
37
38
|
import numpy
|
38
39
|
from processview.core.dataset import DatasetIdentifier
|
40
|
+
from silx.gui import icons as silx_icons
|
41
|
+
from silx.gui import qt
|
42
|
+
from silx.io.url import DataUrl
|
43
|
+
from silx.utils.enum import Enum as _Enum
|
44
|
+
|
39
45
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
40
46
|
from tomwer.core.scan.scanfactory import ScanFactory
|
41
47
|
from tomwer.core.utils.image import shift_img
|
42
|
-
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
43
|
-
from tomwer.gui.utils.completer import UrlCompleterDialog
|
44
|
-
from tomwer.io.utils import get_slice_data
|
45
48
|
from tomwer.gui.qfolderdialog import QDataDialog
|
46
49
|
from tomwer.gui.reconstruction.axis.CompareImages import CompareImages as _CompareImages
|
50
|
+
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
51
|
+
from tomwer.gui.utils.completer import UrlCompleterDialog
|
47
52
|
from tomwer.gui.visualization.diffviewer.shiftwidget import TwoFramesShiftTab
|
48
|
-
from
|
49
|
-
from silx.io.url import DataUrl
|
50
|
-
from silx.utils.enum import Enum as _Enum
|
51
|
-
from silx.gui import icons as silx_icons
|
53
|
+
from tomwer.io.utils import get_slice_data
|
52
54
|
|
53
55
|
_logger = logging.getLogger(__name__)
|
54
56
|
|
@@ -60,14 +62,14 @@ class CompareImages(_CompareImages):
|
|
60
62
|
self.getPlot().setPanWithArrowKeys(False)
|
61
63
|
self._firstVisible = True
|
62
64
|
|
63
|
-
def setVisible(self,
|
65
|
+
def setVisible(self, visible):
|
64
66
|
if self._firstVisible:
|
65
67
|
# hack to enforce matplotlib to replot the widget.
|
66
68
|
# because it looks like it is missing to find the correct viewport
|
67
69
|
# when not visible
|
68
70
|
self.getPlot().resetZoom()
|
69
71
|
self._firstVisible = False
|
70
|
-
super().setVisible(
|
72
|
+
super().setVisible(visible)
|
71
73
|
|
72
74
|
|
73
75
|
class _FrameSelector(qt.QWidget):
|
@@ -166,7 +168,7 @@ class _FrameSelector(qt.QWidget):
|
|
166
168
|
elif type_selected == self.FrameType.RECON_SLICES:
|
167
169
|
urls = self._scan.get_reconstructions_urls()
|
168
170
|
else:
|
169
|
-
raise ValueError("Type {} not managed"
|
171
|
+
raise ValueError(f"Type {type_selected} not managed")
|
170
172
|
urls = sorted(urls, key=lambda url: url.path())
|
171
173
|
for url in urls:
|
172
174
|
if url.data_slice() is not None:
|
@@ -269,7 +271,7 @@ class _FramesSelector(qt.QWidget):
|
|
269
271
|
|
270
272
|
def addScan(self, scan):
|
271
273
|
if not isinstance(scan, TomwerScanBase):
|
272
|
-
raise TypeError("scan should be an instance of {}"
|
274
|
+
raise TypeError(f"scan should be an instance of {TomwerScanBase}")
|
273
275
|
self._leftScanCB.addScan(scan.get_identifier())
|
274
276
|
self._rightScanCB.addScan(scan.get_identifier())
|
275
277
|
|
@@ -319,9 +321,7 @@ class _FramesSelector(qt.QWidget):
|
|
319
321
|
scans = ScanFactory.create_scan_objects(scan_path=folder)
|
320
322
|
except Exception as e:
|
321
323
|
_logger.error(
|
322
|
-
"cannot create scan instances from {}. Error is {}"
|
323
|
-
folder, e
|
324
|
-
)
|
324
|
+
f"cannot create scan instances from {folder}. Error is {e}"
|
325
325
|
)
|
326
326
|
else:
|
327
327
|
for scan in scans:
|
@@ -445,7 +445,7 @@ class DiffFrameViewer(qt.QMainWindow):
|
|
445
445
|
if data.ndim == 3 and data.shape[0] == 1:
|
446
446
|
data = data.reshape((data.shape[1], data.shape[2]))
|
447
447
|
else:
|
448
|
-
_logger.error("Cannot display {}. Should be 2D"
|
448
|
+
_logger.error(f"Cannot display {url.path()}. Should be 2D")
|
449
449
|
return
|
450
450
|
|
451
451
|
if self.isFrameALRFlip():
|
@@ -478,7 +478,7 @@ class DiffFrameViewer(qt.QMainWindow):
|
|
478
478
|
if data.ndim == 3 and data.shape[0] == 1:
|
479
479
|
data = data.reshape((data.shape[1], data.shape[2]))
|
480
480
|
else:
|
481
|
-
_logger.error("Cannot display {}. Should be 2D"
|
481
|
+
_logger.error(f"Cannot display {url.path()}. Should be 2D")
|
482
482
|
return
|
483
483
|
if self.isFrameBLRFlip():
|
484
484
|
data = numpy.fliplr(data)
|
@@ -548,10 +548,7 @@ class _ScanComboBox(qt.QWidget):
|
|
548
548
|
try:
|
549
549
|
scan = DatasetIdentifier.recreate_dataset(dataset_id)
|
550
550
|
except Exception as e:
|
551
|
-
_logger.error(
|
552
|
-
"Fail to recreate dataset from {}. Reason is {}."
|
553
|
-
"".format(str(dataset_id), e)
|
554
|
-
)
|
551
|
+
_logger.error(f"Fail to recreate dataset from {dataset_id}. Reason is {e}.")
|
555
552
|
return None
|
556
553
|
else:
|
557
554
|
return scan
|
@@ -28,12 +28,14 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "31/03/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import os
|
32
|
+
|
31
33
|
from silx.gui import qt
|
32
34
|
from silx.io.url import DataUrl
|
33
35
|
from silx.io.utils import h5py_read_dataset
|
34
|
-
from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
|
35
36
|
from tomoscan.io import HDF5File
|
36
|
-
|
37
|
+
|
38
|
+
from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
|
37
39
|
|
38
40
|
|
39
41
|
class ReconstructionParameters(qt.QWidget):
|
@@ -99,8 +101,7 @@ class ReconstructionParameters(qt.QWidget):
|
|
99
101
|
url = DataUrl(path=url)
|
100
102
|
else:
|
101
103
|
raise TypeError(
|
102
|
-
"url should be a DataUrl or a str representing"
|
103
|
-
"an url and not {}".format(type(url))
|
104
|
+
f"url should be a DataUrl or a str representing an url and not {type(url)}"
|
104
105
|
)
|
105
106
|
for func in (
|
106
107
|
self._setMethod,
|
@@ -120,10 +121,10 @@ class ReconstructionParameters(qt.QWidget):
|
|
120
121
|
func(url)
|
121
122
|
|
122
123
|
@staticmethod
|
123
|
-
def _decode_nabu_str(
|
124
|
-
if hasattr(
|
125
|
-
|
126
|
-
return
|
124
|
+
def _decode_nabu_str(input_str):
|
125
|
+
if hasattr(input_str, "decode"):
|
126
|
+
input_str = input_str.decode("UTF-8")
|
127
|
+
return input_str
|
127
128
|
|
128
129
|
def _setMethod(self, url):
|
129
130
|
def get_method_value():
|
@@ -186,7 +187,7 @@ class ReconstructionParameters(qt.QWidget):
|
|
186
187
|
|
187
188
|
value = self._decode_nabu_str(get_distance_value())
|
188
189
|
if value is not None:
|
189
|
-
value = "{:.2}"
|
190
|
+
value = f"{value:.2}"
|
190
191
|
self._distanceQLE.setText(value if value is not None else "")
|
191
192
|
|
192
193
|
def _setPixelSize(self, url):
|
@@ -206,7 +207,7 @@ class ReconstructionParameters(qt.QWidget):
|
|
206
207
|
|
207
208
|
value = self._decode_nabu_str(get_pixel_size_value())
|
208
209
|
if value is not None:
|
209
|
-
value = "{:.8}"
|
210
|
+
value = f"{float(value):.8}"
|
210
211
|
self._pixelSizeQLE.setText(value if value is not None else "")
|
211
212
|
|
212
213
|
def _setCor(self, url):
|
@@ -222,7 +223,7 @@ class ReconstructionParameters(qt.QWidget):
|
|
222
223
|
|
223
224
|
value = self._decode_nabu_str(get_cor_value())
|
224
225
|
if value not in (None, "None", "none"):
|
225
|
-
value = "{:.4f}"
|
226
|
+
value = f"{float(value):.4f}"
|
226
227
|
self._corQLE.setText(value if value is not None else "")
|
227
228
|
|
228
229
|
def _setPaddingType(self, url):
|
@@ -369,4 +370,4 @@ class ReconstructionParameters(qt.QWidget):
|
|
369
370
|
if nabu_version is not None:
|
370
371
|
software = "nabu"
|
371
372
|
software_version = nabu_version
|
372
|
-
self._softwareVersionQLE.setText("{} ({})"
|
373
|
+
self._softwareVersionQLE.setText(f"{software} ({software_version})")
|
@@ -28,11 +28,13 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "31/03/2021"
|
29
29
|
|
30
30
|
|
31
|
-
from silx.gui import qt
|
32
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
33
|
-
import weakref
|
34
31
|
import logging
|
32
|
+
import weakref
|
33
|
+
|
34
|
+
from silx.gui import qt
|
35
|
+
|
35
36
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
37
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
36
38
|
|
37
39
|
_logger = logging.getLogger(__name__)
|
38
40
|
|
@@ -31,11 +31,12 @@ __license__ = "MIT"
|
|
31
31
|
__date__ = "26/03/2020"
|
32
32
|
|
33
33
|
|
34
|
-
from silx.gui import qt
|
35
|
-
from silx.gui.plot.ImageStack import _PlotWithWaitingLabel
|
36
34
|
import logging
|
37
35
|
import weakref
|
38
36
|
|
37
|
+
from silx.gui import qt
|
38
|
+
from silx.gui.plot.ImageStack import _PlotWithWaitingLabel
|
39
|
+
|
39
40
|
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
40
41
|
|
41
42
|
_logger = logging.getLogger(__name__)
|
@@ -29,8 +29,10 @@ __date__ = "30/07/2020"
|
|
29
29
|
|
30
30
|
|
31
31
|
import unittest
|
32
|
-
|
32
|
+
|
33
33
|
from silx.gui import qt
|
34
|
+
from silx.gui.utils.testutils import TestCaseQt
|
35
|
+
|
34
36
|
from tomwer.gui.visualization.dataviewer import DataViewer, ImageStack
|
35
37
|
|
36
38
|
|
@@ -28,15 +28,17 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "21/06/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
import os
|
33
|
+
import shutil
|
34
|
+
import tempfile
|
35
|
+
import unittest
|
36
|
+
|
31
37
|
from silx.gui import qt
|
32
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
33
38
|
from silx.gui.utils.testutils import TestCaseQt
|
39
|
+
|
40
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
34
41
|
from tomwer.gui.visualization.diffviewer import DiffFrameViewer
|
35
|
-
import unittest
|
36
|
-
import logging
|
37
|
-
import tempfile
|
38
|
-
import shutil
|
39
|
-
import os
|
40
42
|
|
41
43
|
logging.disable(logging.INFO)
|
42
44
|
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import os
|
2
|
-
|
2
|
+
|
3
3
|
import numpy
|
4
|
+
import pytest
|
5
|
+
from nxtomomill.nexus.nxtomo import NXtomo
|
6
|
+
from silx.gui import qt
|
4
7
|
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
8
|
+
|
5
9
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
6
10
|
from tomwer.gui.visualization.nxtomometadata import NXtomoMetadataViewer
|
7
|
-
from nxtomomill.nexus.nxtomo import NXtomo
|
8
11
|
from tomwer.tests.conftest import qtapp # noqa F401
|
9
|
-
from silx.gui import qt
|
10
12
|
|
11
13
|
|
12
14
|
def test_nx_editor(
|
@@ -28,12 +28,14 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "15/12/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import os
|
32
|
+
import shutil
|
31
33
|
import tempfile
|
32
|
-
|
34
|
+
|
33
35
|
from silx.gui import qt
|
36
|
+
from silx.gui.utils.testutils import TestCaseQt
|
34
37
|
from silx.io.url import DataUrl
|
35
|
-
|
36
|
-
import os
|
38
|
+
|
37
39
|
from tomwer.core.utils import scanutils
|
38
40
|
from tomwer.gui.visualization.reconstructionparameters import ReconstructionParameters
|
39
41
|
|
@@ -28,17 +28,18 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "22/01/2017"
|
29
29
|
|
30
30
|
|
31
|
-
from silx.gui.utils.testutils import SignalListener
|
32
|
-
from tomwer.gui.visualization import sinogramviewer
|
33
|
-
from silx.gui import qt
|
34
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
35
|
-
from silx.gui.utils.testutils import TestCaseQt
|
36
|
-
import unittest
|
37
31
|
import logging
|
38
|
-
import time
|
39
|
-
import tempfile
|
40
|
-
import shutil
|
41
32
|
import os
|
33
|
+
import shutil
|
34
|
+
import tempfile
|
35
|
+
import time
|
36
|
+
import unittest
|
37
|
+
|
38
|
+
from silx.gui import qt
|
39
|
+
from silx.gui.utils.testutils import SignalListener, TestCaseQt
|
40
|
+
|
41
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
42
|
+
from tomwer.gui.visualization import sinogramviewer
|
42
43
|
|
43
44
|
logging.disable(logging.INFO)
|
44
45
|
|
@@ -26,20 +26,22 @@ __authors__ = ["H. Payno"]
|
|
26
26
|
__license__ = "MIT"
|
27
27
|
__date__ = "16/06/2021"
|
28
28
|
|
29
|
+
import logging
|
29
30
|
import os
|
30
31
|
import shutil
|
31
32
|
import tempfile
|
33
|
+
import time
|
34
|
+
import weakref
|
35
|
+
|
32
36
|
import numpy
|
33
|
-
|
34
|
-
from tomwer.gui.stacks import SliceStack, RadioStack
|
37
|
+
import pytest
|
35
38
|
from silx.gui import qt
|
36
39
|
from silx.gui.utils.testutils import TestCaseQt
|
37
|
-
import logging
|
38
|
-
import time
|
39
|
-
import pytest
|
40
40
|
from tomoscan.esrf.volume.edfvolume import EDFVolume
|
41
|
+
|
42
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
43
|
+
from tomwer.gui.stacks import RadioStack, SliceStack
|
41
44
|
from tomwer.tests.utils import skip_gui_test
|
42
|
-
import weakref
|
43
45
|
|
44
46
|
logging.disable(logging.INFO)
|
45
47
|
|
@@ -28,17 +28,19 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "21/06/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
import os
|
33
|
+
import shutil
|
34
|
+
import tempfile
|
35
|
+
import unittest
|
36
|
+
|
37
|
+
import numpy
|
31
38
|
from silx.gui import qt
|
32
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
33
39
|
from silx.gui.utils.testutils import TestCaseQt
|
34
|
-
from tomwer.gui.visualization.volumeviewer import VolumeViewer
|
35
40
|
from tomoscan.esrf.volume.hdf5volume import HDF5Volume
|
36
|
-
|
37
|
-
import
|
38
|
-
import
|
39
|
-
import tempfile
|
40
|
-
import shutil
|
41
|
-
import os
|
41
|
+
|
42
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
43
|
+
from tomwer.gui.visualization.volumeviewer import VolumeViewer
|
42
44
|
|
43
45
|
logging.disable(logging.INFO)
|
44
46
|
|
@@ -1,10 +1,13 @@
|
|
1
|
-
from
|
2
|
-
|
1
|
+
from typing import Optional
|
2
|
+
|
3
3
|
from silx.gui import qt
|
4
|
+
|
5
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
4
6
|
from tomwer.core.tomwer_object import TomwerObject
|
5
7
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
6
|
-
|
7
|
-
from
|
8
|
+
|
9
|
+
from .scanoverview import ScanOverviewWidget
|
10
|
+
from .volumeoverview import VolumeOverviewWidget
|
8
11
|
|
9
12
|
|
10
13
|
class TomoObjOverview(qt.QWidget):
|
@@ -1,8 +1,10 @@
|
|
1
|
+
import logging
|
2
|
+
from typing import Optional
|
3
|
+
|
1
4
|
from silx.gui import qt
|
2
|
-
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
3
5
|
from tomoscan.identifier import VolumeIdentifier
|
4
|
-
|
5
|
-
import
|
6
|
+
|
7
|
+
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
6
8
|
|
7
9
|
_logger = logging.getLogger(__name__)
|
8
10
|
|
@@ -28,25 +28,26 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "05/08/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
import os
|
33
|
+
import weakref
|
34
|
+
|
35
|
+
import numpy
|
36
|
+
import numpy.lib.npyio
|
37
|
+
import silx
|
31
38
|
from silx.gui import qt
|
32
|
-
from
|
33
|
-
from tomoscan.identifier import VolumeIdentifier
|
34
|
-
from tomoscan.esrf.volume.hdf5volume import HDF5Volume
|
35
|
-
from tomoscan.factory import Factory
|
39
|
+
from silx.gui.colors import Colormap
|
36
40
|
from silx.gui.data.DataViewerFrame import DataViewerFrame
|
41
|
+
from silx.gui.data.DataViews import IMAGE_MODE, DataViewHooks
|
37
42
|
from silx.gui.dialog.ColormapDialog import ColormapDialog
|
38
|
-
from
|
39
|
-
from
|
40
|
-
import
|
43
|
+
from tomoscan.esrf.volume.hdf5volume import HDF5Volume
|
44
|
+
from tomoscan.factory import Factory
|
45
|
+
from tomoscan.identifier import VolumeIdentifier
|
46
|
+
from tomoscan.volumebase import VolumeBase
|
47
|
+
|
41
48
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
42
|
-
import logging
|
43
49
|
from tomwer.core.utils.ftseriesutils import get_vol_file_shape
|
44
|
-
import weakref
|
45
50
|
from tomwer.gui.visualization.reconstructionparameters import ReconstructionParameters
|
46
|
-
import silx
|
47
|
-
from silx.gui.colors import Colormap
|
48
|
-
import numpy
|
49
|
-
import numpy.lib.npyio
|
50
51
|
|
51
52
|
_logger = logging.getLogger(__name__)
|
52
53
|
|
@@ -292,7 +293,7 @@ class VolumeViewer(qt.QMainWindow):
|
|
292
293
|
return
|
293
294
|
|
294
295
|
elif len(scan.latest_vol_reconstructions) == 0:
|
295
|
-
_logger.warning("No reconstructed volume for {}"
|
296
|
+
_logger.warning(f"No reconstructed volume for {scan}")
|
296
297
|
self.clear()
|
297
298
|
self._infoWidget.setScan(scan)
|
298
299
|
else:
|
tomwer/io/utils/__init__.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
from .utils import get_slice_data # noqa F401
|
2
|
-
from .utils import get_default_directory # noqa F401
|
3
1
|
from .utils import format_stderr_stdout # noqa F401
|
4
|
-
from .utils import
|
2
|
+
from .utils import get_default_directory # noqa F401
|
5
3
|
from .utils import get_linked_files_with_entry # noqa F401
|
4
|
+
from .utils import get_linked_files_with_vds # noqa F401
|
5
|
+
from .utils import get_slice_data # noqa F401
|
tomwer/io/utils/h5pyutils.py
CHANGED