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
@@ -27,21 +27,23 @@ __license__ = "MIT"
|
|
27
27
|
__date__ = "09/06/2021"
|
28
28
|
|
29
29
|
|
30
|
-
|
31
|
-
from silx.gui.utils.testutils import TestCaseQt
|
32
|
-
from tomwer.core.utils.scanutils import MockHDF5
|
33
|
-
from tomwer.gui.reconstruction.sadeltabeta import SADeltaBetaWindow
|
34
|
-
from tomwer.core.process.reconstruction.sadeltabeta.params import SADeltaBetaParams
|
35
|
-
from tomwer.core.process.reconstruction.scores.params import ScoreMethod
|
36
|
-
from tomwer.core.process.reconstruction.scores import ComputedScore
|
37
|
-
from silx.io.url import DataUrl
|
38
|
-
from silx.gui import qt
|
39
|
-
import pytest
|
40
|
-
import numpy
|
30
|
+
import os
|
41
31
|
import shutil
|
42
32
|
import tempfile
|
43
|
-
|
33
|
+
|
44
34
|
import h5py
|
35
|
+
import numpy
|
36
|
+
import pytest
|
37
|
+
from silx.gui import qt
|
38
|
+
from silx.gui.utils.testutils import TestCaseQt
|
39
|
+
from silx.io.url import DataUrl
|
40
|
+
|
41
|
+
from tomwer.core.process.reconstruction.sadeltabeta.params import SADeltaBetaParams
|
42
|
+
from tomwer.core.process.reconstruction.scores import ComputedScore
|
43
|
+
from tomwer.core.process.reconstruction.scores.params import ScoreMethod
|
44
|
+
from tomwer.core.utils.scanutils import MockHDF5
|
45
|
+
from tomwer.gui.reconstruction.sadeltabeta import SADeltaBetaWindow
|
46
|
+
from tomwer.tests.utils import skip_gui_test
|
45
47
|
|
46
48
|
|
47
49
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -58,7 +60,7 @@ class TestSADeltaBetaWindow(TestCaseQt):
|
|
58
60
|
self._cor_scores = {}
|
59
61
|
|
60
62
|
for i in range(self._N_OUTPUT_URLS):
|
61
|
-
output_file = os.path.join(self.folder, "recons_{}.h5"
|
63
|
+
output_file = os.path.join(self.folder, f"recons_{i}.h5")
|
62
64
|
with h5py.File(output_file, mode="a") as h5f:
|
63
65
|
h5f["data"] = numpy.random.random(100 * 100).reshape(100, 100)
|
64
66
|
url = DataUrl(file_path=output_file, data_path="data", scheme="silx")
|
@@ -30,16 +30,17 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "19/03/2018"
|
31
31
|
|
32
32
|
|
33
|
-
|
33
|
+
import logging
|
34
34
|
import weakref
|
35
|
-
from
|
36
|
-
|
37
|
-
from tomoscan.esrf.scan.utils import get_data
|
38
|
-
from silx.gui import qt
|
39
|
-
import silx.io.utils
|
35
|
+
from collections import OrderedDict
|
36
|
+
|
40
37
|
import silx.io.url
|
41
|
-
import
|
38
|
+
import silx.io.utils
|
39
|
+
from silx.gui import qt
|
40
|
+
from tomoscan.esrf.scan.utils import get_data
|
42
41
|
|
42
|
+
from tomwer.core.scan.scanbase import TomwerScanBase
|
43
|
+
from tomwer.gui.samplemoved.selectiontable import AngleSelectionTable
|
43
44
|
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
44
45
|
|
45
46
|
_logger = logging.getLogger(__name__)
|
@@ -30,13 +30,15 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "17/08/2021"
|
31
31
|
|
32
32
|
|
33
|
+
import functools
|
34
|
+
import logging
|
33
35
|
import os
|
34
36
|
from collections import OrderedDict
|
35
|
-
|
37
|
+
|
36
38
|
from silx.gui import qt
|
37
39
|
from silx.io.url import DataUrl
|
40
|
+
|
38
41
|
from tomwer.gui.imagefromfile import FileWithImage
|
39
|
-
import logging
|
40
42
|
|
41
43
|
logger = logging.getLogger(__name__)
|
42
44
|
|
tomwer/gui/stackplot.py
CHANGED
@@ -28,24 +28,25 @@ __author__ = ["P. Paleo", "H. Payno"]
|
|
28
28
|
__license__ = "MIT"
|
29
29
|
__date__ = "24/05/2016"
|
30
30
|
|
31
|
+
import functools
|
32
|
+
import logging
|
33
|
+
import os
|
34
|
+
import time
|
35
|
+
from collections import OrderedDict, namedtuple
|
36
|
+
from typing import Iterable, Optional
|
37
|
+
|
38
|
+
import numpy
|
31
39
|
from silx.gui import qt
|
32
40
|
from silx.gui.plot import Plot2D
|
33
|
-
from . import utils
|
34
|
-
from tomwer.gui import settings
|
35
|
-
import numpy
|
36
|
-
import os
|
37
|
-
from collections import OrderedDict
|
38
|
-
import tomwer.resources
|
39
|
-
from .imagefromfile import ImageFromFile, FileWithImage, _Image
|
40
41
|
from silx.gui.plot.actions import PlotAction
|
41
42
|
from silx.gui.plot.actions.control import YAxisInvertedAction
|
42
43
|
from silx.io.url import DataUrl
|
43
|
-
|
44
|
-
|
45
|
-
import
|
46
|
-
|
47
|
-
from
|
48
|
-
from
|
44
|
+
|
45
|
+
import tomwer.resources
|
46
|
+
from tomwer.gui import icons, settings
|
47
|
+
|
48
|
+
from . import utils
|
49
|
+
from .imagefromfile import FileWithImage, ImageFromFile, _Image
|
49
50
|
|
50
51
|
logger = logging.getLogger(__name__)
|
51
52
|
|
tomwer/gui/stacks.py
CHANGED
@@ -30,17 +30,19 @@ __license__ = "MIT"
|
|
30
30
|
__date__ = "19/03/2018"
|
31
31
|
|
32
32
|
|
33
|
+
import logging
|
34
|
+
from collections import OrderedDict
|
33
35
|
from typing import Union
|
36
|
+
|
37
|
+
import h5py
|
34
38
|
from silx.gui import qt
|
35
|
-
from
|
36
|
-
from
|
37
|
-
|
39
|
+
from tomoscan.factory import Factory
|
40
|
+
from tomoscan.identifier import VolumeIdentifier
|
41
|
+
|
38
42
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
39
43
|
from tomwer.core.scan.scanfactory import ScanFactory
|
40
|
-
from
|
41
|
-
from
|
42
|
-
import logging
|
43
|
-
import h5py
|
44
|
+
from tomwer.gui.qfolderdialog import QDataDialog
|
45
|
+
from tomwer.gui.stackplot import _QImageFileStackPlot
|
44
46
|
|
45
47
|
_logger = logging.getLogger(__name__)
|
46
48
|
|
@@ -131,8 +133,8 @@ class _ImageStack(qt.QMainWindow):
|
|
131
133
|
for scan in all_images:
|
132
134
|
try:
|
133
135
|
oScanSlices = OrderedDict(sorted(all_images[scan].items()))
|
134
|
-
for
|
135
|
-
ordered_imgs.append(all_images[scan][
|
136
|
+
for scan_slice in oScanSlices:
|
137
|
+
ordered_imgs.append(all_images[scan][scan_slice])
|
136
138
|
except TypeError:
|
137
139
|
# in case algorithm could extract recons index
|
138
140
|
ordered_imgs = ordered_imgs + list(all_images[scan].values())
|
tomwer/gui/test/test_axis_gui.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
import pytest
|
2
|
+
from silx.gui.utils.testutils import TestCaseQt
|
3
|
+
|
1
4
|
from tomwer.gui.reconstruction.axis.radioaxis import AxisTabWidget
|
2
5
|
from tomwer.synctools.axis import QAxisRP
|
3
|
-
from silx.gui.utils.testutils import TestCaseQt
|
4
6
|
from tomwer.tests.utils import skip_gui_test
|
5
|
-
import pytest
|
6
7
|
|
7
8
|
|
8
9
|
@pytest.mark.skipif(skip_gui_test(), reason="skip gui test")
|
@@ -13,10 +14,10 @@ class TestGetNabuCorOpts(TestCaseQt):
|
|
13
14
|
"""
|
14
15
|
axis_params = QAxisRP()
|
15
16
|
widget = AxisTabWidget(recons_params=axis_params)
|
16
|
-
assert axis_params.get_nabu_cor_options_as_str() == "side='
|
17
|
+
assert axis_params.get_nabu_cor_options_as_str() == "side='right'"
|
17
18
|
widget._calculationWidget._corOpts.setText("low_pass=2")
|
18
19
|
widget._calculationWidget._corOpts.editingFinished.emit()
|
19
|
-
assert axis_params.get_nabu_cor_options_as_str() == "side='
|
20
|
+
assert axis_params.get_nabu_cor_options_as_str() == "side='right' ; low_pass=2"
|
20
21
|
widget._calculationWidget._corOpts.setText("low_pass=2 ; high_pass=10")
|
21
22
|
widget._calculationWidget._sideCB.setCurrentText("left")
|
22
23
|
widget._calculationWidget._corOpts.editingFinished.emit()
|
tomwer/gui/utils/__init__.py
CHANGED
@@ -31,9 +31,9 @@ __license__ = "MIT"
|
|
31
31
|
__date__ = "29/01/2020"
|
32
32
|
|
33
33
|
|
34
|
-
import subprocess
|
35
34
|
import logging
|
36
35
|
import os
|
36
|
+
import subprocess
|
37
37
|
|
38
38
|
_logger = logging.getLogger(__name__)
|
39
39
|
|
@@ -76,10 +76,10 @@ def open_url_with_image_j(url):
|
|
76
76
|
# for now we only manage the simple case of an edf file
|
77
77
|
try:
|
78
78
|
subprocess.call(["imagej", "-o", url.file_path()])
|
79
|
-
except Exception:
|
80
|
-
_logger.warning("Fail to open {}. Reason is {}"
|
79
|
+
except Exception as e:
|
80
|
+
_logger.warning(f"Fail to open {url}. Reason is {e}")
|
81
81
|
elif __image_j_from == "binary":
|
82
82
|
try:
|
83
83
|
subprocess.call([_IMAGE_J_BIN_PATH, url.file_path()])
|
84
|
-
except Exception:
|
85
|
-
_logger.warning("Fail to open {}. Reason is {}"
|
84
|
+
except Exception as e:
|
85
|
+
_logger.warning(f"Fail to open {url}. Reason is {e}")
|
tomwer/gui/utils/buttons.py
CHANGED
tomwer/gui/utils/completer.py
CHANGED
tomwer/gui/utils/flow.py
CHANGED
@@ -28,10 +28,12 @@ __license__ = "MIT"
|
|
28
28
|
__date__ = "04/03/2019"
|
29
29
|
|
30
30
|
|
31
|
+
import functools
|
32
|
+
from typing import Union
|
33
|
+
|
31
34
|
from silx.gui import qt
|
32
35
|
from silx.utils.enum import Enum as _Enum
|
33
|
-
|
34
|
-
import functools
|
36
|
+
|
35
37
|
from tomwer.gui import icons
|
36
38
|
from tomwer.utils import docstring
|
37
39
|
|
tomwer/gui/utils/inputwidget.py
CHANGED
@@ -26,17 +26,16 @@ __authors__ = ["H.Payno"]
|
|
26
26
|
__license__ = "MIT"
|
27
27
|
__date__ = "16/08/2018"
|
28
28
|
|
29
|
-
from silx.gui import qt
|
30
|
-
from tomwer.gui import icons
|
31
|
-
import numpy
|
32
29
|
import logging
|
33
|
-
|
34
|
-
from nxtomomill.io.config import (
|
35
|
-
TomoHDF5Config as HDF5Config,
|
36
|
-
TomoEDFConfig as EDFConfig,
|
37
|
-
)
|
38
|
-
from typing import Optional, Union
|
39
30
|
import os
|
31
|
+
from typing import Optional, Union
|
32
|
+
|
33
|
+
import numpy
|
34
|
+
from nxtomomill.io.config import TomoEDFConfig as EDFConfig
|
35
|
+
from nxtomomill.io.config import TomoHDF5Config as HDF5Config
|
36
|
+
from silx.gui import qt
|
37
|
+
|
38
|
+
from tomwer.gui import icons
|
40
39
|
from tomwer.gui.qlefilesystem import QLFileSystem
|
41
40
|
from tomwer.io.utils import get_default_directory
|
42
41
|
|
@@ -98,7 +97,7 @@ class SelectionLineEdit(qt.QWidget):
|
|
98
97
|
_from, _to, _step = self._qLineEdit.text().split(":")
|
99
98
|
_from, _to, _step = float(_from), float(_to), float(_step)
|
100
99
|
if _from > _to:
|
101
|
-
_logger.warning("to > from, invert
|
100
|
+
_logger.warning(f"to > from, invert {_from} and {_to}")
|
102
101
|
tmp = _to
|
103
102
|
_to = _from
|
104
103
|
_from = tmp
|
@@ -399,18 +398,13 @@ class _ConfigFileSelector(qt.QWidget):
|
|
399
398
|
try:
|
400
399
|
self._load_config_file(cfg_file)
|
401
400
|
except Exception as e:
|
402
|
-
mess =
|
403
|
-
"Fail to load nxtomomill configuration from {}. "
|
404
|
-
"Error is {}".format(cfg_file, e)
|
405
|
-
)
|
401
|
+
mess = f"Fail to load nxtomomill configuration from {cfg_file}. Error is {e}"
|
406
402
|
_logger.warning(mess)
|
407
403
|
qt.QMessageBox.warning(
|
408
404
|
self, "Unable to read configuration from file", mess
|
409
405
|
)
|
410
406
|
else:
|
411
|
-
_logger.info(
|
412
|
-
"Will use {} as input configuration file." "".format(cfg_file)
|
413
|
-
)
|
407
|
+
_logger.info(f"Will use {cfg_file} as input configuration file.")
|
414
408
|
self.sigConfigFileChanged.emit(cfg_file)
|
415
409
|
|
416
410
|
def getCFGFilePath(self):
|
@@ -29,12 +29,13 @@ __license__ = "MIT"
|
|
29
29
|
__date__ = "15/09/2017"
|
30
30
|
|
31
31
|
import logging
|
32
|
-
from silx.gui import qt
|
33
|
-
from silx.gui.plot import PlotWidget
|
34
|
-
from typing import Union, Optional
|
35
|
-
from collections.abc import Iterable
|
36
32
|
from collections import OrderedDict
|
33
|
+
from collections.abc import Iterable
|
34
|
+
from typing import Optional, Union
|
35
|
+
|
37
36
|
import numpy
|
37
|
+
from silx.gui import qt
|
38
|
+
from silx.gui.plot import PlotWidget
|
38
39
|
|
39
40
|
logger = logging.getLogger(__name__)
|
40
41
|
|
@@ -76,10 +77,7 @@ class QSliceSelectorDialog(qt.QDialog):
|
|
76
77
|
"""
|
77
78
|
if self.nRequiredSlice() is not None and len(selection) > self.nRequiredSlice():
|
78
79
|
raise ValueError(
|
79
|
-
"you provide a selection of {} elements when "
|
80
|
-
"the user should select {}".format(
|
81
|
-
len(selection), self._n_required_slice
|
82
|
-
)
|
80
|
+
f"you provide a selection of {len(selection)} elements when the user should select {self._n_required_slice}"
|
83
81
|
)
|
84
82
|
if type(selection) is str:
|
85
83
|
selection = selection.replace("(", "")
|
tomwer/gui/utils/qt_utils.py
CHANGED
tomwer/gui/utils/splashscreen.py
CHANGED
tomwer/gui/utils/unitsystem.py
CHANGED
@@ -32,10 +32,12 @@ __license__ = "MIT"
|
|
32
32
|
__date__ = "21/09/2018"
|
33
33
|
|
34
34
|
|
35
|
+
import logging
|
36
|
+
|
35
37
|
from silx.gui import qt
|
36
38
|
from tomoscan.unitsystem import metricsystem
|
39
|
+
|
37
40
|
from tomwer.core.utils.char import MU_CHAR
|
38
|
-
import logging
|
39
41
|
|
40
42
|
_logger = logging.getLogger(__name__)
|
41
43
|
|
tomwer/gui/utils/vignettes.py
CHANGED
@@ -35,15 +35,15 @@ __license__ = "MIT"
|
|
35
35
|
__date__ = "26/02/2021"
|
36
36
|
|
37
37
|
|
38
|
+
import logging
|
39
|
+
from typing import Iterable, Union
|
40
|
+
|
41
|
+
import numpy
|
38
42
|
from silx.gui import qt
|
39
|
-
from silx.io.url import DataUrl
|
40
43
|
from silx.gui.plot import PlotWindow
|
41
|
-
from typing import Union
|
42
|
-
from typing import Iterable
|
43
|
-
from tomoscan.esrf.scan.utils import get_data
|
44
44
|
from silx.gui.plot.utils.axis import SyncAxes
|
45
|
-
import
|
46
|
-
import
|
45
|
+
from silx.io.url import DataUrl
|
46
|
+
from tomoscan.esrf.scan.utils import get_data
|
47
47
|
|
48
48
|
from tomwer.core.process.reconstruction.scores.scores import ComputedScore
|
49
49
|
|
@@ -380,13 +380,13 @@ class ValueLabel(qt.QWidget):
|
|
380
380
|
str_value = value_format.format(value)
|
381
381
|
else:
|
382
382
|
str_value = str(value)
|
383
|
-
txt = "{}: {}"
|
383
|
+
txt = f"{value_name}: {str_value}"
|
384
384
|
self._valueLabel = qt.QLabel(txt, self)
|
385
385
|
self.layout().addWidget(self._valueLabel)
|
386
386
|
if score_format is not None:
|
387
387
|
str_score = score_format.format(score)
|
388
388
|
else:
|
389
389
|
str_score = str(score)
|
390
|
-
txt = "({}: {})"
|
390
|
+
txt = f"({score_name}: {str_score})"
|
391
391
|
self._scoreLabel = qt.QLabel(txt, self)
|
392
392
|
self.layout().addWidget(self._scoreLabel)
|
tomwer/gui/utils/waiterthread.py
CHANGED
@@ -27,21 +27,24 @@ __authors__ = ["H. Payno"]
|
|
27
27
|
__license__ = "MIT"
|
28
28
|
__date__ = "13/08/2021"
|
29
29
|
|
30
|
+
import logging
|
31
|
+
import weakref
|
32
|
+
|
30
33
|
from silx.gui import qt
|
31
|
-
from silx.
|
34
|
+
from silx.gui.plot.ImageStack import ImageStack as _ImageStack
|
35
|
+
from silx.gui.plot.ImageStack import UrlLoader
|
32
36
|
from silx.gui.utils.signal import SignalProxy
|
33
|
-
import
|
34
|
-
import
|
35
|
-
|
37
|
+
from silx.io.url import DataUrl
|
38
|
+
from silx.utils.enum import Enum as _Enum
|
39
|
+
|
36
40
|
from tomwer.core.scan.scanbase import TomwerScanBase
|
37
41
|
from tomwer.core.utils.ftseriesutils import get_vol_file_shape
|
38
|
-
from silx.io.url import DataUrl
|
39
42
|
from tomwer.core.volume.volumebase import TomwerVolumeBase
|
43
|
+
from tomwer.core.volume.volumefactory import VolumeFactory
|
40
44
|
from tomwer.gui.settings import Y_AXIS_DOWNWARD
|
41
45
|
from tomwer.gui.visualization.reconstructionparameters import ReconstructionParameters
|
42
46
|
from tomwer.gui.visualization.scanoverview import ScanOverviewWidget
|
43
47
|
from tomwer.io.utils.utils import get_slice_data
|
44
|
-
from tomwer.core.volume.volumefactory import VolumeFactory
|
45
48
|
|
46
49
|
try:
|
47
50
|
from PIL import Image
|
@@ -55,10 +58,11 @@ except ImportError: # pragma: no cover
|
|
55
58
|
has_cv2 = False # pragma: no cover
|
56
59
|
else:
|
57
60
|
has_cv2 = True
|
61
|
+
import os
|
62
|
+
import time
|
63
|
+
|
58
64
|
import numpy
|
59
65
|
import numpy.lib.npyio
|
60
|
-
import time
|
61
|
-
import os
|
62
66
|
|
63
67
|
_logger = logging.getLogger(__name__)
|
64
68
|
|
@@ -496,9 +500,7 @@ class ImageStack(_ImageStack):
|
|
496
500
|
if data.ndim == 3 and data.shape[0] == 1:
|
497
501
|
data = data.reshape((data.shape[1], data.shape[2]))
|
498
502
|
else:
|
499
|
-
_logger.warning(
|
500
|
-
"Image Stack only manage 2D data. Url: {}" "".format(url)
|
501
|
-
)
|
503
|
+
_logger.warning(f"Image Stack only manage 2D data. Url: {url}")
|
502
504
|
return
|
503
505
|
if self._normFct is None:
|
504
506
|
self._urlData[url] = data
|
@@ -525,9 +527,7 @@ class ImageStack(_ImageStack):
|
|
525
527
|
self._reconsWidget.setUrl(url)
|
526
528
|
except Exception as e:
|
527
529
|
_logger.info(
|
528
|
-
"Unable to set reconstruction parameters from"
|
529
|
-
" {}. Not handled for pyhst reconstructions. "
|
530
|
-
"Error is {}".format(url, str(e))
|
530
|
+
f"Unable to set reconstruction parameters from {url}. Not handled for pyhst reconstructions. Error is {e}"
|
531
531
|
)
|
532
532
|
super().setCurrentUrl(url)
|
533
533
|
|
@@ -542,13 +542,12 @@ class ImageStack(_ImageStack):
|
|
542
542
|
url = DataUrl(path=item.text())
|
543
543
|
except Exception:
|
544
544
|
_logger.info(
|
545
|
-
"fail to deduce data of last modification for "
|
546
|
-
"{}".format(item.text())
|
545
|
+
f"fail to deduce data of last modification for {item.text()}"
|
547
546
|
)
|
548
547
|
else:
|
549
548
|
if os.path.exists(url.file_path()):
|
550
549
|
lst_m = time.ctime(os.path.getmtime(url.file_path()))
|
551
|
-
item.setToolTip("last modification : {}"
|
550
|
+
item.setToolTip(f"last modification : {lst_m}")
|
552
551
|
items.append(listWidget.item(i))
|
553
552
|
|
554
553
|
|
@@ -586,9 +585,7 @@ class _TomwerUrlLoader(UrlLoader):
|
|
586
585
|
except ValueError:
|
587
586
|
self.data = None
|
588
587
|
_logger.warning(
|
589
|
-
"Fail to open {}. Maybe the reconstruction failed."
|
590
|
-
self.url.path()
|
591
|
-
)
|
588
|
+
f"Fail to open {self.url.path()}. Maybe the reconstruction failed."
|
592
589
|
)
|
593
590
|
|
594
591
|
def _load_vol(self):
|
@@ -632,9 +629,7 @@ class _TomwerUrlLoader(UrlLoader):
|
|
632
629
|
data = data.reshape(shape)
|
633
630
|
except ValueError:
|
634
631
|
_logger.warning(
|
635
|
-
"unable to fix shape for raw file {}. "
|
636
|
-
"Look for information in {}"
|
637
|
-
"".format(raw_file, info_file)
|
632
|
+
f"unable to fix shape for raw file {raw_file}. Look for information in {info_file}"
|
638
633
|
)
|
639
634
|
try:
|
640
635
|
sqr = int(numpy.sqrt(len(data)))
|
@@ -642,15 +637,12 @@ class _TomwerUrlLoader(UrlLoader):
|
|
642
637
|
data = data.reshape(shape)
|
643
638
|
except ValueError:
|
644
639
|
_logger.info(
|
645
|
-
"deduction of shape size for {} "
|
646
|
-
"failed".format(raw_file)
|
640
|
+
f"deduction of shape size for {raw_file} failed"
|
647
641
|
)
|
648
642
|
data = None
|
649
643
|
else:
|
650
644
|
_logger.warning(
|
651
|
-
f"try deducing shape size for {raw_file} "
|
652
|
-
"might be an incorrect "
|
653
|
-
"interpretation"
|
645
|
+
f"try deducing shape size for {raw_file} might be an incorrect interpretation"
|
654
646
|
)
|
655
647
|
if self.url.data_slice() is None:
|
656
648
|
return data
|