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
@@ -1,9 +1,11 @@
|
|
1
1
|
import gc
|
2
|
+
|
2
3
|
import pytest
|
3
4
|
from silx.gui import qt
|
4
|
-
from tomwer.tests.utils import skip_gui_test
|
5
5
|
from silx.gui.utils.testutils import TestCaseQt
|
6
|
+
|
6
7
|
from orangecontrib.tomwer.widgets.edit.NXtomoEditorOW import NXtomoEditorOW
|
8
|
+
from tomwer.tests.utils import skip_gui_test
|
7
9
|
|
8
10
|
|
9
11
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -2,24 +2,26 @@
|
|
2
2
|
the icon change (to difference them) and here the input is not a Table
|
3
3
|
but a TomwerScanBase (use silx.gui.qt instead of AnyQt too)"""
|
4
4
|
|
5
|
-
import sys
|
6
|
-
import os
|
7
5
|
import code
|
8
|
-
import keyword
|
9
6
|
import itertools
|
7
|
+
import keyword
|
8
|
+
import os
|
9
|
+
import sys
|
10
10
|
import unicodedata
|
11
11
|
from unittest.mock import patch
|
12
|
-
|
13
|
-
from orangewidget import
|
14
|
-
from orangewidget.utils import itemmodels
|
12
|
+
|
13
|
+
from orangewidget import gui, widget
|
15
14
|
from orangewidget.settings import Setting, SettingsHandler
|
16
|
-
from orangewidget.
|
15
|
+
from orangewidget.utils import itemmodels
|
16
|
+
from orangewidget.widget import Input, Output, OWBaseWidget
|
17
|
+
from silx.gui import qt
|
18
|
+
from tomoscan.serie import Serie
|
19
|
+
|
17
20
|
import tomwer.core.process.script.python
|
18
21
|
from tomwer.core.cluster.cluster import SlurmClusterConfiguration
|
19
22
|
from tomwer.core.futureobject import FutureTomwerObject
|
20
23
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
21
24
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
22
|
-
from tomoscan.serie import Serie
|
23
25
|
|
24
26
|
__all__ = ["OWPythonScript"]
|
25
27
|
|
@@ -778,9 +780,7 @@ class OWPythonScript(widget.OWBaseWidget, openclass=True):
|
|
778
780
|
if not isinstance(out_var, signal_type) and out_var is not None:
|
779
781
|
self.Error.add_message(
|
780
782
|
signal,
|
781
|
-
"'{}' has to be an instance of '{}'
|
782
|
-
signal, signal_type.__name__
|
783
|
-
),
|
783
|
+
f"'{signal}' has to be an instance of '{signal_type.__name__}'",
|
784
784
|
)
|
785
785
|
getattr(self.Error, signal)()
|
786
786
|
out_var = None
|
@@ -27,31 +27,31 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "04/03/2019"
|
29
29
|
|
30
|
-
import
|
31
|
-
|
30
|
+
import copy
|
31
|
+
import functools
|
32
|
+
import logging
|
33
|
+
|
32
34
|
from orangewidget import gui
|
33
|
-
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
34
35
|
from orangewidget.settings import Setting
|
35
|
-
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
36
36
|
from orangewidget.widget import Input, Output
|
37
|
-
from processview.gui.processmanager import ProcessManager
|
38
|
-
from processview.core.manager import DatasetState
|
39
37
|
from processview.core import helpers as pv_helpers
|
40
|
-
from
|
41
|
-
from
|
38
|
+
from processview.core.manager import DatasetState
|
39
|
+
from processview.gui.processmanager import ProcessManager
|
40
|
+
from silx.gui import qt
|
41
|
+
|
42
|
+
import tomwer.core.process.reconstruction.axis
|
43
|
+
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
44
|
+
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
45
|
+
from tomwer.core import settings, utils
|
42
46
|
from tomwer.core.process.reconstruction.axis import AxisProcess
|
43
|
-
from tomwer.
|
44
|
-
from tomwer.gui.reconstruction.axis import AxisWindow
|
45
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
47
|
+
from tomwer.core.process.reconstruction.axis.mode import AxisMode
|
46
48
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
47
|
-
from tomwer.core.scan.scanbase import _TomwerBaseDock
|
48
|
-
from
|
49
|
-
from tomwer.
|
50
|
-
from tomwer.
|
51
|
-
import functools
|
52
|
-
import copy
|
49
|
+
from tomwer.core.scan.scanbase import TomwerScanBase, _TomwerBaseDock
|
50
|
+
from tomwer.gui.reconstruction.axis import AxisWindow
|
51
|
+
from tomwer.synctools.axis import QAxisRP
|
52
|
+
from tomwer.synctools.stacks.reconstruction.axis import AxisProcessStack
|
53
53
|
|
54
|
-
import
|
54
|
+
from ..utils import WidgetLongProcessing
|
55
55
|
|
56
56
|
logger = logging.getLogger(__name__)
|
57
57
|
|
@@ -116,8 +116,7 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
116
116
|
if axis_params is not None:
|
117
117
|
if not isinstance(axis_params, QAxisRP):
|
118
118
|
raise TypeError(
|
119
|
-
"axis_params should be an instance of "
|
120
|
-
"QAxisRP. Not {}".format(type(axis_params))
|
119
|
+
f"axis_params should be an instance of QAxisRP. Not {type(axis_params)}"
|
121
120
|
)
|
122
121
|
self._axis_params = axis_params or QAxisRP()
|
123
122
|
|
@@ -128,7 +127,7 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
128
127
|
try:
|
129
128
|
self._axis_params.load_from_dict(axis_params_settings)
|
130
129
|
except Exception as e:
|
131
|
-
logger.error(f"fail to load reconstruction settings: {
|
130
|
+
logger.error(f"fail to load reconstruction settings: {e}")
|
132
131
|
|
133
132
|
# gui settings
|
134
133
|
gui_settings = self._ewoks_default_inputs.get("gui", {})
|
@@ -321,15 +320,11 @@ class AxisOW(SuperviseOW, WidgetLongProcessing):
|
|
321
320
|
self.__scan._axis_params.set_relative_value(
|
322
321
|
self._axis_params.relative_cor_value
|
323
322
|
)
|
323
|
+
_cor_value = self.__scan.axis_params.relative_cor_value
|
324
324
|
pv_helpers.notify_succeed(
|
325
325
|
process=self,
|
326
326
|
dataset=self.__scan,
|
327
|
-
details="axis calculation defined for {}: {} (using
|
328
|
-
"".format(
|
329
|
-
str(self.__scan.path),
|
330
|
-
str(self.__scan.axis_params.relative_cor_value),
|
331
|
-
"manual",
|
332
|
-
),
|
327
|
+
details=f"axis calculation defined for {self.__scan.path}: {_cor_value} (using manual)",
|
333
328
|
)
|
334
329
|
# validate the center of rotation
|
335
330
|
pm = ProcessManager()
|
@@ -27,25 +27,27 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "15/12/2021"
|
29
29
|
|
30
|
+
import logging
|
30
31
|
from typing import Optional
|
31
32
|
|
33
|
+
from orangewidget import gui
|
34
|
+
from orangewidget.settings import Setting
|
35
|
+
from orangewidget.widget import Input, Output
|
32
36
|
from processview.core.manager.manager import DatasetState, ProcessManager
|
37
|
+
from silx.gui import qt
|
38
|
+
|
39
|
+
import tomwer.core.process.reconstruction.nabu.castvolume
|
40
|
+
from orangecontrib.tomwer.widgets.utils import WidgetLongProcessing
|
33
41
|
from tomwer.core import settings
|
34
42
|
from tomwer.core.cluster.cluster import SlurmClusterConfiguration
|
35
43
|
from tomwer.core.futureobject import FutureTomwerObject
|
36
|
-
from ...orange.managedprocess import SuperviseOW
|
37
|
-
from orangecontrib.tomwer.widgets.utils import WidgetLongProcessing
|
38
|
-
from orangewidget.settings import Setting
|
39
|
-
from orangewidget import gui
|
40
|
-
from orangewidget.widget import Input, Output
|
41
|
-
from silx.gui import qt
|
42
44
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
43
|
-
from tomwer.synctools.stacks.reconstruction.castvolume import CastVolumeProcessStack
|
44
|
-
import tomwer.core.process.reconstruction.nabu.castvolume
|
45
|
-
from tomwer.gui.reconstruction.nabu.castvolume import CastVolumeWidget
|
46
|
-
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
47
45
|
from tomwer.core.utils import isLowOnMemory
|
48
|
-
import
|
46
|
+
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
47
|
+
from tomwer.gui.reconstruction.nabu.castvolume import CastVolumeWidget
|
48
|
+
from tomwer.synctools.stacks.reconstruction.castvolume import CastVolumeProcessStack
|
49
|
+
|
50
|
+
from ...orange.managedprocess import SuperviseOW
|
49
51
|
|
50
52
|
_logger = logging.getLogger(__name__)
|
51
53
|
|
@@ -28,23 +28,25 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "10/01/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import copy
|
31
32
|
import logging
|
32
|
-
|
33
|
-
|
33
|
+
|
34
|
+
import tomoscan.esrf.scan.utils
|
34
35
|
from orangewidget import gui
|
35
|
-
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
36
36
|
from orangewidget.settings import Setting
|
37
37
|
from orangewidget.widget import Input, Output
|
38
|
+
from processview.core.manager import DatasetState, ProcessManager
|
39
|
+
from silx.gui import qt
|
40
|
+
|
41
|
+
import tomwer.core.process.reconstruction.darkref.darkrefscopy
|
42
|
+
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
38
43
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
39
44
|
from tomwer.gui.reconstruction.darkref.darkrefcopywidget import DarkRefAndCopyWidget
|
40
45
|
from tomwer.synctools.darkref import QDKRFRP
|
41
46
|
from tomwer.synctools.stacks.reconstruction.dkrefcopy import DarkRefCopyProcessStack
|
42
|
-
from processview.core.manager import DatasetState
|
43
|
-
from processview.core.manager import ProcessManager
|
44
|
-
import tomoscan.esrf.scan.utils
|
45
47
|
from tomwer.utils import docstring
|
46
|
-
|
47
|
-
import
|
48
|
+
|
49
|
+
from ..utils import WidgetLongProcessing
|
48
50
|
|
49
51
|
_logger = logging.getLogger(__name__)
|
50
52
|
|
@@ -245,7 +247,7 @@ class DarkRefAndCopyOW(SuperviseOW, WidgetLongProcessing):
|
|
245
247
|
reduced_frames=scan.reduced_flats, scan=scan
|
246
248
|
)
|
247
249
|
)
|
248
|
-
_logger.info("{} ended"
|
250
|
+
_logger.info(f"{scan} ended")
|
249
251
|
|
250
252
|
def setReducedDarks(self, darks: dict):
|
251
253
|
self.widget._refCopyWidget.save_darks_to_be_copied(darks)
|
@@ -28,25 +28,27 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "14/02/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import copy
|
31
32
|
import logging
|
32
|
-
from typing import Optional
|
33
|
-
from tomwer.core.volume.volumefactory import VolumeFactory
|
34
|
-
import tomwer.core.process.reconstruction.nabu.nabuslices
|
35
33
|
from contextlib import AbstractContextManager
|
36
|
-
from
|
37
|
-
|
38
|
-
from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSlices
|
39
|
-
from tomwer.gui.reconstruction.nabu.slices import NabuWindow
|
40
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
41
|
-
from ..utils import WidgetLongProcessing
|
42
|
-
from orangewidget.settings import Setting
|
34
|
+
from typing import Optional
|
35
|
+
|
43
36
|
from orangewidget import gui
|
44
|
-
from
|
37
|
+
from orangewidget.settings import Setting
|
45
38
|
from orangewidget.widget import Input, Output
|
46
|
-
from
|
39
|
+
from silx.gui import qt
|
40
|
+
|
41
|
+
import tomwer.core.process.reconstruction.nabu.nabuslices
|
47
42
|
from tomwer.core.cluster import SlurmClusterConfiguration
|
48
43
|
from tomwer.core.futureobject import FutureTomwerObject
|
49
|
-
import
|
44
|
+
from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSlices
|
45
|
+
from tomwer.core.scan.scanbase import TomwerScanBase, _TomwerBaseDock
|
46
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
47
|
+
from tomwer.gui.reconstruction.nabu.slices import NabuWindow
|
48
|
+
from tomwer.synctools.stacks.reconstruction.nabu import NabuSliceProcessStack
|
49
|
+
|
50
|
+
from ...orange.managedprocess import SuperviseOW
|
51
|
+
from ..utils import WidgetLongProcessing
|
50
52
|
|
51
53
|
_logger = logging.getLogger(__name__)
|
52
54
|
|
@@ -190,7 +192,7 @@ class NabuOW(WidgetLongProcessing, SuperviseOW):
|
|
190
192
|
scan_ = copy.copy(scan)
|
191
193
|
scan_.clear_latest_reconstructions()
|
192
194
|
|
193
|
-
_logger.info("add {} to the stack"
|
195
|
+
_logger.info(f"add {scan} to the stack")
|
194
196
|
# update the reconstruction mode if possible
|
195
197
|
self._nabuWidget.setScan(scan_)
|
196
198
|
self._processingStack.add(scan_, self.getConfiguration())
|
@@ -28,32 +28,35 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "14/02/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import copy
|
32
|
+
import functools
|
31
33
|
import logging
|
34
|
+
from collections.abc import Iterable
|
32
35
|
from contextlib import AbstractContextManager
|
36
|
+
|
37
|
+
from orangewidget import gui
|
38
|
+
from orangewidget.settings import Setting
|
39
|
+
from orangewidget.widget import Input, Output
|
33
40
|
from silx.gui import qt
|
34
|
-
from
|
35
|
-
|
36
|
-
|
37
|
-
from tomwer.
|
41
|
+
from tomoscan.identifier import VolumeIdentifier
|
42
|
+
|
43
|
+
import tomwer.core.process.reconstruction.nabu.nabuvolume
|
44
|
+
from orangecontrib.tomwer.widgets.utils import WidgetLongProcessing
|
45
|
+
from tomwer.core import settings
|
38
46
|
from tomwer.core.cluster import SlurmClusterConfiguration
|
39
47
|
from tomwer.core.futureobject import FutureTomwerObject
|
40
|
-
from orangecontrib.tomwer.widgets.utils import WidgetLongProcessing
|
41
|
-
from tomwer.core.volume.volumefactory import VolumeFactory
|
42
|
-
from orangewidget.settings import Setting
|
43
|
-
from orangewidget import gui
|
44
|
-
from orangewidget.widget import Input, Output
|
45
|
-
from ...orange.managedprocess import SuperviseOW
|
46
48
|
from tomwer.core.process.reconstruction.nabu import utils as nabu_utils
|
49
|
+
from tomwer.core.process.reconstruction.nabu.nabuvolume import NabuVolume
|
50
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
47
51
|
from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
|
48
|
-
from collections.abc import Iterable
|
49
|
-
from tomwer.utils import docstring
|
50
|
-
from tomwer.core import settings
|
51
|
-
import tomwer.core.process.reconstruction.nabu.nabuvolume
|
52
|
-
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
53
52
|
from tomwer.core.utils.scanutils import format_output_location
|
54
|
-
from
|
55
|
-
import
|
56
|
-
import
|
53
|
+
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
54
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
55
|
+
from tomwer.gui.reconstruction.nabu.volume import NabuVolumeWindow
|
56
|
+
from tomwer.synctools.stacks.reconstruction.nabu import NabuVolumeProcessStack
|
57
|
+
from tomwer.utils import docstring
|
58
|
+
|
59
|
+
from ...orange.managedprocess import SuperviseOW
|
57
60
|
|
58
61
|
_logger = logging.getLogger(__name__)
|
59
62
|
|
@@ -202,10 +205,8 @@ class NabuVolumeOW(WidgetLongProcessing, SuperviseOW):
|
|
202
205
|
# insure we are able to reconstruct
|
203
206
|
if scan.nabu_recons_params in ({}, None):
|
204
207
|
_logger.error(
|
205
|
-
"No reconstruction parameters found from nabu "
|
206
|
-
"
|
207
|
-
"reconstruction prior to volume reconstruction"
|
208
|
-
"".format(str(scan))
|
208
|
+
f"No reconstruction parameters found from nabu slices for {scan}. "
|
209
|
+
"You should first run slice reconstruction prior to volume reconstruction"
|
209
210
|
)
|
210
211
|
self.Outputs.data.send(scan)
|
211
212
|
self.sigScanReady.emit(scan)
|
@@ -235,9 +236,7 @@ class NabuVolumeOW(WidgetLongProcessing, SuperviseOW):
|
|
235
236
|
pass
|
236
237
|
if len(pag_dbs) > 1:
|
237
238
|
_logger.warning(
|
238
|
-
"Several value found for {} / {}. Volume"
|
239
|
-
"reconstruction take one at most."
|
240
|
-
"".format(DELTA_CHAR, BETA_CHAR)
|
239
|
+
f"Several value found for {DELTA_CHAR} / {BETA_CHAR}. Volume reconstruction take one at most."
|
241
240
|
)
|
242
241
|
timeout = NabuVolumeOW.TIMEOUT if settings.isOnLbsram(scan) else None
|
243
242
|
self._dialogDB = _DeltaBetaSelectorDialog(
|
@@ -372,13 +371,10 @@ class _DeltaBetaSelectorDialog(qt.QDialog):
|
|
372
371
|
self.layout().addWidget(self._buttons)
|
373
372
|
self._timeout = timeout
|
374
373
|
if self._timeout is None:
|
375
|
-
self.setWindowTitle(
|
376
|
-
"Select one value for {} / {}".format(DELTA_CHAR, BETA_CHAR)
|
377
|
-
)
|
374
|
+
self.setWindowTitle(f"Select one value for {DELTA_CHAR} / {BETA_CHAR}")
|
378
375
|
else:
|
379
376
|
self.setWindowTitle(
|
380
|
-
"Select one value for {} / {}. (close automatically in {} "
|
381
|
-
"sec.)".format(DELTA_CHAR, BETA_CHAR, self._timeout)
|
377
|
+
f"Select one value for {DELTA_CHAR} / {BETA_CHAR}. (close automatically in {self._timeout} sec.)"
|
382
378
|
)
|
383
379
|
|
384
380
|
# connect signal / slot
|
@@ -416,8 +412,7 @@ class _DeltaBetaSelectorDialog(qt.QDialog):
|
|
416
412
|
self.reject()
|
417
413
|
else:
|
418
414
|
self.setWindowTitle(
|
419
|
-
"Select one value for {} / {}. (close automatically in {} "
|
420
|
-
"sec.)".format(DELTA_CHAR, BETA_CHAR, self._timeout)
|
415
|
+
f"Select one value for {DELTA_CHAR} / {BETA_CHAR}. (close automatically in {self._timeout} sec.)"
|
421
416
|
)
|
422
417
|
self._displayTimer.start(1000)
|
423
418
|
|
@@ -28,31 +28,32 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/02/2021"
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
import functools
|
32
|
+
import logging
|
33
|
+
from typing import Union
|
34
|
+
|
32
35
|
from orangewidget import gui
|
33
|
-
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
34
36
|
from orangewidget.settings import Setting
|
35
|
-
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
36
37
|
from orangewidget.widget import Input, Output
|
37
|
-
from
|
38
|
-
from
|
39
|
-
from tomwer.synctools.axis import QAxisRP
|
40
|
-
from tomwer.core.process.reconstruction.axis import AxisProcess
|
41
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
38
|
+
from processview.core import helpers as pv_helpers
|
39
|
+
from processview.core.manager import DatasetState, ProcessManager
|
42
40
|
from silx.gui import qt
|
43
|
-
|
44
|
-
from processview.core.manager import ProcessManager, DatasetState
|
45
|
-
from tomwer.core import settings
|
46
|
-
from tomwer.core import utils
|
47
|
-
from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
|
48
|
-
from tomwer.core.scan.scanbase import _TomwerBaseDock
|
41
|
+
|
49
42
|
import tomwer.core.process.reconstruction.saaxis.saaxis
|
43
|
+
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
44
|
+
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
45
|
+
from tomwer.core import settings, utils
|
50
46
|
from tomwer.core.cluster import SlurmClusterConfiguration
|
51
47
|
from tomwer.core.futureobject import FutureTomwerObject
|
52
|
-
from
|
53
|
-
import
|
54
|
-
import
|
55
|
-
from
|
48
|
+
from tomwer.core.process.reconstruction.axis import AxisProcess
|
49
|
+
from tomwer.core.process.reconstruction.saaxis.saaxis import SAAxisProcess
|
50
|
+
from tomwer.core.scan.scanbase import TomwerScanBase, _TomwerBaseDock
|
51
|
+
from tomwer.gui.reconstruction.saaxis.saaxis import SAAxisWindow as _SAAxisWindow
|
52
|
+
from tomwer.synctools.axis import QAxisRP
|
53
|
+
from tomwer.synctools.saaxis import QSAAxisParams
|
54
|
+
from tomwer.synctools.stacks.reconstruction.saaxis import SAAxisProcessStack
|
55
|
+
|
56
|
+
from ..utils import WidgetLongProcessing
|
56
57
|
|
57
58
|
_logger = logging.getLogger(__name__)
|
58
59
|
|
@@ -100,7 +101,7 @@ class SAAxisWindow(_SAAxisWindow):
|
|
100
101
|
else:
|
101
102
|
axis_params_info = self.getQAxisRP().get_simple_str()
|
102
103
|
|
103
|
-
text = "start automatic cor for {} with {}"
|
104
|
+
text = f"start automatic cor for {scan} with {axis_params_info}"
|
104
105
|
_logger.inform(text)
|
105
106
|
cor_estimation_process = AxisProcess(
|
106
107
|
inputs={
|
@@ -113,10 +114,7 @@ class SAAxisWindow(_SAAxisWindow):
|
|
113
114
|
try:
|
114
115
|
cor_estimation_process.run()
|
115
116
|
except Exception as e:
|
116
|
-
text =
|
117
|
-
"Unable to run automatic cor calculation. Reason is "
|
118
|
-
"{}.".format(e)
|
119
|
-
)
|
117
|
+
text = f"Unable to run automatic cor calculation. Reason is {e}"
|
120
118
|
_logger.error(text)
|
121
119
|
msg = qt.QMessageBox(self)
|
122
120
|
msg.setIcon(qt.QMessageBox.Critical)
|
@@ -125,9 +123,7 @@ class SAAxisWindow(_SAAxisWindow):
|
|
125
123
|
return None
|
126
124
|
else:
|
127
125
|
cor = scan.axis_params.relative_cor_value
|
128
|
-
text = "automatic cor computed for {}: {} ({})"
|
129
|
-
scan, cor, axis_params_info
|
130
|
-
)
|
126
|
+
text = f"automatic cor computed for {scan}: {cor} ({axis_params_info})"
|
131
127
|
_logger.inform(text)
|
132
128
|
self.setEstimatedCorPosition(value=cor)
|
133
129
|
self.getAutomaticCorWindow().hide()
|
@@ -190,14 +186,15 @@ class SAAxisWindow(_SAAxisWindow):
|
|
190
186
|
if scan is None:
|
191
187
|
return
|
192
188
|
assert isinstance(scan, TomwerScanBase)
|
193
|
-
selected_cor_value = self.getCurrentCorValue()
|
189
|
+
selected_cor_value = self.getCurrentCorValue() or scan.saaxis_params.autofocus
|
190
|
+
# if validate is done manually then pick current cor value; else we are in 'auto mode' and get it from the autofocus.
|
194
191
|
details = ProcessManager().get_dataset_details(
|
195
192
|
dataset_id=scan.get_identifier(), process=self._processing_stack
|
196
193
|
)
|
197
194
|
if details is None:
|
198
195
|
details = ""
|
199
196
|
if selected_cor_value is None:
|
200
|
-
infos = "no selected cor value. {} skip SAAXIS"
|
197
|
+
infos = f"no selected cor value. {scan} skip SAAXIS"
|
201
198
|
infos = "\n".join((infos, details))
|
202
199
|
_logger.warning(infos)
|
203
200
|
scan.axis_params.set_relative_value(None)
|
@@ -212,11 +209,9 @@ class SAAxisWindow(_SAAxisWindow):
|
|
212
209
|
scan.nabu_recons_params["reconstruction"][
|
213
210
|
"rotation_axis_position"
|
214
211
|
] = scan.axis_params.absolute_cor_value
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
scan.axis_params.absolute_cor_value,
|
219
|
-
)
|
212
|
+
r_cor = scan.axis_params.relative_cor_value
|
213
|
+
a_cor = scan.axis_params.absolute_cor_value
|
214
|
+
infos = f"cor selected for {scan}: relative: {r_cor}, absolute: {a_cor}"
|
220
215
|
infos = "\n".join((infos, details))
|
221
216
|
pv_helpers.notify_succeed(
|
222
217
|
process=self._processing_stack, dataset=scan, details=infos
|
@@ -403,8 +398,7 @@ class SAAxisOW(SuperviseOW, WidgetLongProcessing):
|
|
403
398
|
):
|
404
399
|
self.notify_skip(
|
405
400
|
scan=scan,
|
406
|
-
details="saaxis has been skiped for {} because "
|
407
|
-
"of low space in lbsram".format(scan),
|
401
|
+
details=f"saaxis has been skiped for {scan} because of low space in lbsram",
|
408
402
|
)
|
409
403
|
self.Outputs.data.send(scan)
|
410
404
|
else:
|
@@ -453,9 +447,9 @@ class SAAxisOW(SuperviseOW, WidgetLongProcessing):
|
|
453
447
|
"data": None,
|
454
448
|
"sa_axis_params": self._widget.getConfiguration(),
|
455
449
|
}
|
456
|
-
self._ewoks_default_inputs["sa_axis_params"][
|
457
|
-
"autofocus_lock"
|
458
|
-
|
450
|
+
self._ewoks_default_inputs["sa_axis_params"]["workflow"] = {
|
451
|
+
"autofocus_lock": self._widget.isAutoFocusLock(),
|
452
|
+
}
|
459
453
|
|
460
454
|
def _raiseResults(self):
|
461
455
|
if not self.isAutoFocusLock():
|
@@ -28,30 +28,32 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "04/05/2021"
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
import functools
|
32
|
+
import logging
|
33
|
+
|
32
34
|
from orangewidget import gui
|
33
|
-
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
34
35
|
from orangewidget.settings import Setting
|
35
|
-
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
36
36
|
from orangewidget.widget import Input, Output
|
37
|
-
from
|
38
|
-
from
|
39
|
-
from tomwer.synctools.sadeltabeta import QSADeltaBetaParams
|
40
|
-
from tomwer.synctools.axis import QAxisRP
|
37
|
+
from processview.core import helpers as pv_helpers
|
38
|
+
from processview.core.manager import DatasetState, ProcessManager
|
41
39
|
from silx.gui import qt
|
42
|
-
|
43
|
-
SADeltaBetaWindow as _SADeltaBetaWindow,
|
44
|
-
)
|
45
|
-
from tomwer.core.scan.scanbase import TomwerScanBase, _TomwerBaseDock
|
46
|
-
from processview.core.manager import ProcessManager, DatasetState
|
40
|
+
|
47
41
|
import tomwer.core.process.reconstruction.sadeltabeta.sadeltabeta
|
48
|
-
from tomwer.
|
49
|
-
from tomwer.
|
42
|
+
from orangecontrib.tomwer.orange.managedprocess import SuperviseOW
|
43
|
+
from orangecontrib.tomwer.orange.settings import CallbackSettingsHandler
|
44
|
+
from tomwer.core import settings, utils
|
50
45
|
from tomwer.core.cluster import SlurmClusterConfiguration
|
51
46
|
from tomwer.core.futureobject import FutureTomwerObject
|
52
|
-
from
|
53
|
-
import
|
54
|
-
import
|
47
|
+
from tomwer.core.process.reconstruction.sadeltabeta import SADeltaBetaProcess
|
48
|
+
from tomwer.core.scan.scanbase import TomwerScanBase, _TomwerBaseDock
|
49
|
+
from tomwer.gui.reconstruction.sadeltabeta import (
|
50
|
+
SADeltaBetaWindow as _SADeltaBetaWindow,
|
51
|
+
)
|
52
|
+
from tomwer.synctools.axis import QAxisRP
|
53
|
+
from tomwer.synctools.sadeltabeta import QSADeltaBetaParams
|
54
|
+
from tomwer.synctools.stacks.reconstruction.sadeltabeta import SADeltaBetaProcessStack
|
55
|
+
|
56
|
+
from ..utils import WidgetLongProcessing
|
55
57
|
|
56
58
|
_logger = logging.getLogger(__name__)
|
57
59
|
|
@@ -125,11 +127,11 @@ class SADeltaBetaWindow(_SADeltaBetaWindow):
|
|
125
127
|
if scan is None:
|
126
128
|
return
|
127
129
|
assert isinstance(scan, TomwerScanBase)
|
128
|
-
selected_db_value =
|
130
|
+
selected_db_value = (
|
131
|
+
self.getCurrentDeltaBetaValue() or scan.sa_delta_beta_params.autofocus
|
132
|
+
)
|
129
133
|
if selected_db_value is None:
|
130
|
-
infos = "no selected delta / beta value. {} skip SADeltaBetaParams"
|
131
|
-
scan
|
132
|
-
)
|
134
|
+
infos = f"no selected delta / beta value. {scan} skip SADeltaBetaParams"
|
133
135
|
_logger.warning(infos)
|
134
136
|
scan.sa_delta_beta_params.set_db_selected_value(None)
|
135
137
|
pv_helpers.notify_skip(
|
@@ -141,9 +143,8 @@ class SADeltaBetaWindow(_SADeltaBetaWindow):
|
|
141
143
|
if "phase" not in scan.nabu_recons_params:
|
142
144
|
scan.nabu_recons_params["phase"] = {}
|
143
145
|
scan.nabu_recons_params["phase"]["delta_beta"] = (selected_db_value,)
|
144
|
-
|
145
|
-
|
146
|
-
)
|
146
|
+
_db_value = scan.sa_delta_beta_params.value
|
147
|
+
infos = f"delta / beta selected for {scan}: {_db_value}"
|
147
148
|
pv_helpers.notify_succeed(
|
148
149
|
process=self._processing_stack, dataset=scan, details=infos
|
149
150
|
)
|
@@ -328,8 +329,7 @@ class SADeltaBetaOW(SuperviseOW, WidgetLongProcessing):
|
|
328
329
|
):
|
329
330
|
self.notify_skip(
|
330
331
|
scan=scan,
|
331
|
-
details="sa-delta-beta has been skiped for {} because "
|
332
|
-
"of low space in lbsram".format(scan),
|
332
|
+
details=f"sa-delta-beta has been skiped for {scan} because of low space in lbsram",
|
333
333
|
)
|
334
334
|
self.Outputs.data.send(scan)
|
335
335
|
else:
|