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
@@ -28,16 +28,16 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "03/08/2020"
|
29
29
|
|
30
30
|
|
31
|
+
import code
|
32
|
+
import logging
|
33
|
+
|
34
|
+
import tomwer.version
|
31
35
|
from tomwer.core.process.task import Task
|
36
|
+
from tomwer.core.scan.edfscan import EDFTomoScan
|
32
37
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
33
38
|
from tomwer.core.scan.scanfactory import ScanFactory
|
34
|
-
from tomwer.core.scan.edfscan import EDFTomoScan
|
35
39
|
from tomwer.core.utils.scanutils import data_identifier_to_scan
|
36
40
|
from tomwer.core.utils.volumeutils import volume_identifier_to_volume
|
37
|
-
import tomwer.version
|
38
|
-
import logging
|
39
|
-
import code
|
40
|
-
|
41
41
|
|
42
42
|
_logger = logging.getLogger(__name__)
|
43
43
|
|
@@ -53,9 +53,7 @@ class PythonScript(
|
|
53
53
|
elif isinstance(scan, (TomwerScanBase, type(None))):
|
54
54
|
scan = scan
|
55
55
|
else:
|
56
|
-
raise ValueError(
|
57
|
-
"input type of {}: {} is not managed" "".format(scan, type(scan))
|
58
|
-
)
|
56
|
+
raise ValueError(f"input type of {scan}: {type(scan)} is not managed")
|
59
57
|
# load volume
|
60
58
|
volume = volume_identifier_to_volume(self.inputs.volume)
|
61
59
|
|
tomwer/core/process/task.py
CHANGED
@@ -34,22 +34,21 @@ __license__ = "MIT"
|
|
34
34
|
__date__ = "27/07/2021"
|
35
35
|
|
36
36
|
|
37
|
-
import h5py
|
38
|
-
import numpy
|
39
|
-
from datetime import datetime
|
40
|
-
from typing import Union
|
41
|
-
from silx.io.dictdump import dicttoh5
|
42
|
-
from collections import namedtuple
|
43
|
-
from silx.io.dictdump import h5todict
|
44
|
-
from tomoscan.io import HDF5File
|
45
|
-
import typing
|
46
37
|
import logging
|
47
|
-
from silx.io.utils import h5py_read_dataset
|
48
38
|
import multiprocessing
|
39
|
+
import typing
|
40
|
+
from collections import namedtuple
|
41
|
+
from datetime import datetime
|
42
|
+
from typing import Union
|
43
|
+
|
44
|
+
import h5py
|
45
|
+
import numpy
|
49
46
|
import silx
|
50
|
-
from ewokscore.taskwithprogress import TaskWithProgress as _EwoksTaskWithProgress
|
51
47
|
from ewokscore.task import Task as _EwoksTask
|
52
|
-
|
48
|
+
from ewokscore.taskwithprogress import TaskWithProgress as _EwoksTaskWithProgress
|
49
|
+
from silx.io.dictdump import dicttoh5, h5todict
|
50
|
+
from silx.io.utils import h5py_read_dataset
|
51
|
+
from tomoscan.io import HDF5File
|
53
52
|
|
54
53
|
mult_manager = multiprocessing.Manager()
|
55
54
|
|
@@ -28,21 +28,24 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "05/04/2019"
|
29
29
|
|
30
30
|
|
31
|
+
import os
|
31
32
|
import shutil
|
32
33
|
import tempfile
|
33
34
|
import unittest
|
34
|
-
|
35
|
-
import os
|
35
|
+
|
36
36
|
import h5py
|
37
|
-
|
38
|
-
from
|
39
|
-
|
40
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
41
|
-
from tomwer.core.process.reconstruction.axis.params import AxisRP
|
37
|
+
import numpy
|
38
|
+
from silx.io.utils import h5py_read_dataset
|
39
|
+
|
42
40
|
from tomwer.core.process.reconstruction.axis.mode import AxisMode
|
43
|
-
from tomwer.core.
|
41
|
+
from tomwer.core.process.reconstruction.axis.params import AxisRP
|
44
42
|
from tomwer.core.process.task import Task
|
45
|
-
from
|
43
|
+
from tomwer.core.scan.edfscan import EDFTomoScan
|
44
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
45
|
+
from tomwer.core.utils.scanutils import MockEDF, MockHDF5
|
46
|
+
from tomwer.tests.utils import UtilsTest
|
47
|
+
|
48
|
+
from ..reconstruction.axis.axis import AxisProcess
|
46
49
|
|
47
50
|
|
48
51
|
class TestAxisIO(unittest.TestCase):
|
@@ -28,16 +28,16 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "19/07/2018"
|
29
29
|
|
30
30
|
|
31
|
-
import unittest
|
32
31
|
import shutil
|
33
32
|
import tempfile
|
33
|
+
import unittest
|
34
34
|
|
35
|
-
from tomwer.core.utils.scanutils import MockEDF
|
36
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
35
|
from tomwer.core.process.conditions.filters import (
|
38
|
-
RegularExpressionFilter,
|
39
36
|
FileNameFilter,
|
37
|
+
RegularExpressionFilter,
|
40
38
|
)
|
39
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
40
|
+
from tomwer.core.utils.scanutils import MockEDF
|
41
41
|
|
42
42
|
|
43
43
|
class TestConditionalFilter(unittest.TestCase):
|
@@ -46,10 +46,10 @@ class TestConditionalFilter(unittest.TestCase):
|
|
46
46
|
"""
|
47
47
|
|
48
48
|
def testPattern1(self):
|
49
|
-
|
50
|
-
self.assertTrue(
|
51
|
-
self.assertTrue(
|
52
|
-
self.assertTrue(
|
49
|
+
filter_ = RegularExpressionFilter("name10")
|
50
|
+
self.assertTrue(filter_.isFiltered("toto") is True)
|
51
|
+
self.assertTrue(filter_.isFiltered("name10") is False)
|
52
|
+
self.assertTrue(filter_.isFiltered("name100") is False)
|
53
53
|
|
54
54
|
def testInputOutput(self):
|
55
55
|
pass
|
@@ -32,18 +32,19 @@ import os
|
|
32
32
|
import shutil
|
33
33
|
import tempfile
|
34
34
|
import unittest
|
35
|
+
|
35
36
|
import numpy
|
36
|
-
from
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
from tomoscan.esrf.scan.utils import get_data
|
38
|
+
|
39
|
+
from tomwer.core.process.reconstruction.darkref.params import DKRFRP
|
40
|
+
from tomwer.core.process.reconstruction.darkref.params import ReduceMethod as cMethod
|
41
|
+
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
41
42
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
43
|
+
from tomwer.core.utils.scanutils import MockEDF, MockHDF5
|
44
|
+
from tomwer.tests.utils import UtilsTest
|
45
|
+
|
42
46
|
from ..reconstruction.darkref.darkrefs import DarkRefs
|
43
47
|
from ..reconstruction.darkref.darkrefscopy import DarkRefsCopy
|
44
|
-
from tomwer.tests.utils import UtilsTest
|
45
|
-
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
46
|
-
from tomoscan.esrf.scan.utils import get_data
|
47
48
|
|
48
49
|
|
49
50
|
class TestDarkRefIO(unittest.TestCase):
|
@@ -28,11 +28,13 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "09/06/2020"
|
29
29
|
|
30
30
|
|
31
|
-
import unittest
|
32
|
-
import tempfile
|
33
|
-
import shutil
|
34
31
|
import os
|
32
|
+
import shutil
|
33
|
+
import tempfile
|
34
|
+
import unittest
|
35
|
+
|
35
36
|
import h5py
|
37
|
+
|
36
38
|
from tomwer.core.process.control.datalistener.rpcserver import _BaseDataListenerThread
|
37
39
|
|
38
40
|
|
@@ -30,25 +30,27 @@ __date__ = "05/04/2019"
|
|
30
30
|
|
31
31
|
import gc
|
32
32
|
import os
|
33
|
-
import
|
33
|
+
import shutil
|
34
|
+
import tempfile
|
34
35
|
import time
|
36
|
+
import unittest
|
37
|
+
|
38
|
+
import h5py
|
35
39
|
import numpy
|
36
40
|
import pytest
|
37
|
-
import
|
38
|
-
import
|
39
|
-
import
|
41
|
+
from nxtomomill.converter import from_h5_to_nx
|
42
|
+
from nxtomomill.io.config.hdf5config import TomoHDF5Config
|
43
|
+
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
40
44
|
from tomoscan.io import HDF5File
|
45
|
+
from tomoscan.validator import is_valid_for_reconstruction
|
46
|
+
|
47
|
+
from tomwer.core.process.control.datalistener import DataListener
|
48
|
+
from tomwer.core.process.control.scantransfer import ScanTransfer
|
41
49
|
from tomwer.core.scan.hdf5scan import HDF5TomoScan
|
42
|
-
from tomwer.core.utils.scanutils import MockEDF
|
43
50
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
44
|
-
from tomwer.core.
|
45
|
-
from tomwer.tests.utils import UtilsTest
|
51
|
+
from tomwer.core.utils.scanutils import MockEDF
|
46
52
|
from tomwer.synctools.rsyncmanager import RSyncManager
|
47
|
-
from tomwer.
|
48
|
-
from nxtomomill.converter import from_h5_to_nx
|
49
|
-
from nxtomomill.io.config.hdf5config import TomoHDF5Config
|
50
|
-
from tomoscan.validator import is_valid_for_reconstruction
|
51
|
-
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
53
|
+
from tomwer.tests.utils import UtilsTest
|
52
54
|
|
53
55
|
|
54
56
|
class TestDataTransferIO(unittest.TestCase):
|
@@ -30,10 +30,12 @@ __date__ = "05/04/2019"
|
|
30
30
|
|
31
31
|
import os
|
32
32
|
import time
|
33
|
+
|
33
34
|
import pytest
|
35
|
+
|
36
|
+
from tomwer.core.process.control.datawatcher import DataWatcher
|
34
37
|
from tomwer.core.process.control.datawatcher.status import DET_END_XML, PARSE_INFO_FILE
|
35
38
|
from tomwer.core.utils.scanutils import MockEDF
|
36
|
-
from tomwer.core.process.control.datawatcher import DataWatcher
|
37
39
|
from tomwer.core.utils.threads import LoopThread
|
38
40
|
|
39
41
|
|
@@ -31,9 +31,11 @@ __date__ = "05/04/2019"
|
|
31
31
|
import shutil
|
32
32
|
import tempfile
|
33
33
|
import unittest
|
34
|
+
|
35
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
34
36
|
from tomwer.core.utils.scanutils import MockEDF
|
37
|
+
|
35
38
|
from ..reconstruction.lamino import LaminoReconstruction
|
36
|
-
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
39
|
|
38
40
|
|
39
41
|
class TestLaminoIO(unittest.TestCase):
|
@@ -30,17 +30,18 @@ __date__ = "14/02/2020"
|
|
30
30
|
import os
|
31
31
|
import shutil
|
32
32
|
import tempfile
|
33
|
-
from glob import glob
|
34
33
|
import unittest
|
35
|
-
from
|
34
|
+
from glob import glob
|
35
|
+
|
36
|
+
from tomwer.core.process.reconstruction.axis import AxisRP
|
36
37
|
from tomwer.core.process.reconstruction.nabu import nabuslices as nabu
|
38
|
+
from tomwer.core.process.reconstruction.nabu import settings as nabu_settings
|
37
39
|
from tomwer.core.process.reconstruction.nabu import utils as nabuutils
|
38
|
-
from tomwer.core.scan.scanfactory import ScanFactory
|
39
40
|
from tomwer.core.process.reconstruction.nabu.nabuslices import NabuSliceMode
|
40
|
-
from tomwer.core.utils.scanutils import MockEDF
|
41
41
|
from tomwer.core.scan.edfscan import EDFTomoScan
|
42
|
-
from tomwer.core.
|
43
|
-
from tomwer.core.
|
42
|
+
from tomwer.core.scan.scanfactory import ScanFactory
|
43
|
+
from tomwer.core.utils.scanutils import MockEDF
|
44
|
+
from tomwer.tests.utils import UtilsTest
|
44
45
|
|
45
46
|
|
46
47
|
class TestNabuDescUtils(unittest.TestCase):
|
@@ -300,9 +301,9 @@ class TestTomwerConfForNabu(unittest.TestCase):
|
|
300
301
|
|
301
302
|
def testSlices(self):
|
302
303
|
# check if single value
|
303
|
-
for
|
304
|
-
with self.subTest(
|
305
|
-
self.conf["tomwer_slices"] =
|
304
|
+
for data_slice in ("1", NabuSliceMode.MIDDLE):
|
305
|
+
with self.subTest(data_slice=data_slice):
|
306
|
+
self.conf["tomwer_slices"] = data_slice
|
306
307
|
|
307
308
|
sub_confs = nabu.interpret_tomwer_configuration(
|
308
309
|
self.conf, scan=self.scan
|
@@ -312,9 +313,9 @@ class TestTomwerConfForNabu(unittest.TestCase):
|
|
312
313
|
self.assertEqual(len(sub_confs), 1 + 1)
|
313
314
|
|
314
315
|
# check single values or list of values
|
315
|
-
for
|
316
|
-
with self.subTest(slice=
|
317
|
-
self.conf["tomwer_slices"] =
|
316
|
+
for data_slice in ("[2, 3, 7]", "(6, 9,56)", "5;6; 9"):
|
317
|
+
with self.subTest(slice=data_slice):
|
318
|
+
self.conf["tomwer_slices"] = data_slice
|
318
319
|
|
319
320
|
sub_confs = nabu.interpret_tomwer_configuration(
|
320
321
|
self.conf, scan=self.scan
|
@@ -27,14 +27,16 @@ __license__ = "MIT"
|
|
27
27
|
__date__ = "11/07/2021"
|
28
28
|
|
29
29
|
|
30
|
-
from tomwer.core.process.reconstruction.normalization import params, normalization
|
31
|
-
from tomoscan.normalization import Method
|
32
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
33
|
-
import unittest
|
34
|
-
import tempfile
|
35
30
|
import shutil
|
31
|
+
import tempfile
|
32
|
+
import unittest
|
33
|
+
|
36
34
|
import h5py
|
37
35
|
import numpy
|
36
|
+
from tomoscan.normalization import Method
|
37
|
+
|
38
|
+
from tomwer.core.process.reconstruction.normalization import normalization, params
|
39
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
38
40
|
|
39
41
|
|
40
42
|
class TestNormalization(unittest.TestCase):
|
@@ -31,9 +31,10 @@ __date__ = "05/04/2019"
|
|
31
31
|
import shutil
|
32
32
|
import tempfile
|
33
33
|
import unittest
|
34
|
-
|
34
|
+
|
35
35
|
from tomwer.core.process.control.timer import Timer
|
36
36
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
|
+
from tomwer.core.utils.scanutils import MockEDF
|
37
38
|
|
38
39
|
|
39
40
|
class TestTimerIO(unittest.TestCase):
|
tomwer/core/process/utils.py
CHANGED
@@ -28,16 +28,18 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "04/03/2019"
|
29
29
|
|
30
30
|
|
31
|
-
from collections import OrderedDict
|
32
31
|
import datetime
|
33
|
-
|
34
|
-
|
32
|
+
import logging
|
33
|
+
import typing
|
34
|
+
from collections import OrderedDict
|
35
|
+
|
36
|
+
import h5py
|
35
37
|
from silx.io.url import DataUrl
|
36
38
|
from silx.io.utils import h5py_read_dataset
|
39
|
+
|
37
40
|
from tomwer.core.process.reconstruction.scores import ComputedScore
|
38
|
-
import
|
39
|
-
import
|
40
|
-
import logging
|
41
|
+
from tomwer.core.scan.blissscan import BlissScan
|
42
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
41
43
|
|
42
44
|
_logger = logging.getLogger(__name__)
|
43
45
|
|
@@ -106,9 +108,7 @@ def get_scores(node: h5py.Group) -> typing.Union[None, dict]:
|
|
106
108
|
)
|
107
109
|
scores[float(res_item)] = (url, score)
|
108
110
|
except Exception as e:
|
109
|
-
_logger.warning(
|
110
|
-
"Unable to load {}. Reason is {}".format(score_node.name, str(e))
|
111
|
-
)
|
111
|
+
_logger.warning(f"Unable to load {score_node.name}. Reason is {e}")
|
112
112
|
scores = dict(sorted(scores.items(), key=lambda item: item[0]))
|
113
113
|
|
114
114
|
return scores
|
tomwer/core/progress.py
CHANGED
@@ -29,9 +29,9 @@ __license__ = "MIT"
|
|
29
29
|
__date__ = "07/08/2019"
|
30
30
|
|
31
31
|
|
32
|
+
import logging
|
32
33
|
import sys
|
33
34
|
from enum import Enum
|
34
|
-
import logging
|
35
35
|
|
36
36
|
_logger = logging.getLogger(__name__)
|
37
37
|
|
@@ -82,9 +82,8 @@ class Progress(object):
|
|
82
82
|
def setAdvancement(self, value):
|
83
83
|
length = 20 # modify this to change the length
|
84
84
|
block = int(round(length * value / 100))
|
85
|
-
|
86
|
-
|
87
|
-
)
|
85
|
+
blocks_str = "#" * block + "-" * (length - block)
|
86
|
+
msg = f"\r{self._name}: [{blocks_str}] {round(value, 2)}%"
|
88
87
|
if value >= 100:
|
89
88
|
msg += " DONE\r\n"
|
90
89
|
sys.stdout.write(msg)
|
tomwer/core/scan/blissscan.py
CHANGED
@@ -29,6 +29,7 @@ __date__ = "09/08/2018"
|
|
29
29
|
|
30
30
|
|
31
31
|
import os
|
32
|
+
|
32
33
|
import h5py
|
33
34
|
|
34
35
|
try:
|
@@ -48,11 +49,12 @@ except ImportError:
|
|
48
49
|
from nxtomomill.settings import H5_INIT_TITLES
|
49
50
|
from nxtomomill.settings import H5_ZSERIE_INIT_TITLES
|
50
51
|
from nxtomomill.settings import H5_PCOTOMO_INIT_TITLES
|
51
|
-
|
52
|
+
|
52
53
|
import logging
|
53
|
-
from tomoscan.io import HDF5File
|
54
54
|
from typing import Optional
|
55
55
|
|
56
|
+
from silx.io.utils import h5py_read_dataset
|
57
|
+
from tomoscan.io import HDF5File
|
56
58
|
|
57
59
|
_logger = logging.getLogger(__name__)
|
58
60
|
|
tomwer/core/scan/edfscan.py
CHANGED
@@ -28,31 +28,34 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "09/08/2018"
|
29
29
|
|
30
30
|
|
31
|
+
import functools
|
32
|
+
import logging
|
31
33
|
import os
|
32
34
|
import re
|
33
35
|
from collections import OrderedDict
|
36
|
+
from glob import glob
|
34
37
|
from math import ceil
|
38
|
+
from typing import Optional
|
39
|
+
|
35
40
|
import fabio
|
36
41
|
import numpy
|
37
|
-
import
|
38
|
-
import
|
42
|
+
from processview.core.dataset import DatasetIdentifier
|
43
|
+
from silx.io.url import DataUrl
|
44
|
+
from tomoscan.esrf.identifier.edfidentifier import (
|
45
|
+
EDFTomoScanIdentifier as _EDFTomoScanIdentifier,
|
46
|
+
)
|
47
|
+
from tomoscan.esrf.scan.edfscan import EDFTomoScan as _tsEDFTomoScan
|
48
|
+
from tomoscan.esrf.scan.utils import get_data
|
39
49
|
from tomoscan.scanbase import FOV
|
50
|
+
|
40
51
|
from tomwer.core.process.reconstruction.darkref.settings import (
|
41
|
-
REFHST_PREFIX,
|
42
52
|
DARKHST_PREFIX,
|
53
|
+
REFHST_PREFIX,
|
43
54
|
)
|
44
55
|
from tomwer.core.progress import Progress
|
45
|
-
from silx.io.url import DataUrl
|
46
|
-
from tomoscan.esrf.scan.utils import get_data
|
47
|
-
from glob import glob
|
48
|
-
from .scanbase import TomwerScanBase
|
49
|
-
from tomoscan.esrf.scan.edfscan import EDFTomoScan as _tsEDFTomoScan
|
50
|
-
from tomoscan.esrf.identifier.edfidentifier import (
|
51
|
-
EDFTomoScanIdentifier as _EDFTomoScanIdentifier,
|
52
|
-
)
|
53
56
|
from tomwer.utils import docstring
|
54
|
-
|
55
|
-
from
|
57
|
+
|
58
|
+
from .scanbase import TomwerScanBase
|
56
59
|
|
57
60
|
_logger = logging.getLogger(__name__)
|
58
61
|
|
@@ -223,8 +226,8 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
223
226
|
return a dict with the index of the slice reconstructed.
|
224
227
|
"""
|
225
228
|
|
226
|
-
def containsDigits(
|
227
|
-
return any(char.isdigit() for char in
|
229
|
+
def containsDigits(input_):
|
230
|
+
return any(char.isdigit() for char in input_)
|
228
231
|
|
229
232
|
if (scanID is None) or (not os.path.isdir(scanID)):
|
230
233
|
if withIndex is True:
|
@@ -308,8 +311,7 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
308
311
|
:rtype: numpy.array
|
309
312
|
"""
|
310
313
|
_logger.info(
|
311
|
-
"compute sinogram for line
|
312
|
-
% (line, self.path, subsampling)
|
314
|
+
f"compute sinogram for line {line} of {self.path} (subsampling: {subsampling})"
|
313
315
|
)
|
314
316
|
assert isinstance(line, int)
|
315
317
|
if self.tomo_n is not None and self.dim_2 is not None and line > self.dim_2:
|
@@ -323,8 +325,7 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
323
325
|
proj_sort = list(filter(lambda x: not isinstance(x, str), proj_sort))
|
324
326
|
proj_sort.sort()
|
325
327
|
advancement = Progress(
|
326
|
-
name="compute sinogram for
|
327
|
-
"sampling=%s" % (os.path.basename(self.path), line, subsampling)
|
328
|
+
name=f"compute sinogram for {os.path.basename(self.path)}, line={line}, sampling={subsampling}"
|
328
329
|
)
|
329
330
|
advancement.setMaxAdvancement(len(proj_sort))
|
330
331
|
for i_proj, proj in enumerate(proj_sort):
|
@@ -393,7 +394,7 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
393
394
|
return None
|
394
395
|
path = os.path.join(self.path, f)
|
395
396
|
if os.path.exists(path):
|
396
|
-
_logger.info("Getting
|
397
|
+
_logger.info(f"Getting {what} from {f}")
|
397
398
|
try:
|
398
399
|
data = fabio.open(path).data
|
399
400
|
except Exception:
|
@@ -456,8 +457,7 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
456
457
|
|
457
458
|
if len(oProj) > 2:
|
458
459
|
_logger.info(
|
459
|
-
"Only bordering projections (
|
460
|
-
"be used for extracting %s" % (lowPI, uppPI, what)
|
460
|
+
f"Only bordering projections ({lowPI} and {uppPI}) will be used for extracting {what}"
|
461
461
|
)
|
462
462
|
|
463
463
|
uppPI = uppPI
|
@@ -468,15 +468,13 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
468
468
|
if (index >= lowPI) is False:
|
469
469
|
index = lowPI
|
470
470
|
_logger.warning(
|
471
|
-
"ProjectionI not in the files indexes"
|
472
|
-
"range (projectionI >= lowerProjIndex)"
|
471
|
+
"ProjectionI not in the files indexes range (projectionI >= lowerProjIndex)"
|
473
472
|
)
|
474
473
|
|
475
474
|
if (index <= uppPI) is False:
|
476
475
|
index = uppPI
|
477
476
|
_logger.warning(
|
478
|
-
"ProjectionI not in the files indexes"
|
479
|
-
"range upperProjIndex >= projectionI"
|
477
|
+
"ProjectionI not in the files indexes range upperProjIndex >= projectionI"
|
480
478
|
)
|
481
479
|
|
482
480
|
# simple interpolation
|
@@ -524,9 +522,8 @@ class EDFTomoScan(_tsEDFTomoScan, TomwerScanBase):
|
|
524
522
|
def _deduce_transfert_scan(self, output_dir):
|
525
523
|
if os.path.basename(output_dir) != os.path.basename(self.path):
|
526
524
|
raise ValueError(
|
527
|
-
"Transfert to a new EDFTomoScan requires an "
|
528
|
-
"
|
529
|
-
"one is {}".format(self.path, output_dir)
|
525
|
+
"Transfert to a new EDFTomoScan requires an equal basename. "
|
526
|
+
f"Current path is {self.path}, requested one is {output_dir}"
|
530
527
|
)
|
531
528
|
# here: avoir reloading the metadata because not sure there will be some processing after the 'data transfert'. And can be long with EDF + GPFS at esrf
|
532
529
|
return EDFTomoScan(scan=output_dir, update=False)
|
tomwer/core/scan/futurescan.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
from tomwer.core.futureobject import TomwerScanBase
|
2
1
|
from silx.utils.deprecation import deprecated
|
3
2
|
|
3
|
+
from tomwer.core.futureobject import TomwerScanBase
|
4
|
+
|
4
5
|
|
5
6
|
@deprecated(replacement="TomwerScanBase", since_version="1.0")
|
6
7
|
class FutureTomwerScan(TomwerScanBase):
|
tomwer/core/scan/hdf5scan.py
CHANGED
@@ -28,35 +28,34 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "09/08/2018"
|
29
29
|
|
30
30
|
|
31
|
-
from .scanbase import TomwerScanBase
|
32
|
-
from tomoscan.esrf.scan.hdf5scan import HDF5TomoScan as _tsHDF5TomoScan
|
33
|
-
from tomoscan.esrf.identifier.hdf5Identifier import (
|
34
|
-
HDF5TomoScanIdentifier as _HDF5TomoScanIdentifier,
|
35
|
-
)
|
36
|
-
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
37
|
-
from tomoscan.io import HDF5File
|
38
|
-
from processview.core.dataset import DatasetIdentifier
|
39
31
|
import functools
|
40
|
-
import json
|
41
32
|
import io
|
42
|
-
import
|
43
|
-
import os
|
44
|
-
from tomwer.utils import docstring
|
33
|
+
import json
|
45
34
|
import logging
|
35
|
+
import os
|
46
36
|
from typing import Optional
|
47
37
|
from urllib.parse import urlparse
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
38
|
+
|
39
|
+
import h5py
|
40
|
+
from processview.core.dataset import DatasetIdentifier
|
41
|
+
from tomoscan.esrf.identifier.hdf5Identifier import (
|
42
|
+
HDF5TomoScanIdentifier as _HDF5TomoScanIdentifier,
|
52
43
|
)
|
44
|
+
from tomoscan.esrf.identifier.url_utils import UrlSettings, split_path, split_query
|
45
|
+
from tomoscan.esrf.scan.hdf5scan import HDF5TomoScan as _tsHDF5TomoScan
|
46
|
+
from tomoscan.esrf.scan.hdf5scan import ImageKey
|
47
|
+
from tomoscan.io import HDF5File
|
48
|
+
|
49
|
+
from tomwer.utils import docstring
|
50
|
+
|
51
|
+
from .scanbase import TomwerScanBase
|
53
52
|
|
54
53
|
_logger = logging.getLogger(__name__)
|
55
54
|
|
56
55
|
|
57
56
|
class HDF5TomoScanIdentifier(_HDF5TomoScanIdentifier, DatasetIdentifier):
|
58
|
-
def __init__(self,
|
59
|
-
super().__init__(
|
57
|
+
def __init__(self, *args, **kwargs):
|
58
|
+
super().__init__(*args, **kwargs)
|
60
59
|
DatasetIdentifier.__init__(self, data_builder=HDF5TomoScan.from_identifier)
|
61
60
|
|
62
61
|
@staticmethod
|
@@ -325,9 +324,7 @@ class HDF5TomoScan(_tsHDF5TomoScan, TomwerScanBase):
|
|
325
324
|
for frame in frames:
|
326
325
|
if frame.image_key is ImageKey.PROJECTION:
|
327
326
|
if frame.is_control:
|
328
|
-
self._cache_proj_urls[
|
329
|
-
"{} (1)".format(frame.rotation_angle)
|
330
|
-
] = frame.url
|
327
|
+
self._cache_proj_urls[f"{frame.rotation_angle} (1)"] = frame.url
|
331
328
|
else:
|
332
329
|
self._cache_proj_urls[str(frame.rotation_angle)] = frame.url
|
333
330
|
return self._cache_proj_urls
|
@@ -460,16 +457,12 @@ class HDF5TomoScan(_tsHDF5TomoScan, TomwerScanBase):
|
|
460
457
|
@docstring(TomwerScanBase)
|
461
458
|
def get_nabu_dataset_info(self, binning=1, binning_z=1, proj_subsampling=1):
|
462
459
|
if not isinstance(binning, int):
|
463
|
-
raise TypeError("binning should be an int. Not {
|
460
|
+
raise TypeError(f"binning should be an int. Not {type(binning)}")
|
464
461
|
if not isinstance(binning_z, int):
|
465
|
-
raise TypeError(
|
466
|
-
"binning_z should be an int. Not {}".format(type(binning_z))
|
467
|
-
)
|
462
|
+
raise TypeError(f"binning_z should be an int. Not {type(binning_z)}")
|
468
463
|
if not isinstance(proj_subsampling, int):
|
469
464
|
raise TypeError(
|
470
|
-
"proj_subsampling should be an int. Not {}"
|
471
|
-
type(proj_subsampling)
|
472
|
-
)
|
465
|
+
f"proj_subsampling should be an int. Not {type(proj_subsampling)}"
|
473
466
|
)
|
474
467
|
return {
|
475
468
|
"hdf5_entry": self.entry,
|