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
@@ -30,33 +30,35 @@ __authors__ = ["C. Nemoz", "H. Payno"]
|
|
30
30
|
__license__ = "MIT"
|
31
31
|
__date__ = "25/02/2019"
|
32
32
|
|
33
|
-
from bisect import bisect_left
|
34
|
-
from silx.gui import qt
|
35
|
-
import logging
|
36
|
-
from tomwer.core.utils import image
|
37
|
-
import numpy
|
38
33
|
import enum
|
34
|
+
import logging
|
39
35
|
import os
|
40
|
-
from
|
41
|
-
from
|
42
|
-
|
43
|
-
|
36
|
+
from bisect import bisect_left
|
37
|
+
from typing import Optional, Union
|
38
|
+
|
39
|
+
import numpy
|
40
|
+
import scipy.signal
|
41
|
+
from silx.gui import qt
|
42
|
+
from silx.io.url import DataUrl
|
43
|
+
from silx.utils.deprecation import deprecated
|
44
|
+
|
44
45
|
from tomwer.core.process.reconstruction.axis import mode as axis_mode
|
45
46
|
from tomwer.core.process.reconstruction.axis.anglemode import CorAngleMode
|
46
47
|
from tomwer.core.process.reconstruction.axis.params import (
|
47
|
-
AxisCalculationInput,
|
48
|
-
DEFAULT_CMP_THETA,
|
49
48
|
DEFAULT_CMP_N_SUBSAMPLING_Y,
|
50
49
|
DEFAULT_CMP_OVERSAMPLING,
|
51
50
|
DEFAULT_CMP_TAKE_LOG,
|
51
|
+
DEFAULT_CMP_THETA,
|
52
|
+
AxisCalculationInput,
|
52
53
|
)
|
53
|
-
from
|
54
|
-
import
|
55
|
-
from .
|
54
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
55
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
56
|
+
from tomwer.core.utils import image
|
56
57
|
from tomwer.gui.utils.buttons import PadlockButton
|
57
|
-
from
|
58
|
-
from
|
59
|
-
|
58
|
+
from tomwer.gui.utils.qt_utils import block_signals
|
59
|
+
from tomwer.synctools.axis import QAxisRP
|
60
|
+
|
61
|
+
from .CompareImages import CompareImages
|
60
62
|
|
61
63
|
_logger = logging.getLogger(__name__)
|
62
64
|
|
@@ -283,8 +285,7 @@ class RadioAxisWindow(qt.QMainWindow):
|
|
283
285
|
raise ValueError("Fail to discover a valid scan in %s" % scan)
|
284
286
|
elif not isinstance(_scan, TomwerScanBase):
|
285
287
|
raise ValueError(
|
286
|
-
"type of
|
287
|
-
"file/dir path or an instance of ScanBase" % (scan, type(scan))
|
288
|
+
f"type of {scan} ({type(scan)}) is invalid, scan should be a file/dir path or an instance of ScanBase"
|
288
289
|
)
|
289
290
|
assert isinstance(_scan, TomwerScanBase)
|
290
291
|
|
@@ -376,7 +377,7 @@ class RadioAxisWindow(qt.QMainWindow):
|
|
376
377
|
if _imgA.shape != _imgB.shape:
|
377
378
|
_logger.error(
|
378
379
|
"The two provided images have incoherent shapes "
|
379
|
-
"(
|
380
|
+
f"({_imgA.shape} vs {_imgB.shape})"
|
380
381
|
)
|
381
382
|
elif _imgA.ndim != 2:
|
382
383
|
_logger.error("Image shape are not 2 dimensional")
|
@@ -1038,7 +1039,7 @@ class _ROIDefinition(qt.QWidget):
|
|
1038
1039
|
self._xOriginSB.setValue(x_origin)
|
1039
1040
|
self._yOriginSB.setValue(y_origin)
|
1040
1041
|
except Exception:
|
1041
|
-
_logger.warning("unable to determine origin for {}"
|
1042
|
+
_logger.warning(f"unable to determine origin for {scan}")
|
1042
1043
|
|
1043
1044
|
|
1044
1045
|
@enum.unique
|
@@ -1547,8 +1548,7 @@ class AxisTabWidget(qt.QTabWidget):
|
|
1547
1548
|
current_mode = self.getMode()
|
1548
1549
|
if current_mode not in axis_mode._VALID_INPUTS:
|
1549
1550
|
raise ValueError(
|
1550
|
-
"valid input should have been defined for the "
|
1551
|
-
"mode {}".format(current_mode.value)
|
1551
|
+
f"valid input should have been defined for the mode {current_mode.value}"
|
1552
1552
|
)
|
1553
1553
|
else:
|
1554
1554
|
valid_inputs = axis_mode._VALID_INPUTS[current_mode]
|
@@ -2017,16 +2017,16 @@ class _SliceSelector(qt.QWidget):
|
|
2017
2017
|
else:
|
2018
2018
|
return self._otherSB.value()
|
2019
2019
|
|
2020
|
-
def setSlice(self,
|
2021
|
-
if
|
2020
|
+
def setSlice(self, slice_):
|
2021
|
+
if slice_ is None:
|
2022
2022
|
return
|
2023
|
-
if
|
2023
|
+
if slice_ == "middle":
|
2024
2024
|
idx = self._modeCB.findText("middle")
|
2025
2025
|
self._modeCB.setCurrentIndex(idx)
|
2026
2026
|
else:
|
2027
2027
|
idx = self._modeCB.findText("other")
|
2028
2028
|
self._modeCB.setCurrentIndex(idx)
|
2029
|
-
self._otherSB.setValue(
|
2029
|
+
self._otherSB.setValue(slice_)
|
2030
2030
|
self.sigChanged.emit()
|
2031
2031
|
|
2032
2032
|
def getMode(self):
|
@@ -2236,15 +2236,13 @@ class _InputWidget(qt.QWidget):
|
|
2236
2236
|
axis_mode._InputType.from_value(mode)
|
2237
2237
|
except Exception:
|
2238
2238
|
raise ValueError(
|
2239
|
-
"mode {} should be an instance of {}"
|
2240
|
-
mode, axis_mode._InputType
|
2241
|
-
)
|
2239
|
+
f"mode {mode} should be an instance of {axis_mode._InputType}"
|
2242
2240
|
)
|
2243
2241
|
if len(modes) == 2:
|
2244
2242
|
self._sinogramGB.setEnabled(True)
|
2245
2243
|
self._radioGB.setEnabled(True)
|
2246
2244
|
elif len(modes) > 2:
|
2247
|
-
raise ValueError("invalid input {}"
|
2245
|
+
raise ValueError(f"invalid input {modes}")
|
2248
2246
|
elif len(modes) < 0:
|
2249
2247
|
raise ValueError("modes is empty")
|
2250
2248
|
else:
|
@@ -2537,7 +2535,7 @@ class _ManualFramesSelection(qt.QWidget):
|
|
2537
2535
|
|
2538
2536
|
@staticmethod
|
2539
2537
|
def _angleToStr(angle: float) -> str:
|
2540
|
-
return "{:0.3f}"
|
2538
|
+
return f"{float(angle):0.3f}"
|
2541
2539
|
|
2542
2540
|
def setScan(self, scan: Union[TomwerScanBase, None]) -> None:
|
2543
2541
|
self._anglesAvailable.clear()
|
@@ -31,14 +31,15 @@ __date__ = "13/08/2021"
|
|
31
31
|
import logging
|
32
32
|
import shutil
|
33
33
|
from typing import Union
|
34
|
+
|
34
35
|
from silx.gui import qt
|
36
|
+
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
37
|
+
from silx.io.url import DataUrl
|
38
|
+
|
39
|
+
from tomwer.core import settings, utils
|
35
40
|
from tomwer.core.process.reconstruction.darkref.darkrefscopy import DarkRefsCopy
|
36
|
-
from tomwer.io.utils import get_default_directory
|
37
|
-
from tomwer.core import settings
|
38
|
-
from tomwer.core import utils
|
39
41
|
from tomwer.gui.reconstruction.darkref.darkrefwidget import DarkRefWidget
|
40
|
-
from
|
41
|
-
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
42
|
+
from tomwer.io.utils import get_default_directory
|
42
43
|
|
43
44
|
_logger = logging.getLogger(__name__)
|
44
45
|
|
@@ -28,10 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "10/01/2018"
|
29
29
|
|
30
30
|
|
31
|
-
from silx.gui import qt
|
32
31
|
import logging
|
33
|
-
|
32
|
+
|
33
|
+
from silx.gui import qt
|
34
|
+
|
34
35
|
from tomwer.core.process.reconstruction.darkref import params as dkrf
|
36
|
+
from tomwer.core.process.reconstruction.darkref.darkrefs import DarkRefs
|
35
37
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
36
38
|
from tomwer.gui.utils.sandboxes import RegularExpressionSandBox
|
37
39
|
from tomwer.synctools.darkref import QDKRFRP
|
@@ -28,10 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/06/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
|
31
33
|
from silx.gui import qt
|
34
|
+
|
32
35
|
from tomwer.gui import icons
|
33
36
|
from tomwer.gui.utils.buttons import PadlockButton
|
34
|
-
import logging
|
35
37
|
|
36
38
|
_logger = logging.getLogger()
|
37
39
|
|
@@ -28,19 +28,27 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/06/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
import os
|
33
|
+
|
32
34
|
from silx.gui import qt
|
33
|
-
|
34
|
-
from tomwer.core.process.reconstruction.lamino.tofu import getDark, getFlats
|
35
|
-
from tomwer.core.utils import
|
36
|
-
|
37
|
-
|
35
|
+
|
36
|
+
from tomwer.core.process.reconstruction.lamino.tofu import FFCWhen, getDark, getFlats
|
37
|
+
from tomwer.core.utils import (
|
38
|
+
getClosestEnergy,
|
39
|
+
getDARK_N,
|
40
|
+
getDim1Dim2,
|
41
|
+
getParametersFromParOrInfo,
|
42
|
+
getPixelSize,
|
43
|
+
getTomo_N,
|
44
|
+
)
|
38
45
|
from tomwer.core.utils.char import PSI_CHAR, THETA_CHAR
|
39
46
|
from tomwer.gui import icons
|
40
|
-
from tomwer.gui.utils.illustrations import
|
47
|
+
from tomwer.gui.utils.illustrations import _IllustrationDialog, _IllustrationWidget
|
41
48
|
from tomwer.gui.utils.unitsystem import MetricEntry
|
42
|
-
|
43
|
-
from .misc import
|
49
|
+
|
50
|
+
from .misc import PadlockButton, _AngleWidget
|
51
|
+
from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
|
44
52
|
|
45
53
|
_logger = logging.getLogger(__name__)
|
46
54
|
|
@@ -30,21 +30,24 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "01/06/2018"
|
31
31
|
|
32
32
|
|
33
|
+
import logging
|
34
|
+
|
33
35
|
from silx.gui import qt
|
34
36
|
from silx.io import dictdump
|
35
|
-
|
37
|
+
|
36
38
|
from tomwer.core.process.reconstruction.lamino.tofu import (
|
37
39
|
SCAN_TYPES,
|
38
40
|
SCAN_TYPES_I,
|
39
41
|
FFCWhen,
|
42
|
+
_retrieve_opts_recons_cmd,
|
40
43
|
)
|
41
|
-
from tomwer.core.process.reconstruction.lamino.tofu import _retrieve_opts_recons_cmd
|
42
44
|
from tomwer.core.utils.char import PSI_CHAR
|
43
45
|
from tomwer.gui import icons
|
44
46
|
from tomwer.gui.reconstruction.lamino.tofu import settings
|
45
|
-
|
47
|
+
|
46
48
|
from .projections import InputProjectionsScrollArea
|
47
49
|
from .tofuexpert import ExpertTofuWidget
|
50
|
+
from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
|
48
51
|
from .tofuoutput import OutputTofuWidget
|
49
52
|
|
50
53
|
_logger = logging.getLogger(__name__)
|
@@ -28,12 +28,15 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/06/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
import subprocess
|
33
|
+
|
32
34
|
from silx.gui import qt
|
35
|
+
|
33
36
|
import tomwer.core.utils.gpu
|
34
37
|
from tomwer.core.process.reconstruction.lamino.tofu import has_tofu
|
35
|
-
|
36
|
-
from .TofuOptionLoader import
|
38
|
+
|
39
|
+
from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
|
37
40
|
|
38
41
|
_logger = logging.getLogger(__name__)
|
39
42
|
|
@@ -28,21 +28,24 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "01/06/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
import os
|
33
|
+
|
32
34
|
from silx.gui import qt
|
33
|
-
|
35
|
+
|
34
36
|
from tomwer.core.process.reconstruction.lamino.tofu import (
|
35
|
-
SLICE_STACK_TYPE,
|
36
|
-
ROTATION_CENTER_TYPE,
|
37
37
|
LAMINO_ANGLE_TYPE,
|
38
38
|
PSI_ANGLE_TYPE,
|
39
|
+
ROTATION_CENTER_TYPE,
|
40
|
+
SLICE_STACK_TYPE,
|
39
41
|
)
|
40
42
|
from tomwer.core.settings import get_lbsram_path
|
41
43
|
from tomwer.core.utils.char import DELTA_CHAR
|
42
44
|
from tomwer.gui.reconstruction.lamino.tofu import settings
|
43
45
|
from tomwer.gui.utils.illustrations import _IllustrationWidget
|
44
|
-
|
45
|
-
from .misc import _AngleWidget, _RegionLE
|
46
|
+
|
47
|
+
from .misc import PadlockButton, _AngleWidget, _RegionLE
|
48
|
+
from .TofuOptionLoader import _getterSetter, _TofuOptionLoader
|
46
49
|
|
47
50
|
_logger = logging.getLogger(__name__)
|
48
51
|
|
@@ -28,18 +28,20 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "15/12/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
32
|
+
from typing import Optional
|
33
|
+
|
31
34
|
from silx.gui import qt
|
35
|
+
from silx.gui.utils import blockSignals
|
36
|
+
|
32
37
|
from tomwer.core.process.reconstruction.nabu.castvolume import (
|
38
|
+
DEFAULT_OUTPUT_DIR,
|
33
39
|
RESCALE_MAX_PERCENTILE,
|
34
40
|
RESCALE_MIN_PERCENTILE,
|
35
|
-
DEFAULT_OUTPUT_DIR,
|
36
41
|
)
|
37
42
|
from tomwer.core.process.reconstruction.nabu.nabucommon import NabuOutputFileFormat
|
38
43
|
from tomwer.gui.qlefilesystem import QLFileSystem
|
39
44
|
from tomwer.gui.reconstruction.nabu.nabuconfig.output import QNabuFileFormatComboBox
|
40
|
-
from silx.gui.utils import blockSignals
|
41
|
-
import logging
|
42
|
-
from typing import Optional
|
43
45
|
|
44
46
|
_logger = logging.getLogger(__name__)
|
45
47
|
|
@@ -28,10 +28,11 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "02/12/2021"
|
29
29
|
|
30
30
|
|
31
|
+
from silx.gui import qt
|
32
|
+
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
33
|
+
|
31
34
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
32
35
|
from tomwer.core.utils.nxtomoutils import get_n_series
|
33
|
-
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
34
|
-
from silx.gui import qt
|
35
36
|
|
36
37
|
|
37
38
|
def check_dark_series(scan: HDF5TomoScan, logger=None, user_input: bool = True) -> bool:
|
@@ -29,8 +29,11 @@ __date__ = "11/02/2020"
|
|
29
29
|
|
30
30
|
|
31
31
|
from typing import Union
|
32
|
-
|
33
|
-
from tomwer.core.process.reconstruction.nabu.utils import
|
32
|
+
|
33
|
+
from tomwer.core.process.reconstruction.nabu.utils import (
|
34
|
+
ConfigurationLevel,
|
35
|
+
_NabuStages,
|
36
|
+
)
|
34
37
|
|
35
38
|
|
36
39
|
class _FilteringObject:
|
@@ -1,10 +1,13 @@
|
|
1
|
-
from silx.gui import qt
|
2
1
|
from typing import Optional, Union
|
2
|
+
|
3
|
+
from silx.gui import qt
|
4
|
+
from silx.gui.utils import blockSignals
|
5
|
+
from silx.utils.enum import Enum as _Enum
|
6
|
+
|
3
7
|
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
4
8
|
from tomwer.gui.reconstruction.nabu.nabuconfig import base
|
5
9
|
from tomwer.gui.utils.illustrations import _IllustrationWidget
|
6
|
-
|
7
|
-
from silx.utils.enum import Enum as _Enum
|
10
|
+
|
8
11
|
from .reconstruction import AnglesFileWidget as Filewidget
|
9
12
|
|
10
13
|
|
@@ -29,15 +29,16 @@ __date__ = "11/02/2020"
|
|
29
29
|
|
30
30
|
|
31
31
|
from silx.gui import qt
|
32
|
+
|
33
|
+
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
34
|
+
from tomwer.gui.reconstruction.nabu.nabuconfig.output import _NabuOutputConfig
|
35
|
+
from tomwer.gui.reconstruction.nabu.nabuconfig.phase import _NabuPhaseConfig
|
32
36
|
from tomwer.gui.reconstruction.nabu.nabuconfig.preprocessing import (
|
33
37
|
_NabuPreProcessingConfig,
|
34
38
|
)
|
35
|
-
from tomwer.gui.reconstruction.nabu.nabuconfig.phase import _NabuPhaseConfig
|
36
39
|
from tomwer.gui.reconstruction.nabu.nabuconfig.reconstruction import (
|
37
40
|
_NabuReconstructionConfig,
|
38
41
|
)
|
39
|
-
from tomwer.gui.reconstruction.nabu.nabuconfig.output import _NabuOutputConfig
|
40
|
-
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
41
42
|
|
42
43
|
|
43
44
|
class NabuConfiguration(qt.QWidget):
|
@@ -28,14 +28,16 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "11/02/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
import os
|
32
33
|
import typing
|
34
|
+
|
33
35
|
from silx.gui import qt
|
36
|
+
|
34
37
|
from tomwer.core.process.reconstruction.nabu.nabucommon import NabuOutputFileFormat
|
38
|
+
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
35
39
|
from tomwer.gui.qlefilesystem import QLFileSystem
|
36
40
|
from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
|
37
|
-
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
38
|
-
import logging
|
39
41
|
from tomwer.io.utils import get_default_directory
|
40
42
|
|
41
43
|
try:
|
@@ -145,12 +147,12 @@ class NabuOutputLocationWidget(qt.QWidget):
|
|
145
147
|
else:
|
146
148
|
return self._outputDirQLE.text()
|
147
149
|
|
148
|
-
def setOutputDir(self,
|
149
|
-
if
|
150
|
+
def setOutputDir(self, output_dir):
|
151
|
+
if output_dir in (None, ""):
|
150
152
|
self._defaultOutput.setChecked(True)
|
151
153
|
else:
|
152
154
|
self._defaultOutput.setChecked(False)
|
153
|
-
self._outputDirQLE.setText(
|
155
|
+
self._outputDirQLE.setText(output_dir)
|
154
156
|
|
155
157
|
|
156
158
|
class _NabuOutputConfig(_NabuStageConfigBase, qt.QWidget):
|
@@ -28,17 +28,19 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "11/02/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
import typing
|
32
|
-
|
33
|
+
|
33
34
|
from silx.gui import qt
|
34
|
-
from
|
35
|
+
from silx.utils.enum import Enum as _Enum
|
36
|
+
|
37
|
+
from tomwer.core.process.reconstruction.nabu.utils import _NabuPhaseMethod, _NabuStages
|
38
|
+
from tomwer.core.utils.char import BETA_CHAR, DELTA_CHAR
|
35
39
|
from tomwer.gui.reconstruction.nabu.nabuconfig import base
|
36
40
|
from tomwer.gui.reconstruction.nabu.nabuconfig.ctf import CTFConfig
|
37
41
|
from tomwer.gui.utils.inputwidget import SelectionLineEdit
|
38
|
-
from tomwer.
|
39
|
-
from tomwer.
|
40
|
-
import logging
|
41
|
-
from silx.utils.enum import Enum as _Enum
|
42
|
+
from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel as QComboBox
|
43
|
+
from tomwer.utils import docstring
|
42
44
|
|
43
45
|
_logger = logging.getLogger(__name__)
|
44
46
|
|
@@ -28,19 +28,19 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "06/12/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import logging
|
31
32
|
from typing import Optional
|
33
|
+
|
32
34
|
from silx.gui import qt
|
33
|
-
|
34
|
-
from tomwer.utils import docstring
|
35
|
+
|
35
36
|
from tomwer.core.process.reconstruction.nabu.utils import (
|
36
37
|
_NabuStages,
|
37
38
|
_RingCorrectionMethod,
|
38
39
|
)
|
39
|
-
from tomwer.gui.
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
import logging
|
40
|
+
from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
|
41
|
+
from tomwer.gui.utils.scrollarea import QComboBoxIgnoreWheel as QComboBox
|
42
|
+
from tomwer.gui.utils.scrollarea import QDoubleSpinBoxIgnoreWheel as QDoubleSpinBox
|
43
|
+
from tomwer.utils import docstring
|
44
44
|
|
45
45
|
_logger = logging.getLogger(__name__)
|
46
46
|
|
@@ -27,26 +27,29 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "12/02/2020"
|
29
29
|
|
30
|
-
import typing
|
31
30
|
import functools
|
32
|
-
|
31
|
+
import logging
|
32
|
+
import typing
|
33
|
+
|
33
34
|
from silx.gui import qt
|
35
|
+
from silx.gui.dialog.DataFileDialog import DataFileDialog
|
36
|
+
from silx.utils.enum import Enum as _Enum
|
37
|
+
|
38
|
+
from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSliceMode
|
34
39
|
from tomwer.core.process.reconstruction.nabu.utils import (
|
35
|
-
_NabuStages,
|
36
|
-
_NabuReconstructionMethods,
|
37
40
|
_NabuFBPFilterType,
|
38
41
|
_NabuPaddingType,
|
42
|
+
_NabuReconstructionMethods,
|
43
|
+
_NabuStages,
|
39
44
|
)
|
40
|
-
from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSliceMode
|
41
45
|
from tomwer.gui.reconstruction.nabu.nabuconfig.base import _NabuStageConfigBase
|
42
46
|
from tomwer.gui.utils.inputwidget import SelectionLineEdit
|
43
|
-
from tomwer.gui.utils.scrollarea import
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
import logging
|
47
|
+
from tomwer.gui.utils.scrollarea import (
|
48
|
+
QComboBoxIgnoreWheel,
|
49
|
+
QDoubleSpinBoxIgnoreWheel,
|
50
|
+
QSpinBoxIgnoreWheel,
|
51
|
+
)
|
52
|
+
from tomwer.utils import docstring
|
50
53
|
|
51
54
|
_logger = logging.getLogger(__name__)
|
52
55
|
|
@@ -543,15 +546,15 @@ class _NabuReconstructionConfig(qt.QWidget, _NabuStageConfigBase):
|
|
543
546
|
else:
|
544
547
|
return None
|
545
548
|
|
546
|
-
def setFBPFilterType(self,
|
547
|
-
if type(
|
548
|
-
|
549
|
-
if
|
549
|
+
def setFBPFilterType(self, filter_type):
|
550
|
+
if type(filter_type) is str and filter_type.lower() == "none":
|
551
|
+
filter_type = None
|
552
|
+
if filter_type is None:
|
550
553
|
self._fbpFilterCB.setChecked(False)
|
551
554
|
else:
|
552
555
|
self._fbpFilterCB.setChecked(True)
|
553
|
-
|
554
|
-
filter_index = self._fbpFilterType.findText(
|
556
|
+
filter_type = _NabuFBPFilterType(filter_type)
|
557
|
+
filter_index = self._fbpFilterType.findText(filter_type.value)
|
555
558
|
self._fbpFilterType.setCurrentIndex(filter_index)
|
556
559
|
|
557
560
|
def getFBPPaddingType(self) -> _NabuPaddingType:
|
@@ -778,33 +781,33 @@ class _SubRegionEditor(qt.QObject):
|
|
778
781
|
else:
|
779
782
|
return None
|
780
783
|
|
781
|
-
def setSubRegionMin(self,
|
784
|
+
def setSubRegionMin(self, sub_region_min: typing.Union[None, int]) -> None:
|
782
785
|
"""
|
783
786
|
|
784
787
|
:param min: if min is None or -1 wr will expand it to - infinity
|
785
788
|
"""
|
786
|
-
if
|
787
|
-
|
788
|
-
if
|
789
|
+
if sub_region_min in (-1, 0):
|
790
|
+
sub_region_min = None
|
791
|
+
if sub_region_min is None:
|
789
792
|
self._minCB.setChecked(False)
|
790
793
|
else:
|
791
794
|
self._minCB.setChecked(True)
|
792
|
-
self._minQLE.setText(str(
|
795
|
+
self._minQLE.setText(str(sub_region_min))
|
793
796
|
|
794
|
-
def setSubRegionMax(self,
|
797
|
+
def setSubRegionMax(self, sub_region_max) -> None:
|
795
798
|
"""
|
796
799
|
|
797
800
|
:param max: if max is None or -1 wr will expand it to infinity
|
798
801
|
"""
|
799
|
-
if type(
|
800
|
-
|
801
|
-
if
|
802
|
-
|
803
|
-
if
|
802
|
+
if type(sub_region_max) is str:
|
803
|
+
sub_region_max = int(sub_region_max)
|
804
|
+
if sub_region_max == -1:
|
805
|
+
sub_region_max = None
|
806
|
+
if sub_region_max is None:
|
804
807
|
self._maxCB.setChecked(False)
|
805
808
|
else:
|
806
809
|
self._maxCB.setChecked(True)
|
807
|
-
self._maxQLE.setText(str(
|
810
|
+
self._maxQLE.setText(str(sub_region_max))
|
808
811
|
|
809
812
|
def getSubRegion(self) -> tuple:
|
810
813
|
"""
|
@@ -814,14 +817,18 @@ class _SubRegionEditor(qt.QObject):
|
|
814
817
|
"""
|
815
818
|
return self.getSubRegionMin(), self.getSubRegionMax()
|
816
819
|
|
817
|
-
def setSubRegion(
|
820
|
+
def setSubRegion(
|
821
|
+
self,
|
822
|
+
sub_region_min: typing.Union[None, int],
|
823
|
+
sub_region_max: typing.Union[None, int],
|
824
|
+
):
|
818
825
|
"""
|
819
826
|
|
820
827
|
:param tuple min:
|
821
828
|
:param tuple max:
|
822
829
|
"""
|
823
|
-
self.setSubRegionMin(
|
824
|
-
self.setSubRegionMax(
|
830
|
+
self.setSubRegionMin(sub_region_min)
|
831
|
+
self.setSubRegionMax(sub_region_max)
|
825
832
|
|
826
833
|
def _signalConfChanged(self, param):
|
827
834
|
self.sigConfChanged.emit(param)
|
@@ -27,14 +27,17 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "04/03/2019"
|
29
29
|
|
30
|
+
import functools
|
31
|
+
import typing
|
32
|
+
|
30
33
|
from silx.gui import qt
|
34
|
+
|
35
|
+
from tomwer.core.process.reconstruction.nabu.utils import _NabuStages
|
31
36
|
from tomwer.gui import icons
|
32
|
-
from ...utils.flow import FlowDirection, FlowCanvas
|
33
37
|
from tomwer.gui.utils.illustrations import _IllustrationWidget
|
34
38
|
from tomwer.utils import docstring
|
35
|
-
|
36
|
-
import
|
37
|
-
import typing
|
39
|
+
|
40
|
+
from ...utils.flow import FlowCanvas, FlowDirection
|
38
41
|
|
39
42
|
|
40
43
|
class NabuFlowControl(qt.QWidget):
|