tomwer 1.1.1__py3-none-any.whl → 1.2.0a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- orangecontrib/tomwer/__init__.py +1 -0
- orangecontrib/tomwer/orange/managedprocess.py +6 -4
- orangecontrib/tomwer/state_summary.py +3 -2
- orangecontrib/tomwer/widgets/__init__.py +2 -2
- orangecontrib/tomwer/widgets/cluster/FutureSupervisorOW.py +9 -7
- orangecontrib/tomwer/widgets/cluster/SlurmClusterOW.py +6 -5
- orangecontrib/tomwer/widgets/control/AdvancementOW.py +2 -1
- orangecontrib/tomwer/widgets/control/DataDiscoveryOW.py +235 -0
- orangecontrib/tomwer/widgets/control/DataListOW.py +7 -5
- orangecontrib/tomwer/widgets/control/DataListenerOW.py +13 -14
- orangecontrib/tomwer/widgets/control/DataSelectorOW.py +8 -6
- orangecontrib/tomwer/widgets/control/DataTransfertOW.py +9 -9
- orangecontrib/tomwer/widgets/control/DataValidatorOW.py +7 -8
- orangecontrib/tomwer/widgets/control/DataWatcherOW.py +25 -17
- orangecontrib/tomwer/widgets/control/EDF2NXTomomillOW.py +8 -8
- orangecontrib/tomwer/widgets/control/FilterOW.py +9 -8
- orangecontrib/tomwer/widgets/control/NXTomomillMixIn.py +3 -4
- orangecontrib/tomwer/widgets/control/NXTomomillOW.py +13 -14
- orangecontrib/tomwer/widgets/control/NotifierOW.py +3 -4
- orangecontrib/tomwer/widgets/control/SingleTomoObjOW.py +7 -5
- orangecontrib/tomwer/widgets/control/TimerOW.py +6 -5
- orangecontrib/tomwer/widgets/control/TomoObjSerieOW.py +5 -3
- orangecontrib/tomwer/widgets/control/VolumeSelector.py +8 -6
- orangecontrib/tomwer/widgets/control/VolumeSymLinkOW.py +10 -9
- orangecontrib/tomwer/widgets/control/icons/datadiscover.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/datadiscover.svg +137 -0
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.png +0 -0
- orangecontrib/tomwer/widgets/control/icons/nxtomomill.svg +5 -8
- orangecontrib/tomwer/widgets/debugtools/DatasetGeneratorOW.py +13 -15
- orangecontrib/tomwer/widgets/debugtools/ObjectInspectorOW.py +3 -2
- orangecontrib/tomwer/widgets/edit/DarkFlatPatchOW.py +10 -7
- orangecontrib/tomwer/widgets/edit/ImageKeyEditorOW.py +8 -5
- orangecontrib/tomwer/widgets/edit/ImageKeyUpgraderOW.py +5 -2
- orangecontrib/tomwer/widgets/edit/NXtomoEditorOW.py +6 -3
- orangecontrib/tomwer/widgets/edit/test/test_dark_flat_patch.py +8 -6
- orangecontrib/tomwer/widgets/edit/test/test_image_key_editor.py +3 -1
- orangecontrib/tomwer/widgets/edit/test/test_image_key_upgrader.py +3 -1
- orangecontrib/tomwer/widgets/edit/test/test_nxtomo_editor.py +3 -1
- orangecontrib/tomwer/widgets/other/PythonScriptOW.py +11 -11
- orangecontrib/tomwer/widgets/reconstruction/AxisOW.py +22 -27
- orangecontrib/tomwer/widgets/reconstruction/CastNabuVolumeOW.py +13 -11
- orangecontrib/tomwer/widgets/reconstruction/DarkRefAndCopyOW.py +11 -9
- orangecontrib/tomwer/widgets/reconstruction/NabuOW.py +16 -14
- orangecontrib/tomwer/widgets/reconstruction/NabuVolumeOW.py +27 -32
- orangecontrib/tomwer/widgets/reconstruction/SAAxisOW.py +27 -34
- orangecontrib/tomwer/widgets/reconstruction/SADeltaBetaOW.py +23 -25
- orangecontrib/tomwer/widgets/reconstruction/SinoNormOW.py +16 -18
- orangecontrib/tomwer/widgets/reconstruction/TofuOW.py +9 -7
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.png +0 -0
- orangecontrib/tomwer/widgets/reconstruction/icons/nabu_2d.svg +8 -11
- orangecontrib/tomwer/widgets/visualization/DataViewerOW.py +8 -8
- orangecontrib/tomwer/widgets/visualization/DiffViewerOW.py +6 -4
- orangecontrib/tomwer/widgets/visualization/LivesliceOW.py +4 -3
- orangecontrib/tomwer/widgets/visualization/NXtomoMetadataViewerOW.py +4 -3
- orangecontrib/tomwer/widgets/visualization/RadioStackOW.py +6 -4
- orangecontrib/tomwer/widgets/visualization/SampleMovedOW.py +8 -6
- orangecontrib/tomwer/widgets/visualization/SinogramViewerOW.py +6 -3
- orangecontrib/tomwer/widgets/visualization/SliceStackOW.py +7 -5
- orangecontrib/tomwer/widgets/visualization/VolumeViewerOW.py +5 -4
- tomwer/__init__.py +1 -1
- tomwer/__main__.py +2 -1
- tomwer/app/axis.py +18 -14
- tomwer/app/canvas.py +7 -5
- tomwer/app/canvas_launcher/config.py +8 -6
- tomwer/app/canvas_launcher/environ.py +1 -2
- tomwer/app/canvas_launcher/mainwindow.py +23 -22
- tomwer/app/canvas_launcher/splash.py +1 -0
- tomwer/app/canvas_launcher/widgetsscheme.py +3 -3
- tomwer/app/darkref.py +7 -6
- tomwer/app/darkrefpatch.py +8 -6
- tomwer/app/diffframe.py +6 -4
- tomwer/app/imagekeyeditor.py +10 -10
- tomwer/app/imagekeyupgrader.py +8 -6
- tomwer/app/intensitynormalization.py +8 -8
- tomwer/app/lamino.py +5 -3
- tomwer/app/nabuapp.py +8 -6
- tomwer/app/nxtomoeditor.py +6 -5
- tomwer/app/radiostack.py +8 -6
- tomwer/app/rsync.py +3 -3
- tomwer/app/saaxis.py +22 -23
- tomwer/app/sadeltabeta.py +21 -21
- tomwer/app/samplemoved.py +8 -6
- tomwer/app/scanviewer.py +7 -6
- tomwer/app/sinogramviewer.py +8 -7
- tomwer/app/slicestack.py +8 -6
- tomwer/app/stopdatalistener.py +2 -1
- tomwer/core/futureobject.py +15 -6
- tomwer/core/log/logger.py +4 -3
- tomwer/core/log/processlog.py +0 -1
- tomwer/core/process/conditions/filters.py +3 -3
- tomwer/core/process/control/datadiscovery.py +7 -0
- tomwer/core/process/control/datalistener/datalistener.py +22 -21
- tomwer/core/process/control/datalistener/rpcserver.py +18 -28
- tomwer/core/process/control/datawatcher/datawatcher.py +15 -12
- tomwer/core/process/control/datawatcher/datawatcherobserver.py +11 -8
- tomwer/core/process/control/datawatcher/datawatcherprocess.py +7 -5
- tomwer/core/process/control/datawatcher/edfdwprocess.py +5 -15
- tomwer/core/process/control/datawatcher/hdf5dwprocess.py +3 -1
- tomwer/core/process/control/datawatcher/status.py +2 -0
- tomwer/core/process/control/nxtomomill.py +7 -6
- tomwer/core/process/control/scanlist.py +2 -1
- tomwer/core/process/control/scanselector.py +1 -0
- tomwer/core/process/control/scantransfer.py +12 -12
- tomwer/core/process/control/scanvalidator.py +7 -6
- tomwer/core/process/control/test/test_volume_link.py +5 -4
- tomwer/core/process/control/timer.py +4 -4
- tomwer/core/process/control/volumeselector.py +1 -0
- tomwer/core/process/control/volumesymlink.py +8 -9
- tomwer/core/process/edit/darkflatpatch.py +9 -12
- tomwer/core/process/edit/imagekeyeditor.py +11 -13
- tomwer/core/process/reconstruction/axis/axis.py +36 -38
- tomwer/core/process/reconstruction/axis/mode.py +2 -1
- tomwer/core/process/reconstruction/axis/params.py +23 -28
- tomwer/core/process/reconstruction/darkref/darkrefs.py +23 -27
- tomwer/core/process/reconstruction/darkref/darkrefscopy.py +14 -18
- tomwer/core/process/reconstruction/darkref/params.py +3 -1
- tomwer/core/process/reconstruction/lamino/tofu.py +11 -15
- tomwer/core/process/reconstruction/nabu/castvolume.py +15 -18
- tomwer/core/process/reconstruction/nabu/nabucommon.py +19 -20
- tomwer/core/process/reconstruction/nabu/nabuscores.py +16 -14
- tomwer/core/process/reconstruction/nabu/nabuslices.py +27 -22
- tomwer/core/process/reconstruction/nabu/nabuvolume.py +20 -22
- tomwer/core/process/reconstruction/nabu/utils.py +17 -15
- tomwer/core/process/reconstruction/normalization/__init__.py +1 -3
- tomwer/core/process/reconstruction/normalization/normalization.py +16 -21
- tomwer/core/process/reconstruction/normalization/params.py +2 -2
- tomwer/core/process/reconstruction/saaxis/__init__.py +1 -1
- tomwer/core/process/reconstruction/saaxis/params.py +6 -7
- tomwer/core/process/reconstruction/saaxis/saaxis.py +44 -55
- tomwer/core/process/reconstruction/sadeltabeta/__init__.py +1 -1
- tomwer/core/process/reconstruction/sadeltabeta/params.py +9 -13
- tomwer/core/process/reconstruction/sadeltabeta/sadeltabeta.py +40 -46
- tomwer/core/process/reconstruction/scores/__init__.py +2 -2
- tomwer/core/process/reconstruction/scores/params.py +6 -9
- tomwer/core/process/reconstruction/scores/scores.py +10 -13
- tomwer/core/process/reconstruction/test/test_axis_params.py +4 -2
- tomwer/core/process/reconstruction/test/test_darkref.py +1 -2
- tomwer/core/process/reconstruction/test/test_darkref_copy.py +3 -1
- tomwer/core/process/reconstruction/test/test_paramsbase.py +1 -1
- tomwer/core/process/reconstruction/test/test_saaxis.py +11 -7
- tomwer/core/process/reconstruction/test/test_sadeltabeta.py +5 -4
- tomwer/core/process/reconstruction/test/test_utils.py +3 -2
- tomwer/core/process/script/python.py +6 -8
- tomwer/core/process/task.py +11 -12
- tomwer/core/process/test/test_axis.py +12 -9
- tomwer/core/process/test/test_conditions.py +8 -8
- tomwer/core/process/test/test_dark_and_flat.py +9 -8
- tomwer/core/process/test/test_data_listener.py +5 -3
- tomwer/core/process/test/test_data_transfer.py +14 -12
- tomwer/core/process/test/test_data_watcher.py +3 -1
- tomwer/core/process/test/test_lamino.py +3 -1
- tomwer/core/process/test/test_nabu.py +13 -12
- tomwer/core/process/test/test_normalization.py +7 -5
- tomwer/core/process/test/test_timer.py +2 -1
- tomwer/core/process/utils.py +9 -9
- tomwer/core/progress.py +3 -4
- tomwer/core/scan/blissscan.py +4 -2
- tomwer/core/scan/edfscan.py +26 -29
- tomwer/core/scan/futurescan.py +2 -1
- tomwer/core/scan/hdf5scan.py +21 -28
- tomwer/core/scan/scanbase.py +18 -18
- tomwer/core/scan/scanfactory.py +20 -21
- tomwer/core/scan/scantype.py +7 -0
- tomwer/core/scan/test/test_edf.py +2 -1
- tomwer/core/scan/test/test_future_scan.py +2 -1
- tomwer/core/scan/test/test_h5.py +5 -4
- tomwer/core/scan/test/test_process_registration.py +5 -3
- tomwer/core/scan/test/test_scan.py +11 -9
- tomwer/core/settings.py +1 -2
- tomwer/core/test/test_lamino.py +3 -2
- tomwer/core/test/test_scanutils.py +3 -2
- tomwer/core/test/test_utils.py +6 -4
- tomwer/core/utils/__init__.py +8 -6
- tomwer/core/utils/deprecation.py +2 -2
- tomwer/core/utils/image.py +4 -3
- tomwer/core/utils/locker.py +1 -1
- tomwer/core/utils/normalization.py +1 -0
- tomwer/core/utils/nxtomoutils.py +2 -1
- tomwer/core/utils/scanutils.py +9 -6
- tomwer/core/utils/slurm.py +2 -1
- tomwer/core/utils/time.py +2 -4
- tomwer/core/utils/volumeutils.py +2 -1
- tomwer/core/volume/__init__.py +1 -1
- tomwer/core/volume/edfvolume.py +4 -3
- tomwer/core/volume/hdf5volume.py +6 -8
- tomwer/core/volume/jp2kvolume.py +4 -3
- tomwer/core/volume/rawvolume.py +7 -7
- tomwer/core/volume/tiffvolume.py +8 -6
- tomwer/core/volume/volumebase.py +1 -0
- tomwer/core/volume/volumefactory.py +18 -18
- tomwer/gui/cluster/slurm.py +2 -0
- tomwer/gui/cluster/supervisor.py +4 -2
- tomwer/gui/cluster/test/test_cluster.py +5 -4
- tomwer/gui/cluster/test/test_supervisor.py +4 -2
- tomwer/gui/conditions/filter.py +7 -6
- tomwer/gui/control/actions.py +1 -0
- tomwer/gui/control/datadiscovery.py +168 -0
- tomwer/gui/control/datalist.py +29 -28
- tomwer/gui/control/datalistener.py +8 -4
- tomwer/gui/control/datareacheractions.py +2 -1
- tomwer/gui/control/datatransfert.py +3 -1
- tomwer/gui/control/datavalidator.py +11 -12
- tomwer/gui/control/datawatcher/configuration.py +12 -1
- tomwer/gui/control/datawatcher/controlwidget.py +116 -0
- tomwer/gui/control/datawatcher/datawatcher.py +63 -121
- tomwer/gui/control/datawatcher/datawatcherobserver.py +7 -9
- tomwer/gui/control/history.py +3 -1
- tomwer/gui/control/observations.py +7 -7
- tomwer/gui/control/scanselectorwidget.py +4 -2
- tomwer/gui/control/selectorwidgetbase.py +3 -1
- tomwer/gui/control/serie/seriecreator.py +11 -12
- tomwer/gui/control/singletomoobj.py +4 -4
- tomwer/gui/control/test/test_datadiscovery.py +27 -0
- tomwer/gui/control/test/test_datalist.py +7 -6
- tomwer/gui/control/test/test_datalistener.py +4 -4
- tomwer/gui/control/test/test_datavalidator.py +3 -1
- tomwer/gui/control/test/test_inputwidget.py +5 -4
- tomwer/gui/control/test/test_process_manager.py +3 -3
- tomwer/gui/control/test/test_scanselector.py +6 -4
- tomwer/gui/control/test/test_scanvalidator.py +6 -5
- tomwer/gui/control/test/test_single_tomo_obj.py +5 -3
- tomwer/gui/control/test/test_volume_dialog.py +7 -5
- tomwer/gui/control/test/test_volumeselector.py +8 -6
- tomwer/gui/control/volumeselectorwidget.py +2 -1
- tomwer/gui/debugtools/datasetgenerator.py +2 -1
- tomwer/gui/debugtools/objectinspector.py +6 -7
- tomwer/gui/edit/dkrfpatch.py +11 -10
- tomwer/gui/edit/imagekeyeditor.py +12 -12
- tomwer/gui/edit/nxtomoeditor.py +8 -7
- tomwer/gui/edit/test/test_dkrf_patch.py +10 -9
- tomwer/gui/edit/test/test_image_key_editor.py +8 -6
- tomwer/gui/edit/test/test_nx_editor.py +7 -5
- tomwer/gui/icons.py +3 -2
- tomwer/gui/illustrations.py +3 -2
- tomwer/gui/imagefromfile.py +3 -1
- tomwer/gui/qfolderdialog.py +14 -12
- tomwer/gui/reconstruction/axis/CompareImages.py +9 -8
- tomwer/gui/reconstruction/axis/__init__.py +1 -1
- tomwer/gui/reconstruction/axis/axis.py +9 -7
- tomwer/gui/reconstruction/axis/radioaxis.py +30 -32
- tomwer/gui/reconstruction/darkref/darkrefcopywidget.py +6 -5
- tomwer/gui/reconstruction/darkref/darkrefwidget.py +4 -2
- tomwer/gui/reconstruction/lamino/tofu/misc.py +3 -1
- tomwer/gui/reconstruction/lamino/tofu/projections.py +16 -8
- tomwer/gui/reconstruction/lamino/tofu/tofu.py +6 -3
- tomwer/gui/reconstruction/lamino/tofu/tofuexpert.py +5 -2
- tomwer/gui/reconstruction/lamino/tofu/tofuoutput.py +8 -5
- tomwer/gui/reconstruction/nabu/action.py +1 -0
- tomwer/gui/reconstruction/nabu/castvolume.py +6 -4
- tomwer/gui/reconstruction/nabu/check.py +3 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/base.py +5 -2
- tomwer/gui/reconstruction/nabu/nabuconfig/ctf.py +6 -3
- tomwer/gui/reconstruction/nabu/nabuconfig/nabuconfig.py +4 -3
- tomwer/gui/reconstruction/nabu/nabuconfig/output.py +7 -5
- tomwer/gui/reconstruction/nabu/nabuconfig/phase.py +8 -6
- tomwer/gui/reconstruction/nabu/nabuconfig/preprocessing.py +7 -7
- tomwer/gui/reconstruction/nabu/nabuconfig/reconstruction.py +40 -33
- tomwer/gui/reconstruction/nabu/nabuflow.py +7 -4
- tomwer/gui/reconstruction/nabu/slices.py +14 -10
- tomwer/gui/reconstruction/nabu/slurm.py +1 -0
- tomwer/gui/reconstruction/nabu/volume.py +5 -3
- tomwer/gui/reconstruction/normalization/intensity.py +14 -13
- tomwer/gui/reconstruction/saaxis/corrangeselector.py +36 -35
- tomwer/gui/reconstruction/saaxis/dimensionwidget.py +5 -4
- tomwer/gui/reconstruction/saaxis/saaxis.py +17 -17
- tomwer/gui/reconstruction/saaxis/sliceselector.py +5 -5
- tomwer/gui/reconstruction/sadeltabeta/saadeltabeta.py +33 -36
- tomwer/gui/reconstruction/scores/scoreplot.py +19 -18
- tomwer/gui/reconstruction/test/test_axis.py +14 -13
- tomwer/gui/reconstruction/test/test_lamino.py +3 -2
- tomwer/gui/reconstruction/test/test_nabu.py +8 -6
- tomwer/gui/reconstruction/test/test_saaxis.py +17 -15
- tomwer/gui/reconstruction/test/test_sadeltabeta.py +15 -13
- tomwer/gui/samplemoved/__init__.py +8 -7
- tomwer/gui/samplemoved/selectiontable.py +4 -2
- tomwer/gui/stackplot.py +14 -13
- tomwer/gui/stacks.py +11 -9
- tomwer/gui/test/test_axis_gui.py +5 -4
- tomwer/gui/test/test_qfolder_dialog.py +2 -1
- tomwer/gui/utils/__init__.py +5 -5
- tomwer/gui/utils/buttons.py +1 -0
- tomwer/gui/utils/completer.py +1 -0
- tomwer/gui/utils/flow.py +4 -2
- tomwer/gui/utils/illustrations.py +1 -0
- tomwer/gui/utils/inputwidget.py +11 -17
- tomwer/gui/utils/lineselector/lineselector.py +6 -8
- tomwer/gui/utils/qt_utils.py +1 -0
- tomwer/gui/utils/scandescription.py +2 -0
- tomwer/gui/utils/splashscreen.py +1 -1
- tomwer/gui/utils/unitsystem.py +3 -1
- tomwer/gui/utils/vignettes.py +8 -8
- tomwer/gui/utils/waiterthread.py +2 -1
- tomwer/gui/visualization/dataviewer.py +20 -28
- tomwer/gui/visualization/diffviewer/diffviewer.py +17 -20
- tomwer/gui/visualization/diffviewer/shiftwidget.py +3 -1
- tomwer/gui/visualization/nxtomometadata.py +1 -0
- tomwer/gui/visualization/reconstructionparameters.py +13 -12
- tomwer/gui/visualization/scanoverview.py +5 -3
- tomwer/gui/visualization/sinogramviewer.py +3 -2
- tomwer/gui/visualization/test/test_dataviewer.py +3 -1
- tomwer/gui/visualization/test/test_diffviewer.py +8 -6
- tomwer/gui/visualization/test/test_nx_tomo_metadata_viewer.py +5 -3
- tomwer/gui/visualization/test/test_reconstruction_parameters.py +5 -3
- tomwer/gui/visualization/test/test_sinogramviewer.py +10 -9
- tomwer/gui/visualization/test/test_stacks.py +8 -6
- tomwer/gui/visualization/test/test_volumeviewer.py +10 -8
- tomwer/gui/visualization/tomoobjoverview.py +7 -4
- tomwer/gui/visualization/volumeoverview.py +5 -3
- tomwer/gui/visualization/volumeviewer.py +15 -14
- tomwer/io/utils/__init__.py +3 -3
- tomwer/io/utils/h5pyutils.py +2 -1
- tomwer/io/utils/utils.py +17 -21
- tomwer/resources/__init__.py +1 -1
- tomwer/synctools/axis.py +3 -1
- tomwer/synctools/darkref.py +3 -2
- tomwer/synctools/datalistener.py +10 -6
- tomwer/synctools/datatransfert.py +2 -3
- tomwer/synctools/imageloaderthread.py +5 -3
- tomwer/synctools/rsyncmanager.py +3 -2
- tomwer/synctools/saaxis.py +3 -1
- tomwer/synctools/sadeltabeta.py +3 -1
- tomwer/synctools/stacks/control/datalistener.py +9 -12
- tomwer/synctools/stacks/edit/darkflatpatch.py +13 -12
- tomwer/synctools/stacks/edit/imagekeyeditor.py +12 -11
- tomwer/synctools/stacks/processingstack.py +3 -2
- tomwer/synctools/stacks/reconstruction/axis.py +12 -12
- tomwer/synctools/stacks/reconstruction/castvolume.py +8 -5
- tomwer/synctools/stacks/reconstruction/dkrefcopy.py +10 -9
- tomwer/synctools/stacks/reconstruction/lamino.py +9 -7
- tomwer/synctools/stacks/reconstruction/nabu.py +18 -17
- tomwer/synctools/stacks/reconstruction/normalization.py +12 -16
- tomwer/synctools/stacks/reconstruction/saaxis.py +13 -11
- tomwer/synctools/stacks/reconstruction/sadeltabeta.py +16 -14
- tomwer/synctools/test/test_darkRefs.py +4 -3
- tomwer/synctools/test/test_foldertransfer.py +14 -12
- tomwer/synctools/test/test_scanstages.py +8 -7
- tomwer/synctools/utils/scanstages.py +7 -5
- tomwer/tests/conftest.py +4 -4
- tomwer/tests/test_scripts.py +3 -2
- tomwer/tests/utils/__init__.py +5 -4
- tomwer/tests/utils/utilstest.py +5 -6
- tomwer/third_party/nabu/preproc/phase.py +7 -5
- tomwer/third_party/nabu/utils.py +3 -2
- tomwer/utils.py +12 -12
- tomwer/version.py +4 -4
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/METADATA +2 -2
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/RECORD +353 -345
- /tomwer-1.1.1-py3.8-nspkg.pth → /tomwer-1.2.0a0-py3.8-nspkg.pth +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/LICENSE +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/WHEEL +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/entry_points.txt +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/namespace_packages.txt +0 -0
- {tomwer-1.1.1.dist-info → tomwer-1.2.0a0.dist-info}/top_level.txt +0 -0
@@ -47,29 +47,31 @@ except (ImportError, OSError):
|
|
47
47
|
has_nabu = True
|
48
48
|
else:
|
49
49
|
has_nabu = True
|
50
|
+
import logging
|
51
|
+
import os
|
50
52
|
from typing import Iterable, Optional, Union
|
51
53
|
|
54
|
+
from nabu.pipeline.fullfield.nabu_config import (
|
55
|
+
nabu_config as nabu_fullfield_default_config,
|
56
|
+
)
|
52
57
|
from processview.core.manager.manager import ProcessManager
|
58
|
+
|
59
|
+
from tomwer.core.futureobject import FutureTomwerObject
|
60
|
+
from tomwer.core.process.reconstruction.nabu.nabuslices import (
|
61
|
+
SingleSliceRunner,
|
62
|
+
_NabuBaseReconstructor,
|
63
|
+
generate_nabu_configfile,
|
64
|
+
)
|
53
65
|
from tomwer.core.process.reconstruction.nabu.target import Target
|
54
66
|
from tomwer.core.progress import Progress
|
55
67
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
56
|
-
from tomwer.core.futureobject import FutureTomwerObject
|
57
68
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
58
69
|
from tomwer.core.utils.slurm import is_slurm_available
|
59
70
|
from tomwer.utils import docstring
|
71
|
+
|
60
72
|
from ..nabu import settings as nabu_settings
|
61
|
-
from tomwer.core.process.reconstruction.nabu.nabuslices import (
|
62
|
-
SingleSliceRunner,
|
63
|
-
generate_nabu_configfile,
|
64
|
-
_NabuBaseReconstructor,
|
65
|
-
)
|
66
|
-
from nabu.pipeline.fullfield.nabu_config import (
|
67
|
-
nabu_config as nabu_fullfield_default_config,
|
68
|
-
)
|
69
|
-
from .nabucommon import ResultSlurmRun, ResultsLocalRun, ResultsWithStd
|
70
73
|
from . import utils
|
71
|
-
import
|
72
|
-
import os
|
74
|
+
from .nabucommon import ResultsLocalRun, ResultSlurmRun, ResultsWithStd
|
73
75
|
|
74
76
|
_logger = logging.getLogger(__name__)
|
75
77
|
|
@@ -254,7 +256,7 @@ class _Reconstructor(_NabuBaseReconstructor):
|
|
254
256
|
db=db,
|
255
257
|
ctf=ctf,
|
256
258
|
)
|
257
|
-
_config["output"]["file_prefix"] = "cor_{}_{}"
|
259
|
+
_config["output"]["file_prefix"] = f"cor_{_file_name}_{cor}"
|
258
260
|
if _config["output"]["location"] not in ("", None):
|
259
261
|
# if user specify the location
|
260
262
|
if not os.path.isdir(_config["output"]["location"]):
|
@@ -303,5 +305,5 @@ class _Reconstructor(_NabuBaseReconstructor):
|
|
303
305
|
)
|
304
306
|
if not isinstance(self.scan, EDFTomoScan):
|
305
307
|
name = "_".join((self.scan.entry.lstrip("/"), name))
|
306
|
-
conf_file = os.path.join(cfg_folder, "cor_{}_{}"
|
308
|
+
conf_file = os.path.join(cfg_folder, f"cor_{cor}_{name}")
|
307
309
|
return config, conf_file
|
@@ -28,15 +28,16 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "26/10/2021"
|
29
29
|
|
30
30
|
|
31
|
-
import functools
|
32
|
-
import os
|
33
31
|
import copy
|
32
|
+
import functools
|
34
33
|
import logging
|
34
|
+
import os
|
35
|
+
|
35
36
|
from processview.core.manager.manager import ProcessManager
|
36
37
|
|
37
38
|
from tomwer.core.futureobject import FutureTomwerObject
|
38
|
-
from tomwer.core.utils.slurm import is_slurm_available
|
39
39
|
from tomwer.core.utils.scanutils import data_identifier_to_scan
|
40
|
+
from tomwer.core.utils.slurm import is_slurm_available
|
40
41
|
|
41
42
|
try:
|
42
43
|
from nabu.pipeline.fullfield.reconstruction import ( # noqa F401
|
@@ -58,36 +59,40 @@ else:
|
|
58
59
|
has_nabu = True
|
59
60
|
_err_import_nabu = None
|
60
61
|
|
61
|
-
from
|
62
|
-
|
63
|
-
from
|
64
|
-
from
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
62
|
+
from typing import Iterable, Optional, Union
|
63
|
+
|
64
|
+
from nabu import version as nabu_version
|
65
|
+
from nabu.pipeline.config import (
|
66
|
+
_extract_nabuconfig_keyvals,
|
67
|
+
generate_nabu_configfile,
|
68
|
+
get_default_nabu_config,
|
69
|
+
)
|
69
70
|
from nabu.pipeline.fullfield.nabu_config import (
|
70
71
|
nabu_config as nabu_fullfield_default_config,
|
71
72
|
)
|
72
|
-
from
|
73
|
-
from nabu import version as nabu_version
|
73
|
+
from processview.core.superviseprocess import SuperviseProcess
|
74
74
|
from silx.io.dictdump import h5todict
|
75
|
-
from . import
|
76
|
-
from . import
|
75
|
+
from silx.io.utils import h5py_read_dataset
|
76
|
+
from silx.utils.enum import Enum as _Enum
|
77
77
|
from tomoscan.io import HDF5File
|
78
|
+
|
79
|
+
from tomwer.core.process.task import Task
|
78
80
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
79
|
-
from
|
80
|
-
from
|
81
|
+
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
82
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
83
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
81
84
|
from tomwer.io.utils.h5pyutils import EntryReader
|
82
|
-
from tomwer.
|
83
|
-
|
85
|
+
from tomwer.utils import docstring
|
86
|
+
|
87
|
+
from . import settings as nabu_settings
|
88
|
+
from . import utils
|
84
89
|
from .nabucommon import (
|
85
|
-
_NabuBaseReconstructor,
|
86
|
-
ResultsRun,
|
87
90
|
ResultsLocalRun,
|
88
91
|
ResultSlurmRun,
|
92
|
+
ResultsRun,
|
93
|
+
_NabuBaseReconstructor,
|
89
94
|
)
|
90
|
-
from
|
95
|
+
from .target import Target
|
91
96
|
|
92
97
|
_logger = logging.getLogger(__name__)
|
93
98
|
if not has_nabu:
|
@@ -28,36 +28,34 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "26/10/2021"
|
29
29
|
|
30
30
|
|
31
|
+
import copy
|
32
|
+
import functools
|
31
33
|
import logging
|
34
|
+
import os
|
32
35
|
from typing import Iterable, Optional
|
36
|
+
|
37
|
+
from nabu import version as nabu_version
|
38
|
+
from nabu.pipeline.config import generate_nabu_configfile
|
39
|
+
from nabu.pipeline.fullfield.nabu_config import (
|
40
|
+
nabu_config as nabu_fullfield_default_config,
|
41
|
+
)
|
33
42
|
from processview.core.manager.manager import ProcessManager
|
43
|
+
from silx.io.utils import h5py_read_dataset
|
44
|
+
|
34
45
|
from tomwer.core.cluster.cluster import SlurmClusterConfiguration
|
35
46
|
from tomwer.core.futureobject import FutureTomwerObject
|
36
|
-
from tomwer.core.
|
47
|
+
from tomwer.core.process.task import Task
|
48
|
+
from tomwer.core.scan.edfscan import EDFTomoScan
|
37
49
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
50
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
38
51
|
from tomwer.core.scan.scanfactory import ScanFactory
|
39
52
|
from tomwer.core.utils.scanutils import data_identifier_to_scan
|
40
|
-
from . import utils
|
41
|
-
from . import settings
|
42
|
-
from nabu.pipeline.config import generate_nabu_configfile
|
43
|
-
from nabu.pipeline.fullfield.nabu_config import (
|
44
|
-
nabu_config as nabu_fullfield_default_config,
|
45
|
-
)
|
46
|
-
from nabu import version as nabu_version
|
47
|
-
from tomwer.core.scan.edfscan import EDFTomoScan
|
48
|
-
import copy
|
49
|
-
import os
|
50
|
-
from tomwer.core.process.task import Task
|
51
53
|
from tomwer.io.utils.h5pyutils import EntryReader
|
52
|
-
from silx.io.utils import h5py_read_dataset
|
53
|
-
from .target import Target
|
54
|
-
import functools
|
55
54
|
from tomwer.utils import docstring
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
)
|
55
|
+
|
56
|
+
from . import settings, utils
|
57
|
+
from .nabucommon import ResultsLocalRun, ResultSlurmRun, _NabuBaseReconstructor
|
58
|
+
from .target import Target
|
61
59
|
|
62
60
|
_logger = logging.getLogger(__name__)
|
63
61
|
|
@@ -260,7 +258,7 @@ class VolumeRunner(_NabuBaseReconstructor):
|
|
260
258
|
if not isinstance(self.scan, EDFTomoScan):
|
261
259
|
name = "_".join((self.scan.entry.lstrip("/"), name))
|
262
260
|
conf_file = os.path.join(cfg_folder, name)
|
263
|
-
_logger.info("{}: create {}"
|
261
|
+
_logger.info(f"{self.scan}: create {conf_file}")
|
264
262
|
|
265
263
|
# add some tomwer metadata and save the configuration
|
266
264
|
# note: for now the section is ignored by nabu but shouldn't stay that way
|
@@ -401,7 +399,7 @@ class NabuVolume(
|
|
401
399
|
elif isinstance(scan, dict):
|
402
400
|
scan = ScanFactory.create_scan_object_frm_dict(scan)
|
403
401
|
else:
|
404
|
-
raise ValueError("input type {} is not managed"
|
402
|
+
raise ValueError(f"input type {scan} is not managed")
|
405
403
|
|
406
404
|
if scan.nabu_recons_params is None:
|
407
405
|
raise ValueError(
|
@@ -28,25 +28,27 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "06/08/2020"
|
29
29
|
|
30
30
|
|
31
|
-
from tomwer.core.scan.edfscan import EDFTomoScan
|
32
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
33
|
-
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
34
|
-
import tomwer.version
|
35
|
-
from silx.utils.enum import Enum as _Enum
|
36
|
-
from contextlib import AbstractContextManager
|
37
|
-
import logging
|
38
31
|
import datetime
|
39
|
-
import
|
32
|
+
import logging
|
40
33
|
import os
|
41
|
-
|
42
|
-
from
|
43
|
-
|
44
|
-
from
|
45
|
-
from tomwer.core.volume.rawvolume import RawVolume
|
34
|
+
import typing
|
35
|
+
from contextlib import AbstractContextManager
|
36
|
+
|
37
|
+
from nabu.pipeline.config import generate_nabu_configfile, parse_nabu_config_file
|
46
38
|
from nabu.pipeline.fullfield.nabu_config import (
|
47
39
|
nabu_config as nabu_fullfield_default_config,
|
48
40
|
)
|
49
|
-
from
|
41
|
+
from silx.utils.enum import Enum as _Enum
|
42
|
+
|
43
|
+
import tomwer.version
|
44
|
+
from tomwer.core.scan.edfscan import EDFTomoScan
|
45
|
+
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
46
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
47
|
+
from tomwer.core.volume.edfvolume import EDFVolume
|
48
|
+
from tomwer.core.volume.hdf5volume import HDF5Volume
|
49
|
+
from tomwer.core.volume.jp2kvolume import JP2KVolume
|
50
|
+
from tomwer.core.volume.rawvolume import RawVolume
|
51
|
+
from tomwer.core.volume.tiffvolume import TIFFVolume
|
50
52
|
|
51
53
|
_logger = logging.getLogger(__name__)
|
52
54
|
|
@@ -242,7 +244,7 @@ def get_recons_volume_identifier(
|
|
242
244
|
# )
|
243
245
|
|
244
246
|
else:
|
245
|
-
raise ValueError("file format not managed: {}"
|
247
|
+
raise ValueError(f"file format not managed: {file_format}")
|
246
248
|
|
247
249
|
return tuple([volume.get_identifier() for volume in volumes])
|
248
250
|
|
@@ -34,24 +34,22 @@ __license__ = "MIT"
|
|
34
34
|
__date__ = "25/06/2021"
|
35
35
|
|
36
36
|
|
37
|
-
import numpy
|
38
|
-
import logging
|
39
37
|
import functools
|
38
|
+
import logging
|
39
|
+
|
40
|
+
import numpy
|
41
|
+
import tomoscan.esrf.scan.utils
|
42
|
+
from processview.core.dataset import DatasetIdentifier
|
43
|
+
from processview.core.superviseprocess import SuperviseProcess
|
40
44
|
from silx.io.url import DataUrl
|
45
|
+
from tomoscan.esrf.scan.utils import get_data
|
46
|
+
from tomoscan.normalization import Method as NormMethod
|
47
|
+
|
41
48
|
import tomwer.version
|
42
49
|
from tomwer.core.process.task import Task
|
43
50
|
from tomwer.core.utils.scanutils import data_identifier_to_scan
|
44
|
-
from .params import (
|
45
|
-
SinoNormalizationParams,
|
46
|
-
_ValueCalculationFct,
|
47
|
-
_ValueSource,
|
48
|
-
)
|
49
|
-
from tomoscan.normalization import Method as NormMethod
|
50
|
-
import tomoscan.esrf.scan.utils
|
51
|
-
from tomoscan.esrf.scan.utils import get_data
|
52
|
-
from processview.core.dataset import DatasetIdentifier
|
53
|
-
from processview.core.superviseprocess import SuperviseProcess
|
54
51
|
|
52
|
+
from .params import SinoNormalizationParams, _ValueCalculationFct, _ValueSource
|
55
53
|
|
56
54
|
_logger = logging.getLogger(__name__)
|
57
55
|
|
@@ -143,7 +141,7 @@ class SinoNormalizationTask(
|
|
143
141
|
"source": _ValueSource.MANUAL_SCALAR.value,
|
144
142
|
}
|
145
143
|
else:
|
146
|
-
raise ValueError("method {} is not handled"
|
144
|
+
raise ValueError(f"method {params.method} is not handled")
|
147
145
|
except Exception as e:
|
148
146
|
_logger.error(e)
|
149
147
|
final_norm_info = {"tomwer_processing_res_code": False}
|
@@ -274,7 +272,7 @@ class SinoNormalizationTask(
|
|
274
272
|
|
275
273
|
def retrieve_data_proj_indexes(url_):
|
276
274
|
urls = []
|
277
|
-
for
|
275
|
+
for data_slice in range(
|
278
276
|
url_.data_slice().start,
|
279
277
|
url_.data_slice().stop,
|
280
278
|
url_.data_slice().step or 1,
|
@@ -284,7 +282,7 @@ class SinoNormalizationTask(
|
|
284
282
|
file_path=url_.file_path(),
|
285
283
|
data_path=url_.data_path(),
|
286
284
|
scheme=url_.scheme(),
|
287
|
-
data_slice=
|
285
|
+
data_slice=data_slice,
|
288
286
|
)
|
289
287
|
)
|
290
288
|
|
@@ -298,8 +296,7 @@ class SinoNormalizationTask(
|
|
298
296
|
res.append(url_idxs[my_url_path])
|
299
297
|
else:
|
300
298
|
_logger.warning(
|
301
|
-
"unable to retrieve frame index from url {}. "
|
302
|
-
"Take the slice index as frame index".format(my_url_path)
|
299
|
+
f"unable to retrieve frame index from url {my_url_path}. Take the slice index as frame index"
|
303
300
|
)
|
304
301
|
return res
|
305
302
|
|
@@ -323,9 +320,7 @@ class SinoNormalizationTask(
|
|
323
320
|
]
|
324
321
|
current_idx += length
|
325
322
|
else:
|
326
|
-
raise ValueError(
|
327
|
-
"Frame where expected and not a " "{}D object".format(data.ndim)
|
328
|
-
)
|
323
|
+
raise ValueError(f"Frame where expected and not a {data.ndim}D object")
|
329
324
|
return SinoNormalizationTask.compute_stats(roi_area)
|
330
325
|
|
331
326
|
@staticmethod
|
@@ -339,7 +334,7 @@ class SinoNormalizationTask(
|
|
339
334
|
elif data.ndim in (0, 1):
|
340
335
|
res = data
|
341
336
|
else:
|
342
|
-
raise ValueError("dataset dimension not handled ({
|
337
|
+
raise ValueError(f"dataset dimension not handled ({data.ndim}D)")
|
343
338
|
results[calc_fct.value] = res
|
344
339
|
return results
|
345
340
|
|
@@ -34,11 +34,11 @@ __license__ = "MIT"
|
|
34
34
|
__date__ = "25/06/2021"
|
35
35
|
|
36
36
|
|
37
|
+
import typing
|
38
|
+
|
37
39
|
from silx.utils.enum import Enum as _Enum
|
38
40
|
from tomoscan.normalization import Method
|
39
41
|
|
40
|
-
import typing
|
41
|
-
|
42
42
|
|
43
43
|
class _ValueSource(_Enum):
|
44
44
|
MONITOR = "intensity monitor"
|
@@ -30,9 +30,11 @@ __date__ = "18/02/2021"
|
|
30
30
|
|
31
31
|
from collections.abc import Iterable
|
32
32
|
from typing import Union
|
33
|
+
|
34
|
+
import numpy
|
33
35
|
from silx.utils.enum import Enum as _Enum
|
36
|
+
|
34
37
|
from tomwer.core.process.reconstruction.scores.params import SABaseParams
|
35
|
-
import numpy
|
36
38
|
|
37
39
|
|
38
40
|
class ReconstructionMode(_Enum):
|
@@ -92,7 +94,7 @@ class SAAxisParams(SABaseParams):
|
|
92
94
|
@image_width.setter
|
93
95
|
def image_width(self, width):
|
94
96
|
if not isinstance(width, (type(None), float, int)):
|
95
|
-
raise TypeError("None, int or float expected. Not {
|
97
|
+
raise TypeError(f"None, int or float expected. Not {type(width)}")
|
96
98
|
else:
|
97
99
|
self._image_width = width
|
98
100
|
|
@@ -136,12 +138,9 @@ class SAAxisParams(SABaseParams):
|
|
136
138
|
if self.slice_indexes is None:
|
137
139
|
missing_information.append("slice index not provided")
|
138
140
|
if len(missing_information) > 0:
|
141
|
+
missing_information_str = " ; ".join(missing_information)
|
139
142
|
raise ValueError(
|
140
|
-
|
141
|
-
"Some informations are missing: {}".format(
|
142
|
-
" ; ".join(missing_information)
|
143
|
-
)
|
144
|
-
)
|
143
|
+
f"Some informations are missing: {missing_information_str}"
|
145
144
|
)
|
146
145
|
|
147
146
|
@staticmethod
|
@@ -32,48 +32,52 @@ __license__ = "MIT"
|
|
32
32
|
__date__ = "10/02/2021"
|
33
33
|
|
34
34
|
|
35
|
-
import os
|
36
35
|
import copy
|
37
|
-
import h5py
|
38
|
-
import numpy
|
39
36
|
import logging
|
37
|
+
import os
|
40
38
|
from typing import Iterable, Optional
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
from processview.core.superviseprocess import SuperviseProcess
|
39
|
+
|
40
|
+
import h5py
|
41
|
+
import numpy
|
45
42
|
from nabu.pipeline.config import get_default_nabu_config
|
46
43
|
from nabu.pipeline.fullfield.nabu_config import (
|
47
44
|
nabu_config as nabu_fullfield_default_config,
|
48
45
|
)
|
49
|
-
from
|
50
|
-
from
|
46
|
+
from processview.core.manager import DatasetState, ProcessManager
|
47
|
+
from processview.core.superviseprocess import SuperviseProcess
|
48
|
+
from silx.io.url import DataUrl
|
49
|
+
from tomoscan.io import HDF5File
|
50
|
+
|
51
|
+
import tomwer.version
|
52
|
+
from tomwer.core.process.reconstruction.axis import AxisRP
|
53
|
+
from tomwer.core.process.reconstruction.nabu.nabuscores import (
|
54
|
+
run_nabu_one_slice_several_config,
|
55
|
+
)
|
51
56
|
from tomwer.core.process.reconstruction.nabu.nabuslices import (
|
52
57
|
SingleSliceRunner,
|
53
58
|
interpret_tomwer_configuration,
|
54
59
|
)
|
55
|
-
from tomwer.core.
|
56
|
-
|
57
|
-
|
58
|
-
|
60
|
+
from tomwer.core.process.reconstruction.scores import (
|
61
|
+
ComputedScore,
|
62
|
+
apply_roi,
|
63
|
+
compute_score,
|
64
|
+
get_disk_mask_radius,
|
65
|
+
)
|
59
66
|
from tomwer.core.process.reconstruction.scores.params import ScoreMethod
|
60
|
-
from .params import ReconstructionMode
|
61
|
-
from .params import SAAxisParams
|
62
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
63
|
-
from tomwer.core.utils import logconfig
|
64
67
|
from tomwer.core.process.task import Task
|
65
|
-
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
66
|
-
import tomwer.version
|
67
68
|
from tomwer.core.progress import Progress
|
68
|
-
from tomwer.core.
|
69
|
-
from tomwer.core.
|
70
|
-
from tomwer.core.
|
71
|
-
from tomwer.core.
|
72
|
-
from tomwer.core.
|
73
|
-
run_nabu_one_slice_several_config,
|
74
|
-
)
|
69
|
+
from tomwer.core.scan.edfscan import EDFTomoScan
|
70
|
+
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
71
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
72
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
73
|
+
from tomwer.core.utils import logconfig
|
75
74
|
from tomwer.core.utils.scanutils import data_identifier_to_scan
|
75
|
+
from tomwer.core.utils.slurm import is_slurm_available
|
76
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
77
|
+
from tomwer.io.utils.utils import get_slice_data
|
76
78
|
|
79
|
+
from ..nabu import utils
|
80
|
+
from .params import ReconstructionMode, SAAxisParams
|
77
81
|
|
78
82
|
_logger = logging.getLogger(__name__)
|
79
83
|
|
@@ -116,18 +120,16 @@ def one_slice_several_cor(
|
|
116
120
|
nabu_output_config = nabu_config.get("output", {})
|
117
121
|
file_format = nabu_output_config.get("file_format", "hdf5")
|
118
122
|
cluster_config = configuration.cluster_config
|
119
|
-
_logger.info(
|
120
|
-
"launch reconstruction of slice {} and cors {}".format(slice_index, cors)
|
121
|
-
)
|
123
|
+
_logger.info(f"launch reconstruction of slice {slice_index} and cors {cors}")
|
122
124
|
if mode is ReconstructionMode.VERTICAL:
|
123
125
|
if isinstance(slice_index, str):
|
124
126
|
if not slice_index == "middle":
|
125
|
-
raise ValueError("slice index {} not recognized"
|
127
|
+
raise ValueError(f"slice index {slice_index} not recognized")
|
126
128
|
elif not len(slice_index) == 1:
|
127
|
-
raise ValueError("{} mode only manage one slice"
|
129
|
+
raise ValueError(f"{mode.value} mode only manage one slice")
|
128
130
|
else:
|
129
131
|
slice_index = list(slice_index.values())[0]
|
130
|
-
advancement = Progress("saaxis - slice {} of {}"
|
132
|
+
advancement = Progress(f"saaxis - slice {slice_index} of {scan}")
|
131
133
|
|
132
134
|
_, cor_reconstructions, outs, errs, future_tomo_objs = run_slice_reconstruction(
|
133
135
|
scan=scan,
|
@@ -142,7 +144,7 @@ def one_slice_several_cor(
|
|
142
144
|
process_id=process_id,
|
143
145
|
)
|
144
146
|
else:
|
145
|
-
raise ValueError("{} is not handled for now"
|
147
|
+
raise ValueError(f"{mode} is not handled for now")
|
146
148
|
|
147
149
|
# treat future
|
148
150
|
if output_dir is None:
|
@@ -173,7 +175,7 @@ def one_slice_several_cor(
|
|
173
175
|
db=db,
|
174
176
|
ctf=ctf,
|
175
177
|
)
|
176
|
-
file_prefix = "cor_{}_{}"
|
178
|
+
file_prefix = f"cor_{_file_name}_{cor}"
|
177
179
|
|
178
180
|
recons_vol_id = utils.get_recons_volume_identifier(
|
179
181
|
scan=scan,
|
@@ -280,8 +282,7 @@ def one_slice_several_cor(
|
|
280
282
|
data = get_slice_data(url=url)
|
281
283
|
except Exception as e:
|
282
284
|
_logger.error(
|
283
|
-
"Fail to compute a score for {}. Reason is {}"
|
284
|
-
"".format(url.path(), str(e))
|
285
|
+
f"Fail to compute a score for {url.path()}. Reason is {e}"
|
285
286
|
)
|
286
287
|
datasets_[cor] = (url, None)
|
287
288
|
else:
|
@@ -292,14 +293,12 @@ def one_slice_several_cor(
|
|
292
293
|
data = data.reshape(data.shape[0], data.shape[1])
|
293
294
|
else:
|
294
295
|
raise ValueError(
|
295
|
-
"Data is expected to be 2D. Not {
|
296
|
+
f"Data is expected to be 2D. Not {data.ndim}D"
|
296
297
|
)
|
297
298
|
elif data.ndim == 2:
|
298
299
|
pass
|
299
300
|
else:
|
300
|
-
raise ValueError(
|
301
|
-
"Data is expected to be 2D. Not {}".format(data.ndim)
|
302
|
-
)
|
301
|
+
raise ValueError("Data is expected to be 2D. Not {data.ndim}D")
|
303
302
|
|
304
303
|
datasets_[cor] = (url, data)
|
305
304
|
return datasets_
|
@@ -506,9 +505,7 @@ class SAAxisProcess(
|
|
506
505
|
elif isinstance(scan, dict):
|
507
506
|
scan = ScanFactory.create_scan_object_frm_dict(scan)
|
508
507
|
else:
|
509
|
-
raise ValueError(
|
510
|
-
"input type of {}: {} is not managed" "".format(scan, type(scan))
|
511
|
-
)
|
508
|
+
raise ValueError(f"input type of {scan}: {type(scan)} is not managed")
|
512
509
|
# TODO: look and update if there is some nabu reconstruction
|
513
510
|
# or axis information to be used back
|
514
511
|
configuration = self.get_configuration()
|
@@ -527,17 +524,13 @@ class SAAxisProcess(
|
|
527
524
|
):
|
528
525
|
params.estimated_cor = relative_cor
|
529
526
|
_logger.info(
|
530
|
-
"{}: set estimated cor from previously computed cor ({})"
|
531
|
-
str(scan), params.estimated_cor
|
532
|
-
)
|
527
|
+
f"{scan}: set estimated cor from previously computed cor ({params.estimated_cor})"
|
533
528
|
)
|
534
529
|
# from scan.estimated_cor_position
|
535
530
|
if params.estimated_cor is None and scan.estimated_cor_frm_motor is not None:
|
536
531
|
params.estimated_cor = scan.estimated_cor_frm_motor
|
537
532
|
_logger.info(
|
538
|
-
"{}: set estimated cor from motor position ({})"
|
539
|
-
str(scan), params.estimated_cor
|
540
|
-
)
|
533
|
+
f"{scan}: set estimated cor from motor position ({params.estimated_cor})"
|
541
534
|
)
|
542
535
|
if scan.dim_1 is not None:
|
543
536
|
params.image_width = scan.dim_1
|
@@ -575,17 +568,13 @@ class SAAxisProcess(
|
|
575
568
|
slice_index = self.get_configuration().get("slice_index", None)
|
576
569
|
|
577
570
|
if cors_res is None:
|
578
|
-
info = "fail to compute cor scores of slice {} for scan {}."
|
579
|
-
slice_index, scan
|
580
|
-
)
|
571
|
+
info = f"fail to compute cor scores of slice {slice_index} for scan {scan}."
|
581
572
|
_logger.processFailed(info, extra=extra)
|
582
573
|
ProcessManager().notify_dataset_state(
|
583
574
|
dataset=scan, process=self, state=DatasetState.FAILED, details=info
|
584
575
|
)
|
585
576
|
else:
|
586
|
-
info = "cor scores of slice {} for scan {} computed."
|
587
|
-
slice_index, scan
|
588
|
-
)
|
577
|
+
info = f"cor scores of slice {slice_index} for scan {scan} computed."
|
589
578
|
_logger.processSucceed(info, extra=extra)
|
590
579
|
ProcessManager().notify_dataset_state(
|
591
580
|
dataset=scan,
|
@@ -28,10 +28,11 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "04/05/2021"
|
29
29
|
|
30
30
|
|
31
|
-
from tomwer.core.process.reconstruction.scores.params import SABaseParams
|
32
|
-
from tomwer.core.process.reconstruction.nabu.utils import retrieve_lst_of_value_from_str
|
33
31
|
import typing
|
34
32
|
|
33
|
+
from tomwer.core.process.reconstruction.nabu.utils import retrieve_lst_of_value_from_str
|
34
|
+
from tomwer.core.process.reconstruction.scores.params import SABaseParams
|
35
|
+
|
35
36
|
|
36
37
|
class SADeltaBetaParams(SABaseParams):
|
37
38
|
"""Parameters for the semi-automatic axis calculation"""
|
@@ -62,20 +63,18 @@ class SADeltaBetaParams(SABaseParams):
|
|
62
63
|
return self._selected_db
|
63
64
|
|
64
65
|
def to_dict(self) -> dict:
|
65
|
-
|
66
|
-
|
66
|
+
my_dict = super().to_dict()
|
67
|
+
my_dict.update(
|
67
68
|
{
|
68
69
|
"delta_beta_values": self.delta_beta_values,
|
69
70
|
"selected_db_value": self.selected_delta_beta_value,
|
70
71
|
}
|
71
72
|
)
|
72
|
-
return
|
73
|
+
return my_dict
|
73
74
|
|
74
75
|
def load_from_dict(self, dict_: dict):
|
75
76
|
if not isinstance(dict_, dict):
|
76
|
-
raise TypeError(
|
77
|
-
"dict_ should be an instance of dict not {}".format(type(dict_))
|
78
|
-
)
|
77
|
+
raise TypeError(f"dict_ should be an instance of dict not {type(dict_)}")
|
79
78
|
super().load_from_dict(dict_)
|
80
79
|
if "delta_beta_values" in dict_:
|
81
80
|
self.delta_beta_values = dict_["delta_beta_values"]
|
@@ -99,12 +98,9 @@ class SADeltaBetaParams(SABaseParams):
|
|
99
98
|
if self.slice_indexes is None:
|
100
99
|
missing_information.append("slice index not provided")
|
101
100
|
if len(missing_information) > 0:
|
101
|
+
missing_information_str = " ; ".join(missing_information)
|
102
102
|
raise ValueError(
|
103
|
-
|
104
|
-
"Some informations are missing: {}".format(
|
105
|
-
" ; ".join(missing_information)
|
106
|
-
)
|
107
|
-
)
|
103
|
+
f"Some informations are missing: {missing_information_str}"
|
108
104
|
)
|
109
105
|
|
110
106
|
def __str__(self):
|