diff options
author | Picca Frédéric-Emmanuel <picca@debian.org> | 2022-02-02 14:19:58 +0100 |
---|---|---|
committer | Picca Frédéric-Emmanuel <picca@debian.org> | 2022-02-02 14:19:58 +0100 |
commit | 4e774db12d5ebe7a20eded6dd434a289e27999e5 (patch) | |
tree | a9822974ba45196f1e3740995ab157d6eb214a04 | |
parent | d3194b1a9c4404ba93afac43d97172ab24c57098 (diff) |
New upstream version 1.0.0+dfsg
-rw-r--r-- | CHANGELOG.rst | 131 | ||||
-rw-r--r-- | MANIFEST.in | 7 | ||||
-rw-r--r-- | PKG-INFO | 12 | ||||
-rw-r--r-- | README.rst | 7 | ||||
-rwxr-xr-x | build-deb.sh | 12 | ||||
-rw-r--r-- | doc/source/Tutorials/array_widget.rst | 4 | ||||
-rw-r--r-- | doc/source/Tutorials/fit.rst | 6 | ||||
-rw-r--r-- | doc/source/Tutorials/fitconfig.rst | 4 | ||||
-rw-r--r-- | doc/source/Tutorials/writing_NXdata.rst | 3 | ||||
-rw-r--r-- | doc/source/applications/view.rst | 4 | ||||
-rw-r--r-- | doc/source/ext/snapshotqt_directive.py | 2 | ||||
-rw-r--r-- | doc/source/index.rst | 11 | ||||
-rw-r--r-- | doc/source/install.rst | 23 | ||||
-rw-r--r-- | doc/source/modules/gui/icons.rst | 388 | ||||
-rw-r--r-- | doc/source/modules/gui/plot/getting_started.rst | 6 | ||||
-rw-r--r-- | doc/source/modules/gui/widgets/printpreview.rst | 4 | ||||
-rw-r--r-- | doc/source/modules/io/fioh5.rst | 35 | ||||
-rw-r--r-- | doc/source/modules/io/index.rst | 1 | ||||
-rw-r--r-- | doc/source/virtualenv.rst | 2 | ||||
-rw-r--r-- | examples/colormapDialog.py | 8 | ||||
-rw-r--r-- | examples/compareImages.py | 4 | ||||
-rw-r--r-- | examples/compositeline.py | 2 | ||||
-rw-r--r-- | examples/customDataView.py | 2 | ||||
-rw-r--r-- | examples/customHdf5TreeModel.py | 2 | ||||
-rw-r--r-- | examples/dropZones.py | 4 | ||||
-rw-r--r-- | examples/exampleBaseline.py | 4 | ||||
-rwxr-xr-x | examples/fftPlotAction.py | 2 | ||||
-rw-r--r-- | examples/fileDialog.py | 12 | ||||
-rw-r--r-- | examples/findContours.py | 4 | ||||
-rwxr-xr-x | examples/hdf5widget.py | 11 | ||||
-rw-r--r-- | examples/icons.py | 4 | ||||
-rw-r--r-- | examples/imageStack.py | 4 | ||||
-rwxr-xr-x | examples/imageview.py | 87 | ||||
-rw-r--r-- | examples/periodicTable.py | 5 | ||||
-rw-r--r-- | examples/plot3dContextMenu.py | 6 | ||||
-rw-r--r-- | examples/plot3dSceneWindow.py | 4 | ||||
-rw-r--r-- | examples/plot3dUpdateScatterFromThread.py | 2 | ||||
-rw-r--r-- | examples/plotClearAction.py | 4 | ||||
-rw-r--r-- | examples/plotContextMenu.py | 4 | ||||
-rw-r--r-- | examples/plotCurveLegendWidget.py | 6 | ||||
-rw-r--r-- | examples/plotInteractiveImageROI.py | 4 | ||||
-rwxr-xr-x | examples/plotItemsSelector.py | 4 | ||||
-rw-r--r-- | examples/plotLimits.py | 4 | ||||
-rw-r--r-- | examples/plotProfile.py | 2 | ||||
-rw-r--r-- | examples/plotROIStats.py | 6 | ||||
-rw-r--r-- | examples/plotStats.py | 4 | ||||
-rw-r--r-- | examples/plotUpdateCurveFromThread.py | 4 | ||||
-rw-r--r-- | examples/plotUpdateImageFromThread.py | 5 | ||||
-rw-r--r-- | examples/plotWidget.py | 6 | ||||
-rwxr-xr-x | examples/printPreview.py | 4 | ||||
-rw-r--r-- | examples/scatterMask.py | 2 | ||||
-rwxr-xr-x | examples/scatterview.py | 2 | ||||
-rwxr-xr-x | examples/shiftPlotAction.py | 4 | ||||
-rwxr-xr-x | examples/simplewidget.py | 2 | ||||
-rw-r--r-- | examples/stackView.py | 2 | ||||
-rw-r--r-- | examples/syncPlotLocation.py | 2 | ||||
-rw-r--r-- | examples/syncaxis.py | 2 | ||||
-rw-r--r-- | examples/viewer3DVolume.py | 2 | ||||
-rw-r--r-- | package/debian10/control | 3 | ||||
-rw-r--r-- | package/debian11/control | 3 | ||||
-rw-r--r-- | package/windows/README.rst | 24 | ||||
-rw-r--r-- | package/windows/create-installer.iss.template | 92 | ||||
-rw-r--r-- | package/windows/pyinstaller-silx-view.spec | 55 | ||||
-rw-r--r-- | package/windows/pyinstaller.spec | 162 | ||||
-rw-r--r-- | pyproject.toml | 1 | ||||
-rw-r--r-- | qtdesigner_plugins/plot1dplugin.py | 6 | ||||
-rw-r--r-- | qtdesigner_plugins/plot2dplugin.py | 6 | ||||
-rw-r--r-- | qtdesigner_plugins/plotwidgetplugin.py | 6 | ||||
-rw-r--r-- | qtdesigner_plugins/plotwindowplugin.py | 6 | ||||
-rw-r--r-- | requirements-dev.txt | 8 | ||||
-rw-r--r-- | requirements.txt | 5 | ||||
-rwxr-xr-x | run_tests.py | 350 | ||||
-rw-r--r-- | setup.py | 51 | ||||
-rw-r--r-- | silx.egg-info/PKG-INFO | 12 | ||||
-rw-r--r-- | silx.egg-info/SOURCES.txt | 2230 | ||||
-rw-r--r-- | silx.egg-info/requires.txt | 6 | ||||
-rw-r--r-- | silx/__init__.py | 61 | ||||
-rw-r--r-- | silx/app/convert.py | 525 | ||||
-rw-r--r-- | silx/app/test/__init__.py | 39 | ||||
-rw-r--r-- | silx/app/test/test_convert.py | 167 | ||||
-rw-r--r-- | silx/app/test_.py | 159 | ||||
-rw-r--r-- | silx/app/view/About.py | 257 | ||||
-rw-r--r-- | silx/app/view/ApplicationContext.py | 194 | ||||
-rw-r--r-- | silx/app/view/CustomNxdataWidget.py | 1008 | ||||
-rw-r--r-- | silx/app/view/Viewer.py | 971 | ||||
-rw-r--r-- | silx/app/view/main.py | 171 | ||||
-rw-r--r-- | silx/app/view/test/__init__.py | 41 | ||||
-rw-r--r-- | silx/app/view/test/test_launcher.py | 151 | ||||
-rw-r--r-- | silx/app/view/test/test_view.py | 394 | ||||
-rw-r--r-- | silx/gui/_glutils/FramebufferTexture.py | 165 | ||||
-rw-r--r-- | silx/gui/_glutils/OpenGLWidget.py | 423 | ||||
-rw-r--r-- | silx/gui/_glutils/font.py | 163 | ||||
-rw-r--r-- | silx/gui/_glutils/utils.py | 121 | ||||
-rwxr-xr-x | silx/gui/colors.py | 1326 | ||||
-rw-r--r-- | silx/gui/console.py | 202 | ||||
-rw-r--r-- | silx/gui/data/ArrayTableModel.py | 670 | ||||
-rw-r--r-- | silx/gui/data/ArrayTableWidget.py | 492 | ||||
-rw-r--r-- | silx/gui/data/Hdf5TableView.py | 646 | ||||
-rw-r--r-- | silx/gui/data/HexaTableView.py | 286 | ||||
-rw-r--r-- | silx/gui/data/NXdataWidgets.py | 1081 | ||||
-rw-r--r-- | silx/gui/data/RecordTableView.py | 447 | ||||
-rw-r--r-- | silx/gui/data/TextFormatter.py | 395 | ||||
-rw-r--r-- | silx/gui/data/test/__init__.py | 45 | ||||
-rw-r--r-- | silx/gui/data/test/test_arraywidget.py | 329 | ||||
-rw-r--r-- | silx/gui/data/test/test_dataviewer.py | 314 | ||||
-rw-r--r-- | silx/gui/data/test/test_numpyaxesselector.py | 161 | ||||
-rw-r--r-- | silx/gui/data/test/test_textformatter.py | 212 | ||||
-rw-r--r-- | silx/gui/dialog/AbstractDataFileDialog.py | 1742 | ||||
-rw-r--r-- | silx/gui/dialog/ColormapDialog.py | 1771 | ||||
-rw-r--r-- | silx/gui/dialog/DataFileDialog.py | 340 | ||||
-rw-r--r-- | silx/gui/dialog/DatasetDialog.py | 122 | ||||
-rw-r--r-- | silx/gui/dialog/GroupDialog.py | 230 | ||||
-rw-r--r-- | silx/gui/dialog/ImageFileDialog.py | 354 | ||||
-rw-r--r-- | silx/gui/dialog/SafeFileSystemModel.py | 804 | ||||
-rw-r--r-- | silx/gui/dialog/test/__init__.py | 49 | ||||
-rw-r--r-- | silx/gui/dialog/test/test_colormapdialog.py | 453 | ||||
-rw-r--r-- | silx/gui/dialog/test/test_datafiledialog.py | 939 | ||||
-rw-r--r-- | silx/gui/dialog/test/test_imagefiledialog.py | 784 | ||||
-rw-r--r-- | silx/gui/dialog/utils.py | 106 | ||||
-rw-r--r-- | silx/gui/fit/BackgroundWidget.py | 534 | ||||
-rw-r--r-- | silx/gui/fit/FitConfig.py | 543 | ||||
-rw-r--r-- | silx/gui/fit/FitWidget.py | 739 | ||||
-rw-r--r-- | silx/gui/fit/FitWidgets.py | 559 | ||||
-rw-r--r-- | silx/gui/fit/Parameters.py | 882 | ||||
-rw-r--r-- | silx/gui/fit/test/__init__.py | 43 | ||||
-rw-r--r-- | silx/gui/fit/test/testBackgroundWidget.py | 83 | ||||
-rw-r--r-- | silx/gui/fit/test/testFitConfig.py | 95 | ||||
-rw-r--r-- | silx/gui/fit/test/testFitWidget.py | 135 | ||||
-rw-r--r-- | silx/gui/hdf5/Hdf5Formatter.py | 241 | ||||
-rw-r--r-- | silx/gui/hdf5/Hdf5HeaderView.py | 195 | ||||
-rw-r--r-- | silx/gui/hdf5/Hdf5TreeModel.py | 778 | ||||
-rw-r--r-- | silx/gui/hdf5/Hdf5TreeView.py | 271 | ||||
-rw-r--r-- | silx/gui/hdf5/_utils.py | 461 | ||||
-rw-r--r-- | silx/gui/hdf5/test/__init__.py | 39 | ||||
-rwxr-xr-x | silx/gui/hdf5/test/test_hdf5.py | 1140 | ||||
-rw-r--r-- | silx/gui/plot/AlphaSlider.py | 300 | ||||
-rw-r--r-- | silx/gui/plot/ColorBar.py | 881 | ||||
-rw-r--r-- | silx/gui/plot/CompareImages.py | 1249 | ||||
-rw-r--r-- | silx/gui/plot/ComplexImageView.py | 518 | ||||
-rw-r--r-- | silx/gui/plot/CurvesROIWidget.py | 1584 | ||||
-rw-r--r-- | silx/gui/plot/ImageStack.py | 636 | ||||
-rw-r--r-- | silx/gui/plot/ImageView.py | 854 | ||||
-rw-r--r-- | silx/gui/plot/ItemsSelectionDialog.py | 286 | ||||
-rwxr-xr-x | silx/gui/plot/LegendSelector.py | 1036 | ||||
-rw-r--r-- | silx/gui/plot/MaskToolsWidget.py | 919 | ||||
-rw-r--r-- | silx/gui/plot/PlotInteraction.py | 1748 | ||||
-rwxr-xr-x | silx/gui/plot/PlotWidget.py | 3621 | ||||
-rw-r--r-- | silx/gui/plot/PlotWindow.py | 994 | ||||
-rw-r--r-- | silx/gui/plot/PrintPreviewToolButton.py | 392 | ||||
-rw-r--r-- | silx/gui/plot/ROIStatsWidget.py | 780 | ||||
-rw-r--r-- | silx/gui/plot/ScatterMaskToolsWidget.py | 621 | ||||
-rw-r--r-- | silx/gui/plot/ScatterView.py | 405 | ||||
-rw-r--r-- | silx/gui/plot/StackView.py | 1254 | ||||
-rw-r--r-- | silx/gui/plot/StatsWidget.py | 1661 | ||||
-rw-r--r-- | silx/gui/plot/_utils/__init__.py | 93 | ||||
-rw-r--r-- | silx/gui/plot/_utils/panzoom.py | 292 | ||||
-rw-r--r-- | silx/gui/plot/_utils/test/__init__.py | 43 | ||||
-rw-r--r-- | silx/gui/plot/_utils/test/test_dtime_ticklayout.py | 93 | ||||
-rw-r--r-- | silx/gui/plot/_utils/test/test_ticklayout.py | 92 | ||||
-rw-r--r-- | silx/gui/plot/actions/fit.py | 403 | ||||
-rw-r--r-- | silx/gui/plot/actions/histogram.py | 392 | ||||
-rw-r--r-- | silx/gui/plot/actions/io.py | 818 | ||||
-rwxr-xr-x | silx/gui/plot/backends/BackendBase.py | 578 | ||||
-rwxr-xr-x | silx/gui/plot/backends/BackendMatplotlib.py | 1544 | ||||
-rwxr-xr-x | silx/gui/plot/backends/BackendOpenGL.py | 1420 | ||||
-rw-r--r-- | silx/gui/plot/backends/glutils/GLPlotCurve.py | 1375 | ||||
-rw-r--r-- | silx/gui/plot/backends/glutils/GLPlotFrame.py | 1219 | ||||
-rw-r--r-- | silx/gui/plot/items/__init__.py | 52 | ||||
-rw-r--r-- | silx/gui/plot/items/axis.py | 569 | ||||
-rw-r--r-- | silx/gui/plot/items/core.py | 1734 | ||||
-rw-r--r-- | silx/gui/plot/items/curve.py | 326 | ||||
-rw-r--r-- | silx/gui/plot/items/image.py | 617 | ||||
-rw-r--r-- | silx/gui/plot/items/scatter.py | 973 | ||||
-rw-r--r-- | silx/gui/plot/items/shape.py | 288 | ||||
-rw-r--r-- | silx/gui/plot/test/__init__.py | 92 | ||||
-rw-r--r-- | silx/gui/plot/test/testAlphaSlider.py | 218 | ||||
-rw-r--r-- | silx/gui/plot/test/testColorBar.py | 354 | ||||
-rw-r--r-- | silx/gui/plot/test/testCompareImages.py | 117 | ||||
-rw-r--r-- | silx/gui/plot/test/testComplexImageView.py | 95 | ||||
-rw-r--r-- | silx/gui/plot/test/testCurvesROIWidget.py | 469 | ||||
-rw-r--r-- | silx/gui/plot/test/testImageStack.py | 197 | ||||
-rw-r--r-- | silx/gui/plot/test/testImageView.py | 136 | ||||
-rw-r--r-- | silx/gui/plot/test/testInteraction.py | 89 | ||||
-rw-r--r-- | silx/gui/plot/test/testItem.py | 340 | ||||
-rw-r--r-- | silx/gui/plot/test/testLegendSelector.py | 142 | ||||
-rw-r--r-- | silx/gui/plot/test/testLimitConstraints.py | 125 | ||||
-rw-r--r-- | silx/gui/plot/test/testMaskToolsWidget.py | 316 | ||||
-rw-r--r-- | silx/gui/plot/test/testPixelIntensityHistoAction.py | 157 | ||||
-rw-r--r-- | silx/gui/plot/test/testPlotInteraction.py | 172 | ||||
-rwxr-xr-x | silx/gui/plot/test/testPlotWidget.py | 2072 | ||||
-rw-r--r-- | silx/gui/plot/test/testPlotWidgetNoBackend.py | 631 | ||||
-rw-r--r-- | silx/gui/plot/test/testPlotWindow.py | 185 | ||||
-rw-r--r-- | silx/gui/plot/test/testRoiStatsWidget.py | 290 | ||||
-rw-r--r-- | silx/gui/plot/test/testSaveAction.py | 143 | ||||
-rw-r--r-- | silx/gui/plot/test/testScatterMaskToolsWidget.py | 318 | ||||
-rw-r--r-- | silx/gui/plot/test/testScatterView.py | 134 | ||||
-rw-r--r-- | silx/gui/plot/test/testStackView.py | 261 | ||||
-rw-r--r-- | silx/gui/plot/test/testStats.py | 1058 | ||||
-rw-r--r-- | silx/gui/plot/test/testUtilsAxis.py | 214 | ||||
-rw-r--r-- | silx/gui/plot/test/utils.py | 94 | ||||
-rw-r--r-- | silx/gui/plot/tools/PositionInfo.py | 376 | ||||
-rw-r--r-- | silx/gui/plot/tools/profile/manager.py | 1076 | ||||
-rw-r--r-- | silx/gui/plot/tools/profile/rois.py | 1156 | ||||
-rw-r--r-- | silx/gui/plot/tools/roi.py | 1417 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/__init__.py | 52 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/testCurveLegendsWidget.py | 125 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/testProfile.py | 673 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/testROI.py | 694 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/testScatterProfileToolBar.py | 196 | ||||
-rw-r--r-- | silx/gui/plot/tools/test/testTools.py | 147 | ||||
-rw-r--r-- | silx/gui/plot/utils/axis.py | 403 | ||||
-rw-r--r-- | silx/gui/plot3d/ParamTreeView.py | 546 | ||||
-rw-r--r-- | silx/gui/plot3d/Plot3DWidget.py | 460 | ||||
-rw-r--r-- | silx/gui/plot3d/SFViewParamTree.py | 1817 | ||||
-rw-r--r-- | silx/gui/plot3d/_model/items.py | 1760 | ||||
-rw-r--r-- | silx/gui/plot3d/actions/io.py | 336 | ||||
-rw-r--r-- | silx/gui/plot3d/actions/mode.py | 178 | ||||
-rw-r--r-- | silx/gui/plot3d/items/core.py | 779 | ||||
-rw-r--r-- | silx/gui/plot3d/items/image.py | 425 | ||||
-rw-r--r-- | silx/gui/plot3d/scene/test/__init__.py | 43 | ||||
-rw-r--r-- | silx/gui/plot3d/scene/test/test_transform.py | 91 | ||||
-rw-r--r-- | silx/gui/plot3d/scene/test/test_utils.py | 275 | ||||
-rw-r--r-- | silx/gui/plot3d/scene/window.py | 430 | ||||
-rw-r--r-- | silx/gui/plot3d/test/__init__.py | 75 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testGL.py | 84 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testScalarFieldView.py | 139 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testSceneWidget.py | 84 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testSceneWidgetPicking.py | 326 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testSceneWindow.py | 245 | ||||
-rw-r--r-- | silx/gui/plot3d/test/testStatsWidget.py | 216 | ||||
-rw-r--r-- | silx/gui/plot3d/tools/GroupPropertiesWidget.py | 202 | ||||
-rw-r--r-- | silx/gui/plot3d/tools/PositionInfoWidget.py | 219 | ||||
-rw-r--r-- | silx/gui/plot3d/tools/test/__init__.py | 41 | ||||
-rw-r--r-- | silx/gui/plot3d/tools/test/testPositionInfoWidget.py | 101 | ||||
-rw-r--r-- | silx/gui/qt/__init__.py | 60 | ||||
-rw-r--r-- | silx/gui/qt/_macosx.py | 68 | ||||
-rw-r--r-- | silx/gui/qt/_pyside_dynamic.py | 239 | ||||
-rw-r--r-- | silx/gui/qt/_pyside_missing.py | 274 | ||||
-rw-r--r-- | silx/gui/qt/_qt.py | 289 | ||||
-rw-r--r-- | silx/gui/qt/_utils.py | 71 | ||||
-rw-r--r-- | silx/gui/qt/inspect.py | 87 | ||||
-rw-r--r-- | silx/gui/test/__init__.py | 113 | ||||
-rwxr-xr-x | silx/gui/test/test_colors.py | 619 | ||||
-rw-r--r-- | silx/gui/test/test_console.py | 91 | ||||
-rw-r--r-- | silx/gui/test/test_icons.py | 158 | ||||
-rw-r--r-- | silx/gui/test/test_qt.py | 201 | ||||
-rw-r--r-- | silx/gui/utils/glutils/__init__.py | 199 | ||||
-rw-r--r-- | silx/gui/utils/image.py | 143 | ||||
-rw-r--r-- | silx/gui/utils/matplotlib.py | 71 | ||||
-rwxr-xr-x | silx/gui/utils/test/__init__.py | 56 | ||||
-rw-r--r-- | silx/gui/utils/test/test.py | 76 | ||||
-rw-r--r-- | silx/gui/utils/test/test_async.py | 138 | ||||
-rw-r--r-- | silx/gui/utils/test/test_glutils.py | 66 | ||||
-rw-r--r-- | silx/gui/utils/test/test_image.py | 90 | ||||
-rwxr-xr-x | silx/gui/utils/test/test_qtutils.py | 75 | ||||
-rw-r--r-- | silx/gui/utils/test/test_testutils.py | 55 | ||||
-rw-r--r-- | silx/gui/utils/testutils.py | 518 | ||||
-rw-r--r-- | silx/gui/widgets/ElidedLabel.py | 137 | ||||
-rw-r--r-- | silx/gui/widgets/FloatEdit.py | 65 | ||||
-rw-r--r-- | silx/gui/widgets/PeriodicTable.py | 831 | ||||
-rw-r--r-- | silx/gui/widgets/PrintGeometryDialog.py | 222 | ||||
-rw-r--r-- | silx/gui/widgets/PrintPreview.py | 728 | ||||
-rw-r--r-- | silx/gui/widgets/RangeSlider.py | 765 | ||||
-rw-r--r-- | silx/gui/widgets/TableWidget.py | 626 | ||||
-rw-r--r-- | silx/gui/widgets/UrlSelectionTable.py | 172 | ||||
-rw-r--r-- | silx/gui/widgets/WaitingPushButton.py | 245 | ||||
-rw-r--r-- | silx/gui/widgets/test/__init__.py | 59 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_boxlayoutdockwidget.py | 83 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_elidedlabel.py | 111 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_flowlayout.py | 77 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_framebrowser.py | 73 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_hierarchicaltableview.py | 117 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_legendiconwidget.py | 74 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_periodictable.py | 163 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_printpreview.py | 74 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_rangeslider.py | 114 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_tablewidget.py | 61 | ||||
-rw-r--r-- | silx/gui/widgets/test/test_threadpoolpushbutton.py | 135 | ||||
-rw-r--r-- | silx/image/marchingsquares/setup.py | 51 | ||||
-rw-r--r-- | silx/image/marchingsquares/test/__init__.py | 40 | ||||
-rw-r--r-- | silx/image/marchingsquares/test/test_funcapi.py | 99 | ||||
-rw-r--r-- | silx/image/marchingsquares/test/test_mergeimpl.py | 272 | ||||
-rw-r--r-- | silx/image/test/__init__.py | 48 | ||||
-rw-r--r-- | silx/image/test/test_bb.py | 86 | ||||
-rw-r--r-- | silx/image/test/test_bilinear.py | 178 | ||||
-rw-r--r-- | silx/image/test/test_medianfilter.py | 76 | ||||
-rw-r--r-- | silx/image/test/test_shapes.py | 366 | ||||
-rw-r--r-- | silx/image/test/test_tomography.py | 66 | ||||
-rw-r--r-- | silx/io/commonh5.py | 1083 | ||||
-rw-r--r-- | silx/io/convert.py | 343 | ||||
-rw-r--r-- | silx/io/dictdump.py | 842 | ||||
-rwxr-xr-x | silx/io/fabioh5.py | 1051 | ||||
-rw-r--r-- | silx/io/h5py_utils.py | 317 | ||||
-rw-r--r-- | silx/io/nxdata/_utils.py | 184 | ||||
-rw-r--r-- | silx/io/nxdata/parse.py | 997 | ||||
-rw-r--r-- | silx/io/nxdata/write.py | 203 | ||||
-rw-r--r-- | silx/io/specfile.pyx | 1268 | ||||
-rw-r--r-- | silx/io/spech5.py | 883 | ||||
-rw-r--r-- | silx/io/test/__init__.py | 61 | ||||
-rw-r--r-- | silx/io/test/test_commonh5.py | 295 | ||||
-rw-r--r-- | silx/io/test/test_dictdump.py | 1025 | ||||
-rwxr-xr-x | silx/io/test/test_fabioh5.py | 629 | ||||
-rw-r--r-- | silx/io/test/test_h5py_utils.py | 397 | ||||
-rw-r--r-- | silx/io/test/test_nxdata.py | 579 | ||||
-rw-r--r-- | silx/io/test/test_octaveh5.py | 165 | ||||
-rw-r--r-- | silx/io/test/test_rawh5.py | 96 | ||||
-rw-r--r-- | silx/io/test/test_specfile.py | 433 | ||||
-rw-r--r-- | silx/io/test/test_specfilewrapper.py | 206 | ||||
-rw-r--r-- | silx/io/test/test_spech5.py | 881 | ||||
-rw-r--r-- | silx/io/test/test_spectoh5.py | 194 | ||||
-rw-r--r-- | silx/io/test/test_url.py | 228 | ||||
-rw-r--r-- | silx/io/test/test_utils.py | 888 | ||||
-rw-r--r-- | silx/io/url.py | 390 | ||||
-rw-r--r-- | silx/io/utils.py | 1142 | ||||
-rw-r--r-- | silx/math/colormap.pyx | 559 | ||||
-rw-r--r-- | silx/math/fft/test/__init__.py | 25 | ||||
-rw-r--r-- | silx/math/fft/test/test_fft.py | 270 | ||||
-rw-r--r-- | silx/math/fit/fitmanager.py | 1087 | ||||
-rw-r--r-- | silx/math/fit/fittheories.py | 1374 | ||||
-rw-r--r-- | silx/math/fit/test/__init__.py | 46 | ||||
-rw-r--r-- | silx/math/fit/test/test_bgtheories.py | 169 | ||||
-rw-r--r-- | silx/math/fit/test/test_filters.py | 137 | ||||
-rw-r--r-- | silx/math/fit/test/test_fit.py | 387 | ||||
-rw-r--r-- | silx/math/fit/test/test_fitmanager.py | 513 | ||||
-rw-r--r-- | silx/math/fit/test/test_functions.py | 272 | ||||
-rw-r--r-- | silx/math/fit/test/test_peaks.py | 146 | ||||
-rw-r--r-- | silx/math/medianfilter/test/__init__.py | 36 | ||||
-rw-r--r-- | silx/math/medianfilter/test/benchmark.py | 122 | ||||
-rw-r--r-- | silx/math/medianfilter/test/test_medianfilter.py | 740 | ||||
-rw-r--r-- | silx/math/setup.py | 99 | ||||
-rw-r--r-- | silx/math/test/__init__.py | 58 | ||||
-rw-r--r-- | silx/math/test/benchmark_combo.py | 203 | ||||
-rw-r--r-- | silx/math/test/test_HistogramndLut_nominal.py | 587 | ||||
-rw-r--r-- | silx/math/test/test_calibration.py | 158 | ||||
-rw-r--r-- | silx/math/test/test_colormap.py | 266 | ||||
-rw-r--r-- | silx/math/test/test_combo.py | 218 | ||||
-rw-r--r-- | silx/math/test/test_histogramnd_error.py | 535 | ||||
-rw-r--r-- | silx/math/test/test_histogramnd_nominal.py | 949 | ||||
-rw-r--r-- | silx/math/test/test_histogramnd_vs_np.py | 848 | ||||
-rw-r--r-- | silx/math/test/test_interpolate.py | 136 | ||||
-rw-r--r-- | silx/math/test/test_marchingcubes.py | 188 | ||||
-rw-r--r-- | silx/opencl/codec/test/__init__.py | 37 | ||||
-rw-r--r-- | silx/opencl/codec/test/test_byte_offset.py | 315 | ||||
-rw-r--r-- | silx/opencl/common.py | 689 | ||||
-rw-r--r-- | silx/opencl/test/__init__.py | 68 | ||||
-rw-r--r-- | silx/opencl/test/test_addition.py | 154 | ||||
-rw-r--r-- | silx/opencl/test/test_array_utils.py | 161 | ||||
-rw-r--r-- | silx/opencl/test/test_backprojection.py | 231 | ||||
-rw-r--r-- | silx/opencl/test/test_convolution.py | 265 | ||||
-rw-r--r-- | silx/opencl/test/test_doubleword.py | 258 | ||||
-rw-r--r-- | silx/opencl/test/test_image.py | 137 | ||||
-rw-r--r-- | silx/opencl/test/test_kahan.py | 269 | ||||
-rw-r--r-- | silx/opencl/test/test_linalg.py | 216 | ||||
-rw-r--r-- | silx/opencl/test/test_medfilt.py | 175 | ||||
-rw-r--r-- | silx/opencl/test/test_projection.py | 131 | ||||
-rw-r--r-- | silx/opencl/test/test_sparse.py | 203 | ||||
-rw-r--r-- | silx/opencl/test/test_stats.py | 116 | ||||
-rw-r--r-- | silx/resources/gui/icons/compare-align-auto.svg | 4 | ||||
-rw-r--r-- | silx/resources/gui/icons/compare-align-center.svg | 4 | ||||
-rw-r--r-- | silx/resources/gui/icons/compare-align-origin.svg | 4 | ||||
-rw-r--r-- | silx/resources/gui/icons/compare-align-stretch.svg | 4 | ||||
-rw-r--r-- | silx/resources/gui/icons/math-peak-search.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/remove.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/zoom-back.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/zoom-in.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/zoom-original.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/zoom-out.svg | 2 | ||||
-rw-r--r-- | silx/resources/gui/icons/zoom.svg | 2 | ||||
-rw-r--r-- | silx/setup.py | 54 | ||||
-rw-r--r-- | silx/sx/_plot.py | 623 | ||||
-rw-r--r-- | silx/test/__init__.py | 104 | ||||
-rw-r--r-- | silx/test/test_resources.py | 200 | ||||
-rw-r--r-- | silx/test/test_sx.py | 292 | ||||
-rw-r--r-- | silx/test/test_version.py | 49 | ||||
-rw-r--r-- | silx/test/utils.py | 204 | ||||
-rw-r--r-- | silx/third_party/setup.py | 49 | ||||
-rw-r--r-- | silx/utils/ExternalResources.py | 320 | ||||
-rw-r--r-- | silx/utils/_have_openmp.pxd | 49 | ||||
-rw-r--r-- | silx/utils/array_like.py | 596 | ||||
-rw-r--r-- | silx/utils/debug.py | 103 | ||||
-rw-r--r-- | silx/utils/html.py | 60 | ||||
-rw-r--r-- | silx/utils/proxy.py | 241 | ||||
-rwxr-xr-x | silx/utils/test/__init__.py | 59 | ||||
-rw-r--r-- | silx/utils/test/test_array_like.py | 445 | ||||
-rw-r--r-- | silx/utils/test/test_debug.py | 99 | ||||
-rw-r--r-- | silx/utils/test/test_deprecation.py | 107 | ||||
-rw-r--r-- | silx/utils/test/test_enum.py | 96 | ||||
-rw-r--r-- | silx/utils/test/test_external_resources.py | 99 | ||||
-rw-r--r-- | silx/utils/test/test_html.py | 61 | ||||
-rw-r--r-- | silx/utils/test/test_launcher.py | 204 | ||||
-rw-r--r-- | silx/utils/test/test_number.py | 186 | ||||
-rw-r--r-- | silx/utils/test/test_proxy.py | 344 | ||||
-rw-r--r-- | silx/utils/test/test_retry.py | 179 | ||||
-rwxr-xr-x | silx/utils/test/test_testutils.py | 105 | ||||
-rw-r--r-- | silx/utils/test/test_weakref.py | 330 | ||||
-rwxr-xr-x | silx/utils/testutils.py | 333 | ||||
-rw-r--r-- | src/silx/__init__.py | 58 | ||||
-rw-r--r-- | src/silx/__main__.py (renamed from silx/__main__.py) | 0 | ||||
-rw-r--r-- | src/silx/_config.py (renamed from silx/_config.py) | 0 | ||||
-rw-r--r-- | src/silx/_version.py | 120 | ||||
-rw-r--r-- | src/silx/app/__init__.py (renamed from silx/app/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/app/convert.py | 548 | ||||
-rw-r--r-- | src/silx/app/setup.py (renamed from silx/app/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/app/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/app/test/test_convert.py | 156 | ||||
-rw-r--r-- | src/silx/app/test_.py | 45 | ||||
-rw-r--r-- | src/silx/app/view/About.py | 258 | ||||
-rw-r--r-- | src/silx/app/view/ApplicationContext.py | 195 | ||||
-rw-r--r-- | src/silx/app/view/CustomNxdataWidget.py | 1002 | ||||
-rw-r--r-- | src/silx/app/view/DataPanel.py (renamed from silx/app/view/DataPanel.py) | 0 | ||||
-rw-r--r-- | src/silx/app/view/Viewer.py | 962 | ||||
-rw-r--r-- | src/silx/app/view/__init__.py (renamed from silx/app/view/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/app/view/main.py | 186 | ||||
-rw-r--r-- | src/silx/app/view/setup.py (renamed from silx/app/view/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/app/view/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/app/view/test/test_launcher.py | 140 | ||||
-rw-r--r-- | src/silx/app/view/test/test_view.py | 388 | ||||
-rw-r--r-- | src/silx/app/view/utils.py (renamed from silx/app/view/utils.py) | 0 | ||||
-rw-r--r-- | src/silx/conftest.py | 130 | ||||
-rw-r--r-- | src/silx/gui/__init__.py (renamed from silx/gui/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/Context.py (renamed from silx/gui/_glutils/Context.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/FramebufferTexture.py | 168 | ||||
-rw-r--r-- | src/silx/gui/_glutils/OpenGLWidget.py | 422 | ||||
-rw-r--r-- | src/silx/gui/_glutils/Program.py (renamed from silx/gui/_glutils/Program.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/Texture.py (renamed from silx/gui/_glutils/Texture.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/VertexBuffer.py (renamed from silx/gui/_glutils/VertexBuffer.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/__init__.py (renamed from silx/gui/_glutils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/font.py | 156 | ||||
-rw-r--r-- | src/silx/gui/_glutils/gl.py (renamed from silx/gui/_glutils/gl.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/_glutils/utils.py | 123 | ||||
-rwxr-xr-x | src/silx/gui/colors.py | 1036 | ||||
-rw-r--r-- | src/silx/gui/conftest.py | 5 | ||||
-rw-r--r-- | src/silx/gui/console.py | 202 | ||||
-rw-r--r-- | src/silx/gui/data/ArrayTableModel.py | 650 | ||||
-rw-r--r-- | src/silx/gui/data/ArrayTableWidget.py | 492 | ||||
-rw-r--r-- | src/silx/gui/data/DataViewer.py (renamed from silx/gui/data/DataViewer.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/DataViewerFrame.py (renamed from silx/gui/data/DataViewerFrame.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/DataViewerSelector.py (renamed from silx/gui/data/DataViewerSelector.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/DataViews.py (renamed from silx/gui/data/DataViews.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/Hdf5TableView.py | 634 | ||||
-rw-r--r-- | src/silx/gui/data/HexaTableView.py | 272 | ||||
-rw-r--r-- | src/silx/gui/data/NXdataWidgets.py | 1086 | ||||
-rw-r--r-- | src/silx/gui/data/NumpyAxesSelector.py (renamed from silx/gui/data/NumpyAxesSelector.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/RecordTableView.py | 439 | ||||
-rw-r--r-- | src/silx/gui/data/TextFormatter.py | 386 | ||||
-rw-r--r-- | src/silx/gui/data/_RecordPlot.py (renamed from silx/gui/data/_RecordPlot.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/_VolumeWindow.py (renamed from silx/gui/data/_VolumeWindow.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/__init__.py (renamed from silx/gui/data/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/setup.py (renamed from silx/gui/data/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/data/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/data/test/test_arraywidget.py | 316 | ||||
-rw-r--r-- | src/silx/gui/data/test/test_dataviewer.py | 304 | ||||
-rw-r--r-- | src/silx/gui/data/test/test_numpyaxesselector.py | 150 | ||||
-rw-r--r-- | src/silx/gui/data/test/test_textformatter.py | 199 | ||||
-rw-r--r-- | src/silx/gui/dialog/AbstractDataFileDialog.py | 1731 | ||||
-rw-r--r-- | src/silx/gui/dialog/ColormapDialog.py | 1775 | ||||
-rw-r--r-- | src/silx/gui/dialog/DataFileDialog.py | 340 | ||||
-rw-r--r-- | src/silx/gui/dialog/DatasetDialog.py | 122 | ||||
-rw-r--r-- | src/silx/gui/dialog/FileTypeComboBox.py (renamed from silx/gui/dialog/FileTypeComboBox.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/dialog/GroupDialog.py | 230 | ||||
-rw-r--r-- | src/silx/gui/dialog/ImageFileDialog.py | 354 | ||||
-rw-r--r-- | src/silx/gui/dialog/SafeFileIconProvider.py (renamed from silx/gui/dialog/SafeFileIconProvider.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/dialog/SafeFileSystemModel.py | 802 | ||||
-rw-r--r-- | src/silx/gui/dialog/__init__.py (renamed from silx/gui/dialog/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/dialog/setup.py (renamed from silx/gui/dialog/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/dialog/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/dialog/test/test_colormapdialog.py | 395 | ||||
-rw-r--r-- | src/silx/gui/dialog/test/test_datafiledialog.py | 924 | ||||
-rw-r--r-- | src/silx/gui/dialog/test/test_imagefiledialog.py | 772 | ||||
-rw-r--r-- | src/silx/gui/dialog/utils.py | 99 | ||||
-rw-r--r-- | src/silx/gui/fit/BackgroundWidget.py | 534 | ||||
-rw-r--r-- | src/silx/gui/fit/FitConfig.py | 543 | ||||
-rw-r--r-- | src/silx/gui/fit/FitWidget.py | 751 | ||||
-rw-r--r-- | src/silx/gui/fit/FitWidgets.py | 555 | ||||
-rw-r--r-- | src/silx/gui/fit/Parameters.py | 882 | ||||
-rw-r--r-- | src/silx/gui/fit/__init__.py (renamed from silx/gui/fit/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/fit/setup.py (renamed from silx/gui/fit/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/fit/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/fit/test/testBackgroundWidget.py | 72 | ||||
-rw-r--r-- | src/silx/gui/fit/test/testFitConfig.py | 84 | ||||
-rw-r--r-- | src/silx/gui/fit/test/testFitWidget.py | 124 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5Formatter.py | 240 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5HeaderView.py | 184 | ||||
-rwxr-xr-x | src/silx/gui/hdf5/Hdf5Item.py (renamed from silx/gui/hdf5/Hdf5Item.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5LoadingItem.py (renamed from silx/gui/hdf5/Hdf5LoadingItem.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5Node.py (renamed from silx/gui/hdf5/Hdf5Node.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5TreeModel.py | 742 | ||||
-rw-r--r-- | src/silx/gui/hdf5/Hdf5TreeView.py | 269 | ||||
-rw-r--r-- | src/silx/gui/hdf5/NexusSortFilterProxyModel.py (renamed from silx/gui/hdf5/NexusSortFilterProxyModel.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/__init__.py (renamed from silx/gui/hdf5/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/_utils.py | 461 | ||||
-rw-r--r-- | src/silx/gui/hdf5/setup.py (renamed from silx/gui/hdf5/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/hdf5/test/__init__.py | 24 | ||||
-rwxr-xr-x | src/silx/gui/hdf5/test/test_hdf5.py | 1092 | ||||
-rw-r--r-- | src/silx/gui/icons.py (renamed from silx/gui/icons.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/AlphaSlider.py | 300 | ||||
-rw-r--r-- | src/silx/gui/plot/ColorBar.py | 883 | ||||
-rw-r--r-- | src/silx/gui/plot/Colormap.py (renamed from silx/gui/plot/Colormap.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/ColormapDialog.py (renamed from silx/gui/plot/ColormapDialog.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/Colors.py (renamed from silx/gui/plot/Colors.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/CompareImages.py | 1259 | ||||
-rw-r--r-- | src/silx/gui/plot/ComplexImageView.py | 518 | ||||
-rw-r--r-- | src/silx/gui/plot/CurvesROIWidget.py | 1581 | ||||
-rw-r--r-- | src/silx/gui/plot/ImageStack.py | 640 | ||||
-rw-r--r-- | src/silx/gui/plot/ImageView.py | 1057 | ||||
-rw-r--r-- | src/silx/gui/plot/Interaction.py (renamed from silx/gui/plot/Interaction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/ItemsSelectionDialog.py | 286 | ||||
-rwxr-xr-x | src/silx/gui/plot/LegendSelector.py | 1039 | ||||
-rw-r--r-- | src/silx/gui/plot/LimitsHistory.py (renamed from silx/gui/plot/LimitsHistory.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/MaskToolsWidget.py | 919 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotActions.py (renamed from silx/gui/plot/PlotActions.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotEvents.py (renamed from silx/gui/plot/PlotEvents.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotInteraction.py | 1746 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotToolButtons.py (renamed from silx/gui/plot/PlotToolButtons.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotTools.py (renamed from silx/gui/plot/PlotTools.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/plot/PlotWidget.py | 3628 | ||||
-rw-r--r-- | src/silx/gui/plot/PlotWindow.py | 993 | ||||
-rw-r--r-- | src/silx/gui/plot/PrintPreviewToolButton.py | 388 | ||||
-rw-r--r-- | src/silx/gui/plot/Profile.py (renamed from silx/gui/plot/Profile.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/ProfileMainWindow.py (renamed from silx/gui/plot/ProfileMainWindow.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/ROIStatsWidget.py | 780 | ||||
-rw-r--r-- | src/silx/gui/plot/ScatterMaskToolsWidget.py | 621 | ||||
-rw-r--r-- | src/silx/gui/plot/ScatterView.py | 404 | ||||
-rw-r--r-- | src/silx/gui/plot/StackView.py | 1254 | ||||
-rw-r--r-- | src/silx/gui/plot/StatsWidget.py | 1658 | ||||
-rw-r--r-- | src/silx/gui/plot/_BaseMaskToolsWidget.py (renamed from silx/gui/plot/_BaseMaskToolsWidget.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/__init__.py (renamed from silx/gui/plot/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/__init__.py | 92 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/delaunay.py (renamed from silx/gui/plot/_utils/delaunay.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/dtime_ticklayout.py (renamed from silx/gui/plot/_utils/dtime_ticklayout.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/panzoom.py | 325 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/setup.py (renamed from silx/gui/plot/_utils/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/test/test_dtime_ticklayout.py | 79 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/test/test_ticklayout.py | 81 | ||||
-rw-r--r-- | src/silx/gui/plot/_utils/ticklayout.py (renamed from silx/gui/plot/_utils/ticklayout.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/PlotAction.py (renamed from silx/gui/plot/actions/PlotAction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/PlotToolAction.py (renamed from silx/gui/plot/actions/PlotToolAction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/__init__.py (renamed from silx/gui/plot/actions/__init__.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/plot/actions/control.py (renamed from silx/gui/plot/actions/control.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/fit.py | 485 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/histogram.py | 542 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/io.py | 819 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/medfilt.py (renamed from silx/gui/plot/actions/medfilt.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/actions/mode.py (renamed from silx/gui/plot/actions/mode.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/plot/backends/BackendBase.py | 568 | ||||
-rwxr-xr-x | src/silx/gui/plot/backends/BackendMatplotlib.py | 1557 | ||||
-rwxr-xr-x | src/silx/gui/plot/backends/BackendOpenGL.py | 1420 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/__init__.py (renamed from silx/gui/plot/backends/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLPlotCurve.py | 1380 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLPlotFrame.py | 1210 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLPlotImage.py (renamed from silx/gui/plot/backends/glutils/GLPlotImage.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLPlotItem.py (renamed from silx/gui/plot/backends/glutils/GLPlotItem.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLPlotTriangles.py (renamed from silx/gui/plot/backends/glutils/GLPlotTriangles.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLSupport.py (renamed from silx/gui/plot/backends/glutils/GLSupport.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLText.py (renamed from silx/gui/plot/backends/glutils/GLText.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/GLTexture.py (renamed from silx/gui/plot/backends/glutils/GLTexture.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/PlotImageFile.py (renamed from silx/gui/plot/backends/glutils/PlotImageFile.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/backends/glutils/__init__.py (renamed from silx/gui/plot/backends/glutils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/__init__.py | 53 | ||||
-rw-r--r-- | src/silx/gui/plot/items/_arc_roi.py (renamed from silx/gui/plot/items/_arc_roi.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/_pick.py (renamed from silx/gui/plot/items/_pick.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/_roi_base.py (renamed from silx/gui/plot/items/_roi_base.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/axis.py | 560 | ||||
-rw-r--r-- | src/silx/gui/plot/items/complex.py (renamed from silx/gui/plot/items/complex.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/core.py | 1733 | ||||
-rw-r--r-- | src/silx/gui/plot/items/curve.py | 325 | ||||
-rw-r--r-- | src/silx/gui/plot/items/histogram.py (renamed from silx/gui/plot/items/histogram.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/image.py | 641 | ||||
-rw-r--r-- | src/silx/gui/plot/items/image_aggregated.py | 229 | ||||
-rwxr-xr-x | src/silx/gui/plot/items/marker.py (renamed from silx/gui/plot/items/marker.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/roi.py (renamed from silx/gui/plot/items/roi.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/items/scatter.py | 1002 | ||||
-rw-r--r-- | src/silx/gui/plot/items/shape.py | 287 | ||||
-rw-r--r-- | src/silx/gui/plot/matplotlib/Colormap.py (renamed from silx/gui/plot/matplotlib/Colormap.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/matplotlib/__init__.py (renamed from silx/gui/plot/matplotlib/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/setup.py (renamed from silx/gui/plot/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/stats/__init__.py (renamed from silx/gui/plot/stats/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/stats/stats.py (renamed from silx/gui/plot/stats/stats.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/stats/statshandler.py (renamed from silx/gui/plot/stats/statshandler.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testAlphaSlider.py | 204 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testColorBar.py | 340 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testCompareImages.py | 106 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testComplexImageView.py | 84 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testCurvesROIWidget.py | 465 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testImageStack.py | 186 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testImageView.py | 194 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testInteraction.py | 78 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testItem.py | 360 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testLegendSelector.py | 130 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testLimitConstraints.py | 114 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testMaskToolsWidget.py | 306 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testPixelIntensityHistoAction.py | 145 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testPlotActions.py | 110 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testPlotInteraction.py | 160 | ||||
-rwxr-xr-x | src/silx/gui/plot/test/testPlotWidget.py | 2113 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testPlotWidgetNoBackend.py | 618 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testPlotWindow.py | 174 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testRoiStatsWidget.py | 277 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testSaveAction.py | 132 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testScatterMaskToolsWidget.py | 306 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testScatterView.py | 123 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testStackView.py | 248 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testStats.py | 1047 | ||||
-rw-r--r-- | src/silx/gui/plot/test/testUtilsAxis.py | 203 | ||||
-rw-r--r-- | src/silx/gui/plot/test/utils.py | 93 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/CurveLegendsWidget.py (renamed from silx/gui/plot/tools/CurveLegendsWidget.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/LimitsToolBar.py (renamed from silx/gui/plot/tools/LimitsToolBar.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/PositionInfo.py | 373 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/RadarView.py (renamed from silx/gui/plot/tools/RadarView.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/__init__.py (renamed from silx/gui/plot/tools/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/ScatterProfileToolBar.py (renamed from silx/gui/plot/tools/profile/ScatterProfileToolBar.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/__init__.py (renamed from silx/gui/plot/tools/profile/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/core.py (renamed from silx/gui/plot/tools/profile/core.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/editors.py (renamed from silx/gui/plot/tools/profile/editors.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/manager.py | 1079 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/rois.py | 1156 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/profile/toolbar.py (renamed from silx/gui/plot/tools/profile/toolbar.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/roi.py | 1417 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/testCurveLegendsWidget.py | 113 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/testProfile.py | 654 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/testROI.py | 682 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/testScatterProfileToolBar.py | 184 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/test/testTools.py | 135 | ||||
-rw-r--r-- | src/silx/gui/plot/tools/toolbars.py (renamed from silx/gui/plot/tools/toolbars.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/utils/__init__.py (renamed from silx/gui/plot/utils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot/utils/axis.py | 398 | ||||
-rw-r--r-- | src/silx/gui/plot/utils/intersections.py (renamed from silx/gui/plot/utils/intersections.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/ParamTreeView.py | 522 | ||||
-rw-r--r-- | src/silx/gui/plot3d/Plot3DWidget.py | 463 | ||||
-rw-r--r-- | src/silx/gui/plot3d/Plot3DWindow.py (renamed from silx/gui/plot3d/Plot3DWindow.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/SFViewParamTree.py | 1814 | ||||
-rw-r--r-- | src/silx/gui/plot3d/ScalarFieldView.py (renamed from silx/gui/plot3d/ScalarFieldView.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/SceneWidget.py (renamed from silx/gui/plot3d/SceneWidget.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/SceneWindow.py (renamed from silx/gui/plot3d/SceneWindow.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/__init__.py (renamed from silx/gui/plot3d/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/_model/__init__.py (renamed from silx/gui/plot3d/_model/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/_model/core.py (renamed from silx/gui/plot3d/_model/core.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/_model/items.py | 1759 | ||||
-rw-r--r-- | src/silx/gui/plot3d/_model/model.py (renamed from silx/gui/plot3d/_model/model.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/actions/Plot3DAction.py (renamed from silx/gui/plot3d/actions/Plot3DAction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/actions/__init__.py (renamed from silx/gui/plot3d/actions/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/actions/io.py | 337 | ||||
-rw-r--r-- | src/silx/gui/plot3d/actions/mode.py | 178 | ||||
-rw-r--r-- | src/silx/gui/plot3d/actions/viewpoint.py (renamed from silx/gui/plot3d/actions/viewpoint.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/conftest.py | 5 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/__init__.py (renamed from silx/gui/plot3d/items/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/_pick.py (renamed from silx/gui/plot3d/items/_pick.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/clipplane.py (renamed from silx/gui/plot3d/items/clipplane.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/core.py | 778 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/image.py | 425 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/mesh.py (renamed from silx/gui/plot3d/items/mesh.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/mixins.py (renamed from silx/gui/plot3d/items/mixins.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/scatter.py (renamed from silx/gui/plot3d/items/scatter.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/items/volume.py (renamed from silx/gui/plot3d/items/volume.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/__init__.py (renamed from silx/gui/plot3d/scene/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/axes.py (renamed from silx/gui/plot3d/scene/axes.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/camera.py (renamed from silx/gui/plot3d/scene/camera.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/core.py (renamed from silx/gui/plot3d/scene/core.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/cutplane.py (renamed from silx/gui/plot3d/scene/cutplane.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/event.py (renamed from silx/gui/plot3d/scene/event.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/function.py (renamed from silx/gui/plot3d/scene/function.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/interaction.py (renamed from silx/gui/plot3d/scene/interaction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/primitives.py (renamed from silx/gui/plot3d/scene/primitives.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/test/test_transform.py | 80 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/test/test_utils.py | 258 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/text.py (renamed from silx/gui/plot3d/scene/text.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/transform.py (renamed from silx/gui/plot3d/scene/transform.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/utils.py (renamed from silx/gui/plot3d/scene/utils.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/viewport.py (renamed from silx/gui/plot3d/scene/viewport.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/scene/window.py | 433 | ||||
-rw-r--r-- | src/silx/gui/plot3d/setup.py (renamed from silx/gui/plot3d/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/__init__.py | 25 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testGL.py | 73 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testScalarFieldView.py | 128 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testSceneWidget.py | 72 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testSceneWidgetPicking.py | 314 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testSceneWindow.py | 233 | ||||
-rw-r--r-- | src/silx/gui/plot3d/test/testStatsWidget.py | 201 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/GroupPropertiesWidget.py | 202 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/PositionInfoWidget.py | 225 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/ViewpointTools.py (renamed from silx/gui/plot3d/tools/ViewpointTools.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/__init__.py (renamed from silx/gui/plot3d/tools/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/test/__init__.py | 25 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/test/testPositionInfoWidget.py | 89 | ||||
-rw-r--r-- | src/silx/gui/plot3d/tools/toolbars.py (renamed from silx/gui/plot3d/tools/toolbars.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/utils/__init__.py (renamed from silx/gui/plot3d/utils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/plot3d/utils/mng.py (renamed from silx/gui/plot3d/utils/mng.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/printer.py (renamed from silx/gui/printer.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/qt/__init__.py | 54 | ||||
-rw-r--r-- | src/silx/gui/qt/_pyside_dynamic.py | 235 | ||||
-rw-r--r-- | src/silx/gui/qt/_qt.py | 232 | ||||
-rw-r--r-- | src/silx/gui/qt/_utils.py | 68 | ||||
-rw-r--r-- | src/silx/gui/qt/inspect.py | 75 | ||||
-rw-r--r-- | src/silx/gui/setup.py (renamed from silx/gui/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/test/__init__.py | 24 | ||||
-rwxr-xr-x | src/silx/gui/test/test_colors.py | 603 | ||||
-rw-r--r-- | src/silx/gui/test/test_console.py | 75 | ||||
-rw-r--r-- | src/silx/gui/test/test_icons.py | 144 | ||||
-rw-r--r-- | src/silx/gui/test/test_qt.py | 212 | ||||
-rw-r--r-- | src/silx/gui/test/utils.py (renamed from silx/gui/test/utils.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/utils/__init__.py (renamed from silx/gui/utils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/utils/concurrent.py (renamed from silx/gui/utils/concurrent.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/utils/glutils/__init__.py | 199 | ||||
-rw-r--r-- | src/silx/gui/utils/image.py | 143 | ||||
-rw-r--r-- | src/silx/gui/utils/matplotlib.py | 65 | ||||
-rw-r--r-- | src/silx/gui/utils/projecturl.py (renamed from silx/gui/utils/projecturl.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/utils/qtutils.py (renamed from silx/gui/utils/qtutils.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/utils/signal.py (renamed from silx/gui/utils/signal.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/utils/test/__init__.py | 25 | ||||
-rw-r--r-- | src/silx/gui/utils/test/test.py | 63 | ||||
-rw-r--r-- | src/silx/gui/utils/test/test_async.py | 127 | ||||
-rw-r--r-- | src/silx/gui/utils/test/test_glutils.py | 55 | ||||
-rw-r--r-- | src/silx/gui/utils/test/test_image.py | 79 | ||||
-rwxr-xr-x | src/silx/gui/utils/test/test_qtutils.py | 65 | ||||
-rw-r--r-- | src/silx/gui/utils/test/test_testutils.py | 44 | ||||
-rw-r--r-- | src/silx/gui/utils/testutils.py | 508 | ||||
-rw-r--r-- | src/silx/gui/widgets/BoxLayoutDockWidget.py (renamed from silx/gui/widgets/BoxLayoutDockWidget.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/ColormapNameComboBox.py (renamed from silx/gui/widgets/ColormapNameComboBox.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/ElidedLabel.py | 140 | ||||
-rw-r--r-- | src/silx/gui/widgets/FloatEdit.py | 71 | ||||
-rw-r--r-- | src/silx/gui/widgets/FlowLayout.py (renamed from silx/gui/widgets/FlowLayout.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/FrameBrowser.py (renamed from silx/gui/widgets/FrameBrowser.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/HierarchicalTableView.py (renamed from silx/gui/widgets/HierarchicalTableView.py) | 0 | ||||
-rwxr-xr-x | src/silx/gui/widgets/LegendIconWidget.py (renamed from silx/gui/widgets/LegendIconWidget.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/MedianFilterDialog.py (renamed from silx/gui/widgets/MedianFilterDialog.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/MultiModeAction.py (renamed from silx/gui/widgets/MultiModeAction.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/PeriodicTable.py | 831 | ||||
-rw-r--r-- | src/silx/gui/widgets/PrintGeometryDialog.py | 222 | ||||
-rw-r--r-- | src/silx/gui/widgets/PrintPreview.py | 697 | ||||
-rw-r--r-- | src/silx/gui/widgets/RangeSlider.py | 776 | ||||
-rw-r--r-- | src/silx/gui/widgets/TableWidget.py | 626 | ||||
-rw-r--r-- | src/silx/gui/widgets/ThreadPoolPushButton.py (renamed from silx/gui/widgets/ThreadPoolPushButton.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/UrlSelectionTable.py | 169 | ||||
-rw-r--r-- | src/silx/gui/widgets/WaitingPushButton.py | 241 | ||||
-rw-r--r-- | src/silx/gui/widgets/__init__.py (renamed from silx/gui/widgets/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/setup.py (renamed from silx/gui/widgets/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_boxlayoutdockwidget.py | 72 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_elidedlabel.py | 100 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_flowlayout.py | 66 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_framebrowser.py | 62 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_hierarchicaltableview.py | 103 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_legendiconwidget.py | 63 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_periodictable.py | 148 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_printpreview.py | 63 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_rangeslider.py | 103 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_tablewidget.py | 50 | ||||
-rw-r--r-- | src/silx/gui/widgets/test/test_threadpoolpushbutton.py | 124 | ||||
-rw-r--r-- | src/silx/image/__init__.py (renamed from silx/image/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/image/_boundingbox.py (renamed from silx/image/_boundingbox.py) | 0 | ||||
-rw-r--r-- | src/silx/image/backprojection.py (renamed from silx/image/backprojection.py) | 0 | ||||
-rw-r--r-- | src/silx/image/bilinear.pyx (renamed from silx/image/bilinear.pyx) | 0 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/__init__.py (renamed from silx/image/marchingsquares/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/_mergeimpl.pyx (renamed from silx/image/marchingsquares/_mergeimpl.pyx) | 0 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/_skimage.py (renamed from silx/image/marchingsquares/_skimage.py) | 0 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/include/patterns.h (renamed from silx/image/marchingsquares/include/patterns.h) | 0 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/setup.py | 51 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/test/test_funcapi.py | 92 | ||||
-rw-r--r-- | src/silx/image/marchingsquares/test/test_mergeimpl.py | 264 | ||||
-rw-r--r-- | src/silx/image/medianfilter.py (renamed from silx/image/medianfilter.py) | 0 | ||||
-rw-r--r-- | src/silx/image/phantomgenerator.py (renamed from silx/image/phantomgenerator.py) | 0 | ||||
-rw-r--r-- | src/silx/image/projection.py (renamed from silx/image/projection.py) | 0 | ||||
-rw-r--r-- | src/silx/image/reconstruction.py (renamed from silx/image/reconstruction.py) | 0 | ||||
-rw-r--r-- | src/silx/image/setup.py (renamed from silx/image/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/image/shapes.pyx (renamed from silx/image/shapes.pyx) | 0 | ||||
-rw-r--r-- | src/silx/image/sift.py (renamed from silx/image/sift.py) | 0 | ||||
-rw-r--r-- | src/silx/image/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/image/test/test_bb.py | 74 | ||||
-rw-r--r-- | src/silx/image/test/test_bilinear.py | 167 | ||||
-rw-r--r-- | src/silx/image/test/test_medianfilter.py | 64 | ||||
-rw-r--r-- | src/silx/image/test/test_shapes.py | 354 | ||||
-rw-r--r-- | src/silx/image/test/test_tomography.py | 54 | ||||
-rw-r--r-- | src/silx/image/tomography.py (renamed from silx/image/tomography.py) | 0 | ||||
-rw-r--r-- | src/silx/image/utils.py (renamed from silx/image/utils.py) | 0 | ||||
-rw-r--r-- | src/silx/io/__init__.py (renamed from silx/io/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/io/commonh5.py | 1061 | ||||
-rw-r--r-- | src/silx/io/configdict.py (renamed from silx/io/configdict.py) | 0 | ||||
-rw-r--r-- | src/silx/io/convert.py | 335 | ||||
-rw-r--r-- | src/silx/io/dictdump.py | 843 | ||||
-rwxr-xr-x | src/silx/io/fabioh5.py | 1050 | ||||
-rw-r--r-- | src/silx/io/fioh5.py | 490 | ||||
-rw-r--r-- | src/silx/io/h5py_utils.py | 440 | ||||
-rw-r--r-- | src/silx/io/nxdata/__init__.py (renamed from silx/io/nxdata/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/io/nxdata/_utils.py | 183 | ||||
-rw-r--r-- | src/silx/io/nxdata/parse.py | 1004 | ||||
-rw-r--r-- | src/silx/io/nxdata/write.py | 202 | ||||
-rw-r--r-- | src/silx/io/octaveh5.py (renamed from silx/io/octaveh5.py) | 0 | ||||
-rw-r--r-- | src/silx/io/rawh5.py (renamed from silx/io/rawh5.py) | 0 | ||||
-rw-r--r-- | src/silx/io/setup.py (renamed from silx/io/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile.pyx | 1268 | ||||
-rw-r--r-- | src/silx/io/specfile/include/Lists.h (renamed from silx/io/specfile/include/Lists.h) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/include/SpecFile.h (renamed from silx/io/specfile/include/SpecFile.h) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/include/SpecFileCython.h (renamed from silx/io/specfile/include/SpecFileCython.h) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/include/SpecFileP.h (renamed from silx/io/specfile/include/SpecFileP.h) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/include/locale_management.h (renamed from silx/io/specfile/include/locale_management.h) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/locale_management.c (renamed from silx/io/specfile/src/locale_management.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfdata.c (renamed from silx/io/specfile/src/sfdata.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfheader.c (renamed from silx/io/specfile/src/sfheader.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfindex.c (renamed from silx/io/specfile/src/sfindex.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfinit.c (renamed from silx/io/specfile/src/sfinit.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sflabel.c (renamed from silx/io/specfile/src/sflabel.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sflists.c (renamed from silx/io/specfile/src/sflists.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfmca.c (renamed from silx/io/specfile/src/sfmca.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sftools.c (renamed from silx/io/specfile/src/sftools.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile/src/sfwrite.c (renamed from silx/io/specfile/src/sfwrite.c) | 0 | ||||
-rw-r--r-- | src/silx/io/specfile_wrapper.pxd (renamed from silx/io/specfile_wrapper.pxd) | 0 | ||||
-rw-r--r-- | src/silx/io/specfilewrapper.py (renamed from silx/io/specfilewrapper.py) | 0 | ||||
-rw-r--r-- | src/silx/io/spech5.py | 907 | ||||
-rw-r--r-- | src/silx/io/spectoh5.py (renamed from silx/io/spectoh5.py) | 0 | ||||
-rw-r--r-- | src/silx/io/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/io/test/test_commonh5.py | 285 | ||||
-rw-r--r-- | src/silx/io/test/test_dictdump.py | 1009 | ||||
-rwxr-xr-x | src/silx/io/test/test_fabioh5.py | 615 | ||||
-rw-r--r-- | src/silx/io/test/test_fioh5.py | 299 | ||||
-rw-r--r-- | src/silx/io/test/test_h5py_utils.py | 451 | ||||
-rw-r--r-- | src/silx/io/test/test_nxdata.py | 563 | ||||
-rw-r--r-- | src/silx/io/test/test_octaveh5.py | 156 | ||||
-rw-r--r-- | src/silx/io/test/test_rawh5.py | 85 | ||||
-rw-r--r-- | src/silx/io/test/test_specfile.py | 420 | ||||
-rw-r--r-- | src/silx/io/test/test_specfilewrapper.py | 195 | ||||
-rw-r--r-- | src/silx/io/test/test_spech5.py | 929 | ||||
-rw-r--r-- | src/silx/io/test/test_spectoh5.py | 183 | ||||
-rw-r--r-- | src/silx/io/test/test_url.py | 217 | ||||
-rw-r--r-- | src/silx/io/test/test_utils.py | 923 | ||||
-rw-r--r-- | src/silx/io/test/test_write_to_h5.py | 118 | ||||
-rw-r--r-- | src/silx/io/url.py | 388 | ||||
-rw-r--r-- | src/silx/io/utils.py | 1185 | ||||
-rw-r--r-- | src/silx/math/__init__.py (renamed from silx/math/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/math/_colormap.pyx | 571 | ||||
-rw-r--r-- | src/silx/math/calibration.py (renamed from silx/math/calibration.py) | 0 | ||||
-rw-r--r-- | src/silx/math/chistogramnd.pyx (renamed from silx/math/chistogramnd.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/chistogramnd_lut.pyx (renamed from silx/math/chistogramnd_lut.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/colormap.py | 450 | ||||
-rw-r--r-- | src/silx/math/combo.pyx (renamed from silx/math/combo.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/__init__.py (renamed from silx/math/fft/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/basefft.py (renamed from silx/math/fft/basefft.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/clfft.py (renamed from silx/math/fft/clfft.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/cufft.py (renamed from silx/math/fft/cufft.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/fft.py (renamed from silx/math/fft/fft.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/fftw.py (renamed from silx/math/fft/fftw.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/npfft.py (renamed from silx/math/fft/npfft.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/setup.py (renamed from silx/math/fft/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fft/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/math/fft/test/test_fft.py | 257 | ||||
-rw-r--r-- | src/silx/math/fit/__init__.py (renamed from silx/math/fit/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/bgtheories.py (renamed from silx/math/fit/bgtheories.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters.pyx (renamed from silx/math/fit/filters.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/include/filters.h (renamed from silx/math/fit/filters/include/filters.h) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/src/smoothnd.c (renamed from silx/math/fit/filters/src/smoothnd.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/src/snip1d.c (renamed from silx/math/fit/filters/src/snip1d.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/src/snip2d.c (renamed from silx/math/fit/filters/src/snip2d.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/src/snip3d.c (renamed from silx/math/fit/filters/src/snip3d.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters/src/strip.c (renamed from silx/math/fit/filters/src/strip.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/filters_wrapper.pxd (renamed from silx/math/fit/filters_wrapper.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/fitmanager.py | 1087 | ||||
-rw-r--r-- | src/silx/math/fit/fittheories.py | 1374 | ||||
-rw-r--r-- | src/silx/math/fit/fittheory.py (renamed from silx/math/fit/fittheory.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/functions.pyx (renamed from silx/math/fit/functions.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/functions/include/functions.h (renamed from silx/math/fit/functions/include/functions.h) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/functions/src/funs.c (renamed from silx/math/fit/functions/src/funs.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/functions_wrapper.pxd (renamed from silx/math/fit/functions_wrapper.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/leastsq.py (renamed from silx/math/fit/leastsq.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/peaks.pyx (renamed from silx/math/fit/peaks.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/peaks/include/peaks.h (renamed from silx/math/fit/peaks/include/peaks.h) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/peaks/src/peaks.c (renamed from silx/math/fit/peaks/src/peaks.c) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/peaks_wrapper.pxd (renamed from silx/math/fit/peaks_wrapper.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/setup.py (renamed from silx/math/fit/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/math/fit/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_bgtheories.py | 154 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_filters.py | 122 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_fit.py | 373 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_fitmanager.py | 498 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_functions.py | 259 | ||||
-rw-r--r-- | src/silx/math/fit/test/test_peaks.py | 132 | ||||
-rw-r--r-- | src/silx/math/histogram.py (renamed from silx/math/histogram.py) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd/include/histogramnd_c.h (renamed from silx/math/histogramnd/include/histogramnd_c.h) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd/include/msvc/stdint.h (renamed from silx/math/histogramnd/include/msvc/stdint.h) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd/include/templates.h (renamed from silx/math/histogramnd/include/templates.h) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd/src/histogramnd_c.c (renamed from silx/math/histogramnd/src/histogramnd_c.c) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd/src/histogramnd_template.c (renamed from silx/math/histogramnd/src/histogramnd_template.c) | 0 | ||||
-rw-r--r-- | src/silx/math/histogramnd_c.pxd (renamed from silx/math/histogramnd_c.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/include/math_compatibility.h (renamed from silx/math/include/math_compatibility.h) | 0 | ||||
-rw-r--r-- | src/silx/math/interpolate.pyx (renamed from silx/math/interpolate.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/marchingcubes.pyx (renamed from silx/math/marchingcubes.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/marchingcubes/mc.hpp (renamed from silx/math/marchingcubes/mc.hpp) | 0 | ||||
-rw-r--r-- | src/silx/math/marchingcubes/mc_lut.cpp (renamed from silx/math/marchingcubes/mc_lut.cpp) | 0 | ||||
-rw-r--r-- | src/silx/math/math_compatibility.pxd (renamed from silx/math/math_compatibility.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/mc.pxd (renamed from silx/math/mc.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/__init__.py (renamed from silx/math/medianfilter/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/include/median_filter.hpp (renamed from silx/math/medianfilter/include/median_filter.hpp) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/median_filter.pxd (renamed from silx/math/medianfilter/median_filter.pxd) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/medianfilter.pyx (renamed from silx/math/medianfilter/medianfilter.pyx) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/setup.py (renamed from silx/math/medianfilter/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/math/medianfilter/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/math/medianfilter/test/benchmark.py | 122 | ||||
-rw-r--r-- | src/silx/math/medianfilter/test/test_medianfilter.py | 722 | ||||
-rw-r--r-- | src/silx/math/setup.py | 99 | ||||
-rw-r--r-- | src/silx/math/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/math/test/benchmark_combo.py | 192 | ||||
-rw-r--r-- | src/silx/math/test/histo_benchmarks.py (renamed from silx/math/test/histo_benchmarks.py) | 0 | ||||
-rw-r--r-- | src/silx/math/test/test_HistogramndLut_nominal.py | 571 | ||||
-rw-r--r-- | src/silx/math/test/test_calibration.py | 145 | ||||
-rw-r--r-- | src/silx/math/test/test_colormap.py | 269 | ||||
-rw-r--r-- | src/silx/math/test/test_combo.py | 207 | ||||
-rw-r--r-- | src/silx/math/test/test_histogramnd_error.py | 519 | ||||
-rw-r--r-- | src/silx/math/test/test_histogramnd_nominal.py | 937 | ||||
-rw-r--r-- | src/silx/math/test/test_histogramnd_vs_np.py | 826 | ||||
-rw-r--r-- | src/silx/math/test/test_interpolate.py | 125 | ||||
-rw-r--r-- | src/silx/math/test/test_marchingcubes.py | 174 | ||||
-rw-r--r-- | src/silx/opencl/__init__.py (renamed from silx/opencl/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/backprojection.py (renamed from silx/opencl/backprojection.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/codec/__init__.py (renamed from silx/opencl/codec/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/codec/byte_offset.py (renamed from silx/opencl/codec/byte_offset.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/codec/setup.py (renamed from silx/opencl/codec/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/codec/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/opencl/codec/test/test_byte_offset.py | 303 | ||||
-rw-r--r-- | src/silx/opencl/common.py | 692 | ||||
-rw-r--r-- | src/silx/opencl/conftest.py | 5 | ||||
-rw-r--r-- | src/silx/opencl/convolution.py (renamed from silx/opencl/convolution.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/image.py (renamed from silx/opencl/image.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/linalg.py (renamed from silx/opencl/linalg.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/medfilt.py (renamed from silx/opencl/medfilt.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/processing.py (renamed from silx/opencl/processing.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/projection.py (renamed from silx/opencl/projection.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/reconstruction.py (renamed from silx/opencl/reconstruction.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/setup.py (renamed from silx/opencl/setup.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/sinofilter.py (renamed from silx/opencl/sinofilter.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/sparse.py (renamed from silx/opencl/sparse.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/statistics.py (renamed from silx/opencl/statistics.py) | 0 | ||||
-rw-r--r-- | src/silx/opencl/test/__init__.py | 23 | ||||
-rw-r--r-- | src/silx/opencl/test/test_addition.py | 140 | ||||
-rw-r--r-- | src/silx/opencl/test/test_array_utils.py | 152 | ||||
-rw-r--r-- | src/silx/opencl/test/test_backprojection.py | 217 | ||||
-rw-r--r-- | src/silx/opencl/test/test_convolution.py | 280 | ||||
-rw-r--r-- | src/silx/opencl/test/test_doubleword.py | 244 | ||||
-rw-r--r-- | src/silx/opencl/test/test_image.py | 125 | ||||
-rw-r--r-- | src/silx/opencl/test/test_kahan.py | 254 | ||||
-rw-r--r-- | src/silx/opencl/test/test_linalg.py | 204 | ||||
-rw-r--r-- | src/silx/opencl/test/test_medfilt.py | 162 | ||||
-rw-r--r-- | src/silx/opencl/test/test_projection.py | 121 | ||||
-rw-r--r-- | src/silx/opencl/test/test_sparse.py | 188 | ||||
-rw-r--r-- | src/silx/opencl/test/test_stats.py | 106 | ||||
-rw-r--r-- | src/silx/opencl/utils.py (renamed from silx/opencl/utils.py) | 0 | ||||
-rw-r--r-- | src/silx/resources/__init__.py (renamed from silx/resources/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/colormaps/cividis.npy (renamed from silx/resources/gui/colormaps/cividis.npy) | bin | 3200 -> 3200 bytes | |||
-rw-r--r-- | src/silx/resources/gui/colormaps/inferno.npy (renamed from silx/resources/gui/colormaps/inferno.npy) | bin | 3152 -> 3152 bytes | |||
-rw-r--r-- | src/silx/resources/gui/colormaps/magma.npy (renamed from silx/resources/gui/colormaps/magma.npy) | bin | 3152 -> 3152 bytes | |||
-rw-r--r-- | src/silx/resources/gui/colormaps/plasma.npy (renamed from silx/resources/gui/colormaps/plasma.npy) | bin | 3152 -> 3152 bytes | |||
-rw-r--r-- | src/silx/resources/gui/colormaps/viridis.npy (renamed from silx/resources/gui/colormaps/viridis.npy) | bin | 3152 -> 3152 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-x.png (renamed from silx/resources/gui/icons/3d-plane-normal-x.png) | bin | 743 -> 743 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-x.svg (renamed from silx/resources/gui/icons/3d-plane-normal-x.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-y.png (renamed from silx/resources/gui/icons/3d-plane-normal-y.png) | bin | 791 -> 791 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-y.svg (renamed from silx/resources/gui/icons/3d-plane-normal-y.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-z.png (renamed from silx/resources/gui/icons/3d-plane-normal-z.png) | bin | 681 -> 681 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-normal-z.svg (renamed from silx/resources/gui/icons/3d-plane-normal-z.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-pan.png (renamed from silx/resources/gui/icons/3d-plane-pan.png) | bin | 1428 -> 1428 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane-pan.svg (renamed from silx/resources/gui/icons/3d-plane-pan.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane.png (renamed from silx/resources/gui/icons/3d-plane.png) | bin | 1134 -> 1134 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/3d-plane.svg (renamed from silx/resources/gui/icons/3d-plane.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-range-horizontal.png (renamed from silx/resources/gui/icons/add-range-horizontal.png) | bin | 560 -> 560 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-range-horizontal.svg (renamed from silx/resources/gui/icons/add-range-horizontal.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-arc.png (renamed from silx/resources/gui/icons/add-shape-arc.png) | bin | 1164 -> 1164 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-arc.svg (renamed from silx/resources/gui/icons/add-shape-arc.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-circle.png (renamed from silx/resources/gui/icons/add-shape-circle.png) | bin | 1238 -> 1238 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-circle.svg (renamed from silx/resources/gui/icons/add-shape-circle.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-cross.png (renamed from silx/resources/gui/icons/add-shape-cross.png) | bin | 501 -> 501 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-cross.svg (renamed from silx/resources/gui/icons/add-shape-cross.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-diagonal.png (renamed from silx/resources/gui/icons/add-shape-diagonal.png) | bin | 626 -> 626 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-diagonal.svg (renamed from silx/resources/gui/icons/add-shape-diagonal.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-ellipse.png (renamed from silx/resources/gui/icons/add-shape-ellipse.png) | bin | 1180 -> 1180 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-ellipse.svg (renamed from silx/resources/gui/icons/add-shape-ellipse.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-horizontal.png (renamed from silx/resources/gui/icons/add-shape-horizontal.png) | bin | 408 -> 408 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-horizontal.svg (renamed from silx/resources/gui/icons/add-shape-horizontal.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-point.png (renamed from silx/resources/gui/icons/add-shape-point.png) | bin | 482 -> 482 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-point.svg (renamed from silx/resources/gui/icons/add-shape-point.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-polygon.png (renamed from silx/resources/gui/icons/add-shape-polygon.png) | bin | 1217 -> 1217 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-polygon.svg (renamed from silx/resources/gui/icons/add-shape-polygon.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-rectangle.png (renamed from silx/resources/gui/icons/add-shape-rectangle.png) | bin | 463 -> 463 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-rectangle.svg (renamed from silx/resources/gui/icons/add-shape-rectangle.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-unknown.png (renamed from silx/resources/gui/icons/add-shape-unknown.png) | bin | 1506 -> 1506 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-unknown.svg (renamed from silx/resources/gui/icons/add-shape-unknown.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-vertical.png (renamed from silx/resources/gui/icons/add-shape-vertical.png) | bin | 422 -> 422 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add-shape-vertical.svg (renamed from silx/resources/gui/icons/add-shape-vertical.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/add.png (renamed from silx/resources/gui/icons/add.png) | bin | 470 -> 470 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/add.svg (renamed from silx/resources/gui/icons/add.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/aggregation-mode.png | bin | 0 -> 826 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/aggregation-mode.svg | 4 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/arrow-keys.png (renamed from silx/resources/gui/icons/arrow-keys.png) | bin | 669 -> 669 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/arrow-keys.svg (renamed from silx/resources/gui/icons/arrow-keys.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/axis.png (renamed from silx/resources/gui/icons/axis.png) | bin | 1740 -> 1740 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/axis.svg (renamed from silx/resources/gui/icons/axis.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/backend-opengl.png (renamed from silx/resources/gui/icons/backend-opengl.png) | bin | 1582 -> 1582 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/backend-opengl.svg (renamed from silx/resources/gui/icons/backend-opengl.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/camera.png (renamed from silx/resources/gui/icons/camera.png) | bin | 348 -> 348 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/camera.svg (renamed from silx/resources/gui/icons/camera.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/clipboard.png (renamed from silx/resources/gui/icons/clipboard.png) | bin | 736 -> 736 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/clipboard.svg (renamed from silx/resources/gui/icons/clipboard.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/close.png (renamed from silx/resources/gui/icons/close.png) | bin | 2243 -> 2243 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/close.svg (renamed from silx/resources/gui/icons/close.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colorbar.png (renamed from silx/resources/gui/icons/colorbar.png) | bin | 657 -> 657 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colorbar.svg (renamed from silx/resources/gui/icons/colorbar.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-histogram.png (renamed from silx/resources/gui/icons/colormap-histogram.png) | bin | 641 -> 641 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-histogram.svg (renamed from silx/resources/gui/icons/colormap-histogram.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-none.png (renamed from silx/resources/gui/icons/colormap-none.png) | bin | 232 -> 232 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-none.svg (renamed from silx/resources/gui/icons/colormap-none.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-arcsinh.png (renamed from silx/resources/gui/icons/colormap-norm-arcsinh.png) | bin | 648 -> 648 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-arcsinh.svg (renamed from silx/resources/gui/icons/colormap-norm-arcsinh.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-gamma.png (renamed from silx/resources/gui/icons/colormap-norm-gamma.png) | bin | 994 -> 994 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-gamma.svg (renamed from silx/resources/gui/icons/colormap-norm-gamma.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-linear.png (renamed from silx/resources/gui/icons/colormap-norm-linear.png) | bin | 675 -> 675 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-linear.svg (renamed from silx/resources/gui/icons/colormap-norm-linear.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-log.png (renamed from silx/resources/gui/icons/colormap-norm-log.png) | bin | 512 -> 512 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-log.svg (renamed from silx/resources/gui/icons/colormap-norm-log.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-sqrt.png (renamed from silx/resources/gui/icons/colormap-norm-sqrt.png) | bin | 569 -> 569 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-norm-sqrt.svg (renamed from silx/resources/gui/icons/colormap-norm-sqrt.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-range.png (renamed from silx/resources/gui/icons/colormap-range.png) | bin | 284 -> 284 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap-range.svg (renamed from silx/resources/gui/icons/colormap-range.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/colormap.png (renamed from silx/resources/gui/icons/colormap.png) | bin | 1583 -> 1583 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/colormap.svg (renamed from silx/resources/gui/icons/colormap.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-auto.png (renamed from silx/resources/gui/icons/compare-align-auto.png) | bin | 1446 -> 1446 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-auto.svg | 4 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-center.png (renamed from silx/resources/gui/icons/compare-align-center.png) | bin | 716 -> 716 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-center.svg | 4 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-origin.png (renamed from silx/resources/gui/icons/compare-align-origin.png) | bin | 728 -> 728 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-origin.svg | 4 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-stretch.png (renamed from silx/resources/gui/icons/compare-align-stretch.png) | bin | 903 -> 903 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-align-stretch.svg | 4 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-keypoints.png (renamed from silx/resources/gui/icons/compare-keypoints.png) | bin | 616 -> 616 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-keypoints.svg (renamed from silx/resources/gui/icons/compare-keypoints.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-a-minus-b.png (renamed from silx/resources/gui/icons/compare-mode-a-minus-b.png) | bin | 3862 -> 3862 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-a-minus-b.svg (renamed from silx/resources/gui/icons/compare-mode-a-minus-b.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-a.png (renamed from silx/resources/gui/icons/compare-mode-a.png) | bin | 803 -> 803 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-a.svg (renamed from silx/resources/gui/icons/compare-mode-a.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-b.png (renamed from silx/resources/gui/icons/compare-mode-b.png) | bin | 740 -> 740 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-b.svg (renamed from silx/resources/gui/icons/compare-mode-b.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-hline.png (renamed from silx/resources/gui/icons/compare-mode-hline.png) | bin | 902 -> 902 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-hline.svg (renamed from silx/resources/gui/icons/compare-mode-hline.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-rb-channel.png (renamed from silx/resources/gui/icons/compare-mode-rb-channel.png) | bin | 1269 -> 1269 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-rb-channel.svg (renamed from silx/resources/gui/icons/compare-mode-rb-channel.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-rbneg-channel.png (renamed from silx/resources/gui/icons/compare-mode-rbneg-channel.png) | bin | 1260 -> 1260 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-rbneg-channel.svg (renamed from silx/resources/gui/icons/compare-mode-rbneg-channel.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-vline.png (renamed from silx/resources/gui/icons/compare-mode-vline.png) | bin | 1079 -> 1079 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/compare-mode-vline.svg (renamed from silx/resources/gui/icons/compare-mode-vline.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/crop.png (renamed from silx/resources/gui/icons/crop.png) | bin | 642 -> 642 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/crop.svg (renamed from silx/resources/gui/icons/crop.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/crosshair.png (renamed from silx/resources/gui/icons/crosshair.png) | bin | 1196 -> 1196 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/crosshair.svg (renamed from silx/resources/gui/icons/crosshair.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-back.png (renamed from silx/resources/gui/icons/cube-back.png) | bin | 737 -> 737 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-back.svg (renamed from silx/resources/gui/icons/cube-back.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-bottom.png (renamed from silx/resources/gui/icons/cube-bottom.png) | bin | 833 -> 833 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-bottom.svg (renamed from silx/resources/gui/icons/cube-bottom.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-front.png (renamed from silx/resources/gui/icons/cube-front.png) | bin | 708 -> 708 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-front.svg (renamed from silx/resources/gui/icons/cube-front.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-left.png (renamed from silx/resources/gui/icons/cube-left.png) | bin | 712 -> 712 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-left.svg (renamed from silx/resources/gui/icons/cube-left.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-right.png (renamed from silx/resources/gui/icons/cube-right.png) | bin | 701 -> 701 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-right.svg (renamed from silx/resources/gui/icons/cube-right.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-rotate.png (renamed from silx/resources/gui/icons/cube-rotate.png) | bin | 955 -> 955 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-rotate.svg (renamed from silx/resources/gui/icons/cube-rotate.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube-top.png (renamed from silx/resources/gui/icons/cube-top.png) | bin | 767 -> 767 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube-top.svg (renamed from silx/resources/gui/icons/cube-top.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/cube.png (renamed from silx/resources/gui/icons/cube.png) | bin | 953 -> 953 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/cube.svg (renamed from silx/resources/gui/icons/cube.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-description.png (renamed from silx/resources/gui/icons/description-description.png) | bin | 756 -> 756 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-description.svg (renamed from silx/resources/gui/icons/description-description.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-error.png (renamed from silx/resources/gui/icons/description-error.png) | bin | 952 -> 952 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-error.svg (renamed from silx/resources/gui/icons/description-error.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-name.png (renamed from silx/resources/gui/icons/description-name.png) | bin | 822 -> 822 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-name.svg (renamed from silx/resources/gui/icons/description-name.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-program.png (renamed from silx/resources/gui/icons/description-program.png) | bin | 767 -> 767 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-program.svg (renamed from silx/resources/gui/icons/description-program.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-title.png (renamed from silx/resources/gui/icons/description-title.png) | bin | 707 -> 707 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-title.svg (renamed from silx/resources/gui/icons/description-title.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/description-value.png (renamed from silx/resources/gui/icons/description-value.png) | bin | 833 -> 833 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/description-value.svg (renamed from silx/resources/gui/icons/description-value.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/document-open.png (renamed from silx/resources/gui/icons/document-open.png) | bin | 2676 -> 2676 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/document-open.svg (renamed from silx/resources/gui/icons/document-open.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/document-print.png (renamed from silx/resources/gui/icons/document-print.png) | bin | 702 -> 702 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/document-print.svg (renamed from silx/resources/gui/icons/document-print.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/document-save.png (renamed from silx/resources/gui/icons/document-save.png) | bin | 535 -> 535 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/document-save.svg (renamed from silx/resources/gui/icons/document-save.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/draw-brush.png (renamed from silx/resources/gui/icons/draw-brush.png) | bin | 1466 -> 1466 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/draw-brush.svg (renamed from silx/resources/gui/icons/draw-brush.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/draw-pencil.png (renamed from silx/resources/gui/icons/draw-pencil.png) | bin | 1055 -> 1055 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/draw-pencil.svg (renamed from silx/resources/gui/icons/draw-pencil.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/draw-rubber.png (renamed from silx/resources/gui/icons/draw-rubber.png) | bin | 1154 -> 1154 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/draw-rubber.svg (renamed from silx/resources/gui/icons/draw-rubber.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/edit-copy.png (renamed from silx/resources/gui/icons/edit-copy.png) | bin | 2191 -> 2191 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/edit-copy.svg (renamed from silx/resources/gui/icons/edit-copy.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/eye.png (renamed from silx/resources/gui/icons/eye.png) | bin | 755 -> 755 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/eye.svg (renamed from silx/resources/gui/icons/eye.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/first.png (renamed from silx/resources/gui/icons/first.png) | bin | 1177 -> 1177 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/first.svg (renamed from silx/resources/gui/icons/first.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/folder.png (renamed from silx/resources/gui/icons/folder.png) | bin | 2583 -> 2583 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/folder.svg (renamed from silx/resources/gui/icons/folder.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/image-mask.png (renamed from silx/resources/gui/icons/image-mask.png) | bin | 852 -> 852 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-mask.svg (renamed from silx/resources/gui/icons/image-mask.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image-select-add.png (renamed from silx/resources/gui/icons/image-select-add.png) | bin | 2531 -> 2531 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-select-add.svg (renamed from silx/resources/gui/icons/image-select-add.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image-select-box.png (renamed from silx/resources/gui/icons/image-select-box.png) | bin | 3036 -> 3036 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-select-box.svg (renamed from silx/resources/gui/icons/image-select-box.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image-select-brush.png (renamed from silx/resources/gui/icons/image-select-brush.png) | bin | 3300 -> 3300 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-select-brush.svg (renamed from silx/resources/gui/icons/image-select-brush.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image-select-erase-rubber.png (renamed from silx/resources/gui/icons/image-select-erase-rubber.png) | bin | 1638 -> 1638 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-select-erase-rubber.svg (renamed from silx/resources/gui/icons/image-select-erase-rubber.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image-select-erase.png (renamed from silx/resources/gui/icons/image-select-erase.png) | bin | 2286 -> 2286 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image-select-erase.svg (renamed from silx/resources/gui/icons/image-select-erase.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/image.png (renamed from silx/resources/gui/icons/image.png) | bin | 2572 -> 2572 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/image.svg (renamed from silx/resources/gui/icons/image.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-0dim.png (renamed from silx/resources/gui/icons/item-0dim.png) | bin | 305 -> 305 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-0dim.svg (renamed from silx/resources/gui/icons/item-0dim.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-1dim.png (renamed from silx/resources/gui/icons/item-1dim.png) | bin | 674 -> 674 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-1dim.svg (renamed from silx/resources/gui/icons/item-1dim.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-2dim.png (renamed from silx/resources/gui/icons/item-2dim.png) | bin | 233 -> 233 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-2dim.svg (renamed from silx/resources/gui/icons/item-2dim.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-3dim.png (renamed from silx/resources/gui/icons/item-3dim.png) | bin | 582 -> 582 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-3dim.svg (renamed from silx/resources/gui/icons/item-3dim.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-ndim.png (renamed from silx/resources/gui/icons/item-ndim.png) | bin | 947 -> 947 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-ndim.svg (renamed from silx/resources/gui/icons/item-ndim.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-none.png (renamed from silx/resources/gui/icons/item-none.png) | bin | 637 -> 637 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-none.svg (renamed from silx/resources/gui/icons/item-none.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/item-object.png (renamed from silx/resources/gui/icons/item-object.png) | bin | 836 -> 836 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/item-object.svg (renamed from silx/resources/gui/icons/item-object.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/last.png (renamed from silx/resources/gui/icons/last.png) | bin | 1111 -> 1111 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/last.svg (renamed from silx/resources/gui/icons/last.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/layer-nx.png (renamed from silx/resources/gui/icons/layer-nx.png) | bin | 459 -> 459 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/layer-nx.svg (renamed from silx/resources/gui/icons/layer-nx.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/mask-clear-all.png (renamed from silx/resources/gui/icons/mask-clear-all.png) | bin | 1383 -> 1383 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/mask-clear-all.svg (renamed from silx/resources/gui/icons/mask-clear-all.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/mask-clear.png (renamed from silx/resources/gui/icons/mask-clear.png) | bin | 1086 -> 1086 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/mask-clear.svg (renamed from silx/resources/gui/icons/mask-clear.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/mask-invert.png (renamed from silx/resources/gui/icons/mask-invert.png) | bin | 717 -> 717 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/mask-invert.svg (renamed from silx/resources/gui/icons/mask-invert.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-amplitude.png (renamed from silx/resources/gui/icons/math-amplitude.png) | bin | 526 -> 526 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-amplitude.svg (renamed from silx/resources/gui/icons/math-amplitude.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-average.png (renamed from silx/resources/gui/icons/math-average.png) | bin | 571 -> 571 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-average.svg (renamed from silx/resources/gui/icons/math-average.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-derive.png (renamed from silx/resources/gui/icons/math-derive.png) | bin | 593 -> 593 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-derive.svg (renamed from silx/resources/gui/icons/math-derive.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-energy.png (renamed from silx/resources/gui/icons/math-energy.png) | bin | 645 -> 645 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-energy.svg (renamed from silx/resources/gui/icons/math-energy.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-fit.png (renamed from silx/resources/gui/icons/math-fit.png) | bin | 768 -> 768 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-fit.svg (renamed from silx/resources/gui/icons/math-fit.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-imaginary.png (renamed from silx/resources/gui/icons/math-imaginary.png) | bin | 630 -> 630 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-imaginary.svg (renamed from silx/resources/gui/icons/math-imaginary.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-mean.png (renamed from silx/resources/gui/icons/math-mean.png) | bin | 1487 -> 1487 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-mean.svg (renamed from silx/resources/gui/icons/math-mean.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-normalize.png (renamed from silx/resources/gui/icons/math-normalize.png) | bin | 653 -> 653 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-normalize.svg (renamed from silx/resources/gui/icons/math-normalize.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-peak-reset.png (renamed from silx/resources/gui/icons/math-peak-reset.png) | bin | 1420 -> 1420 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-peak-reset.svg (renamed from silx/resources/gui/icons/math-peak-reset.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-peak-search.png (renamed from silx/resources/gui/icons/math-peak-search.png) | bin | 2163 -> 2163 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-peak-search.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-peak.png (renamed from silx/resources/gui/icons/math-peak.png) | bin | 829 -> 829 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-peak.svg (renamed from silx/resources/gui/icons/math-peak.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase-color-log.png (renamed from silx/resources/gui/icons/math-phase-color-log.png) | bin | 2256 -> 2256 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase-color-log.svg (renamed from silx/resources/gui/icons/math-phase-color-log.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase-color.png (renamed from silx/resources/gui/icons/math-phase-color.png) | bin | 2127 -> 2127 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase-color.svg (renamed from silx/resources/gui/icons/math-phase-color.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase.png (renamed from silx/resources/gui/icons/math-phase.png) | bin | 1868 -> 1868 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-phase.svg (renamed from silx/resources/gui/icons/math-phase.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-real.png (renamed from silx/resources/gui/icons/math-real.png) | bin | 749 -> 749 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-real.svg (renamed from silx/resources/gui/icons/math-real.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-sigma.png (renamed from silx/resources/gui/icons/math-sigma.png) | bin | 744 -> 744 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-sigma.svg (renamed from silx/resources/gui/icons/math-sigma.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-smooth.png (renamed from silx/resources/gui/icons/math-smooth.png) | bin | 1243 -> 1243 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-smooth.svg (renamed from silx/resources/gui/icons/math-smooth.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/math-square-amplitude.png (renamed from silx/resources/gui/icons/math-square-amplitude.png) | bin | 592 -> 592 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-square-amplitude.svg (renamed from silx/resources/gui/icons/math-square-amplitude.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-substract.png (renamed from silx/resources/gui/icons/math-substract.png) | bin | 845 -> 845 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-substract.svg (renamed from silx/resources/gui/icons/math-substract.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-swap-sign.png (renamed from silx/resources/gui/icons/math-swap-sign.png) | bin | 1007 -> 1007 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-swap-sign.svg (renamed from silx/resources/gui/icons/math-swap-sign.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/math-ymin-to-zero.png (renamed from silx/resources/gui/icons/math-ymin-to-zero.png) | bin | 666 -> 666 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/math-ymin-to-zero.svg (renamed from silx/resources/gui/icons/math-ymin-to-zero.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/median-filter.png (renamed from silx/resources/gui/icons/median-filter.png) | bin | 694 -> 694 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/median-filter.svg (renamed from silx/resources/gui/icons/median-filter.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/next.png (renamed from silx/resources/gui/icons/next.png) | bin | 1092 -> 1092 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/next.svg (renamed from silx/resources/gui/icons/next.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/normal.png (renamed from silx/resources/gui/icons/normal.png) | bin | 1264 -> 1264 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/normal.svg (renamed from silx/resources/gui/icons/normal.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-axis-add.png (renamed from silx/resources/gui/icons/nxdata-axis-add.png) | bin | 686 -> 686 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-axis-add.svg (renamed from silx/resources/gui/icons/nxdata-axis-add.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-axis-remove.png (renamed from silx/resources/gui/icons/nxdata-axis-remove.png) | bin | 967 -> 967 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-axis-remove.svg (renamed from silx/resources/gui/icons/nxdata-axis-remove.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-create.png (renamed from silx/resources/gui/icons/nxdata-create.png) | bin | 867 -> 867 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-create.svg (renamed from silx/resources/gui/icons/nxdata-create.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-remove.png (renamed from silx/resources/gui/icons/nxdata-remove.png) | bin | 1265 -> 1265 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/nxdata-remove.svg (renamed from silx/resources/gui/icons/nxdata-remove.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/pan.png (renamed from silx/resources/gui/icons/pan.png) | bin | 526 -> 526 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/pan.svg (renamed from silx/resources/gui/icons/pan.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/pixel-intensities.png (renamed from silx/resources/gui/icons/pixel-intensities.png) | bin | 654 -> 654 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/pixel-intensities.svg (renamed from silx/resources/gui/icons/pixel-intensities.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-grid.png (renamed from silx/resources/gui/icons/plot-grid.png) | bin | 446 -> 446 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-grid.svg (renamed from silx/resources/gui/icons/plot-grid.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-above.png (renamed from silx/resources/gui/icons/plot-roi-above.png) | bin | 999 -> 999 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-above.svg (renamed from silx/resources/gui/icons/plot-roi-above.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-below.png (renamed from silx/resources/gui/icons/plot-roi-below.png) | bin | 988 -> 988 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-below.svg (renamed from silx/resources/gui/icons/plot-roi-below.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-between.png (renamed from silx/resources/gui/icons/plot-roi-between.png) | bin | 1021 -> 1021 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-between.svg (renamed from silx/resources/gui/icons/plot-roi-between.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-roi-reset.png (renamed from silx/resources/gui/icons/plot-roi-reset.png) | bin | 2063 -> 2063 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi-reset.svg (renamed from silx/resources/gui/icons/plot-roi-reset.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-roi.png (renamed from silx/resources/gui/icons/plot-roi.png) | bin | 903 -> 903 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-roi.svg (renamed from silx/resources/gui/icons/plot-roi.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/plot-symbols.png (renamed from silx/resources/gui/icons/plot-symbols.png) | bin | 672 -> 672 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-symbols.svg (renamed from silx/resources/gui/icons/plot-symbols.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-toggle-points.png (renamed from silx/resources/gui/icons/plot-toggle-points.png) | bin | 484 -> 484 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-toggle-points.svg (renamed from silx/resources/gui/icons/plot-toggle-points.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-widget.png (renamed from silx/resources/gui/icons/plot-widget.png) | bin | 1093 -> 1093 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-widget.svg (renamed from silx/resources/gui/icons/plot-widget.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-window-image.png (renamed from silx/resources/gui/icons/plot-window-image.png) | bin | 1188 -> 1188 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-window-image.svg (renamed from silx/resources/gui/icons/plot-window-image.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-window.png (renamed from silx/resources/gui/icons/plot-window.png) | bin | 955 -> 955 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-window.svg (renamed from silx/resources/gui/icons/plot-window.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-xauto.png (renamed from silx/resources/gui/icons/plot-xauto.png) | bin | 626 -> 626 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-xauto.svg (renamed from silx/resources/gui/icons/plot-xauto.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-xlog.png (renamed from silx/resources/gui/icons/plot-xlog.png) | bin | 679 -> 679 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-xlog.svg (renamed from silx/resources/gui/icons/plot-xlog.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-yauto.png (renamed from silx/resources/gui/icons/plot-yauto.png) | bin | 676 -> 676 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-yauto.svg (renamed from silx/resources/gui/icons/plot-yauto.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-ydown.png (renamed from silx/resources/gui/icons/plot-ydown.png) | bin | 701 -> 701 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-ydown.svg (renamed from silx/resources/gui/icons/plot-ydown.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-ylog.png (renamed from silx/resources/gui/icons/plot-ylog.png) | bin | 772 -> 772 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-ylog.svg (renamed from silx/resources/gui/icons/plot-ylog.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/plot-yup.png (renamed from silx/resources/gui/icons/plot-yup.png) | bin | 667 -> 667 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/plot-yup.svg (renamed from silx/resources/gui/icons/plot-yup.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/pointing-hand.png (renamed from silx/resources/gui/icons/pointing-hand.png) | bin | 680 -> 680 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/pointing-hand.svg (renamed from silx/resources/gui/icons/pointing-hand.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/previous.png (renamed from silx/resources/gui/icons/previous.png) | bin | 1151 -> 1151 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/previous.svg (renamed from silx/resources/gui/icons/previous.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/process-working.mng (renamed from silx/resources/gui/icons/process-working.mng) | bin | 15966 -> 15966 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/00.png (renamed from silx/resources/gui/icons/process-working/00.png) | bin | 778 -> 778 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/01.png (renamed from silx/resources/gui/icons/process-working/01.png) | bin | 789 -> 789 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/02.png (renamed from silx/resources/gui/icons/process-working/02.png) | bin | 785 -> 785 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/03.png (renamed from silx/resources/gui/icons/process-working/03.png) | bin | 785 -> 785 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/04.png (renamed from silx/resources/gui/icons/process-working/04.png) | bin | 766 -> 766 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/05.png (renamed from silx/resources/gui/icons/process-working/05.png) | bin | 777 -> 777 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/06.png (renamed from silx/resources/gui/icons/process-working/06.png) | bin | 784 -> 784 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/07.png (renamed from silx/resources/gui/icons/process-working/07.png) | bin | 783 -> 783 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/08.png (renamed from silx/resources/gui/icons/process-working/08.png) | bin | 762 -> 762 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/09.png (renamed from silx/resources/gui/icons/process-working/09.png) | bin | 781 -> 781 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/10.png (renamed from silx/resources/gui/icons/process-working/10.png) | bin | 771 -> 771 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/11.png (renamed from silx/resources/gui/icons/process-working/11.png) | bin | 768 -> 768 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/12.png (renamed from silx/resources/gui/icons/process-working/12.png) | bin | 759 -> 759 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/13.png (renamed from silx/resources/gui/icons/process-working/13.png) | bin | 767 -> 767 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/14.png (renamed from silx/resources/gui/icons/process-working/14.png) | bin | 778 -> 778 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/15.png (renamed from silx/resources/gui/icons/process-working/15.png) | bin | 760 -> 760 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/16.png (renamed from silx/resources/gui/icons/process-working/16.png) | bin | 754 -> 754 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/17.png (renamed from silx/resources/gui/icons/process-working/17.png) | bin | 782 -> 782 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/18.png (renamed from silx/resources/gui/icons/process-working/18.png) | bin | 775 -> 775 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/19.png (renamed from silx/resources/gui/icons/process-working/19.png) | bin | 764 -> 764 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/20.png (renamed from silx/resources/gui/icons/process-working/20.png) | bin | 764 -> 764 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/21.png (renamed from silx/resources/gui/icons/process-working/21.png) | bin | 772 -> 772 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/22.png (renamed from silx/resources/gui/icons/process-working/22.png) | bin | 769 -> 769 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/23.png (renamed from silx/resources/gui/icons/process-working/23.png) | bin | 773 -> 773 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/24.png (renamed from silx/resources/gui/icons/process-working/24.png) | bin | 757 -> 757 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/25.png (renamed from silx/resources/gui/icons/process-working/25.png) | bin | 759 -> 759 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/26.png (renamed from silx/resources/gui/icons/process-working/26.png) | bin | 774 -> 774 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/27.png (renamed from silx/resources/gui/icons/process-working/27.png) | bin | 766 -> 766 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/28.png (renamed from silx/resources/gui/icons/process-working/28.png) | bin | 760 -> 760 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/29.png (renamed from silx/resources/gui/icons/process-working/29.png) | bin | 777 -> 777 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/process-working/30.png (renamed from silx/resources/gui/icons/process-working/30.png) | bin | 775 -> 775 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/profile-clear.png (renamed from silx/resources/gui/icons/profile-clear.png) | bin | 917 -> 917 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/profile-clear.svg (renamed from silx/resources/gui/icons/profile-clear.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/profile1D.png (renamed from silx/resources/gui/icons/profile1D.png) | bin | 347 -> 347 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/profile1D.svg (renamed from silx/resources/gui/icons/profile1D.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/profile2D.png (renamed from silx/resources/gui/icons/profile2D.png) | bin | 1403 -> 1403 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/profile2D.svg (renamed from silx/resources/gui/icons/profile2D.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/remove.png (renamed from silx/resources/gui/icons/remove.png) | bin | 680 -> 680 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/remove.svg | 2 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/rm.png (renamed from silx/resources/gui/icons/rm.png) | bin | 348 -> 348 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/rm.svg (renamed from silx/resources/gui/icons/rm.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/rotate-3d.png (renamed from silx/resources/gui/icons/rotate-3d.png) | bin | 760 -> 760 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/rotate-3d.svg (renamed from silx/resources/gui/icons/rotate-3d.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/rudder.png (renamed from silx/resources/gui/icons/rudder.png) | bin | 877 -> 877 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/rudder.svg (renamed from silx/resources/gui/icons/rudder.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/selected.png (renamed from silx/resources/gui/icons/selected.png) | bin | 1411 -> 1411 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/selected.svg (renamed from silx/resources/gui/icons/selected.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-circle-solid.png (renamed from silx/resources/gui/icons/shape-circle-solid.png) | bin | 562 -> 562 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-circle-solid.svg (renamed from silx/resources/gui/icons/shape-circle-solid.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-circle.png (renamed from silx/resources/gui/icons/shape-circle.png) | bin | 722 -> 722 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-circle.svg (renamed from silx/resources/gui/icons/shape-circle.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/shape-cross.png (renamed from silx/resources/gui/icons/shape-cross.png) | bin | 356 -> 356 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-cross.svg (renamed from silx/resources/gui/icons/shape-cross.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/shape-diagonal-directed.png (renamed from silx/resources/gui/icons/shape-diagonal-directed.png) | bin | 542 -> 542 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-diagonal-directed.svg (renamed from silx/resources/gui/icons/shape-diagonal-directed.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-diagonal.png (renamed from silx/resources/gui/icons/shape-diagonal.png) | bin | 461 -> 461 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-diagonal.svg (renamed from silx/resources/gui/icons/shape-diagonal.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-ellipse-solid.png (renamed from silx/resources/gui/icons/shape-ellipse-solid.png) | bin | 541 -> 541 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-ellipse-solid.svg (renamed from silx/resources/gui/icons/shape-ellipse-solid.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/shape-ellipse.png (renamed from silx/resources/gui/icons/shape-ellipse.png) | bin | 643 -> 643 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-ellipse.svg (renamed from silx/resources/gui/icons/shape-ellipse.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-horizontal.png (renamed from silx/resources/gui/icons/shape-horizontal.png) | bin | 301 -> 301 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-horizontal.svg (renamed from silx/resources/gui/icons/shape-horizontal.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-polygon.png (renamed from silx/resources/gui/icons/shape-polygon.png) | bin | 819 -> 819 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-polygon.svg (renamed from silx/resources/gui/icons/shape-polygon.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-rectangle.png (renamed from silx/resources/gui/icons/shape-rectangle.png) | bin | 337 -> 337 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-rectangle.svg (renamed from silx/resources/gui/icons/shape-rectangle.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-square.png (renamed from silx/resources/gui/icons/shape-square.png) | bin | 417 -> 417 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-square.svg (renamed from silx/resources/gui/icons/shape-square.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/shape-vertical.png (renamed from silx/resources/gui/icons/shape-vertical.png) | bin | 294 -> 294 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/shape-vertical.svg (renamed from silx/resources/gui/icons/shape-vertical.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/side-histograms.png | bin | 0 -> 518 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/side-histograms.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/silx.png (renamed from silx/resources/gui/icons/silx.png) | bin | 2048 -> 2048 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/silx.svg (renamed from silx/resources/gui/icons/silx.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/slice-cross.png (renamed from silx/resources/gui/icons/slice-cross.png) | bin | 1057 -> 1057 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/slice-cross.svg (renamed from silx/resources/gui/icons/slice-cross.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/slice-horizontal.png (renamed from silx/resources/gui/icons/slice-horizontal.png) | bin | 967 -> 967 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/slice-horizontal.svg (renamed from silx/resources/gui/icons/slice-horizontal.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/slice-vertical.png (renamed from silx/resources/gui/icons/slice-vertical.png) | bin | 1023 -> 1023 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/slice-vertical.svg (renamed from silx/resources/gui/icons/slice-vertical.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/sliders-off.png (renamed from silx/resources/gui/icons/sliders-off.png) | bin | 1111 -> 1111 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/sliders-off.svg (renamed from silx/resources/gui/icons/sliders-off.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/sliders-on.png (renamed from silx/resources/gui/icons/sliders-on.png) | bin | 691 -> 691 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/sliders-on.svg (renamed from silx/resources/gui/icons/sliders-on.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/spec.png (renamed from silx/resources/gui/icons/spec.png) | bin | 1044 -> 1044 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/spec.svg (renamed from silx/resources/gui/icons/spec.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/stats-active-items.png (renamed from silx/resources/gui/icons/stats-active-items.png) | bin | 1521 -> 1521 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/stats-active-items.svg (renamed from silx/resources/gui/icons/stats-active-items.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/stats-visible-data.png (renamed from silx/resources/gui/icons/stats-visible-data.png) | bin | 662 -> 662 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/stats-visible-data.svg (renamed from silx/resources/gui/icons/stats-visible-data.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/stats-whole-data.png (renamed from silx/resources/gui/icons/stats-whole-data.png) | bin | 923 -> 923 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/stats-whole-data.svg (renamed from silx/resources/gui/icons/stats-whole-data.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/stats-whole-items.png (renamed from silx/resources/gui/icons/stats-whole-items.png) | bin | 1333 -> 1333 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/stats-whole-items.svg (renamed from silx/resources/gui/icons/stats-whole-items.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/tree-collapse-all.png (renamed from silx/resources/gui/icons/tree-collapse-all.png) | bin | 508 -> 508 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/tree-collapse-all.svg (renamed from silx/resources/gui/icons/tree-collapse-all.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/tree-expand-all.png (renamed from silx/resources/gui/icons/tree-expand-all.png) | bin | 602 -> 602 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/tree-expand-all.svg (renamed from silx/resources/gui/icons/tree-expand-all.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/tree-sort.png (renamed from silx/resources/gui/icons/tree-sort.png) | bin | 655 -> 655 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/tree-sort.svg (renamed from silx/resources/gui/icons/tree-sort.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-1d.png (renamed from silx/resources/gui/icons/view-1d.png) | bin | 881 -> 881 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-1d.svg (renamed from silx/resources/gui/icons/view-1d.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-2d-stack.png (renamed from silx/resources/gui/icons/view-2d-stack.png) | bin | 710 -> 710 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-2d-stack.svg (renamed from silx/resources/gui/icons/view-2d-stack.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-2d.png (renamed from silx/resources/gui/icons/view-2d.png) | bin | 304 -> 304 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-2d.svg (renamed from silx/resources/gui/icons/view-2d.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-3d.png (renamed from silx/resources/gui/icons/view-3d.png) | bin | 1073 -> 1073 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-3d.svg (renamed from silx/resources/gui/icons/view-3d.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/view-fullscreen.png (renamed from silx/resources/gui/icons/view-fullscreen.png) | bin | 1829 -> 1829 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-fullscreen.svg (renamed from silx/resources/gui/icons/view-fullscreen.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-hdf5.png (renamed from silx/resources/gui/icons/view-hdf5.png) | bin | 1347 -> 1347 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-hdf5.svg (renamed from silx/resources/gui/icons/view-hdf5.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-nexus.png (renamed from silx/resources/gui/icons/view-nexus.png) | bin | 1332 -> 1332 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-nexus.svg (renamed from silx/resources/gui/icons/view-nexus.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/view-nofullscreen.png (renamed from silx/resources/gui/icons/view-nofullscreen.png) | bin | 1799 -> 1799 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-nofullscreen.svg (renamed from silx/resources/gui/icons/view-nofullscreen.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-raw.png (renamed from silx/resources/gui/icons/view-raw.png) | bin | 641 -> 641 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-raw.svg (renamed from silx/resources/gui/icons/view-raw.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/view-refresh.png (renamed from silx/resources/gui/icons/view-refresh.png) | bin | 1184 -> 1184 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-refresh.svg (renamed from silx/resources/gui/icons/view-refresh.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/view-text.png (renamed from silx/resources/gui/icons/view-text.png) | bin | 872 -> 872 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/view-text.svg (renamed from silx/resources/gui/icons/view-text.svg) | 0 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/window-new.png (renamed from silx/resources/gui/icons/window-new.png) | bin | 698 -> 698 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/window-new.svg (renamed from silx/resources/gui/icons/window-new.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/gui/icons/zoom-back.png (renamed from silx/resources/gui/icons/zoom-back.png) | bin | 1432 -> 1432 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/zoom-back.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/zoom-in.png (renamed from silx/resources/gui/icons/zoom-in.png) | bin | 1612 -> 1612 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/zoom-in.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/zoom-original.png (renamed from silx/resources/gui/icons/zoom-original.png) | bin | 1518 -> 1518 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/zoom-original.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/zoom-out.png (renamed from silx/resources/gui/icons/zoom-out.png) | bin | 1567 -> 1567 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/zoom-out.svg | 2 | ||||
-rwxr-xr-x | src/silx/resources/gui/icons/zoom.png (renamed from silx/resources/gui/icons/zoom.png) | bin | 1448 -> 1448 bytes | |||
-rw-r--r-- | src/silx/resources/gui/icons/zoom.svg | 2 | ||||
-rw-r--r-- | src/silx/resources/gui/logo/silx.png (renamed from silx/resources/gui/logo/silx.png) | bin | 21257 -> 21257 bytes | |||
-rw-r--r-- | src/silx/resources/gui/logo/silx.svg (renamed from silx/resources/gui/logo/silx.svg) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/addition.cl (renamed from silx/resources/opencl/addition.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/array_utils.cl (renamed from silx/resources/opencl/array_utils.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/backproj.cl (renamed from silx/resources/opencl/backproj.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/backproj_helper.cl (renamed from silx/resources/opencl/backproj_helper.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/bitonic.cl (renamed from silx/resources/opencl/bitonic.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/codec/byte_offset.cl (renamed from silx/resources/opencl/codec/byte_offset.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/convolution.cl (renamed from silx/resources/opencl/convolution.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/convolution_textures.cl (renamed from silx/resources/opencl/convolution_textures.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/doubleword.cl (renamed from silx/resources/opencl/doubleword.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/image/cast.cl (renamed from silx/resources/opencl/image/cast.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/image/histogram.cl (renamed from silx/resources/opencl/image/histogram.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/image/map.cl (renamed from silx/resources/opencl/image/map.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/image/max_min.cl (renamed from silx/resources/opencl/image/max_min.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/kahan.cl (renamed from silx/resources/opencl/kahan.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/linalg.cl (renamed from silx/resources/opencl/linalg.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/medfilt.cl (renamed from silx/resources/opencl/medfilt.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/preprocess.cl (renamed from silx/resources/opencl/preprocess.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/proj.cl (renamed from silx/resources/opencl/proj.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/sparse.cl (renamed from silx/resources/opencl/sparse.cl) | 0 | ||||
-rw-r--r-- | src/silx/resources/opencl/statistics.cl (renamed from silx/resources/opencl/statistics.cl) | 0 | ||||
-rw-r--r-- | src/silx/setup.py | 54 | ||||
-rw-r--r-- | src/silx/sx/__init__.py (renamed from silx/sx/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/sx/_plot.py | 625 | ||||
-rw-r--r-- | src/silx/sx/_plot3d.py (renamed from silx/sx/_plot3d.py) | 0 | ||||
-rw-r--r-- | src/silx/test/__init__.py | 53 | ||||
-rw-r--r-- | src/silx/test/test_resources.py | 187 | ||||
-rw-r--r-- | src/silx/test/test_sx.py | 265 | ||||
-rw-r--r-- | src/silx/test/test_version.py | 38 | ||||
-rw-r--r-- | src/silx/test/utils.py | 198 | ||||
-rw-r--r-- | src/silx/third_party/EdfFile.py (renamed from silx/third_party/EdfFile.py) | 0 | ||||
-rw-r--r-- | src/silx/third_party/TiffIO.py (renamed from silx/third_party/TiffIO.py) | 0 | ||||
-rw-r--r-- | src/silx/third_party/__init__.py (renamed from silx/third_party/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/third_party/scipy_spatial.py (renamed from silx/third_party/scipy_spatial.py) | 0 | ||||
-rw-r--r-- | src/silx/third_party/setup.py | 49 | ||||
-rw-r--r-- | src/silx/utils/ExternalResources.py | 321 | ||||
-rw-r--r-- | src/silx/utils/__init__.py (renamed from silx/utils/__init__.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/_have_openmp.pxd | 49 | ||||
-rw-r--r-- | src/silx/utils/array_like.py | 595 | ||||
-rw-r--r-- | src/silx/utils/debug.py | 100 | ||||
-rw-r--r-- | src/silx/utils/deprecation.py (renamed from silx/utils/deprecation.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/enum.py (renamed from silx/utils/enum.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/exceptions.py (renamed from silx/utils/exceptions.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/files.py (renamed from silx/utils/files.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/html.py | 37 | ||||
-rw-r--r-- | src/silx/utils/include/silx_store_openmp.h (renamed from silx/utils/include/silx_store_openmp.h) | 0 | ||||
-rw-r--r-- | src/silx/utils/launcher.py (renamed from silx/utils/launcher.py) | 0 | ||||
-rwxr-xr-x | src/silx/utils/number.py (renamed from silx/utils/number.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/property.py (renamed from silx/utils/property.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/proxy.py | 208 | ||||
-rw-r--r-- | src/silx/utils/retry.py (renamed from silx/utils/retry.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/setup.py (renamed from silx/utils/setup.py) | 0 | ||||
-rwxr-xr-x | src/silx/utils/test/__init__.py | 24 | ||||
-rw-r--r-- | src/silx/utils/test/test_array_like.py | 430 | ||||
-rw-r--r-- | src/silx/utils/test/test_debug.py | 88 | ||||
-rw-r--r-- | src/silx/utils/test/test_deprecation.py | 96 | ||||
-rw-r--r-- | src/silx/utils/test/test_enum.py | 85 | ||||
-rw-r--r-- | src/silx/utils/test/test_external_resources.py | 89 | ||||
-rw-r--r-- | src/silx/utils/test/test_launcher.py | 191 | ||||
-rw-r--r-- | src/silx/utils/test/test_launcher_command.py (renamed from silx/utils/test/test_launcher_command.py) | 0 | ||||
-rw-r--r-- | src/silx/utils/test/test_number.py | 175 | ||||
-rw-r--r-- | src/silx/utils/test/test_proxy.py | 330 | ||||
-rw-r--r-- | src/silx/utils/test/test_retry.py | 169 | ||||
-rwxr-xr-x | src/silx/utils/test/test_testutils.py | 94 | ||||
-rw-r--r-- | src/silx/utils/test/test_weakref.py | 315 | ||||
-rwxr-xr-x | src/silx/utils/testutils.py | 351 | ||||
-rw-r--r-- | src/silx/utils/weakref.py (renamed from silx/utils/weakref.py) | 0 | ||||
-rw-r--r-- | version.py | 120 |
1441 files changed, 127646 insertions, 128285 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3556fbb..4e99a93 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,134 @@ Change Log ========== +1.0.0: 2021/11/XX +----------------- + +This the first version of `silx` supporting `PySide6` (for `Qt6`) and using `pytest` to run the tests. + +* `silx view`: + + * Added Windows installer generation (PR #3548) + * Updated 'About' dialog (#3547, #3475) + * Fixed: Keep curve legend selection with changing dimensions (PR #3529) + * Fixed: Increase max number of opened file at start-up (PR #3545) + +* `silx.gui`: + + * Added PySide6 support (PR #3486, #3528, #3479, #3542, #3549, #3478, #3481): + * Removed support of PyQt4 / Pyside (PR #3423, #3424, #3480, #3482) + * `silx.gui.colors`: + + * Fixed duplicated logs when colormap vmin/vmax are not valid (PR #3471) + + * `silx.gui.plot`: + + * `silx.gui.plot.actions`: + + * `silx.gui.plot.actions.fit`: + + * Updated behaviour of fitted item auto update (PR #3532) + + * `silx.gui.plot.actions.histogram`: + + * Enhanced: Allow user to change histogram nbins and range (PR #3514, #3514) + * Updated `PixelIntensitiesHistoAction` to use `PlotWidget.selection` (PR #3408) + * Fixed issue when the whole image is masked (PR #3544) + * Fixed error on macOS 11 with 3D display in `silx view` (PR #3544) + + * `silx.gui.plot.CompareImages`: + + * Fixed `colormap`: avoid forcing vmin and vmax when not in 'HORIZONTAL_LINE' or 'VERTICAL_LINE' mode (PR #3510) + + * `silx.gui.plot.items`: + + * Added 'image_aggregated.ImageDataAggregated': item allowing to aggregate image data before display (PR #3503) + * Fixed `ArcROI.setGeometry` (fix #3492) + + * `silx.gui.plot.ImageStack`: + + * Enhanced management of the `animation thread` (PR #3440, PR #3441) + + * `silx.gui.plot.ImageView`: + + * Added action to show/hide the side histogram (PR #3488) + * Added 'resetzoom' parameter to 'ImageView.setImage' (PR #3488) + * Added empty array support to 'ImageView.setImage' (PR #3530) + * Added aggregation mode action (PR #3536) + * Added support of RGB and RGBA images (PR #3487) + * Updated 'imageview' example with a '--live' option (PR #3488) + * Fixed profile window, added `setProfileWindowBehavior` method (PR #3457) + * Fixed issue with profile window size (PR #3455) + + * `silx.gui.plot.PlotWidget`: + + * Fixed update of `Scatter` item binned statistics visualization (PR #3452) + * Fixed OpenGL backend memory leak (PR #3453) + * Enhanced: Optimized scatter when rendered as regular grid with the OpenGL backend (PR #3447) + * Enhanced axis limits management by the OpenGL backend (PR #3504) + * Enhanced control of repaint (PR #3449) + * Enhanced text label background rendering with OpenGL backend (PR #3565) + + * `silx.gui.plot.PlotWindow`: + + * Fixed returned action from 'getKeepDataAspectRatioAction' (PR #3500) + + * `silx.gui.plot3d`: + + * Fixed picking on highdpi screen (PR #3550) + * Fixed issue in parameter tree (PR #3550) + +* `silx.io`: + + * Added read support for FIO files (PR #3539) thanks to tifuchs contribution + * `silx.io.dictdump`: + + * Fixed missing conversion of the key (PR #3505) thanks to rnwatanabe contribution + * Extract update modes list to a constant global variable (PR #3460) thanks to jpcbertoldo + + * `silx.io.convert`: + + * Enhanced `write_to_h5`: `infile` parameter can now also be a HDF5 file as input (PR #3511) + + * `silx.io.h5py_utils`: + + * Added support of `locking` argument from the h5py.File when possible (PR #3554) + * Added log a critical message for unsupported versions of libhdf5 (PR #3533) + + * `silx.io.spech5`: + + * Enhanced: Improve robustness (PR #3507, #3463) + + * `silx.io.url`: + + * Fixed `is_absolute` in the case the `file_path()` returns None (PR #3437) + + * `silx.io.utils`: + + * Added 'silx.io.utils.visitall': provides a visitor of all items including links that works for both `commonh5` and `h5py` (PR #3511) + +* `silx.math`: + + * `silx.math.colormap`: + + * Added `apply_colormap` function (PR #3525) + * Enhanced `cmap` error messages (PR #3522) + +* `silx.opencl`: + + * Added description of compute capabilities for Ampere generation GPU from Nvidia (PR #3535) + * Added doubleword OpenCL library (PR #3466, PR #3472) + +* Miscellaneous: + + * Enhanced: Setup the project to use `pytest` (PR #3431, #3516, #3526) + * Enhanced: Minor test clean up (PR #3515, #3508) + * Updated project structure: move `silx` sources in `src/silx` (PR #3412) + * Fixed 'run_test.py --qt-binding' option (PR #3527) + * Fixed support of numpy 1.21rc1 (PR ##3476) + * Removed `six` dependency (PR #3483) + + 0.15.2: 2021/06/21 ------------------ @@ -31,7 +159,6 @@ Minor release: * Fixed profile window default behavior (PR #3458) * Added `setProfileWindowBehavior` method (PR #3458) - 0.15.0: 2021/03/18 ------------------ @@ -101,7 +228,6 @@ Main new features are the `silx.io.h5py_utils` module which provides `h5py` conc * Fixed debian packaging (PR #3362) * Fixed `silx test` application on Windows (PR #3411) - 0.14.1: 2021/04/30 ------------------ @@ -110,7 +236,6 @@ This is a bug-fix version of silx. * silx.gui.plot: Fixed `PlotWidget` OpenGL backend memory leak (PR #3445) * silx.gui.utils.glutils: Fixed `isOpenGLAvailable` (PR #3356) - 0.14.0: 2020/12/11 ------------------ diff --git a/MANIFEST.in b/MANIFEST.in index da024c2..5ee9a8d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,18 +4,17 @@ include copyright include LICENSE include MANIFEST.in include run_tests.py -include version.py include stdeb.cfg include build-deb.sh include requirements.txt include requirements-dev.txt include pyproject.toml -recursive-include silx *.pyx *.pxd *.pxi -recursive-include silx *.h *.c *.hpp *.cpp +recursive-include src/silx *.pyx *.pxd *.pxi +recursive-include src/silx *.h *.c *.hpp *.cpp recursive-include doc/source *.py *.rst *.png *.ico *.ipynb global-exclude .ipynb_checkpoints/* recursive-include qtdesigner_plugins *.py *.rst -recursive-include silx/resources * +recursive-include src/silx/resources * recursive-include examples * recursive-include package * @@ -1,13 +1,13 @@ Metadata-Version: 2.1 Name: silx -Version: 0.15.2 +Version: 1.0.0 Summary: Software library for X-ray data analysis Home-page: http://www.silx.org/ Author: data analysis unit Author-email: silx@esrf.fr License: UNKNOWN Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Environment :: MacOS X Classifier: Environment :: Win32 (MS Windows) @@ -26,12 +26,16 @@ Classifier: Topic :: Scientific/Engineering :: Physics Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.5 Provides-Extra: full +Provides-Extra: test License-File: LICENSE silx toolkit ============ +.. |silxView| image:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif + :height: 480px + The purpose of the *silx* project is to provide a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. @@ -59,8 +63,12 @@ The current version features: * a set of applications: * a unified viewer (*silx view filename*) for HDF5, SPEC and image file formats + + |silxView| + * a unified converter to HDF5 format (*silx convert filename*) + Installation ------------ @@ -2,6 +2,9 @@ silx toolkit ============ +.. |silxView| image:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif + :height: 480px + The purpose of the *silx* project is to provide a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. @@ -29,8 +32,12 @@ The current version features: * a set of applications: * a unified viewer (*silx view filename*) for HDF5, SPEC and image file formats + + |silxView| + * a unified converter to HDF5 format (*silx convert filename*) + Installation ------------ diff --git a/build-deb.sh b/build-deb.sh index 25718f3..23b0a86 100755 --- a/build-deb.sh +++ b/build-deb.sh @@ -3,7 +3,7 @@ # Project: Silx # https://github.com/silx-kit/silx # -# Copyright (C) 2015-2020 European Synchrotron Radiation Facility, Grenoble, France +# Copyright (C) 2015-2021 European Synchrotron Radiation Facility, Grenoble, France # # Principal author: Jérôme Kieffer (Jerome.Kieffer@ESRF.eu) # @@ -29,9 +29,6 @@ project=silx source_project=silx -version=$(python3 -c"import version; print(version.version)") -strictversion=$(python3 -c"import version; print(version.strictversion)") -debianversion=$(python3 -c"import version; print(version.debianversion)") deb_name=$(echo "$source_project" | tr '[:upper:]' '[:lower:]') @@ -66,6 +63,13 @@ project_directory="`( cd \"$project_directory\" && pwd )`" # absolutized dist_directory=${project_directory}/dist/${target_system} build_directory=${project_directory}/build/${target_system} +# Get version info +cd ${project_directory}/src/${project} +version=$(python3 -c"import _version; print(_version.version)") +strictversion=$(python3 -c"import _version; print(_version.strictversion)") +debianversion=$(python3 -c"import _version; print(_version.debianversion)") +cd ${project_directory} + if [ -d /usr/lib/ccache ]; then export PATH=/usr/lib/ccache:$PATH diff --git a/doc/source/Tutorials/array_widget.rst b/doc/source/Tutorials/array_widget.rst index c6a32e3..b0bc890 100644 --- a/doc/source/Tutorials/array_widget.rst +++ b/doc/source/Tutorials/array_widget.rst @@ -23,7 +23,7 @@ Let's look at a simple usage example: w = ArrayTableWidget() w.setArrayData(array, labels=True) w.show() - app.exec_() + app.exec() .. |imgArray0| image:: img/arraywidget3D_0.png @@ -242,6 +242,6 @@ of RGB colors. fgcolors=fcolors) atw.show() - app.exec_() + app.exec() diff --git a/doc/source/Tutorials/fit.rst b/doc/source/Tutorials/fit.rst index d9671f4..c0eafc5 100644 --- a/doc/source/Tutorials/fit.rst +++ b/doc/source/Tutorials/fit.rst @@ -450,7 +450,7 @@ The following example illustrates the strip background removal process: app = qt.QApplication([]) plot(x, y, x, actual_bg, x, strip_bg) plot(x, y, x, (y - strip_bg)) - app.exec_() + app.exec() .. |imgStrip1| image:: img/stripbg_plot1.png :height: 300px @@ -545,7 +545,7 @@ Simple usage w.setData(x=x, y=y) w.show() - a.exec_() + a.exec() .. |imgFitWidget1| image:: img/fitwidget1.png :width: 300px @@ -638,7 +638,7 @@ The :class:`FitWidget` can be initialised with a non-standard fw = FitWidget(fitmngr=myfitmngr) fw.show() - a.exec_() + a.exec() In our previous example, we didn't load a customised :class:`FitManager`, therefore, the fit widget automatically initialised the default fit manager and diff --git a/doc/source/Tutorials/fitconfig.rst b/doc/source/Tutorials/fitconfig.rst index 225ef8f..0d7538c 100644 --- a/doc/source/Tutorials/fitconfig.rst +++ b/doc/source/Tutorials/fitconfig.rst @@ -52,7 +52,7 @@ dialog by FitWidget: - :meth:`show`: should cause the widget to become visible to the user) - - :meth:`exec_`: should run while the user is interacting with the + - :meth:`exec`: should run while the user is interacting with the widget, interrupting the rest of the program. It should typically end (*return*) when the user clicks an *OK* or a *Cancel* button. @@ -175,7 +175,7 @@ used by our fit function to scale the *y* values. fw.associateConfigDialog("scaled linear", CustomConfigWidget()) fw.show() - app.exec_() + app.exec() .. |img0| image:: img/custom_config_scale1.0.png :height: 300px diff --git a/doc/source/Tutorials/writing_NXdata.rst b/doc/source/Tutorials/writing_NXdata.rst index 1c65199..4d87e3d 100644 --- a/doc/source/Tutorials/writing_NXdata.rst +++ b/doc/source/Tutorials/writing_NXdata.rst @@ -154,8 +154,7 @@ a *frame number*. .. note:: - This additional attribute is not mentionned in the official NXdata - specification. + This attribute is documented in the official NeXus `description <https://manual.nexusformat.org/nxdl_desc.html>`_ Writing NXdata with h5py diff --git a/doc/source/applications/view.rst b/doc/source/applications/view.rst index d4145c2..747a121 100644 --- a/doc/source/applications/view.rst +++ b/doc/source/applications/view.rst @@ -1,7 +1,11 @@ +.. _silx view: silx view ========= +.. figure:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif + :align: center + Purpose ------- diff --git a/doc/source/ext/snapshotqt_directive.py b/doc/source/ext/snapshotqt_directive.py index 582b934..84b3ac6 100644 --- a/doc/source/ext/snapshotqt_directive.py +++ b/doc/source/ext/snapshotqt_directive.py @@ -152,7 +152,7 @@ else: _towrite = _line.lstrip(' ') if not _towrite.startswith(':'): _file.write(_towrite + '\n') - _file.write("app.exec_()") + _file.write("app.exec()") self.content = [] if script is not None: _logger.warning('Cannot specify a script if source code (content) is given.' diff --git a/doc/source/index.rst b/doc/source/index.rst index 1c4ad72..027bd6f 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,6 +1,9 @@ silx |version| ============== +.. |silxView| image:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif + :height: 80px + The silx project aims to provide a collection of Python packages to support the development of data assessment, reduction and analysis at synchrotron radiation facilities. @@ -28,9 +31,13 @@ The current version (v\ |version|) caters for: * a set of applications: - * a unified viewer (*silx view filename*) for HDF5, SPEC and image file formats - * a unified converter to HDF5 format (*silx convert filename*) + * a unified viewer (:ref:`silx view` *filename*) for HDF5, SPEC and image file formats + + |silxView| + + * a unified converter to HDF5 format (*silx convert filename*) + .. toctree:: :hidden: diff --git a/doc/source/install.rst b/doc/source/install.rst index b0d6b4f..0841c2a 100644 --- a/doc/source/install.rst +++ b/doc/source/install.rst @@ -7,15 +7,15 @@ programming language. This table summarizes the support matrix of silx: -+------------+--------------+---------------------+ -| System | Python vers. | Qt and its bindings | -+------------+--------------+---------------------+ -| `Windows`_ | 3.6-3.9 | PyQt5.6+, PySide2 | -+------------+--------------+---------------------+ -| `MacOS`_ | 3.6-3.9 | PyQt5.6+, PySide2 | -+------------+--------------+---------------------+ -| `Linux`_ | 3.6-3.9 | PyQt5.3+, PySide2 | -+------------+--------------+---------------------+ ++------------+--------------+----------------------------+ +| System | Python vers. | Qt and its bindings | ++------------+--------------+----------------------------+ +| `Windows`_ | 3.6-3.9 | PyQt5.6+, PySide2, PySide6 | ++------------+--------------+----------------------------+ +| `MacOS`_ | 3.6-3.9 | PyQt5.6+, PySide2, PySide6 | ++------------+--------------+----------------------------+ +| `Linux`_ | 3.6-3.9 | PyQt5.3+, PySide2, PySide6 | ++------------+--------------+----------------------------+ For the description of *silx* dependencies, see the Dependencies_ section. @@ -66,7 +66,8 @@ The mandatory dependencies are: The GUI widgets depend on the following extra packages: * A Qt binding: either `PyQt5 <https://riverbankcomputing.com/software/pyqt/intro>`_, - or `PySide2 <https://wiki.qt.io/Qt_for_Python>`_ + `PySide2 <https://pypi.org/project/PySide2/>`_, or + `PySide6 <https://pypi.org/project/PySide6/>`_ * `matplotlib <http://matplotlib.org/>`_ * `PyOpenGL <http://pyopengl.sourceforge.net/>`_ * `qt_console <https://pypi.org/project/qtconsole>`_ @@ -245,7 +246,7 @@ installed using: .. code-block:: bash - pip install -r https://github.com/silx-kit/silx/raw/0.8/requirements-dev.txt + pip install -r https://github.com/silx-kit/silx/raw/master/requirements-dev.txt Building from source diff --git a/doc/source/modules/gui/icons.rst b/doc/source/modules/gui/icons.rst index 67235c2..cb8e044 100644 --- a/doc/source/modules/gui/icons.rst +++ b/doc/source/modules/gui/icons.rst @@ -55,6 +55,8 @@ Available icons - add-shape-vertical * - |add| - add + * - |aggregation-mode| + - aggregation-mode * - |arrow-keys| - arrow-keys * - |axis| @@ -339,6 +341,8 @@ Available icons - shape-square * - |shape-vertical| - shape-vertical + * - |side-histograms| + - side-histograms * - |silx| - silx * - |slice-cross| @@ -402,194 +406,196 @@ Available icons * - |zoom| - zoom -.. |3d-plane-normal-x| image:: ../../../../silx/resources/gui/icons/3d-plane-normal-x.png -.. |3d-plane-normal-y| image:: ../../../../silx/resources/gui/icons/3d-plane-normal-y.png -.. |3d-plane-normal-z| image:: ../../../../silx/resources/gui/icons/3d-plane-normal-z.png -.. |3d-plane-pan| image:: ../../../../silx/resources/gui/icons/3d-plane-pan.png -.. |3d-plane| image:: ../../../../silx/resources/gui/icons/3d-plane.png -.. |add-range-horizontal| image:: ../../../../silx/resources/gui/icons/add-range-horizontal.png -.. |add-shape-arc| image:: ../../../../silx/resources/gui/icons/add-shape-arc.png -.. |add-shape-circle| image:: ../../../../silx/resources/gui/icons/add-shape-circle.png -.. |add-shape-cross| image:: ../../../../silx/resources/gui/icons/add-shape-cross.png -.. |add-shape-diagonal| image:: ../../../../silx/resources/gui/icons/add-shape-diagonal.png -.. |add-shape-ellipse| image:: ../../../../silx/resources/gui/icons/add-shape-ellipse.png -.. |add-shape-horizontal| image:: ../../../../silx/resources/gui/icons/add-shape-horizontal.png -.. |add-shape-point| image:: ../../../../silx/resources/gui/icons/add-shape-point.png -.. |add-shape-polygon| image:: ../../../../silx/resources/gui/icons/add-shape-polygon.png -.. |add-shape-rectangle| image:: ../../../../silx/resources/gui/icons/add-shape-rectangle.png -.. |add-shape-unknown| image:: ../../../../silx/resources/gui/icons/add-shape-unknown.png -.. |add-shape-vertical| image:: ../../../../silx/resources/gui/icons/add-shape-vertical.png -.. |add| image:: ../../../../silx/resources/gui/icons/add.png -.. |arrow-keys| image:: ../../../../silx/resources/gui/icons/arrow-keys.png -.. |axis| image:: ../../../../silx/resources/gui/icons/axis.png -.. |backend-opengl| image:: ../../../../silx/resources/gui/icons/backend-opengl.png -.. |camera| image:: ../../../../silx/resources/gui/icons/camera.png -.. |clipboard| image:: ../../../../silx/resources/gui/icons/clipboard.png -.. |close| image:: ../../../../silx/resources/gui/icons/close.png -.. |colorbar| image:: ../../../../silx/resources/gui/icons/colorbar.png -.. |colormap-histogram| image:: ../../../../silx/resources/gui/icons/colormap-histogram.png -.. |colormap-none| image:: ../../../../silx/resources/gui/icons/colormap-none.png -.. |colormap-norm-arcsinh| image:: ../../../../silx/resources/gui/icons/colormap-norm-arcsinh.png -.. |colormap-norm-gamma| image:: ../../../../silx/resources/gui/icons/colormap-norm-gamma.png -.. |colormap-norm-linear| image:: ../../../../silx/resources/gui/icons/colormap-norm-linear.png -.. |colormap-norm-log| image:: ../../../../silx/resources/gui/icons/colormap-norm-log.png -.. |colormap-norm-sqrt| image:: ../../../../silx/resources/gui/icons/colormap-norm-sqrt.png -.. |colormap-range| image:: ../../../../silx/resources/gui/icons/colormap-range.png -.. |colormap| image:: ../../../../silx/resources/gui/icons/colormap.png -.. |compare-align-auto| image:: ../../../../silx/resources/gui/icons/compare-align-auto.png -.. |compare-align-center| image:: ../../../../silx/resources/gui/icons/compare-align-center.png -.. |compare-align-origin| image:: ../../../../silx/resources/gui/icons/compare-align-origin.png -.. |compare-align-stretch| image:: ../../../../silx/resources/gui/icons/compare-align-stretch.png -.. |compare-keypoints| image:: ../../../../silx/resources/gui/icons/compare-keypoints.png -.. |compare-mode-a-minus-b| image:: ../../../../silx/resources/gui/icons/compare-mode-a-minus-b.png -.. |compare-mode-a| image:: ../../../../silx/resources/gui/icons/compare-mode-a.png -.. |compare-mode-b| image:: ../../../../silx/resources/gui/icons/compare-mode-b.png -.. |compare-mode-hline| image:: ../../../../silx/resources/gui/icons/compare-mode-hline.png -.. |compare-mode-rb-channel| image:: ../../../../silx/resources/gui/icons/compare-mode-rb-channel.png -.. |compare-mode-rbneg-channel| image:: ../../../../silx/resources/gui/icons/compare-mode-rbneg-channel.png -.. |compare-mode-vline| image:: ../../../../silx/resources/gui/icons/compare-mode-vline.png -.. |crop| image:: ../../../../silx/resources/gui/icons/crop.png -.. |crosshair| image:: ../../../../silx/resources/gui/icons/crosshair.png -.. |cube-back| image:: ../../../../silx/resources/gui/icons/cube-back.png -.. |cube-bottom| image:: ../../../../silx/resources/gui/icons/cube-bottom.png -.. |cube-front| image:: ../../../../silx/resources/gui/icons/cube-front.png -.. |cube-left| image:: ../../../../silx/resources/gui/icons/cube-left.png -.. |cube-right| image:: ../../../../silx/resources/gui/icons/cube-right.png -.. |cube-rotate| image:: ../../../../silx/resources/gui/icons/cube-rotate.png -.. |cube-top| image:: ../../../../silx/resources/gui/icons/cube-top.png -.. |cube| image:: ../../../../silx/resources/gui/icons/cube.png -.. |description-description| image:: ../../../../silx/resources/gui/icons/description-description.png -.. |description-error| image:: ../../../../silx/resources/gui/icons/description-error.png -.. |description-name| image:: ../../../../silx/resources/gui/icons/description-name.png -.. |description-program| image:: ../../../../silx/resources/gui/icons/description-program.png -.. |description-title| image:: ../../../../silx/resources/gui/icons/description-title.png -.. |description-value| image:: ../../../../silx/resources/gui/icons/description-value.png -.. |document-open| image:: ../../../../silx/resources/gui/icons/document-open.png -.. |document-print| image:: ../../../../silx/resources/gui/icons/document-print.png -.. |document-save| image:: ../../../../silx/resources/gui/icons/document-save.png -.. |draw-brush| image:: ../../../../silx/resources/gui/icons/draw-brush.png -.. |draw-pencil| image:: ../../../../silx/resources/gui/icons/draw-pencil.png -.. |draw-rubber| image:: ../../../../silx/resources/gui/icons/draw-rubber.png -.. |edit-copy| image:: ../../../../silx/resources/gui/icons/edit-copy.png -.. |eye| image:: ../../../../silx/resources/gui/icons/eye.png -.. |first| image:: ../../../../silx/resources/gui/icons/first.png -.. |folder| image:: ../../../../silx/resources/gui/icons/folder.png -.. |image-mask| image:: ../../../../silx/resources/gui/icons/image-mask.png -.. |image-select-add| image:: ../../../../silx/resources/gui/icons/image-select-add.png -.. |image-select-box| image:: ../../../../silx/resources/gui/icons/image-select-box.png -.. |image-select-brush| image:: ../../../../silx/resources/gui/icons/image-select-brush.png -.. |image-select-erase-rubber| image:: ../../../../silx/resources/gui/icons/image-select-erase-rubber.png -.. |image-select-erase| image:: ../../../../silx/resources/gui/icons/image-select-erase.png -.. |image| image:: ../../../../silx/resources/gui/icons/image.png -.. |item-0dim| image:: ../../../../silx/resources/gui/icons/item-0dim.png -.. |item-1dim| image:: ../../../../silx/resources/gui/icons/item-1dim.png -.. |item-2dim| image:: ../../../../silx/resources/gui/icons/item-2dim.png -.. |item-3dim| image:: ../../../../silx/resources/gui/icons/item-3dim.png -.. |item-ndim| image:: ../../../../silx/resources/gui/icons/item-ndim.png -.. |item-none| image:: ../../../../silx/resources/gui/icons/item-none.png -.. |item-object| image:: ../../../../silx/resources/gui/icons/item-object.png -.. |last| image:: ../../../../silx/resources/gui/icons/last.png -.. |layer-nx| image:: ../../../../silx/resources/gui/icons/layer-nx.png -.. |mask-clear-all| image:: ../../../../silx/resources/gui/icons/mask-clear-all.png -.. |mask-clear| image:: ../../../../silx/resources/gui/icons/mask-clear.png -.. |mask-invert| image:: ../../../../silx/resources/gui/icons/mask-invert.png -.. |math-amplitude| image:: ../../../../silx/resources/gui/icons/math-amplitude.png -.. |math-average| image:: ../../../../silx/resources/gui/icons/math-average.png -.. |math-derive| image:: ../../../../silx/resources/gui/icons/math-derive.png -.. |math-energy| image:: ../../../../silx/resources/gui/icons/math-energy.png -.. |math-fit| image:: ../../../../silx/resources/gui/icons/math-fit.png -.. |math-imaginary| image:: ../../../../silx/resources/gui/icons/math-imaginary.png -.. |math-mean| image:: ../../../../silx/resources/gui/icons/math-mean.png -.. |math-normalize| image:: ../../../../silx/resources/gui/icons/math-normalize.png -.. |math-peak-reset| image:: ../../../../silx/resources/gui/icons/math-peak-reset.png -.. |math-peak-search| image:: ../../../../silx/resources/gui/icons/math-peak-search.png -.. |math-peak| image:: ../../../../silx/resources/gui/icons/math-peak.png -.. |math-phase-color-log| image:: ../../../../silx/resources/gui/icons/math-phase-color-log.png -.. |math-phase-color| image:: ../../../../silx/resources/gui/icons/math-phase-color.png -.. |math-phase| image:: ../../../../silx/resources/gui/icons/math-phase.png -.. |math-real| image:: ../../../../silx/resources/gui/icons/math-real.png -.. |math-sigma| image:: ../../../../silx/resources/gui/icons/math-sigma.png -.. |math-smooth| image:: ../../../../silx/resources/gui/icons/math-smooth.png -.. |math-square-amplitude| image:: ../../../../silx/resources/gui/icons/math-square-amplitude.png -.. |math-substract| image:: ../../../../silx/resources/gui/icons/math-substract.png -.. |math-swap-sign| image:: ../../../../silx/resources/gui/icons/math-swap-sign.png -.. |math-ymin-to-zero| image:: ../../../../silx/resources/gui/icons/math-ymin-to-zero.png -.. |median-filter| image:: ../../../../silx/resources/gui/icons/median-filter.png -.. |next| image:: ../../../../silx/resources/gui/icons/next.png -.. |normal| image:: ../../../../silx/resources/gui/icons/normal.png -.. |nxdata-axis-add| image:: ../../../../silx/resources/gui/icons/nxdata-axis-add.png -.. |nxdata-axis-remove| image:: ../../../../silx/resources/gui/icons/nxdata-axis-remove.png -.. |nxdata-create| image:: ../../../../silx/resources/gui/icons/nxdata-create.png -.. |nxdata-remove| image:: ../../../../silx/resources/gui/icons/nxdata-remove.png -.. |pan| image:: ../../../../silx/resources/gui/icons/pan.png -.. |pixel-intensities| image:: ../../../../silx/resources/gui/icons/pixel-intensities.png -.. |plot-grid| image:: ../../../../silx/resources/gui/icons/plot-grid.png -.. |plot-roi-above| image:: ../../../../silx/resources/gui/icons/plot-roi-above.png -.. |plot-roi-below| image:: ../../../../silx/resources/gui/icons/plot-roi-below.png -.. |plot-roi-between| image:: ../../../../silx/resources/gui/icons/plot-roi-between.png -.. |plot-roi-reset| image:: ../../../../silx/resources/gui/icons/plot-roi-reset.png -.. |plot-roi| image:: ../../../../silx/resources/gui/icons/plot-roi.png -.. |plot-symbols| image:: ../../../../silx/resources/gui/icons/plot-symbols.png -.. |plot-toggle-points| image:: ../../../../silx/resources/gui/icons/plot-toggle-points.png -.. |plot-widget| image:: ../../../../silx/resources/gui/icons/plot-widget.png -.. |plot-window-image| image:: ../../../../silx/resources/gui/icons/plot-window-image.png -.. |plot-window| image:: ../../../../silx/resources/gui/icons/plot-window.png -.. |plot-xauto| image:: ../../../../silx/resources/gui/icons/plot-xauto.png -.. |plot-xlog| image:: ../../../../silx/resources/gui/icons/plot-xlog.png -.. |plot-yauto| image:: ../../../../silx/resources/gui/icons/plot-yauto.png -.. |plot-ydown| image:: ../../../../silx/resources/gui/icons/plot-ydown.png -.. |plot-ylog| image:: ../../../../silx/resources/gui/icons/plot-ylog.png -.. |plot-yup| image:: ../../../../silx/resources/gui/icons/plot-yup.png -.. |pointing-hand| image:: ../../../../silx/resources/gui/icons/pointing-hand.png -.. |previous| image:: ../../../../silx/resources/gui/icons/previous.png -.. |profile-clear| image:: ../../../../silx/resources/gui/icons/profile-clear.png -.. |profile1D| image:: ../../../../silx/resources/gui/icons/profile1D.png -.. |profile2D| image:: ../../../../silx/resources/gui/icons/profile2D.png -.. |remove| image:: ../../../../silx/resources/gui/icons/remove.png -.. |rm| image:: ../../../../silx/resources/gui/icons/rm.png -.. |rotate-3d| image:: ../../../../silx/resources/gui/icons/rotate-3d.png -.. |rudder| image:: ../../../../silx/resources/gui/icons/rudder.png -.. |selected| image:: ../../../../silx/resources/gui/icons/selected.png -.. |shape-circle-solid| image:: ../../../../silx/resources/gui/icons/shape-circle-solid.png -.. |shape-circle| image:: ../../../../silx/resources/gui/icons/shape-circle.png -.. |shape-cross| image:: ../../../../silx/resources/gui/icons/shape-cross.png -.. |shape-diagonal-directed| image:: ../../../../silx/resources/gui/icons/shape-diagonal-directed.png -.. |shape-diagonal| image:: ../../../../silx/resources/gui/icons/shape-diagonal.png -.. |shape-ellipse-solid| image:: ../../../../silx/resources/gui/icons/shape-ellipse-solid.png -.. |shape-ellipse| image:: ../../../../silx/resources/gui/icons/shape-ellipse.png -.. |shape-horizontal| image:: ../../../../silx/resources/gui/icons/shape-horizontal.png -.. |shape-polygon| image:: ../../../../silx/resources/gui/icons/shape-polygon.png -.. |shape-rectangle| image:: ../../../../silx/resources/gui/icons/shape-rectangle.png -.. |shape-square| image:: ../../../../silx/resources/gui/icons/shape-square.png -.. |shape-vertical| image:: ../../../../silx/resources/gui/icons/shape-vertical.png -.. |silx| image:: ../../../../silx/resources/gui/icons/silx.png -.. |slice-cross| image:: ../../../../silx/resources/gui/icons/slice-cross.png -.. |slice-horizontal| image:: ../../../../silx/resources/gui/icons/slice-horizontal.png -.. |slice-vertical| image:: ../../../../silx/resources/gui/icons/slice-vertical.png -.. |sliders-off| image:: ../../../../silx/resources/gui/icons/sliders-off.png -.. |sliders-on| image:: ../../../../silx/resources/gui/icons/sliders-on.png -.. |spec| image:: ../../../../silx/resources/gui/icons/spec.png -.. |stats-active-items| image:: ../../../../silx/resources/gui/icons/stats-active-items.png -.. |stats-visible-data| image:: ../../../../silx/resources/gui/icons/stats-visible-data.png -.. |stats-whole-data| image:: ../../../../silx/resources/gui/icons/stats-whole-data.png -.. |stats-whole-items| image:: ../../../../silx/resources/gui/icons/stats-whole-items.png -.. |tree-collapse-all| image:: ../../../../silx/resources/gui/icons/tree-collapse-all.png -.. |tree-expand-all| image:: ../../../../silx/resources/gui/icons/tree-expand-all.png -.. |tree-sort| image:: ../../../../silx/resources/gui/icons/tree-sort.png -.. |view-1d| image:: ../../../../silx/resources/gui/icons/view-1d.png -.. |view-2d-stack| image:: ../../../../silx/resources/gui/icons/view-2d-stack.png -.. |view-2d| image:: ../../../../silx/resources/gui/icons/view-2d.png -.. |view-3d| image:: ../../../../silx/resources/gui/icons/view-3d.png -.. |view-fullscreen| image:: ../../../../silx/resources/gui/icons/view-fullscreen.png -.. |view-hdf5| image:: ../../../../silx/resources/gui/icons/view-hdf5.png -.. |view-nexus| image:: ../../../../silx/resources/gui/icons/view-nexus.png -.. |view-nofullscreen| image:: ../../../../silx/resources/gui/icons/view-nofullscreen.png -.. |view-raw| image:: ../../../../silx/resources/gui/icons/view-raw.png -.. |view-refresh| image:: ../../../../silx/resources/gui/icons/view-refresh.png -.. |view-text| image:: ../../../../silx/resources/gui/icons/view-text.png -.. |window-new| image:: ../../../../silx/resources/gui/icons/window-new.png -.. |zoom-back| image:: ../../../../silx/resources/gui/icons/zoom-back.png -.. |zoom-in| image:: ../../../../silx/resources/gui/icons/zoom-in.png -.. |zoom-original| image:: ../../../../silx/resources/gui/icons/zoom-original.png -.. |zoom-out| image:: ../../../../silx/resources/gui/icons/zoom-out.png -.. |zoom| image:: ../../../../silx/resources/gui/icons/zoom.png +.. |3d-plane-normal-x| image:: ../../../../src/silx/resources/gui/icons/3d-plane-normal-x.png +.. |3d-plane-normal-y| image:: ../../../../src/silx/resources/gui/icons/3d-plane-normal-y.png +.. |3d-plane-normal-z| image:: ../../../../src/silx/resources/gui/icons/3d-plane-normal-z.png +.. |3d-plane-pan| image:: ../../../../src/silx/resources/gui/icons/3d-plane-pan.png +.. |3d-plane| image:: ../../../../src/silx/resources/gui/icons/3d-plane.png +.. |add-range-horizontal| image:: ../../../../src/silx/resources/gui/icons/add-range-horizontal.png +.. |add-shape-arc| image:: ../../../../src/silx/resources/gui/icons/add-shape-arc.png +.. |add-shape-circle| image:: ../../../../src/silx/resources/gui/icons/add-shape-circle.png +.. |add-shape-cross| image:: ../../../../src/silx/resources/gui/icons/add-shape-cross.png +.. |add-shape-diagonal| image:: ../../../../src/silx/resources/gui/icons/add-shape-diagonal.png +.. |add-shape-ellipse| image:: ../../../../src/silx/resources/gui/icons/add-shape-ellipse.png +.. |add-shape-horizontal| image:: ../../../../src/silx/resources/gui/icons/add-shape-horizontal.png +.. |add-shape-point| image:: ../../../../src/silx/resources/gui/icons/add-shape-point.png +.. |add-shape-polygon| image:: ../../../../src/silx/resources/gui/icons/add-shape-polygon.png +.. |add-shape-rectangle| image:: ../../../../src/silx/resources/gui/icons/add-shape-rectangle.png +.. |add-shape-unknown| image:: ../../../../src/silx/resources/gui/icons/add-shape-unknown.png +.. |add-shape-vertical| image:: ../../../../src/silx/resources/gui/icons/add-shape-vertical.png +.. |add| image:: ../../../../src/silx/resources/gui/icons/add.png +.. |aggregation-mode| image:: ../../../../src/silx/resources/gui/icons/aggregation-mode.png +.. |arrow-keys| image:: ../../../../src/silx/resources/gui/icons/arrow-keys.png +.. |axis| image:: ../../../../src/silx/resources/gui/icons/axis.png +.. |backend-opengl| image:: ../../../../src/silx/resources/gui/icons/backend-opengl.png +.. |camera| image:: ../../../../src/silx/resources/gui/icons/camera.png +.. |clipboard| image:: ../../../../src/silx/resources/gui/icons/clipboard.png +.. |close| image:: ../../../../src/silx/resources/gui/icons/close.png +.. |colorbar| image:: ../../../../src/silx/resources/gui/icons/colorbar.png +.. |colormap-histogram| image:: ../../../../src/silx/resources/gui/icons/colormap-histogram.png +.. |colormap-none| image:: ../../../../src/silx/resources/gui/icons/colormap-none.png +.. |colormap-norm-arcsinh| image:: ../../../../src/silx/resources/gui/icons/colormap-norm-arcsinh.png +.. |colormap-norm-gamma| image:: ../../../../src/silx/resources/gui/icons/colormap-norm-gamma.png +.. |colormap-norm-linear| image:: ../../../../src/silx/resources/gui/icons/colormap-norm-linear.png +.. |colormap-norm-log| image:: ../../../../src/silx/resources/gui/icons/colormap-norm-log.png +.. |colormap-norm-sqrt| image:: ../../../../src/silx/resources/gui/icons/colormap-norm-sqrt.png +.. |colormap-range| image:: ../../../../src/silx/resources/gui/icons/colormap-range.png +.. |colormap| image:: ../../../../src/silx/resources/gui/icons/colormap.png +.. |compare-align-auto| image:: ../../../../src/silx/resources/gui/icons/compare-align-auto.png +.. |compare-align-center| image:: ../../../../src/silx/resources/gui/icons/compare-align-center.png +.. |compare-align-origin| image:: ../../../../src/silx/resources/gui/icons/compare-align-origin.png +.. |compare-align-stretch| image:: ../../../../src/silx/resources/gui/icons/compare-align-stretch.png +.. |compare-keypoints| image:: ../../../../src/silx/resources/gui/icons/compare-keypoints.png +.. |compare-mode-a-minus-b| image:: ../../../../src/silx/resources/gui/icons/compare-mode-a-minus-b.png +.. |compare-mode-a| image:: ../../../../src/silx/resources/gui/icons/compare-mode-a.png +.. |compare-mode-b| image:: ../../../../src/silx/resources/gui/icons/compare-mode-b.png +.. |compare-mode-hline| image:: ../../../../src/silx/resources/gui/icons/compare-mode-hline.png +.. |compare-mode-rb-channel| image:: ../../../../src/silx/resources/gui/icons/compare-mode-rb-channel.png +.. |compare-mode-rbneg-channel| image:: ../../../../src/silx/resources/gui/icons/compare-mode-rbneg-channel.png +.. |compare-mode-vline| image:: ../../../../src/silx/resources/gui/icons/compare-mode-vline.png +.. |crop| image:: ../../../../src/silx/resources/gui/icons/crop.png +.. |crosshair| image:: ../../../../src/silx/resources/gui/icons/crosshair.png +.. |cube-back| image:: ../../../../src/silx/resources/gui/icons/cube-back.png +.. |cube-bottom| image:: ../../../../src/silx/resources/gui/icons/cube-bottom.png +.. |cube-front| image:: ../../../../src/silx/resources/gui/icons/cube-front.png +.. |cube-left| image:: ../../../../src/silx/resources/gui/icons/cube-left.png +.. |cube-right| image:: ../../../../src/silx/resources/gui/icons/cube-right.png +.. |cube-rotate| image:: ../../../../src/silx/resources/gui/icons/cube-rotate.png +.. |cube-top| image:: ../../../../src/silx/resources/gui/icons/cube-top.png +.. |cube| image:: ../../../../src/silx/resources/gui/icons/cube.png +.. |description-description| image:: ../../../../src/silx/resources/gui/icons/description-description.png +.. |description-error| image:: ../../../../src/silx/resources/gui/icons/description-error.png +.. |description-name| image:: ../../../../src/silx/resources/gui/icons/description-name.png +.. |description-program| image:: ../../../../src/silx/resources/gui/icons/description-program.png +.. |description-title| image:: ../../../../src/silx/resources/gui/icons/description-title.png +.. |description-value| image:: ../../../../src/silx/resources/gui/icons/description-value.png +.. |document-open| image:: ../../../../src/silx/resources/gui/icons/document-open.png +.. |document-print| image:: ../../../../src/silx/resources/gui/icons/document-print.png +.. |document-save| image:: ../../../../src/silx/resources/gui/icons/document-save.png +.. |draw-brush| image:: ../../../../src/silx/resources/gui/icons/draw-brush.png +.. |draw-pencil| image:: ../../../../src/silx/resources/gui/icons/draw-pencil.png +.. |draw-rubber| image:: ../../../../src/silx/resources/gui/icons/draw-rubber.png +.. |edit-copy| image:: ../../../../src/silx/resources/gui/icons/edit-copy.png +.. |eye| image:: ../../../../src/silx/resources/gui/icons/eye.png +.. |first| image:: ../../../../src/silx/resources/gui/icons/first.png +.. |folder| image:: ../../../../src/silx/resources/gui/icons/folder.png +.. |image-mask| image:: ../../../../src/silx/resources/gui/icons/image-mask.png +.. |image-select-add| image:: ../../../../src/silx/resources/gui/icons/image-select-add.png +.. |image-select-box| image:: ../../../../src/silx/resources/gui/icons/image-select-box.png +.. |image-select-brush| image:: ../../../../src/silx/resources/gui/icons/image-select-brush.png +.. |image-select-erase-rubber| image:: ../../../../src/silx/resources/gui/icons/image-select-erase-rubber.png +.. |image-select-erase| image:: ../../../../src/silx/resources/gui/icons/image-select-erase.png +.. |image| image:: ../../../../src/silx/resources/gui/icons/image.png +.. |item-0dim| image:: ../../../../src/silx/resources/gui/icons/item-0dim.png +.. |item-1dim| image:: ../../../../src/silx/resources/gui/icons/item-1dim.png +.. |item-2dim| image:: ../../../../src/silx/resources/gui/icons/item-2dim.png +.. |item-3dim| image:: ../../../../src/silx/resources/gui/icons/item-3dim.png +.. |item-ndim| image:: ../../../../src/silx/resources/gui/icons/item-ndim.png +.. |item-none| image:: ../../../../src/silx/resources/gui/icons/item-none.png +.. |item-object| image:: ../../../../src/silx/resources/gui/icons/item-object.png +.. |last| image:: ../../../../src/silx/resources/gui/icons/last.png +.. |layer-nx| image:: ../../../../src/silx/resources/gui/icons/layer-nx.png +.. |mask-clear-all| image:: ../../../../src/silx/resources/gui/icons/mask-clear-all.png +.. |mask-clear| image:: ../../../../src/silx/resources/gui/icons/mask-clear.png +.. |mask-invert| image:: ../../../../src/silx/resources/gui/icons/mask-invert.png +.. |math-amplitude| image:: ../../../../src/silx/resources/gui/icons/math-amplitude.png +.. |math-average| image:: ../../../../src/silx/resources/gui/icons/math-average.png +.. |math-derive| image:: ../../../../src/silx/resources/gui/icons/math-derive.png +.. |math-energy| image:: ../../../../src/silx/resources/gui/icons/math-energy.png +.. |math-fit| image:: ../../../../src/silx/resources/gui/icons/math-fit.png +.. |math-imaginary| image:: ../../../../src/silx/resources/gui/icons/math-imaginary.png +.. |math-mean| image:: ../../../../src/silx/resources/gui/icons/math-mean.png +.. |math-normalize| image:: ../../../../src/silx/resources/gui/icons/math-normalize.png +.. |math-peak-reset| image:: ../../../../src/silx/resources/gui/icons/math-peak-reset.png +.. |math-peak-search| image:: ../../../../src/silx/resources/gui/icons/math-peak-search.png +.. |math-peak| image:: ../../../../src/silx/resources/gui/icons/math-peak.png +.. |math-phase-color-log| image:: ../../../../src/silx/resources/gui/icons/math-phase-color-log.png +.. |math-phase-color| image:: ../../../../src/silx/resources/gui/icons/math-phase-color.png +.. |math-phase| image:: ../../../../src/silx/resources/gui/icons/math-phase.png +.. |math-real| image:: ../../../../src/silx/resources/gui/icons/math-real.png +.. |math-sigma| image:: ../../../../src/silx/resources/gui/icons/math-sigma.png +.. |math-smooth| image:: ../../../../src/silx/resources/gui/icons/math-smooth.png +.. |math-square-amplitude| image:: ../../../../src/silx/resources/gui/icons/math-square-amplitude.png +.. |math-substract| image:: ../../../../src/silx/resources/gui/icons/math-substract.png +.. |math-swap-sign| image:: ../../../../src/silx/resources/gui/icons/math-swap-sign.png +.. |math-ymin-to-zero| image:: ../../../../src/silx/resources/gui/icons/math-ymin-to-zero.png +.. |median-filter| image:: ../../../../src/silx/resources/gui/icons/median-filter.png +.. |next| image:: ../../../../src/silx/resources/gui/icons/next.png +.. |normal| image:: ../../../../src/silx/resources/gui/icons/normal.png +.. |nxdata-axis-add| image:: ../../../../src/silx/resources/gui/icons/nxdata-axis-add.png +.. |nxdata-axis-remove| image:: ../../../../src/silx/resources/gui/icons/nxdata-axis-remove.png +.. |nxdata-create| image:: ../../../../src/silx/resources/gui/icons/nxdata-create.png +.. |nxdata-remove| image:: ../../../../src/silx/resources/gui/icons/nxdata-remove.png +.. |pan| image:: ../../../../src/silx/resources/gui/icons/pan.png +.. |pixel-intensities| image:: ../../../../src/silx/resources/gui/icons/pixel-intensities.png +.. |plot-grid| image:: ../../../../src/silx/resources/gui/icons/plot-grid.png +.. |plot-roi-above| image:: ../../../../src/silx/resources/gui/icons/plot-roi-above.png +.. |plot-roi-below| image:: ../../../../src/silx/resources/gui/icons/plot-roi-below.png +.. |plot-roi-between| image:: ../../../../src/silx/resources/gui/icons/plot-roi-between.png +.. |plot-roi-reset| image:: ../../../../src/silx/resources/gui/icons/plot-roi-reset.png +.. |plot-roi| image:: ../../../../src/silx/resources/gui/icons/plot-roi.png +.. |plot-symbols| image:: ../../../../src/silx/resources/gui/icons/plot-symbols.png +.. |plot-toggle-points| image:: ../../../../src/silx/resources/gui/icons/plot-toggle-points.png +.. |plot-widget| image:: ../../../../src/silx/resources/gui/icons/plot-widget.png +.. |plot-window-image| image:: ../../../../src/silx/resources/gui/icons/plot-window-image.png +.. |plot-window| image:: ../../../../src/silx/resources/gui/icons/plot-window.png +.. |plot-xauto| image:: ../../../../src/silx/resources/gui/icons/plot-xauto.png +.. |plot-xlog| image:: ../../../../src/silx/resources/gui/icons/plot-xlog.png +.. |plot-yauto| image:: ../../../../src/silx/resources/gui/icons/plot-yauto.png +.. |plot-ydown| image:: ../../../../src/silx/resources/gui/icons/plot-ydown.png +.. |plot-ylog| image:: ../../../../src/silx/resources/gui/icons/plot-ylog.png +.. |plot-yup| image:: ../../../../src/silx/resources/gui/icons/plot-yup.png +.. |pointing-hand| image:: ../../../../src/silx/resources/gui/icons/pointing-hand.png +.. |previous| image:: ../../../../src/silx/resources/gui/icons/previous.png +.. |profile-clear| image:: ../../../../src/silx/resources/gui/icons/profile-clear.png +.. |profile1D| image:: ../../../../src/silx/resources/gui/icons/profile1D.png +.. |profile2D| image:: ../../../../src/silx/resources/gui/icons/profile2D.png +.. |remove| image:: ../../../../src/silx/resources/gui/icons/remove.png +.. |rm| image:: ../../../../src/silx/resources/gui/icons/rm.png +.. |rotate-3d| image:: ../../../../src/silx/resources/gui/icons/rotate-3d.png +.. |rudder| image:: ../../../../src/silx/resources/gui/icons/rudder.png +.. |selected| image:: ../../../../src/silx/resources/gui/icons/selected.png +.. |shape-circle-solid| image:: ../../../../src/silx/resources/gui/icons/shape-circle-solid.png +.. |shape-circle| image:: ../../../../src/silx/resources/gui/icons/shape-circle.png +.. |shape-cross| image:: ../../../../src/silx/resources/gui/icons/shape-cross.png +.. |shape-diagonal-directed| image:: ../../../../src/silx/resources/gui/icons/shape-diagonal-directed.png +.. |shape-diagonal| image:: ../../../../src/silx/resources/gui/icons/shape-diagonal.png +.. |shape-ellipse-solid| image:: ../../../../src/silx/resources/gui/icons/shape-ellipse-solid.png +.. |shape-ellipse| image:: ../../../../src/silx/resources/gui/icons/shape-ellipse.png +.. |shape-horizontal| image:: ../../../../src/silx/resources/gui/icons/shape-horizontal.png +.. |shape-polygon| image:: ../../../../src/silx/resources/gui/icons/shape-polygon.png +.. |shape-rectangle| image:: ../../../../src/silx/resources/gui/icons/shape-rectangle.png +.. |shape-square| image:: ../../../../src/silx/resources/gui/icons/shape-square.png +.. |shape-vertical| image:: ../../../../src/silx/resources/gui/icons/shape-vertical.png +.. |side-histograms| image:: ../../../../src/silx/resources/gui/icons/side-histograms.png +.. |silx| image:: ../../../../src/silx/resources/gui/icons/silx.png +.. |slice-cross| image:: ../../../../src/silx/resources/gui/icons/slice-cross.png +.. |slice-horizontal| image:: ../../../../src/silx/resources/gui/icons/slice-horizontal.png +.. |slice-vertical| image:: ../../../../src/silx/resources/gui/icons/slice-vertical.png +.. |sliders-off| image:: ../../../../src/silx/resources/gui/icons/sliders-off.png +.. |sliders-on| image:: ../../../../src/silx/resources/gui/icons/sliders-on.png +.. |spec| image:: ../../../../src/silx/resources/gui/icons/spec.png +.. |stats-active-items| image:: ../../../../src/silx/resources/gui/icons/stats-active-items.png +.. |stats-visible-data| image:: ../../../../src/silx/resources/gui/icons/stats-visible-data.png +.. |stats-whole-data| image:: ../../../../src/silx/resources/gui/icons/stats-whole-data.png +.. |stats-whole-items| image:: ../../../../src/silx/resources/gui/icons/stats-whole-items.png +.. |tree-collapse-all| image:: ../../../../src/silx/resources/gui/icons/tree-collapse-all.png +.. |tree-expand-all| image:: ../../../../src/silx/resources/gui/icons/tree-expand-all.png +.. |tree-sort| image:: ../../../../src/silx/resources/gui/icons/tree-sort.png +.. |view-1d| image:: ../../../../src/silx/resources/gui/icons/view-1d.png +.. |view-2d-stack| image:: ../../../../src/silx/resources/gui/icons/view-2d-stack.png +.. |view-2d| image:: ../../../../src/silx/resources/gui/icons/view-2d.png +.. |view-3d| image:: ../../../../src/silx/resources/gui/icons/view-3d.png +.. |view-fullscreen| image:: ../../../../src/silx/resources/gui/icons/view-fullscreen.png +.. |view-hdf5| image:: ../../../../src/silx/resources/gui/icons/view-hdf5.png +.. |view-nexus| image:: ../../../../src/silx/resources/gui/icons/view-nexus.png +.. |view-nofullscreen| image:: ../../../../src/silx/resources/gui/icons/view-nofullscreen.png +.. |view-raw| image:: ../../../../src/silx/resources/gui/icons/view-raw.png +.. |view-refresh| image:: ../../../../src/silx/resources/gui/icons/view-refresh.png +.. |view-text| image:: ../../../../src/silx/resources/gui/icons/view-text.png +.. |window-new| image:: ../../../../src/silx/resources/gui/icons/window-new.png +.. |zoom-back| image:: ../../../../src/silx/resources/gui/icons/zoom-back.png +.. |zoom-in| image:: ../../../../src/silx/resources/gui/icons/zoom-in.png +.. |zoom-original| image:: ../../../../src/silx/resources/gui/icons/zoom-original.png +.. |zoom-out| image:: ../../../../src/silx/resources/gui/icons/zoom-out.png +.. |zoom| image:: ../../../../src/silx/resources/gui/icons/zoom.png diff --git a/doc/source/modules/gui/plot/getting_started.rst b/doc/source/modules/gui/plot/getting_started.rst index c105395..1c29f23 100644 --- a/doc/source/modules/gui/plot/getting_started.rst +++ b/doc/source/modules/gui/plot/getting_started.rst @@ -20,7 +20,7 @@ For a complete description of the API, see :mod:`silx.gui.plot`. Use :mod:`silx.gui.plot` from (I)Python console ----------------------------------------------- -We recommend to use (I)Python >=3.5 and PyQt5. +We recommend to use (I)Python >=3.6 and PyQt5. From a Python or IPython interpreter, the simplest way is to import the :mod:`silx.sx` module: @@ -87,9 +87,9 @@ A Qt GUI script must have a QApplication initialised before creating widgets: if __name__ == '__main__': [...] - qapp.exec_() + qapp.exec() -Unless a Qt binding has already been loaded, :mod:`silx.gui.qt` uses one of the supported Qt bindings (PyQt5, PyQt4, PySide2). +Unless a Qt binding has already been loaded, :mod:`silx.gui.qt` uses one of the supported Qt bindings (PyQt5, PySide2, PySide6). If you prefer to choose the Qt binding yourself, import it before importing a module from :mod:`silx.gui`: diff --git a/doc/source/modules/gui/widgets/printpreview.rst b/doc/source/modules/gui/widgets/printpreview.rst index d0b7999..bff2381 100644 --- a/doc/source/modules/gui/widgets/printpreview.rst +++ b/doc/source/modules/gui/widgets/printpreview.rst @@ -56,5 +56,5 @@ Example commentPosition="CENTER") w.addImage(qt.QImage(filename), comment=comment, commentPosition="LEFT") - w.exec_() - a.exec_() + w.exec() + a.exec() diff --git a/doc/source/modules/io/fioh5.rst b/doc/source/modules/io/fioh5.rst new file mode 100644 index 0000000..c901878 --- /dev/null +++ b/doc/source/modules/io/fioh5.rst @@ -0,0 +1,35 @@ + +.. currentmodule:: silx.io + +:mod:`fioh5`: h5py-like API to FIO file +---------------------------------------- + +.. automodule:: silx.io.fioh5 + + +Classes ++++++++ + +- :class:`FioH5` +- :class:`FioFile` + +.. autoclass:: FioH5 + :members: + :show-inheritance: + :undoc-members: + :inherited-members: name, basename, attrs, h5py_class, parent, + get, keys, values, items, + :special-members: __getitem__, __len__, __contains__, __enter__, __exit__, __iter__ + :exclude-members: add_node + +.. autoclass:: FioFile + +.. autoclass:: silx.io.commonh5.Group + :show-inheritance: + :undoc-members: + :members: name, basename, file, attrs, h5py_class, parent, + get, keys, values, items, visit, visititems + :special-members: __getitem__, __len__, __contains__, __iter__ + :exclude-members: add_node + +.. autofunction:: is_fiofile
\ No newline at end of file diff --git a/doc/source/modules/io/index.rst b/doc/source/modules/io/index.rst index 581f763..a511bef 100644 --- a/doc/source/modules/io/index.rst +++ b/doc/source/modules/io/index.rst @@ -16,6 +16,7 @@ specfile.rst specfilewrapper.rst spech5.rst + fioh5.rst url.rst utils.rst h5py_utils.rst diff --git a/doc/source/virtualenv.rst b/doc/source/virtualenv.rst index ccdd9b6..280c031 100644 --- a/doc/source/virtualenv.rst +++ b/doc/source/virtualenv.rst @@ -132,7 +132,7 @@ To test *silx*, open an interactive python console: python -If you don't have PyQt5 or PySide2, run: +If you don't have PyQt5, PySide2 or PySide6, run: .. code-block:: bash diff --git a/examples/colormapDialog.py b/examples/colormapDialog.py index c9e7c35..d389327 100644 --- a/examples/colormapDialog.py +++ b/examples/colormapDialog.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -140,7 +140,7 @@ class ColormapDialogExample(qt.QMainWindow): button = qt.QPushButton("Negative to positive") button.clicked.connect(self.setDataFromNegToPos) layout.addWidget(button) - button = qt.QPushButton("Only non finite values") + button = qt.QPushButton("With non finite values") button.clicked.connect(self.setDataWithNonFinite) layout.addWidget(button) @@ -259,7 +259,7 @@ class ColormapDialogExample(qt.QMainWindow): if scipy is not None: from scipy import ndimage data = ndimage.gaussian_filter(data, sigma=20) - data = numpy.random.poisson(data) + data = numpy.random.poisson(data).astype(numpy.float32) data[10] = float("nan") data[50] = float("+inf") data[100] = float("-inf") @@ -275,7 +275,7 @@ def main(): example = ColormapDialogExample() example.show() - app.exec_() + app.exec() if __name__ == '__main__': diff --git a/examples/compareImages.py b/examples/compareImages.py index 623216a..3408a72 100644 --- a/examples/compareImages.py +++ b/examples/compareImages.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2017 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -208,4 +208,4 @@ if __name__ == "__main__": window.setFiles(options.files) window.setVisible(True) - app.exec_() + app.exec() diff --git a/examples/compositeline.py b/examples/compositeline.py index 892ecf3..72398e6 100644 --- a/examples/compositeline.py +++ b/examples/compositeline.py @@ -72,7 +72,7 @@ def main(argv=None): addLine([70, 0], [70, 100], "_", "_", "l6", "black") mainWindow.setVisible(True) - return app.exec_() + return app.exec() if __name__ == "__main__": diff --git a/examples/customDataView.py b/examples/customDataView.py index 33662e8..e02e577 100644 --- a/examples/customDataView.py +++ b/examples/customDataView.py @@ -96,7 +96,7 @@ def main(): widget.addView(MyColorView(widget)) widget.setData(Color.GREEN) widget.show() - result = app.exec_() + result = app.exec() # remove ending warnings relative to QTimer app.deleteLater() sys.exit(result) diff --git a/examples/customHdf5TreeModel.py b/examples/customHdf5TreeModel.py index fde76c5..ffc0220 100644 --- a/examples/customHdf5TreeModel.py +++ b/examples/customHdf5TreeModel.py @@ -279,7 +279,7 @@ def main(filenames): sys.excepthook = qt.exceptionHandler window = Hdf5TreeViewExample(filenames) window.show() - result = app.exec_() + result = app.exec() # remove ending warnings relative to QTimer app.deleteLater() sys.exit(result) diff --git a/examples/dropZones.py b/examples/dropZones.py index 68d0a57..6593bbb 100644 --- a/examples/dropZones.py +++ b/examples/dropZones.py @@ -140,7 +140,7 @@ class DragLabel(qt.QLabel): self._url.path().encode(encoding='utf-8')) drag = qt.QDrag(self) drag.setMimeData(mimeData) - dropAction = drag.exec_() + dropAction = drag.exec() class DragAndDropExample(qt.QMainWindow): @@ -178,7 +178,7 @@ def main(): silx.io.url.DataUrl(file_path=filename, data_path='/curve', scheme="silx"))) example.setWindowTitle("Drag&Drop URLs sample code") example.show() - app.exec_() + app.exec() if __name__ == "__main__": diff --git a/examples/exampleBaseline.py b/examples/exampleBaseline.py index edd0fc3..b53b412 100644 --- a/examples/exampleBaseline.py +++ b/examples/exampleBaseline.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -157,7 +157,7 @@ def main(argv): plot_log = get_plot_log(backend=options.backend) plot_log.show() - qapp.exec_() + qapp.exec() if __name__ == '__main__': diff --git a/examples/fftPlotAction.py b/examples/fftPlotAction.py index bdea08d..f7c819f 100755 --- a/examples/fftPlotAction.py +++ b/examples/fftPlotAction.py @@ -190,5 +190,5 @@ plotwin.getYAxis().setLabel("amplitude") plotwin.getXAxis().setLabel("time") plotwin.show() -app.exec_() +app.exec() sys.excepthook = sys.__excepthook__ diff --git a/examples/fileDialog.py b/examples/fileDialog.py index 40191bb..fa11ed5 100644 --- a/examples/fileDialog.py +++ b/examples/fileDialog.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2019 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -216,7 +216,7 @@ class DialogExample(qt.QMainWindow): dialog = self.createDialog() # Execute the dialog as modal - result = dialog.exec_() + result = dialog.exec() self.printResult(dialog, result) def openDialogStoredState(self): @@ -226,7 +226,7 @@ class DialogExample(qt.QMainWindow): dialog.restoreState(self.__state[dialog.__class__]) # Execute the dialog as modal - result = dialog.exec_() + result = dialog.exec() self.__state[dialog.__class__] = dialog.saveState() self.printResult(dialog, result) @@ -237,7 +237,7 @@ class DialogExample(qt.QMainWindow): dialog.setDirectory(path) # Execute the dialog as modal - result = dialog.exec_() + result = dialog.exec() self.printResult(dialog, result) def openDialogAtComputer(self): @@ -247,7 +247,7 @@ class DialogExample(qt.QMainWindow): dialog.setDirectory(path) # Execute the dialog as modal - result = dialog.exec_() + result = dialog.exec() self.printResult(dialog, result) @@ -255,7 +255,7 @@ def main(): app = qt.QApplication([]) example = DialogExample() example.show() - app.exec_() + app.exec() if __name__ == "__main__": diff --git a/examples/findContours.py b/examples/findContours.py index 6199ba6..acf5199 100644 --- a/examples/findContours.py +++ b/examples/findContours.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2019 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -694,7 +694,7 @@ def main(): window = FindContours() window.generateIsland() window.show() - result = app.exec_() + result = app.exec() # remove ending warnings relative to QTimer app.deleteLater() return result diff --git a/examples/hdf5widget.py b/examples/hdf5widget.py index 0d45b8f..82ce27d 100755 --- a/examples/hdf5widget.py +++ b/examples/hdf5widget.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2019 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -25,12 +25,12 @@ # ###########################################################################*/ """Qt Hdf5 widget examples""" +import html import logging import sys import tempfile import numpy -import six logging.basicConfig() _logger = logging.getLogger("hdf5widget") @@ -46,7 +46,6 @@ except ImportError: import h5py import silx.gui.hdf5 -import silx.utils.html from silx.gui import qt from silx.gui.data.DataViewerFrame import DataViewerFrame from silx.gui.widgets.ThreadPoolPushButton import ThreadPoolPushButton @@ -59,7 +58,7 @@ _file_cache = {} def str_attrs(str_list): """Return a numpy array of unicode strings""" - text_dtype = h5py.special_dtype(vlen=six.text_type) + text_dtype = h5py.special_dtype(vlen=str) return numpy.array(str_list, dtype=text_dtype) @@ -573,7 +572,7 @@ class Hdf5TreeViewExample(qt.QMainWindow): """Called to log event in widget """ def formatKey(name, value): - name, value = silx.utils.html.escape(str(name)), silx.utils.html.escape(str(value)) + name, value = html.escape(str(name)), html.escape(str(value)) return "<li><b>%s</b>: %s</li>" % (name, value) text = "<html>" @@ -791,7 +790,7 @@ def main(filenames): sys.excepthook = qt.exceptionHandler window = Hdf5TreeViewExample(filenames) window.show() - result = app.exec_() + result = app.exec() # remove ending warnings relative to QTimer app.deleteLater() sys.exit(result) diff --git a/examples/icons.py b/examples/icons.py index ae77630..ff8410d 100644 --- a/examples/icons.py +++ b/examples/icons.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2018 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -177,4 +177,4 @@ if __name__ == "__main__": app = qt.QApplication([]) window = IconPreview() window.setVisible(True) - app.exec_() + app.exec() diff --git a/examples/imageStack.py b/examples/imageStack.py index 0437a6e..4c211b5 100644 --- a/examples/imageStack.py +++ b/examples/imageStack.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2018 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -132,7 +132,7 @@ def main(): urls = create_datasets(folder=dataset_folder) widget.setUrls(urls=urls) widget.show() - qapp.exec_() + qapp.exec() widget.close() shutil.rmtree(dataset_folder) diff --git a/examples/imageview.py b/examples/imageview.py index 81741b1..40b5dff 100755 --- a/examples/imageview.py +++ b/examples/imageview.py @@ -40,14 +40,76 @@ __license__ = "MIT" __date__ = "08/11/2018" import logging +import numpy +import time +import threading + +from silx.gui.utils import concurrent from silx.gui.plot.ImageView import ImageViewMainWindow from silx.gui import qt -import numpy logging.basicConfig() logger = logging.getLogger(__name__) +Nx = 150 +Ny = 50 + + +class UpdateThread(threading.Thread): + """Thread updating the image of a :class:`~sil.gui.plot.Plot2D` + + :param plot2d: The Plot2D to update.""" + + def __init__(self, imageview): + self.imageview = imageview + self.running = False + self.future_result = None + super(UpdateThread, self).__init__() + + def start(self): + """Start the update thread""" + self.running = True + super(UpdateThread, self).start() + + def run(self, pos={'x0': 0, 'y0': 0}): + """Method implementing thread loop that updates the plot + + It produces an image every 10 ms or so, and + either updates the plot or skip the image + """ + while self.running: + time.sleep(0.01) + + # Create image + # width of peak + sigma_x = 0.15 + sigma_y = 0.25 + # x and y positions + x = numpy.linspace(-1.5, 1.5, Nx) + y = numpy.linspace(-1.0, 1.0, Ny) + xv, yv = numpy.meshgrid(x, y) + signal = numpy.exp(- ((xv - pos['x0']) ** 2 / sigma_x ** 2 + + (yv - pos['y0']) ** 2 / sigma_y ** 2)) + # add noise + signal += 0.3 * numpy.random.random(size=signal.shape) + # random walk of center of peak ('drift') + pos['x0'] += 0.05 * (numpy.random.random() - 0.5) + pos['y0'] += 0.05 * (numpy.random.random() - 0.5) + + # If previous frame was not added to the plot yet, skip this one + if self.future_result is None or self.future_result.done(): + # plot the data asynchronously, and + # keep a reference to the `future` object + self.future_result = concurrent.submitToQtMainThread( + self.imageview.setImage, signal, resetzoom=False) + + def stop(self): + """Stop the update thread""" + self.running = False + self.join(2) + + def main(argv=None): """Display an image from a file in an :class:`ImageView` widget. @@ -82,12 +144,17 @@ def main(argv=None): parser.add_argument( 'filename', nargs='?', help='EDF filename of the image to open') + parser.add_argument( + '--live', action='store_true', + help='Live update of a generated image') args = parser.parse_args(args=argv) # Open the input file - if not args.filename: + edfFile = None + if args.live: + data = None + elif not args.filename: logger.warning('No image file provided, displaying dummy data') - edfFile = None size = 512 xx, yy = numpy.ogrid[-size:size, -size:size] data = numpy.cos(xx / (size//5)) + numpy.cos(yy / (size//5)) @@ -118,9 +185,10 @@ def main(argv=None): colormap = mainWindow.getDefaultColormap() colormap.setNormalization(colormap.LOGARITHM) - mainWindow.setImage(data, - origin=args.origin, - scale=args.scale) + if data is not None: + mainWindow.setImage(data, + origin=args.origin, + scale=args.scale) if edfFile is not None and nbFrames > 1: # Add a toolbar for multi-frame EDF support @@ -144,7 +212,12 @@ def main(argv=None): mainWindow.show() mainWindow.setFocus(qt.Qt.OtherFocusReason) - return app.exec_() + if args.live: + # Start updating the plot + updateThread = UpdateThread(mainWindow) + updateThread.start() + + return app.exec() if __name__ == "__main__": diff --git a/examples/periodicTable.py b/examples/periodicTable.py index e329ef7..fc3985f 100644 --- a/examples/periodicTable.py +++ b/examples/periodicTable.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2004-2017 European Synchrotron Radiation Facility +# Copyright (c) 2004-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -77,5 +77,4 @@ w.addTab(pl, "PeriodicList") w.addTab(comboContainer, "PeriodicCombo") w.show() -a.exec_() - +a.exec() diff --git a/examples/plot3dContextMenu.py b/examples/plot3dContextMenu.py index d33bb8f..0802b29 100644 --- a/examples/plot3dContextMenu.py +++ b/examples/plot3dContextMenu.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -86,7 +86,7 @@ class ScalarFieldViewWithContextMenu(ScalarFieldView): # The position received as argument is relative to Plot3DWidget # and needs to be converted. globalPosition = self.getPlot3DWidget().mapToGlobal(pos) - menu.exec_(globalPosition) + menu.exec(globalPosition) # Start Qt QApplication @@ -109,4 +109,4 @@ window.setData(data) window.addIsosurface(0.2, '#FF0000FF') window.show() -app.exec_() +app.exec() diff --git a/examples/plot3dSceneWindow.py b/examples/plot3dSceneWindow.py index 1b2f808..436b121 100644 --- a/examples/plot3dSceneWindow.py +++ b/examples/plot3dSceneWindow.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2019 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -200,4 +200,4 @@ window.show() sys.excepthook = qt.exceptionHandler # Run Qt event loop -qapp.exec_() +qapp.exec() diff --git a/examples/plot3dUpdateScatterFromThread.py b/examples/plot3dUpdateScatterFromThread.py index 9c2213f..a02fec6 100644 --- a/examples/plot3dUpdateScatterFromThread.py +++ b/examples/plot3dUpdateScatterFromThread.py @@ -167,7 +167,7 @@ def main(): updateThread = UpdateScatterThread(scatter) updateThread.start() # Start updating the plot - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot diff --git a/examples/plotClearAction.py b/examples/plotClearAction.py index e1130cb..6f1823a 100644 --- a/examples/plotClearAction.py +++ b/examples/plotClearAction.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2018 European Synchrotron Radiation Facility +# Copyright (c) 2018-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -72,4 +72,4 @@ if __name__ == '__main__': plot.addCurve((0, 1, 2, 3, 4), (0, 1, 1.5, 1, 0)) # Add a curve to the plot plot.show() # Show the plot widget - app.exec_() # Start Qt application + app.exec() # Start Qt application diff --git a/examples/plotContextMenu.py b/examples/plotContextMenu.py index 5f02f5f..bd1ad87 100644 --- a/examples/plotContextMenu.py +++ b/examples/plotContextMenu.py @@ -87,7 +87,7 @@ class PlotWidgetWithContextMenu(PlotWidget): # plot area, and thus needs to be converted. plotArea = self.getWidgetHandle() globalPosition = plotArea.mapToGlobal(pos) - menu.exec_(globalPosition) + menu.exec(globalPosition) # Start the QApplication @@ -100,4 +100,4 @@ plot.addCurve(x, numpy.sin(x), legend='sin') # Show the widget and start the application plot.show() -app.exec_() +app.exec() diff --git a/examples/plotCurveLegendWidget.py b/examples/plotCurveLegendWidget.py index 97c516a..98ba30b 100644 --- a/examples/plotCurveLegendWidget.py +++ b/examples/plotCurveLegendWidget.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2018-2020 European Synchrotron Radiation Facility +# Copyright (c) 2018-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -112,7 +112,7 @@ class MyCurveLegendsWidget(CurveLegendsWidget): functools.partial(self._switchCurveVisibility, curve)) globalPosition = self.mapToGlobal(pos) - menu.exec_(globalPosition) + menu.exec(globalPosition) # First create the QApplication @@ -151,4 +151,4 @@ window.addDockWidget(qt.Qt.RightDockWidgetArea, dock) window.setAttribute(qt.Qt.WA_DeleteOnClose) window.show() -app.exec_() +app.exec() diff --git a/examples/plotInteractiveImageROI.py b/examples/plotInteractiveImageROI.py index 7254b7e..298f7af 100644 --- a/examples/plotInteractiveImageROI.py +++ b/examples/plotInteractiveImageROI.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2018-2020 European Synchrotron Radiation Facility +# Copyright (c) 2018-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -153,6 +153,6 @@ plot.addTabbedDockWidget(dock) # Show the widget and start the application plot.show() -result = app.exec_() +result = app.exec() app.deleteLater() sys.exit(result) diff --git a/examples/plotItemsSelector.py b/examples/plotItemsSelector.py index 177489f..d7493ae 100755 --- a/examples/plotItemsSelector.py +++ b/examples/plotItemsSelector.py @@ -46,11 +46,11 @@ pw.show() isd = ItemsSelectionDialog(plot=pw) isd.setItemsSelectionMode(qt.QTableWidget.ExtendedSelection) -result = isd.exec_() +result = isd.exec() if result: for item in isd.getSelectedItems(): print(item.getName(), type(item)) else: print("Selection cancelled") -app.exec_() +app.exec() diff --git a/examples/plotLimits.py b/examples/plotLimits.py index c7cc7f5..75440f4 100644 --- a/examples/plotLimits.py +++ b/examples/plotLimits.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2017 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -90,4 +90,4 @@ if __name__ == "__main__": app = qt.QApplication([]) window = ConstrainedViewPlot() window.setVisible(True) - app.exec_() + app.exec() diff --git a/examples/plotProfile.py b/examples/plotProfile.py index 931f9b4..40e199a 100644 --- a/examples/plotProfile.py +++ b/examples/plotProfile.py @@ -201,7 +201,7 @@ def main(): app = qt.QApplication([]) widget = Example() widget.show() - app.exec_() + app.exec() if __name__ == "__main__": main() diff --git a/examples/plotROIStats.py b/examples/plotROIStats.py index 3caff7e..e713592 100644 --- a/examples/plotROIStats.py +++ b/examples/plotROIStats.py @@ -248,7 +248,7 @@ def example_curve(mode): window.setUpdateMode(mode) window.show() - app.exec_() + app.exec() def example_image(mode): @@ -278,7 +278,7 @@ def example_image(mode): window.setUpdateMode(mode) window.show() - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot @@ -314,7 +314,7 @@ def example_curve_image(mode): updateThread.start() # Start updating the plot window.show() - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot diff --git a/examples/plotStats.py b/examples/plotStats.py index 030caf8..433088f 100644 --- a/examples/plotStats.py +++ b/examples/plotStats.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2019 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -161,7 +161,7 @@ def main(argv): plot.getStatsWidget().parent().setVisible(True) plot.show() - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot diff --git a/examples/plotUpdateCurveFromThread.py b/examples/plotUpdateCurveFromThread.py index a36e5ee..27dbf9b 100644 --- a/examples/plotUpdateCurveFromThread.py +++ b/examples/plotUpdateCurveFromThread.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -95,7 +95,7 @@ def main(): updateThread = UpdateThread(plot1d) updateThread.start() # Start updating the plot - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot diff --git a/examples/plotUpdateImageFromThread.py b/examples/plotUpdateImageFromThread.py index 5850263..de23d3f 100644 --- a/examples/plotUpdateImageFromThread.py +++ b/examples/plotUpdateImageFromThread.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -116,6 +116,7 @@ def main(): # Create a Plot2D, set its limits and display it plot2d = Plot2D() + plot2d.getIntensityHistogramAction().setVisible(True) plot2d.setLimits(0, Nx, 0, Ny) plot2d.getDefaultColormap().setVRange(0., 1.5) plot2d.show() @@ -124,7 +125,7 @@ def main(): updateThread = UpdateThread(plot2d) updateThread.start() # Start updating the plot - app.exec_() + app.exec() updateThread.stop() # Stop updating the plot diff --git a/examples/plotWidget.py b/examples/plotWidget.py index af64afb..5d1f4b6 100644 --- a/examples/plotWidget.py +++ b/examples/plotWidget.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -64,7 +64,7 @@ class MyPlotWindow(qt.QMainWindow): # Make ColorBarWidget background white by changing its palette colorBar.setAutoFillBackground(True) palette = colorBar.palette() - palette.setColor(qt.QPalette.Background, qt.Qt.white) + palette.setColor(qt.QPalette.Window, qt.Qt.white) palette.setColor(qt.QPalette.Window, qt.Qt.white) colorBar.setPalette(palette) @@ -178,7 +178,7 @@ def main(): window.setAttribute(qt.Qt.WA_DeleteOnClose) window.show() window.showImage() - app.exec_() + app.exec() if __name__ == '__main__': diff --git a/examples/printPreview.py b/examples/printPreview.py index 6de8209..7fe5480 100755 --- a/examples/printPreview.py +++ b/examples/printPreview.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2018 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -96,4 +96,4 @@ pw3.show() pw3.addCurve(x, numpy.cos(x * 2 * numpy.pi / 1000)) -app.exec_() +app.exec() diff --git a/examples/scatterMask.py b/examples/scatterMask.py index 7a407ad..839fa3a 100644 --- a/examples/scatterMask.py +++ b/examples/scatterMask.py @@ -150,4 +150,4 @@ if __name__ == "__main__": msw.setScatter(x, y, v=v) msw.setBackgroundImage(bg_img) msw.show() - app.exec_() + app.exec() diff --git a/examples/scatterview.py b/examples/scatterview.py index cab32c0..5df11be 100755 --- a/examples/scatterview.py +++ b/examples/scatterview.py @@ -91,7 +91,7 @@ def main(argv=None): mainWindow.show() mainWindow.setFocus(qt.Qt.OtherFocusReason) - return app.exec_() + return app.exec() if __name__ == "__main__": diff --git a/examples/shiftPlotAction.py b/examples/shiftPlotAction.py index f272cda..6c5f8cf 100755 --- a/examples/shiftPlotAction.py +++ b/examples/shiftPlotAction.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016-2018 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -110,4 +110,4 @@ plotwin.addCurve(x, y1, legend="triangle shaped curve") plotwin.addCurve(x, y2, legend="oblique line") plotwin.show() -app.exec_() +app.exec() diff --git a/examples/simplewidget.py b/examples/simplewidget.py index 0e9038e..0a1c336 100755 --- a/examples/simplewidget.py +++ b/examples/simplewidget.py @@ -219,7 +219,7 @@ def main(): sys.excepthook = qt.exceptionHandler window = SimpleWidgetExample() window.show() - result = app.exec_() + result = app.exec() # remove ending warnings relative to QTimer app.deleteLater() sys.excepthook = sys.__excepthook__ diff --git a/examples/stackView.py b/examples/stackView.py index a4b6e8c..f857140 100644 --- a/examples/stackView.py +++ b/examples/stackView.py @@ -61,4 +61,4 @@ maskToolsWidget.setItemMaskUpdated(True) sv.show() -app.exec_() +app.exec() diff --git a/examples/syncPlotLocation.py b/examples/syncPlotLocation.py index 55332bc..83c1ade 100644 --- a/examples/syncPlotLocation.py +++ b/examples/syncPlotLocation.py @@ -102,4 +102,4 @@ if __name__ == "__main__": window = SyncPlot() window.setAttribute(qt.Qt.WA_DeleteOnClose, True) window.setVisible(True) - app.exec_() + app.exec() diff --git a/examples/syncaxis.py b/examples/syncaxis.py index 02505c9..2976231 100644 --- a/examples/syncaxis.py +++ b/examples/syncaxis.py @@ -99,4 +99,4 @@ if __name__ == "__main__": window = SyncPlot() window.setAttribute(qt.Qt.WA_DeleteOnClose, True) window.setVisible(True) - app.exec_() + app.exec() diff --git a/examples/viewer3DVolume.py b/examples/viewer3DVolume.py index 2193402..5b86199 100644 --- a/examples/viewer3DVolume.py +++ b/examples/viewer3DVolume.py @@ -203,4 +203,4 @@ else: window.addIsosurface(default_isolevel, '#FF0000FF') window.show() -app.exec_() +app.exec() diff --git a/package/debian10/control b/package/debian10/control index d724e69..25cf293 100644 --- a/package/debian10/control +++ b/package/debian10/control @@ -16,7 +16,6 @@ Build-Depends: cython3 (>= 0.23.2), python3-all-dev, python3-dateutil, python3-qtconsole, - python3-six, python3-fabio, python3-h5py, python3-mako, @@ -29,6 +28,8 @@ Build-Depends: cython3 (>= 0.23.2), python3-pyqt5, python3-pyqt5.qtopengl, python3-pyqt5.qtsvg, + python3-pytest, + python3-pytest-xvfb, python3-scipy, python3-setuptools, python3-sphinx, diff --git a/package/debian11/control b/package/debian11/control index 5e387fc..775753d 100644 --- a/package/debian11/control +++ b/package/debian11/control @@ -34,11 +34,12 @@ Build-Depends: cython3 (>= 0.23.2), python3-pyqt5.qtopengl-dbg, python3-pyqt5.qtsvg, python3-pyqt5.qtsvg-dbg, + python3-pytest, + python3-pytest-xvfb, python3-qtconsole, python3-scipy, python3-scipy-dbg, python3-setuptools, - python3-six, python3-sphinx, python3-sphinxcontrib.programoutput, xauth, diff --git a/package/windows/README.rst b/package/windows/README.rst index 97c1d54..cbf6fa3 100644 --- a/package/windows/README.rst +++ b/package/windows/README.rst @@ -4,20 +4,13 @@ Generate silx fat binary for Windows Pre-requisites
--------------
-- PyInstaller must be installed.
- It is best to use the development version to use package specific hooks up-to-date.
- Run either::
-
- pip install -r requirements-dev.txt
-
- or::
-
- pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
-
+- `PyInstaller <https://pyinstaller.readthedocs.io/>`_ must be installed.
+ Run: ``pip install -r requirements-dev.txt``
+- `InnoSetup <https://jrsoftware.org/isinfo.php>`_ must be installed and in the ``PATH``.
- silx and all its dependencies must be INSTALLED::
pip install silx[full]
-
+
or from the source directory::
pip install .[full]
@@ -28,10 +21,5 @@ Procedure - Go to the ``package/windows`` folder in the source directory
- Run ``pyinstaller pyinstaller.spec``.
- This generates a fat binary in ``package/windows/dist/silx/`` for the generic launcher ``silx.exe``.
-- Run ``pyinstaller pyinstaller-silx-view.spec``.
- This generates a fat binary in ``package/windows/dist/silx-view/`` for the silx view command ``silx-view.exe``.
-- Copy ``silx-view.exe`` and ``silx-view.exe.manifest`` to ``package/windows/dist/silx/``.
- This is a hack until PyInstaller supports multiple executables (see https://github.com/pyinstaller/pyinstaller/issues/1527).
-- Zip ``package\windows\dist\silx`` to make the application available as a single zip file.
-
+ This will generates the fat binary in ``package/windows/dist/``.
+ It will then run InnoSetup to create the installer in ``package/windows/artifacts/``.
diff --git a/package/windows/create-installer.iss.template b/package/windows/create-installer.iss.template new file mode 100644 index 0000000..ffb6af4 --- /dev/null +++ b/package/windows/create-installer.iss.template @@ -0,0 +1,92 @@ +[Setup]
+AppId={{A694A78C-B4D1-4983-8BC6-A84D30341EB4}
+AppName=silx view
+AppVersion=#Version
+AppVerName=silx-view-#Version
+AppPublisher=ESRF
+AppPublisherURL=https://www.silx.org
+AppSupportURL=https://github.com/silx-kit/silx
+AppUpdatesURL=https://github.com/silx-kit/silx/releases
+DefaultDirName={autopf}\silx
+DefaultGroupName=silx
+LicenseFile=..\..\LICENSE
+OutputDir=artifacts
+OutputBaseFilename=silx-#Version-x64
+Compression=lzma
+SolidCompression=yes
+ArchitecturesAllowed=x64
+ArchitecturesInstallIn64BitMode=x64
+WizardStyle=modern
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+Source: "dist\silx\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
+Source: "silx.ico"; DestDir: "{app}"
+
+[Icons]
+Name: "{group}\silx"; Filename: "{app}\silx-view.exe"; IconFilename: "{app}\silx.ico"
+Name: "{group}\Uninstall"; Filename: "{uninstallexe}"
+
+// Code from https://stackoverflow.com/questions/2000296/inno-setup-how-to-automatically-uninstall-previous-installed-version/2099805#209980
+[Code]
+
+/////////////////////////////////////////////////////////////////////
+function GetUninstallString(): String;
+var
+ sUnInstPath: String;
+ sUnInstallString: String;
+begin
+ sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
+ sUnInstallString := '';
+ if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
+ RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
+ Result := sUnInstallString;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function IsUpgrade(): Boolean;
+begin
+ Result := (GetUninstallString() <> '');
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function UnInstallOldVersion(): Integer;
+var
+ sUnInstallString: String;
+ iResultCode: Integer;
+begin
+ // Return Values:
+ // 1 - uninstall string is empty
+ // 2 - error executing the UnInstallString
+ // 3 - successfully executed the UnInstallString
+
+ // default return value
+ Result := 0;
+
+ // get the uninstall string of the old app
+ sUnInstallString := GetUninstallString();
+ if sUnInstallString <> '' then begin
+ sUnInstallString := RemoveQuotes(sUnInstallString);
+ if Exec(sUnInstallString, '/VERYSILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
+ Result := 3
+ else
+ Result := 2;
+ end else
+ Result := 1;
+end;
+
+/////////////////////////////////////////////////////////////////////
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+ if (CurStep=ssInstall) then
+ begin
+ if (IsUpgrade()) then
+ begin
+ UnInstallOldVersion();
+ end;
+ end;
+end;
diff --git a/package/windows/pyinstaller-silx-view.spec b/package/windows/pyinstaller-silx-view.spec deleted file mode 100644 index cf01fd1..0000000 --- a/package/windows/pyinstaller-silx-view.spec +++ /dev/null @@ -1,55 +0,0 @@ -# -*- mode: python -*-
-import os.path
-from PyInstaller.utils.hooks import collect_data_files, collect_submodules
-
-datas = []
-
-PROJECT_PATH = os.path.abspath(os.path.join(SPECPATH, "..", ".."))
-datas.append((os.path.join(PROJECT_PATH, "README.rst"), "."))
-datas.append((os.path.join(PROJECT_PATH, "LICENSE"), "."))
-datas.append((os.path.join(PROJECT_PATH, "copyright"), "."))
-datas += collect_data_files("silx.resources")
-
-
-hiddenimports = collect_submodules('fabio')
-
-
-block_cipher = None
-
-
-a = Analysis(['bootstrap-silx-view.py'],
- pathex=[],
- binaries=[],
- datas=datas,
- hiddenimports=hiddenimports,
- hookspath=[],
- runtime_hooks=[],
- excludes=[],
- win_no_prefer_redirects=False,
- win_private_assemblies=False,
- cipher=block_cipher,
- noarchive=False)
-
-pyz = PYZ(a.pure,
- a.zipped_data,
- cipher=block_cipher)
-
-exe = EXE(pyz,
- a.scripts,
- [],
- exclude_binaries=True,
- name='silx-view',
- debug=False,
- bootloader_ignore_signals=False,
- strip=False,
- upx=False,
- console=False,
- icon='silx.ico')
-
-coll = COLLECT(exe,
- a.binaries,
- a.zipfiles,
- a.datas,
- strip=False,
- upx=False,
- name='silx-view')
diff --git a/package/windows/pyinstaller.spec b/package/windows/pyinstaller.spec index 548e41a..59b66c1 100644 --- a/package/windows/pyinstaller.spec +++ b/package/windows/pyinstaller.spec @@ -1,5 +1,9 @@ # -*- mode: python -*-
import os.path
+from pathlib import Path
+import shutil
+import subprocess
+
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
datas = []
@@ -9,47 +13,131 @@ datas.append((os.path.join(PROJECT_PATH, "README.rst"), ".")) datas.append((os.path.join(PROJECT_PATH, "LICENSE"), "."))
datas.append((os.path.join(PROJECT_PATH, "copyright"), "."))
datas += collect_data_files("silx.resources")
+datas += collect_data_files("hdf5plugin")
-hiddenimports = collect_submodules('fabio')
+hiddenimports = []
+hiddenimports += collect_submodules('fabio')
+hiddenimports += collect_submodules('hdf5plugin')
block_cipher = None
-a = Analysis(['bootstrap.py'],
- pathex=[],
- binaries=[],
- datas=datas,
- hiddenimports=hiddenimports,
- hookspath=[],
- runtime_hooks=[],
- excludes=[],
- win_no_prefer_redirects=False,
- win_private_assemblies=False,
- cipher=block_cipher,
- noarchive=False)
-
-pyz = PYZ(a.pure,
- a.zipped_data,
- cipher=block_cipher)
-
-exe = EXE(pyz,
- a.scripts,
- [],
- exclude_binaries=True,
- name='silx',
- debug=False,
- bootloader_ignore_signals=False,
- strip=False,
- upx=False,
- console=True,
- icon='silx.ico')
-
-coll = COLLECT(exe,
- a.binaries,
- a.zipfiles,
- a.datas,
- strip=False,
- upx=False,
- name='silx')
+silx_a = Analysis(
+ ['bootstrap.py'],
+ pathex=[],
+ binaries=[],
+ datas=datas,
+ hiddenimports=hiddenimports,
+ hookspath=[],
+ runtime_hooks=[],
+ excludes=[],
+ win_no_prefer_redirects=False,
+ win_private_assemblies=False,
+ cipher=block_cipher,
+ noarchive=False)
+
+silx_view_a = Analysis(
+ ['bootstrap-silx-view.py'],
+ pathex=[],
+ binaries=[],
+ datas=datas,
+ hiddenimports=hiddenimports,
+ hookspath=[],
+ runtime_hooks=[],
+ excludes=[],
+ win_no_prefer_redirects=False,
+ win_private_assemblies=False,
+ cipher=block_cipher,
+ noarchive=False)
+
+MERGE(
+ (silx_a, 'silx', os.path.join('silx', 'silx')),
+ (silx_view_a, 'silx-view', os.path.join('silx-view', 'silx-view')),
+)
+
+
+silx_pyz = PYZ(
+ silx_a.pure,
+ silx_a.zipped_data,
+ cipher=block_cipher)
+
+silx_exe = EXE(
+ silx_pyz,
+ silx_a.scripts,
+ silx_a.dependencies,
+ [],
+ exclude_binaries=True,
+ name='silx',
+ debug=False,
+ bootloader_ignore_signals=False,
+ strip=False,
+ upx=False,
+ console=True,
+ icon='silx.ico')
+
+silx_coll = COLLECT(
+ silx_exe,
+ silx_a.binaries,
+ silx_a.zipfiles,
+ silx_a.datas,
+ strip=False,
+ upx=False,
+ name='silx')
+
+
+silx_view_pyz = PYZ(
+ silx_view_a.pure,
+ silx_view_a.zipped_data,
+ cipher=block_cipher)
+
+silx_view_exe = EXE(
+ silx_view_pyz,
+ silx_view_a.scripts,
+ silx_view_a.dependencies,
+ [],
+ exclude_binaries=True,
+ name='silx-view',
+ debug=False,
+ bootloader_ignore_signals=False,
+ strip=False,
+ upx=False,
+ console=False,
+ icon='silx.ico')
+
+silx_view_coll = COLLECT(
+ silx_view_exe,
+ silx_view_a.binaries,
+ silx_view_a.zipfiles,
+ silx_view_a.datas,
+ strip=False,
+ upx=False,
+ name='silx-view')
+
+
+# Fix MERGE by copying produced silx-view.exe file
+def move_silx_view_exe():
+ dist = Path(SPECPATH) / 'dist'
+ shutil.copy2(
+ src=dist / 'silx-view' / 'silx-view.exe',
+ dst=dist / 'silx',
+ )
+ shutil.rmtree(dist / 'silx-view')
+
+move_silx_view_exe()
+
+# Run innosetup
+def innosetup():
+ from silx import version
+
+ config_name = "create-installer.iss"
+ with open(config_name + '.template') as f:
+ content = f.read().replace("#Version", version)
+ with open(config_name, "w") as f:
+ f.write(content)
+
+ subprocess.call(["iscc", os.path.join(SPECPATH, config_name)])
+ os.remove(config_name)
+
+innosetup()
diff --git a/pyproject.toml b/pyproject.toml index c80dee7..c92bf42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,3 +5,4 @@ requires = [ "numpy>=1.12", "Cython>=0.21.1" ] +build-backend = "setuptools.build_meta"
\ No newline at end of file diff --git a/qtdesigner_plugins/plot1dplugin.py b/qtdesigner_plugins/plot1dplugin.py index 86982af..8bfdc50 100644 --- a/qtdesigner_plugins/plot1dplugin.py +++ b/qtdesigner_plugins/plot1dplugin.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -32,9 +32,7 @@ __date__ = "30/05/2016" from silx.gui import icons, qt -if qt.BINDING == 'PyQt4': - from PyQt4 import QtDesigner -elif qt.BINDING == 'PyQt5': +if qt.BINDING == 'PyQt5': from PyQt5 import QtDesigner else: raise RuntimeError("Unsupport Qt BINDING: %s" % qt.BINDING) diff --git a/qtdesigner_plugins/plot2dplugin.py b/qtdesigner_plugins/plot2dplugin.py index 1a07510..31c7557 100644 --- a/qtdesigner_plugins/plot2dplugin.py +++ b/qtdesigner_plugins/plot2dplugin.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2016 European Synchrotron Radiation Facility +# Copyright (c) 2016-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -32,9 +32,7 @@ __date__ = "30/05/2016" from silx.gui import icons, qt -if qt.BINDING == 'PyQt4': - from PyQt4 import QtDesigner -elif qt.BINDING == 'PyQt5': +if qt.BINDING == 'PyQt5': from PyQt5 import QtDesigner else: raise RuntimeError("Unsupport Qt BINDING: %s" % qt.BINDING) diff --git a/qtdesigner_plugins/plotwidgetplugin.py b/qtdesigner_plugins/plotwidgetplugin.py index 6cc97a5..5c92ebe 100644 --- a/qtdesigner_plugins/plotwidgetplugin.py +++ b/qtdesigner_plugins/plotwidgetplugin.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2015-2016 European Synchrotron Radiation Facility +# Copyright (c) 2015-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -32,9 +32,7 @@ __date__ = "30/05/2016" from silx.gui import qt, icons -if qt.BINDING == 'PyQt4': - from PyQt4 import QtDesigner -elif qt.BINDING == 'PyQt5': +if qt.BINDING == 'PyQt5': from PyQt5 import QtDesigner else: raise RuntimeError("Unsupport Qt BINDING: %s" % qt.BINDING) diff --git a/qtdesigner_plugins/plotwindowplugin.py b/qtdesigner_plugins/plotwindowplugin.py index b666399..89e6c47 100644 --- a/qtdesigner_plugins/plotwindowplugin.py +++ b/qtdesigner_plugins/plotwindowplugin.py @@ -2,7 +2,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2015-2016 European Synchrotron Radiation Facility +# Copyright (c) 2015-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -32,9 +32,7 @@ __date__ = "30/05/2016" from silx.gui import icons, qt -if qt.BINDING == 'PyQt4': - from PyQt4 import QtDesigner -elif qt.BINDING == 'PyQt5': +if qt.BINDING == 'PyQt5': from PyQt5 import QtDesigner else: raise RuntimeError("Unsupport Qt BINDING: %s" % qt.BINDING) diff --git a/requirements-dev.txt b/requirements-dev.txt index dac7fad..b5eea71 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,11 +4,15 @@ -r requirements.txt wheel # To build wheels Sphinx # To build the documentation in doc/ -lxml # For test coverage in run_test.py -coverage # For test coverage in run_test.py pillow # For loading images in documentation generation nbsphinx # For converting ipynb in documentation pandoc # For documentation Qt snapshot updates +pytest # For testing +pytest-xvfb # For GUI testing +pytest-cov # For coverage + +hdf5plugin # For HDF5 compression filters handling + # Use dev version of PyInstaller to keep hooks up-to-date https://github.com/pyinstaller/pyinstaller/archive/develop.zip; sys_platform == "win32" diff --git a/requirements.txt b/requirements.txt index fb5690d..06f57e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ ---only-binary numpy,h5py,scipy,PySide2,PyQt5 +--only-binary numpy,h5py,scipy,PySide2,PyQt5,PySide6 # Required dependencies (from setup.py setup_requires and install_requires) numpy >= 1.12 @@ -11,7 +11,6 @@ setuptools Cython >= 0.21.1 h5py fabio >= 0.9 -six # Extra dependencies (from setup.py extra_requires 'full' target) pyopencl; platform_machine in "i386, x86_64, AMD64" # For silx.opencl @@ -22,4 +21,4 @@ PyOpenGL # For silx.gui.plot3d python-dateutil # For silx.gui.plot scipy # For silx.math.fit demo, silx.image.sift demo, silx.image.sift.test Pillow # For silx.opencl.image.test -PyQt5 # or PySide2 # For silx.gui +PyQt5 # PySide2, PySide6 # For silx.gui diff --git a/run_tests.py b/run_tests.py index 5d3155a..bc8efe8 100755 --- a/run_tests.py +++ b/run_tests.py @@ -2,7 +2,7 @@ # coding: utf8 # /*########################################################################## # -# Copyright (c) 2015-2020 European Synchrotron Radiation Facility +# Copyright (c) 2015-2021 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -40,43 +40,9 @@ import logging import os import subprocess import sys -import time -import unittest -import collections -from argparse import ArgumentParser +import importlib -class StreamHandlerUnittestReady(logging.StreamHandler): - """The unittest class TestResult redefine sys.stdout/err to capture - stdout/err from tests and to display them only when a test fail. - This class allow to use unittest stdout-capture by using the last sys.stdout - and not a cached one. - """ - - def emit(self, record): - """ - :type record: logging.LogRecord - """ - self.stream = sys.stderr - super(StreamHandlerUnittestReady, self).emit(record) - - def flush(self): - pass - - -def createBasicHandler(): - """Create the handler using the basic configuration""" - hdlr = StreamHandlerUnittestReady() - fs = logging.BASIC_FORMAT - dfs = None - fmt = logging.Formatter(fs, dfs) - hdlr.setFormatter(fmt) - return hdlr - - -# Use an handler compatible with unittests, else use_buffer is not working -logging.root.addHandler(createBasicHandler()) - # Capture all default warnings logging.captureWarnings(True) import warnings @@ -87,25 +53,6 @@ logger.setLevel(logging.WARNING) logger.info("Python %s %s", sys.version, tuple.__itemsize__ * 8) -try: - import resource -except ImportError: - resource = None - logger.warning("resource module missing") - -try: - import importlib - importer = importlib.import_module -except ImportError: - - def importer(name): - module = __import__(name) - # returns the leaf module, instead of the root module - subnames = name.split(".") - subnames.pop(0) - for subname in subnames: - module = getattr(module, subname) - return module try: import numpy @@ -136,123 +83,6 @@ def get_project_name(root_dir): return name.split()[-1].decode('ascii') -class TextTestResultWithSkipList(unittest.TextTestResult): - """Override default TextTestResult to display list of skipped tests at the - end - """ - - def printErrors(self): - unittest.TextTestResult.printErrors(self) - # Print skipped tests at the end - self.printGroupedList("SKIPPED", self.skipped) - - def printGroupedList(self, flavour, errors): - grouped = collections.OrderedDict() - - for test, err in errors: - if err in grouped: - grouped[err] = grouped[err] + [test] - else: - grouped[err] = [test] - - for err, tests in grouped.items(): - self.stream.writeln(self.separator1) - for test in tests: - self.stream.writeln("%s: %s" % (flavour, self.getDescription(test))) - self.stream.writeln(self.separator2) - self.stream.writeln("%s" % err) - - -class ProfileTextTestResult(unittest.TextTestRunner.resultclass): - - def __init__(self, *arg, **kwarg): - unittest.TextTestRunner.resultclass.__init__(self, *arg, **kwarg) - self.logger = logging.getLogger("memProf") - self.logger.setLevel(min(logging.INFO, logging.root.level)) - self.logger.handlers.append(logging.FileHandler("profile.log")) - - def startTest(self, test): - unittest.TextTestRunner.resultclass.startTest(self, test) - if resource: - self.__mem_start = \ - resource.getrusage(resource.RUSAGE_SELF).ru_maxrss - self.__time_start = time.time() - - def stopTest(self, test): - unittest.TextTestRunner.resultclass.stopTest(self, test) - # see issue 311. For other platform, get size of ru_maxrss in "man getrusage" - if sys.platform == "darwin": - ratio = 1e-6 - else: - ratio = 1e-3 - if resource: - memusage = (resource.getrusage(resource.RUSAGE_SELF).ru_maxrss - - self.__mem_start) * ratio - else: - memusage = 0 - self.logger.info("Time: %.3fs \t RAM: %.3f Mb\t%s", - time.time() - self.__time_start, - memusage, test.id()) - - -def report_rst(cov, package, version="0.0.0", base=""): - """ - Generate a report of test coverage in RST (for Sphinx inclusion) - - :param cov: test coverage instance - :param str package: Name of the package - :param str base: base directory of modules to include in the report - :return: RST string - """ - import tempfile - fd, fn = tempfile.mkstemp(suffix=".xml") - os.close(fd) - cov.xml_report(outfile=fn) - - from lxml import etree - xml = etree.parse(fn) - classes = xml.xpath("//class") - - line0 = "Test coverage report for %s" % package - res = [line0, "=" * len(line0), ""] - res.append("Measured on *%s* version %s, %s" % - (package, version, time.strftime("%d/%m/%Y"))) - res += ["", - ".. csv-table:: Test suite coverage", - ' :header: "Name", "Stmts", "Exec", "Cover"', - ' :widths: 35, 8, 8, 8', - ''] - tot_sum_lines = 0 - tot_sum_hits = 0 - - for cl in classes: - name = cl.get("name") - fname = cl.get("filename") - if not os.path.abspath(fname).startswith(base): - continue - lines = cl.find("lines").getchildren() - hits = [int(i.get("hits")) for i in lines] - - sum_hits = sum(hits) - sum_lines = len(lines) - - cover = 100.0 * sum_hits / sum_lines if sum_lines else 0 - - if base: - name = os.path.relpath(fname, base) - - res.append(' "%s", "%s", "%s", "%.1f %%"' % - (name, sum_lines, sum_hits, cover)) - tot_sum_lines += sum_lines - tot_sum_hits += sum_hits - res.append("") - res.append(' "%s total", "%s", "%s", "%.1f %%"' % - (package, tot_sum_lines, tot_sum_hits, - 100.0 * tot_sum_hits / tot_sum_lines if tot_sum_lines else 0)) - res.append("") - return os.linesep.join(res) - - def is_debug_python(): """Returns true if the Python interpreter is in debug mode.""" try: @@ -304,14 +134,9 @@ def build_project(name, root_dir): def import_project_module(project_name, project_dir): """Import project module, from the system of from the project directory""" - # Prevent importing from source directory - if (os.path.dirname(os.path.abspath(__file__)) == os.path.abspath(sys.path[0])): - removed_from_sys_path = sys.path.pop(0) - logger.info("Patched sys.path, removed: '%s'", removed_from_sys_path) - if "--installed" in sys.argv: try: - module = importer(project_name) + module = importlib.import_module(project_name) except Exception: logger.error("Cannot run tests on installed version: %s not installed or raising error.", project_name) @@ -322,25 +147,13 @@ def import_project_module(project_name, project_dir): logging.error("Built project is not available !!! investigate") sys.path.insert(0, build_dir) logger.warning("Patched sys.path, added: '%s'", build_dir) - module = importer(project_name) + module = importlib.import_module(project_name) return module -def get_test_options(project_module): - """Returns the test options if available, else None""" - module_name = project_module.__name__ + '.test.utils' - logger.info('Import %s', module_name) - try: - test_utils = importer(module_name) - except ImportError: - logger.warning("No module named '%s'. No test options available.", module_name) - return None - - test_options = getattr(test_utils, "test_options", None) - return test_options - - if __name__ == "__main__": # Needed for multiprocessing support on Windows + import pytest + PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) PROJECT_NAME = get_project_name(PROJECT_DIR) logger.info("Project name: %s", PROJECT_NAME) @@ -349,143 +162,20 @@ if __name__ == "__main__": # Needed for multiprocessing support on Windows PROJECT_VERSION = getattr(project_module, 'version', '') PROJECT_PATH = project_module.__path__[0] - test_options = get_test_options(project_module) - """Contains extra configuration for the tests.""" - - epilog = """Environment variables: - WITH_QT_TEST=False to disable graphical tests - SILX_OPENCL=False to disable OpenCL tests - SILX_TEST_LOW_MEM=True to disable tests taking large amount of memory - GPU=False to disable the use of a GPU with OpenCL test - WITH_GL_TEST=False to disable tests using OpenGL - """ - parser = ArgumentParser(description='Run the tests.', - epilog=epilog) - - parser.add_argument("--installed", - action="store_true", dest="installed", default=False, - help=("Test the installed version instead of" + - "building from the source")) - parser.add_argument("-c", "--coverage", dest="coverage", - action="store_true", default=False, - help=("Report code coverage" + - "(requires 'coverage' and 'lxml' module)")) - parser.add_argument("-m", "--memprofile", dest="memprofile", - action="store_true", default=False, - help="Report memory profiling") - parser.add_argument("-v", "--verbose", default=0, - action="count", dest="verbose", - help="Increase verbosity. Option -v prints additional " + - "INFO messages. Use -vv for full verbosity, " + - "including debug messages and test help strings.") - parser.add_argument("--qt-binding", dest="qt_binding", default=None, - help="Force using a Qt binding, from 'PyQt4', 'PyQt5', or 'PySide'") - if test_options is not None: - test_options.add_parser_argument(parser) - - default_test_name = "%s.test.suite" % PROJECT_NAME - parser.add_argument("test_name", nargs='*', - default=(default_test_name,), - help="Test names to run (Default: %s)" % default_test_name) - options = parser.parse_args() - sys.argv = [sys.argv[0]] - - test_verbosity = 1 - use_buffer = True - if options.verbose == 1: - logging.root.setLevel(logging.INFO) - logger.info("Set log level: INFO") - test_verbosity = 2 - use_buffer = False - elif options.verbose > 1: - logging.root.setLevel(logging.DEBUG) - logger.info("Set log level: DEBUG") - test_verbosity = 2 - use_buffer = False - - if options.coverage: - logger.info("Running test-coverage") - import coverage - omits = ["*test*", "*third_party*", "*/setup.py", - # temporary test modules (silx.math.fit.test.test_fitmanager) - "*customfun.py", ] - try: - cov = coverage.Coverage(omit=omits) - except AttributeError: - cov = coverage.coverage(omit=omits) - cov.start() - - if options.qt_binding: - binding = options.qt_binding.lower() - if binding == "pyqt4": - logger.info("Force using PyQt4") - if sys.version < "3.0.0": - try: - import sip - sip.setapi("QString", 2) - sip.setapi("QVariant", 2) - except Exception: - logger.warning("Cannot set sip API") - import PyQt4.QtCore # noqa - elif binding == "pyqt5": - logger.info("Force using PyQt5") - import PyQt5.QtCore # noqa - elif binding == "pyside": - logger.info("Force using PySide") - import PySide.QtCore # noqa - elif binding == "pyside2": - logger.info("Force using PySide2") - import PySide2.QtCore # noqa - else: - raise ValueError("Qt binding '%s' is unknown" % options.qt_binding) - - # Run the tests - runnerArgs = {} - runnerArgs["verbosity"] = test_verbosity - runnerArgs["buffer"] = use_buffer - if options.memprofile: - runnerArgs["resultclass"] = ProfileTextTestResult - else: - runnerArgs["resultclass"] = TextTestResultWithSkipList - runner = unittest.TextTestRunner(**runnerArgs) - - logger.warning("Test %s %s from %s", - PROJECT_NAME, PROJECT_VERSION, PROJECT_PATH) - - test_module_name = PROJECT_NAME + '.test' - logger.info('Import %s', test_module_name) - test_module = importer(test_module_name) - test_suite = unittest.TestSuite() + def normalize_option(option): + option_parts = option.split(os.path.sep) + if option_parts == ["src", "silx"]: + return PROJECT_PATH + if option_parts[:2] == ["src", "silx"]: + return os.path.join(PROJECT_PATH, *option_parts[2:]) + return option - if test_options is not None: - # Configure the test options according to the command lines and the the environment - test_options.configure(options) - else: - logger.warning("No test options available.") - - if not options.test_name: - # Do not use test loader to avoid cryptic exception - # when an error occur during import - project_test_suite = getattr(test_module, 'suite') - test_suite.addTest(project_test_suite()) - else: - test_suite.addTest( - unittest.defaultTestLoader.loadTestsFromNames(options.test_name)) - - # Display the result when using CTRL-C - unittest.installHandler() - - result = runner.run(test_suite) - - if result.wasSuccessful(): - exit_status = 0 - else: - exit_status = 1 + args = [normalize_option(p) for p in sys.argv[1:] if p != "--installed"] - if options.coverage: - cov.stop() - cov.save() - with open("coverage.rst", "w") as fn: - fn.write(report_rst(cov, PROJECT_NAME, PROJECT_VERSION, PROJECT_PATH)) + # Run test on PROJECT_PATH if nothing is specified + without_options = [a for a in args if not a.startswith("-")] + if len(without_options) == 0: + args += [PROJECT_PATH] - sys.exit(exit_status) + argv = ["--rootdir", PROJECT_PATH] + args + sys.exit(pytest.main(argv)) @@ -47,7 +47,6 @@ from distutils.command.clean import clean as Clean from distutils.command.build import build as _build try: from setuptools import Command - from setuptools.command.build_py import build_py as _build_py from setuptools.command.sdist import sdist try: from Cython.Build import build_ext @@ -60,7 +59,6 @@ except ImportError: from numpy.distutils.core import Command except ImportError: from distutils.core import Command - from distutils.command.build_py import build_py as _build_py from distutils.command.sdist import sdist try: from Cython.Build import build_ext @@ -88,13 +86,14 @@ export LC_ALL=en_US.utf-8 """) -def get_version(): - """Returns current version number from version.py file""" - dirname = os.path.dirname(os.path.abspath(__file__)) +def get_version(debian=False): + """Returns current version number from _version.py file""" + dirname = os.path.join( + os.path.dirname(os.path.abspath(__file__)), "src", PROJECT) sys.path.insert(0, dirname) - import version + import _version sys.path = sys.path[1:] - return version.strictversion + return _version.debianversion if debian else _version.strictversion def get_readme(): @@ -106,7 +105,7 @@ def get_readme(): return long_description -classifiers = ["Development Status :: 4 - Beta", +classifiers = ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: MacOS X", "Environment :: Win32 (MS Windows)", @@ -125,22 +124,6 @@ classifiers = ["Development Status :: 4 - Beta", "Topic :: Software Development :: Libraries :: Python Modules", ] -# ########## # -# version.py # -# ########## # - - -class build_py(_build_py): - """ - Enhanced build_py which copies version.py to <PROJECT>._version.py - """ - - def find_package_modules(self, package, package_dir): - modules = _build_py.find_package_modules(self, package, package_dir) - if package == PROJECT: - modules.append((PROJECT, '_version', 'version.py')) - return modules - ######## # Test # ######## @@ -476,7 +459,9 @@ def configuration(parent_package='', top_path=None): assume_default_configuration=True, delegate_options_to_subpackages=True, quiet=True) - config.add_subpackage(PROJECT) + config.add_subpackage( + PROJECT, subpackage_path=os.path.join( + os.path.abspath(os.path.dirname(__file__)), 'src', PROJECT)) return config # ############## # @@ -778,8 +763,7 @@ class sdist_debian(sdist): @staticmethod def get_debian_name(): - import version - name = "%s_%s" % (PROJECT, version.debianversion) + name = "%s_%s" % (PROJECT, get_version(debian=True)) return name def prune_file_list(self): @@ -846,8 +830,6 @@ def get_project_configuration(dry_run): # for io support "h5py", "fabio>=0.9", - # Python 2/3 compatibility - "six", ] # Add Python 2.7 backports @@ -858,8 +840,6 @@ def get_project_configuration(dry_run): install_requires.append("enum34") install_requires.append("futures") - setup_requires = ["setuptools", "numpy>=1.12", "Cython>=0.21.1"] - # extras requirements: target 'full' to install all dependencies at once full_requires = [ # opencl @@ -872,11 +852,18 @@ def get_project_configuration(dry_run): 'python-dateutil', 'PyQt5', # extra + 'hdf5plugin', 'scipy', 'Pillow'] + test_requires = [ + "pytest", + "pytest-xvfb" + ] + extras_require = { 'full': full_requires, + 'test': test_requires, } # Here for packaging purpose only @@ -910,7 +897,6 @@ def get_project_configuration(dry_run): cmdclass = dict( build=Build, - build_py=build_py, test=PyTest, build_screenshots=BuildDocAndGenerateScreenshotCommand, build_doc=BuildDocCommand, @@ -940,7 +926,6 @@ def get_project_configuration(dry_run): description="Software library for X-ray data analysis", long_description=get_readme(), install_requires=install_requires, - setup_requires=setup_requires, extras_require=extras_require, cmdclass=cmdclass, package_data=package_data, diff --git a/silx.egg-info/PKG-INFO b/silx.egg-info/PKG-INFO index 04ec406..43179ac 100644 --- a/silx.egg-info/PKG-INFO +++ b/silx.egg-info/PKG-INFO @@ -1,13 +1,13 @@ Metadata-Version: 2.1 Name: silx -Version: 0.15.2 +Version: 1.0.0 Summary: Software library for X-ray data analysis Home-page: http://www.silx.org/ Author: data analysis unit Author-email: silx@esrf.fr License: UNKNOWN Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Environment :: MacOS X Classifier: Environment :: Win32 (MS Windows) @@ -26,12 +26,16 @@ Classifier: Topic :: Scientific/Engineering :: Physics Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.5 Provides-Extra: full +Provides-Extra: test License-File: LICENSE silx toolkit ============ +.. |silxView| image:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif + :height: 480px + The purpose of the *silx* project is to provide a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. @@ -59,8 +63,12 @@ The current version features: * a set of applications: * a unified viewer (*silx view filename*) for HDF5, SPEC and image file formats + + |silxView| + * a unified converter to HDF5 format (*silx convert filename*) + Installation ------------ diff --git a/silx.egg-info/SOURCES.txt b/silx.egg-info/SOURCES.txt index c6acc15..99516d4 100644 --- a/silx.egg-info/SOURCES.txt +++ b/silx.egg-info/SOURCES.txt @@ -10,7 +10,6 @@ requirements.txt run_tests.py setup.py stdeb.cfg -version.py doc/source/changelog.rst doc/source/conf.py doc/source/index.rst @@ -237,6 +236,7 @@ doc/source/modules/image/sift.rst doc/source/modules/io/configdict.rst doc/source/modules/io/convert.rst doc/source/modules/io/dictdump.rst +doc/source/modules/io/fioh5.rst doc/source/modules/io/h5py_utils.rst doc/source/modules/io/index.rst doc/source/modules/io/nxdata.rst @@ -399,7 +399,7 @@ package/desktop/silx.xml package/windows/README.rst package/windows/bootstrap-silx-view.py package/windows/bootstrap.py -package/windows/pyinstaller-silx-view.spec +package/windows/create-installer.iss.template package/windows/pyinstaller.spec package/windows/silx.ico qtdesigner_plugins/README.rst @@ -407,10 +407,6 @@ qtdesigner_plugins/plot1dplugin.py qtdesigner_plugins/plot2dplugin.py qtdesigner_plugins/plotwidgetplugin.py qtdesigner_plugins/plotwindowplugin.py -silx/__init__.py -silx/__main__.py -silx/_config.py -silx/setup.py silx.egg-info/PKG-INFO silx.egg-info/SOURCES.txt silx.egg-info/dependency_links.txt @@ -418,1106 +414,1122 @@ silx.egg-info/entry_points.txt silx.egg-info/not-zip-safe silx.egg-info/requires.txt silx.egg-info/top_level.txt -silx/app/__init__.py -silx/app/convert.py -silx/app/setup.py -silx/app/test_.py -silx/app/test/__init__.py -silx/app/test/test_convert.py -silx/app/view/About.py -silx/app/view/ApplicationContext.py -silx/app/view/CustomNxdataWidget.py -silx/app/view/DataPanel.py -silx/app/view/Viewer.py -silx/app/view/__init__.py -silx/app/view/main.py -silx/app/view/setup.py -silx/app/view/utils.py -silx/app/view/test/__init__.py -silx/app/view/test/test_launcher.py -silx/app/view/test/test_view.py -silx/gui/__init__.py -silx/gui/colors.py -silx/gui/console.py -silx/gui/icons.py -silx/gui/printer.py -silx/gui/setup.py -silx/gui/_glutils/Context.py -silx/gui/_glutils/FramebufferTexture.py -silx/gui/_glutils/OpenGLWidget.py -silx/gui/_glutils/Program.py -silx/gui/_glutils/Texture.py -silx/gui/_glutils/VertexBuffer.py -silx/gui/_glutils/__init__.py -silx/gui/_glutils/font.py -silx/gui/_glutils/gl.py -silx/gui/_glutils/utils.py -silx/gui/data/ArrayTableModel.py -silx/gui/data/ArrayTableWidget.py -silx/gui/data/DataViewer.py -silx/gui/data/DataViewerFrame.py -silx/gui/data/DataViewerSelector.py -silx/gui/data/DataViews.py -silx/gui/data/Hdf5TableView.py -silx/gui/data/HexaTableView.py -silx/gui/data/NXdataWidgets.py -silx/gui/data/NumpyAxesSelector.py -silx/gui/data/RecordTableView.py -silx/gui/data/TextFormatter.py -silx/gui/data/_RecordPlot.py -silx/gui/data/_VolumeWindow.py -silx/gui/data/__init__.py -silx/gui/data/setup.py -silx/gui/data/test/__init__.py -silx/gui/data/test/test_arraywidget.py -silx/gui/data/test/test_dataviewer.py -silx/gui/data/test/test_numpyaxesselector.py -silx/gui/data/test/test_textformatter.py -silx/gui/dialog/AbstractDataFileDialog.py -silx/gui/dialog/ColormapDialog.py -silx/gui/dialog/DataFileDialog.py -silx/gui/dialog/DatasetDialog.py -silx/gui/dialog/FileTypeComboBox.py -silx/gui/dialog/GroupDialog.py -silx/gui/dialog/ImageFileDialog.py -silx/gui/dialog/SafeFileIconProvider.py -silx/gui/dialog/SafeFileSystemModel.py -silx/gui/dialog/__init__.py -silx/gui/dialog/setup.py -silx/gui/dialog/utils.py -silx/gui/dialog/test/__init__.py -silx/gui/dialog/test/test_colormapdialog.py -silx/gui/dialog/test/test_datafiledialog.py -silx/gui/dialog/test/test_imagefiledialog.py -silx/gui/fit/BackgroundWidget.py -silx/gui/fit/FitConfig.py -silx/gui/fit/FitWidget.py -silx/gui/fit/FitWidgets.py -silx/gui/fit/Parameters.py -silx/gui/fit/__init__.py -silx/gui/fit/setup.py -silx/gui/fit/test/__init__.py -silx/gui/fit/test/testBackgroundWidget.py -silx/gui/fit/test/testFitConfig.py -silx/gui/fit/test/testFitWidget.py -silx/gui/hdf5/Hdf5Formatter.py -silx/gui/hdf5/Hdf5HeaderView.py -silx/gui/hdf5/Hdf5Item.py -silx/gui/hdf5/Hdf5LoadingItem.py -silx/gui/hdf5/Hdf5Node.py -silx/gui/hdf5/Hdf5TreeModel.py -silx/gui/hdf5/Hdf5TreeView.py -silx/gui/hdf5/NexusSortFilterProxyModel.py -silx/gui/hdf5/__init__.py -silx/gui/hdf5/_utils.py -silx/gui/hdf5/setup.py -silx/gui/hdf5/test/__init__.py -silx/gui/hdf5/test/test_hdf5.py -silx/gui/plot/AlphaSlider.py -silx/gui/plot/ColorBar.py -silx/gui/plot/Colormap.py -silx/gui/plot/ColormapDialog.py -silx/gui/plot/Colors.py -silx/gui/plot/CompareImages.py -silx/gui/plot/ComplexImageView.py -silx/gui/plot/CurvesROIWidget.py -silx/gui/plot/ImageStack.py -silx/gui/plot/ImageView.py -silx/gui/plot/Interaction.py -silx/gui/plot/ItemsSelectionDialog.py -silx/gui/plot/LegendSelector.py -silx/gui/plot/LimitsHistory.py -silx/gui/plot/MaskToolsWidget.py -silx/gui/plot/PlotActions.py -silx/gui/plot/PlotEvents.py -silx/gui/plot/PlotInteraction.py -silx/gui/plot/PlotToolButtons.py -silx/gui/plot/PlotTools.py -silx/gui/plot/PlotWidget.py -silx/gui/plot/PlotWindow.py -silx/gui/plot/PrintPreviewToolButton.py -silx/gui/plot/Profile.py -silx/gui/plot/ProfileMainWindow.py -silx/gui/plot/ROIStatsWidget.py -silx/gui/plot/ScatterMaskToolsWidget.py -silx/gui/plot/ScatterView.py -silx/gui/plot/StackView.py -silx/gui/plot/StatsWidget.py -silx/gui/plot/_BaseMaskToolsWidget.py -silx/gui/plot/__init__.py -silx/gui/plot/setup.py -silx/gui/plot/_utils/__init__.py -silx/gui/plot/_utils/delaunay.py -silx/gui/plot/_utils/dtime_ticklayout.py -silx/gui/plot/_utils/panzoom.py -silx/gui/plot/_utils/setup.py -silx/gui/plot/_utils/ticklayout.py -silx/gui/plot/_utils/test/__init__.py -silx/gui/plot/_utils/test/test_dtime_ticklayout.py -silx/gui/plot/_utils/test/test_ticklayout.py -silx/gui/plot/actions/PlotAction.py -silx/gui/plot/actions/PlotToolAction.py -silx/gui/plot/actions/__init__.py -silx/gui/plot/actions/control.py -silx/gui/plot/actions/fit.py -silx/gui/plot/actions/histogram.py -silx/gui/plot/actions/io.py -silx/gui/plot/actions/medfilt.py -silx/gui/plot/actions/mode.py -silx/gui/plot/backends/BackendBase.py -silx/gui/plot/backends/BackendMatplotlib.py -silx/gui/plot/backends/BackendOpenGL.py -silx/gui/plot/backends/__init__.py -silx/gui/plot/backends/glutils/GLPlotCurve.py -silx/gui/plot/backends/glutils/GLPlotFrame.py -silx/gui/plot/backends/glutils/GLPlotImage.py -silx/gui/plot/backends/glutils/GLPlotItem.py -silx/gui/plot/backends/glutils/GLPlotTriangles.py -silx/gui/plot/backends/glutils/GLSupport.py -silx/gui/plot/backends/glutils/GLText.py -silx/gui/plot/backends/glutils/GLTexture.py -silx/gui/plot/backends/glutils/PlotImageFile.py -silx/gui/plot/backends/glutils/__init__.py -silx/gui/plot/items/__init__.py -silx/gui/plot/items/_arc_roi.py -silx/gui/plot/items/_pick.py -silx/gui/plot/items/_roi_base.py -silx/gui/plot/items/axis.py -silx/gui/plot/items/complex.py -silx/gui/plot/items/core.py -silx/gui/plot/items/curve.py -silx/gui/plot/items/histogram.py -silx/gui/plot/items/image.py -silx/gui/plot/items/marker.py -silx/gui/plot/items/roi.py -silx/gui/plot/items/scatter.py -silx/gui/plot/items/shape.py -silx/gui/plot/matplotlib/Colormap.py -silx/gui/plot/matplotlib/__init__.py -silx/gui/plot/stats/__init__.py -silx/gui/plot/stats/stats.py -silx/gui/plot/stats/statshandler.py -silx/gui/plot/test/__init__.py -silx/gui/plot/test/testAlphaSlider.py -silx/gui/plot/test/testColorBar.py -silx/gui/plot/test/testCompareImages.py -silx/gui/plot/test/testComplexImageView.py -silx/gui/plot/test/testCurvesROIWidget.py -silx/gui/plot/test/testImageStack.py -silx/gui/plot/test/testImageView.py -silx/gui/plot/test/testInteraction.py -silx/gui/plot/test/testItem.py -silx/gui/plot/test/testLegendSelector.py -silx/gui/plot/test/testLimitConstraints.py -silx/gui/plot/test/testMaskToolsWidget.py -silx/gui/plot/test/testPixelIntensityHistoAction.py -silx/gui/plot/test/testPlotInteraction.py -silx/gui/plot/test/testPlotWidget.py -silx/gui/plot/test/testPlotWidgetNoBackend.py -silx/gui/plot/test/testPlotWindow.py -silx/gui/plot/test/testRoiStatsWidget.py -silx/gui/plot/test/testSaveAction.py -silx/gui/plot/test/testScatterMaskToolsWidget.py -silx/gui/plot/test/testScatterView.py -silx/gui/plot/test/testStackView.py -silx/gui/plot/test/testStats.py -silx/gui/plot/test/testUtilsAxis.py -silx/gui/plot/test/utils.py -silx/gui/plot/tools/CurveLegendsWidget.py -silx/gui/plot/tools/LimitsToolBar.py -silx/gui/plot/tools/PositionInfo.py -silx/gui/plot/tools/RadarView.py -silx/gui/plot/tools/__init__.py -silx/gui/plot/tools/roi.py -silx/gui/plot/tools/toolbars.py -silx/gui/plot/tools/profile/ScatterProfileToolBar.py -silx/gui/plot/tools/profile/__init__.py -silx/gui/plot/tools/profile/core.py -silx/gui/plot/tools/profile/editors.py -silx/gui/plot/tools/profile/manager.py -silx/gui/plot/tools/profile/rois.py -silx/gui/plot/tools/profile/toolbar.py -silx/gui/plot/tools/test/__init__.py -silx/gui/plot/tools/test/testCurveLegendsWidget.py -silx/gui/plot/tools/test/testProfile.py -silx/gui/plot/tools/test/testROI.py -silx/gui/plot/tools/test/testScatterProfileToolBar.py -silx/gui/plot/tools/test/testTools.py -silx/gui/plot/utils/__init__.py -silx/gui/plot/utils/axis.py -silx/gui/plot/utils/intersections.py -silx/gui/plot3d/ParamTreeView.py -silx/gui/plot3d/Plot3DWidget.py -silx/gui/plot3d/Plot3DWindow.py -silx/gui/plot3d/SFViewParamTree.py -silx/gui/plot3d/ScalarFieldView.py -silx/gui/plot3d/SceneWidget.py -silx/gui/plot3d/SceneWindow.py -silx/gui/plot3d/__init__.py -silx/gui/plot3d/setup.py -silx/gui/plot3d/_model/__init__.py -silx/gui/plot3d/_model/core.py -silx/gui/plot3d/_model/items.py -silx/gui/plot3d/_model/model.py -silx/gui/plot3d/actions/Plot3DAction.py -silx/gui/plot3d/actions/__init__.py -silx/gui/plot3d/actions/io.py -silx/gui/plot3d/actions/mode.py -silx/gui/plot3d/actions/viewpoint.py -silx/gui/plot3d/items/__init__.py -silx/gui/plot3d/items/_pick.py -silx/gui/plot3d/items/clipplane.py -silx/gui/plot3d/items/core.py -silx/gui/plot3d/items/image.py -silx/gui/plot3d/items/mesh.py -silx/gui/plot3d/items/mixins.py -silx/gui/plot3d/items/scatter.py -silx/gui/plot3d/items/volume.py -silx/gui/plot3d/scene/__init__.py -silx/gui/plot3d/scene/axes.py -silx/gui/plot3d/scene/camera.py -silx/gui/plot3d/scene/core.py -silx/gui/plot3d/scene/cutplane.py -silx/gui/plot3d/scene/event.py -silx/gui/plot3d/scene/function.py -silx/gui/plot3d/scene/interaction.py -silx/gui/plot3d/scene/primitives.py -silx/gui/plot3d/scene/text.py -silx/gui/plot3d/scene/transform.py -silx/gui/plot3d/scene/utils.py -silx/gui/plot3d/scene/viewport.py -silx/gui/plot3d/scene/window.py -silx/gui/plot3d/scene/test/__init__.py -silx/gui/plot3d/scene/test/test_transform.py -silx/gui/plot3d/scene/test/test_utils.py -silx/gui/plot3d/test/__init__.py -silx/gui/plot3d/test/testGL.py -silx/gui/plot3d/test/testScalarFieldView.py -silx/gui/plot3d/test/testSceneWidget.py -silx/gui/plot3d/test/testSceneWidgetPicking.py -silx/gui/plot3d/test/testSceneWindow.py -silx/gui/plot3d/test/testStatsWidget.py -silx/gui/plot3d/tools/GroupPropertiesWidget.py -silx/gui/plot3d/tools/PositionInfoWidget.py -silx/gui/plot3d/tools/ViewpointTools.py -silx/gui/plot3d/tools/__init__.py -silx/gui/plot3d/tools/toolbars.py -silx/gui/plot3d/tools/test/__init__.py -silx/gui/plot3d/tools/test/testPositionInfoWidget.py -silx/gui/plot3d/utils/__init__.py -silx/gui/plot3d/utils/mng.py -silx/gui/qt/__init__.py -silx/gui/qt/_macosx.py -silx/gui/qt/_pyside_dynamic.py -silx/gui/qt/_pyside_missing.py -silx/gui/qt/_qt.py -silx/gui/qt/_utils.py -silx/gui/qt/inspect.py -silx/gui/test/__init__.py -silx/gui/test/test_colors.py -silx/gui/test/test_console.py -silx/gui/test/test_icons.py -silx/gui/test/test_qt.py -silx/gui/test/utils.py -silx/gui/utils/__init__.py -silx/gui/utils/concurrent.py -silx/gui/utils/image.py -silx/gui/utils/matplotlib.py -silx/gui/utils/projecturl.py -silx/gui/utils/qtutils.py -silx/gui/utils/signal.py -silx/gui/utils/testutils.py -silx/gui/utils/glutils/__init__.py -silx/gui/utils/test/__init__.py -silx/gui/utils/test/test.py -silx/gui/utils/test/test_async.py -silx/gui/utils/test/test_glutils.py -silx/gui/utils/test/test_image.py -silx/gui/utils/test/test_qtutils.py -silx/gui/utils/test/test_testutils.py -silx/gui/widgets/BoxLayoutDockWidget.py -silx/gui/widgets/ColormapNameComboBox.py -silx/gui/widgets/ElidedLabel.py -silx/gui/widgets/FloatEdit.py -silx/gui/widgets/FlowLayout.py -silx/gui/widgets/FrameBrowser.py -silx/gui/widgets/HierarchicalTableView.py -silx/gui/widgets/LegendIconWidget.py -silx/gui/widgets/MedianFilterDialog.py -silx/gui/widgets/MultiModeAction.py -silx/gui/widgets/PeriodicTable.py -silx/gui/widgets/PrintGeometryDialog.py -silx/gui/widgets/PrintPreview.py -silx/gui/widgets/RangeSlider.py -silx/gui/widgets/TableWidget.py -silx/gui/widgets/ThreadPoolPushButton.py -silx/gui/widgets/UrlSelectionTable.py -silx/gui/widgets/WaitingPushButton.py -silx/gui/widgets/__init__.py -silx/gui/widgets/setup.py -silx/gui/widgets/test/__init__.py -silx/gui/widgets/test/test_boxlayoutdockwidget.py -silx/gui/widgets/test/test_elidedlabel.py -silx/gui/widgets/test/test_flowlayout.py -silx/gui/widgets/test/test_framebrowser.py -silx/gui/widgets/test/test_hierarchicaltableview.py -silx/gui/widgets/test/test_legendiconwidget.py -silx/gui/widgets/test/test_periodictable.py -silx/gui/widgets/test/test_printpreview.py -silx/gui/widgets/test/test_rangeslider.py -silx/gui/widgets/test/test_tablewidget.py -silx/gui/widgets/test/test_threadpoolpushbutton.py -silx/image/__init__.py -silx/image/_boundingbox.py -silx/image/backprojection.py -silx/image/bilinear.pyx -silx/image/medianfilter.py -silx/image/phantomgenerator.py -silx/image/projection.py -silx/image/reconstruction.py -silx/image/setup.py -silx/image/shapes.pyx -silx/image/sift.py -silx/image/tomography.py -silx/image/utils.py -silx/image/marchingsquares/__init__.py -silx/image/marchingsquares/_mergeimpl.pyx -silx/image/marchingsquares/_skimage.py -silx/image/marchingsquares/setup.py -silx/image/marchingsquares/include/patterns.h -silx/image/marchingsquares/test/__init__.py -silx/image/marchingsquares/test/test_funcapi.py -silx/image/marchingsquares/test/test_mergeimpl.py -silx/image/test/__init__.py -silx/image/test/test_bb.py -silx/image/test/test_bilinear.py -silx/image/test/test_medianfilter.py -silx/image/test/test_shapes.py -silx/image/test/test_tomography.py -silx/io/__init__.py -silx/io/commonh5.py -silx/io/configdict.py -silx/io/convert.py -silx/io/dictdump.py -silx/io/fabioh5.py -silx/io/h5py_utils.py -silx/io/octaveh5.py -silx/io/rawh5.py -silx/io/setup.py -silx/io/specfile.pyx -silx/io/specfile_wrapper.pxd -silx/io/specfilewrapper.py -silx/io/spech5.py -silx/io/spectoh5.py -silx/io/url.py -silx/io/utils.py -silx/io/nxdata/__init__.py -silx/io/nxdata/_utils.py -silx/io/nxdata/parse.py -silx/io/nxdata/write.py -silx/io/specfile/include/Lists.h -silx/io/specfile/include/SpecFile.h -silx/io/specfile/include/SpecFileCython.h -silx/io/specfile/include/SpecFileP.h -silx/io/specfile/include/locale_management.h -silx/io/specfile/src/locale_management.c -silx/io/specfile/src/sfdata.c -silx/io/specfile/src/sfheader.c -silx/io/specfile/src/sfindex.c -silx/io/specfile/src/sfinit.c -silx/io/specfile/src/sflabel.c -silx/io/specfile/src/sflists.c -silx/io/specfile/src/sfmca.c -silx/io/specfile/src/sftools.c -silx/io/specfile/src/sfwrite.c -silx/io/test/__init__.py -silx/io/test/test_commonh5.py -silx/io/test/test_dictdump.py -silx/io/test/test_fabioh5.py -silx/io/test/test_h5py_utils.py -silx/io/test/test_nxdata.py -silx/io/test/test_octaveh5.py -silx/io/test/test_rawh5.py -silx/io/test/test_specfile.py -silx/io/test/test_specfilewrapper.py -silx/io/test/test_spech5.py -silx/io/test/test_spectoh5.py -silx/io/test/test_url.py -silx/io/test/test_utils.py -silx/math/__init__.py -silx/math/calibration.py -silx/math/chistogramnd.pyx -silx/math/chistogramnd_lut.pyx -silx/math/colormap.pyx -silx/math/combo.pyx -silx/math/histogram.py -silx/math/histogramnd_c.pxd -silx/math/interpolate.pyx -silx/math/marchingcubes.pyx -silx/math/math_compatibility.pxd -silx/math/mc.pxd -silx/math/setup.py -silx/math/fft/__init__.py -silx/math/fft/basefft.py -silx/math/fft/clfft.py -silx/math/fft/cufft.py -silx/math/fft/fft.py -silx/math/fft/fftw.py -silx/math/fft/npfft.py -silx/math/fft/setup.py -silx/math/fft/test/__init__.py -silx/math/fft/test/test_fft.py -silx/math/fit/__init__.py -silx/math/fit/bgtheories.py -silx/math/fit/filters.pyx -silx/math/fit/filters_wrapper.pxd -silx/math/fit/fitmanager.py -silx/math/fit/fittheories.py -silx/math/fit/fittheory.py -silx/math/fit/functions.pyx -silx/math/fit/functions_wrapper.pxd -silx/math/fit/leastsq.py -silx/math/fit/peaks.pyx -silx/math/fit/peaks_wrapper.pxd -silx/math/fit/setup.py -silx/math/fit/filters/include/filters.h -silx/math/fit/filters/src/smoothnd.c -silx/math/fit/filters/src/snip1d.c -silx/math/fit/filters/src/snip2d.c -silx/math/fit/filters/src/snip3d.c -silx/math/fit/filters/src/strip.c -silx/math/fit/functions/include/functions.h -silx/math/fit/functions/src/funs.c -silx/math/fit/peaks/include/peaks.h -silx/math/fit/peaks/src/peaks.c -silx/math/fit/test/__init__.py -silx/math/fit/test/test_bgtheories.py -silx/math/fit/test/test_filters.py -silx/math/fit/test/test_fit.py -silx/math/fit/test/test_fitmanager.py -silx/math/fit/test/test_functions.py -silx/math/fit/test/test_peaks.py -silx/math/histogramnd/include/histogramnd_c.h -silx/math/histogramnd/include/templates.h -silx/math/histogramnd/include/msvc/stdint.h -silx/math/histogramnd/src/histogramnd_c.c -silx/math/histogramnd/src/histogramnd_template.c -silx/math/include/math_compatibility.h -silx/math/marchingcubes/mc.hpp -silx/math/marchingcubes/mc_lut.cpp -silx/math/medianfilter/__init__.py -silx/math/medianfilter/median_filter.pxd -silx/math/medianfilter/medianfilter.pyx -silx/math/medianfilter/setup.py -silx/math/medianfilter/include/median_filter.hpp -silx/math/medianfilter/test/__init__.py -silx/math/medianfilter/test/benchmark.py -silx/math/medianfilter/test/test_medianfilter.py -silx/math/test/__init__.py -silx/math/test/benchmark_combo.py -silx/math/test/histo_benchmarks.py -silx/math/test/test_HistogramndLut_nominal.py -silx/math/test/test_calibration.py -silx/math/test/test_colormap.py -silx/math/test/test_combo.py -silx/math/test/test_histogramnd_error.py -silx/math/test/test_histogramnd_nominal.py -silx/math/test/test_histogramnd_vs_np.py -silx/math/test/test_interpolate.py -silx/math/test/test_marchingcubes.py -silx/opencl/__init__.py -silx/opencl/backprojection.py -silx/opencl/common.py -silx/opencl/convolution.py -silx/opencl/image.py -silx/opencl/linalg.py -silx/opencl/medfilt.py -silx/opencl/processing.py -silx/opencl/projection.py -silx/opencl/reconstruction.py -silx/opencl/setup.py -silx/opencl/sinofilter.py -silx/opencl/sparse.py -silx/opencl/statistics.py -silx/opencl/utils.py -silx/opencl/codec/__init__.py -silx/opencl/codec/byte_offset.py -silx/opencl/codec/setup.py -silx/opencl/codec/test/__init__.py -silx/opencl/codec/test/test_byte_offset.py -silx/opencl/sift/__init__.py -silx/opencl/sift/alignment.py -silx/opencl/sift/match.py -silx/opencl/sift/param.py -silx/opencl/sift/plan.py -silx/opencl/sift/setup.py -silx/opencl/sift/sift.py -silx/opencl/sift/utils.py -silx/opencl/sift/test/__init__.py -silx/opencl/sift/test/test_algebra.py -silx/opencl/sift/test/test_align.py -silx/opencl/sift/test/test_convol.py -silx/opencl/sift/test/test_gaussian.py -silx/opencl/sift/test/test_image.py -silx/opencl/sift/test/test_image_functions.py -silx/opencl/sift/test/test_image_setup.py -silx/opencl/sift/test/test_keypoints.py -silx/opencl/sift/test/test_matching.py -silx/opencl/sift/test/test_preproc.py -silx/opencl/sift/test/test_reductions.py -silx/opencl/sift/test/test_transform.py -silx/opencl/test/__init__.py -silx/opencl/test/test_addition.py -silx/opencl/test/test_array_utils.py -silx/opencl/test/test_backprojection.py -silx/opencl/test/test_convolution.py -silx/opencl/test/test_doubleword.py -silx/opencl/test/test_image.py -silx/opencl/test/test_kahan.py -silx/opencl/test/test_linalg.py -silx/opencl/test/test_medfilt.py -silx/opencl/test/test_projection.py -silx/opencl/test/test_sparse.py -silx/opencl/test/test_stats.py -silx/resources/__init__.py -silx/resources/gui/colormaps/cividis.npy -silx/resources/gui/colormaps/inferno.npy -silx/resources/gui/colormaps/magma.npy -silx/resources/gui/colormaps/plasma.npy -silx/resources/gui/colormaps/viridis.npy -silx/resources/gui/icons/3d-plane-normal-x.png -silx/resources/gui/icons/3d-plane-normal-x.svg -silx/resources/gui/icons/3d-plane-normal-y.png -silx/resources/gui/icons/3d-plane-normal-y.svg -silx/resources/gui/icons/3d-plane-normal-z.png -silx/resources/gui/icons/3d-plane-normal-z.svg -silx/resources/gui/icons/3d-plane-pan.png -silx/resources/gui/icons/3d-plane-pan.svg -silx/resources/gui/icons/3d-plane.png -silx/resources/gui/icons/3d-plane.svg -silx/resources/gui/icons/add-range-horizontal.png -silx/resources/gui/icons/add-range-horizontal.svg -silx/resources/gui/icons/add-shape-arc.png -silx/resources/gui/icons/add-shape-arc.svg -silx/resources/gui/icons/add-shape-circle.png -silx/resources/gui/icons/add-shape-circle.svg -silx/resources/gui/icons/add-shape-cross.png -silx/resources/gui/icons/add-shape-cross.svg -silx/resources/gui/icons/add-shape-diagonal.png -silx/resources/gui/icons/add-shape-diagonal.svg -silx/resources/gui/icons/add-shape-ellipse.png -silx/resources/gui/icons/add-shape-ellipse.svg -silx/resources/gui/icons/add-shape-horizontal.png -silx/resources/gui/icons/add-shape-horizontal.svg -silx/resources/gui/icons/add-shape-point.png -silx/resources/gui/icons/add-shape-point.svg -silx/resources/gui/icons/add-shape-polygon.png -silx/resources/gui/icons/add-shape-polygon.svg -silx/resources/gui/icons/add-shape-rectangle.png -silx/resources/gui/icons/add-shape-rectangle.svg -silx/resources/gui/icons/add-shape-unknown.png -silx/resources/gui/icons/add-shape-unknown.svg -silx/resources/gui/icons/add-shape-vertical.png -silx/resources/gui/icons/add-shape-vertical.svg -silx/resources/gui/icons/add.png -silx/resources/gui/icons/add.svg -silx/resources/gui/icons/arrow-keys.png -silx/resources/gui/icons/arrow-keys.svg -silx/resources/gui/icons/axis.png -silx/resources/gui/icons/axis.svg -silx/resources/gui/icons/backend-opengl.png -silx/resources/gui/icons/backend-opengl.svg -silx/resources/gui/icons/camera.png -silx/resources/gui/icons/camera.svg -silx/resources/gui/icons/clipboard.png -silx/resources/gui/icons/clipboard.svg -silx/resources/gui/icons/close.png -silx/resources/gui/icons/close.svg -silx/resources/gui/icons/colorbar.png -silx/resources/gui/icons/colorbar.svg -silx/resources/gui/icons/colormap-histogram.png -silx/resources/gui/icons/colormap-histogram.svg -silx/resources/gui/icons/colormap-none.png -silx/resources/gui/icons/colormap-none.svg -silx/resources/gui/icons/colormap-norm-arcsinh.png -silx/resources/gui/icons/colormap-norm-arcsinh.svg -silx/resources/gui/icons/colormap-norm-gamma.png -silx/resources/gui/icons/colormap-norm-gamma.svg -silx/resources/gui/icons/colormap-norm-linear.png -silx/resources/gui/icons/colormap-norm-linear.svg -silx/resources/gui/icons/colormap-norm-log.png -silx/resources/gui/icons/colormap-norm-log.svg -silx/resources/gui/icons/colormap-norm-sqrt.png -silx/resources/gui/icons/colormap-norm-sqrt.svg -silx/resources/gui/icons/colormap-range.png -silx/resources/gui/icons/colormap-range.svg -silx/resources/gui/icons/colormap.png -silx/resources/gui/icons/colormap.svg -silx/resources/gui/icons/compare-align-auto.png -silx/resources/gui/icons/compare-align-auto.svg -silx/resources/gui/icons/compare-align-center.png -silx/resources/gui/icons/compare-align-center.svg -silx/resources/gui/icons/compare-align-origin.png -silx/resources/gui/icons/compare-align-origin.svg -silx/resources/gui/icons/compare-align-stretch.png -silx/resources/gui/icons/compare-align-stretch.svg -silx/resources/gui/icons/compare-keypoints.png -silx/resources/gui/icons/compare-keypoints.svg -silx/resources/gui/icons/compare-mode-a-minus-b.png -silx/resources/gui/icons/compare-mode-a-minus-b.svg -silx/resources/gui/icons/compare-mode-a.png -silx/resources/gui/icons/compare-mode-a.svg -silx/resources/gui/icons/compare-mode-b.png -silx/resources/gui/icons/compare-mode-b.svg -silx/resources/gui/icons/compare-mode-hline.png -silx/resources/gui/icons/compare-mode-hline.svg -silx/resources/gui/icons/compare-mode-rb-channel.png -silx/resources/gui/icons/compare-mode-rb-channel.svg -silx/resources/gui/icons/compare-mode-rbneg-channel.png -silx/resources/gui/icons/compare-mode-rbneg-channel.svg -silx/resources/gui/icons/compare-mode-vline.png -silx/resources/gui/icons/compare-mode-vline.svg -silx/resources/gui/icons/crop.png -silx/resources/gui/icons/crop.svg -silx/resources/gui/icons/crosshair.png -silx/resources/gui/icons/crosshair.svg -silx/resources/gui/icons/cube-back.png -silx/resources/gui/icons/cube-back.svg -silx/resources/gui/icons/cube-bottom.png -silx/resources/gui/icons/cube-bottom.svg -silx/resources/gui/icons/cube-front.png -silx/resources/gui/icons/cube-front.svg -silx/resources/gui/icons/cube-left.png -silx/resources/gui/icons/cube-left.svg -silx/resources/gui/icons/cube-right.png -silx/resources/gui/icons/cube-right.svg -silx/resources/gui/icons/cube-rotate.png -silx/resources/gui/icons/cube-rotate.svg -silx/resources/gui/icons/cube-top.png -silx/resources/gui/icons/cube-top.svg -silx/resources/gui/icons/cube.png -silx/resources/gui/icons/cube.svg -silx/resources/gui/icons/description-description.png -silx/resources/gui/icons/description-description.svg -silx/resources/gui/icons/description-error.png -silx/resources/gui/icons/description-error.svg -silx/resources/gui/icons/description-name.png -silx/resources/gui/icons/description-name.svg -silx/resources/gui/icons/description-program.png -silx/resources/gui/icons/description-program.svg -silx/resources/gui/icons/description-title.png -silx/resources/gui/icons/description-title.svg -silx/resources/gui/icons/description-value.png -silx/resources/gui/icons/description-value.svg -silx/resources/gui/icons/document-open.png -silx/resources/gui/icons/document-open.svg -silx/resources/gui/icons/document-print.png -silx/resources/gui/icons/document-print.svg -silx/resources/gui/icons/document-save.png -silx/resources/gui/icons/document-save.svg -silx/resources/gui/icons/draw-brush.png -silx/resources/gui/icons/draw-brush.svg -silx/resources/gui/icons/draw-pencil.png -silx/resources/gui/icons/draw-pencil.svg -silx/resources/gui/icons/draw-rubber.png -silx/resources/gui/icons/draw-rubber.svg -silx/resources/gui/icons/edit-copy.png -silx/resources/gui/icons/edit-copy.svg -silx/resources/gui/icons/eye.png -silx/resources/gui/icons/eye.svg -silx/resources/gui/icons/first.png -silx/resources/gui/icons/first.svg -silx/resources/gui/icons/folder.png -silx/resources/gui/icons/folder.svg -silx/resources/gui/icons/image-mask.png -silx/resources/gui/icons/image-mask.svg -silx/resources/gui/icons/image-select-add.png -silx/resources/gui/icons/image-select-add.svg -silx/resources/gui/icons/image-select-box.png -silx/resources/gui/icons/image-select-box.svg -silx/resources/gui/icons/image-select-brush.png -silx/resources/gui/icons/image-select-brush.svg -silx/resources/gui/icons/image-select-erase-rubber.png -silx/resources/gui/icons/image-select-erase-rubber.svg -silx/resources/gui/icons/image-select-erase.png -silx/resources/gui/icons/image-select-erase.svg -silx/resources/gui/icons/image.png -silx/resources/gui/icons/image.svg -silx/resources/gui/icons/item-0dim.png -silx/resources/gui/icons/item-0dim.svg -silx/resources/gui/icons/item-1dim.png -silx/resources/gui/icons/item-1dim.svg -silx/resources/gui/icons/item-2dim.png -silx/resources/gui/icons/item-2dim.svg -silx/resources/gui/icons/item-3dim.png -silx/resources/gui/icons/item-3dim.svg -silx/resources/gui/icons/item-ndim.png -silx/resources/gui/icons/item-ndim.svg -silx/resources/gui/icons/item-none.png -silx/resources/gui/icons/item-none.svg -silx/resources/gui/icons/item-object.png -silx/resources/gui/icons/item-object.svg -silx/resources/gui/icons/last.png -silx/resources/gui/icons/last.svg -silx/resources/gui/icons/layer-nx.png -silx/resources/gui/icons/layer-nx.svg -silx/resources/gui/icons/mask-clear-all.png -silx/resources/gui/icons/mask-clear-all.svg -silx/resources/gui/icons/mask-clear.png -silx/resources/gui/icons/mask-clear.svg -silx/resources/gui/icons/mask-invert.png -silx/resources/gui/icons/mask-invert.svg -silx/resources/gui/icons/math-amplitude.png -silx/resources/gui/icons/math-amplitude.svg -silx/resources/gui/icons/math-average.png -silx/resources/gui/icons/math-average.svg -silx/resources/gui/icons/math-derive.png -silx/resources/gui/icons/math-derive.svg -silx/resources/gui/icons/math-energy.png -silx/resources/gui/icons/math-energy.svg -silx/resources/gui/icons/math-fit.png -silx/resources/gui/icons/math-fit.svg -silx/resources/gui/icons/math-imaginary.png -silx/resources/gui/icons/math-imaginary.svg -silx/resources/gui/icons/math-mean.png -silx/resources/gui/icons/math-mean.svg -silx/resources/gui/icons/math-normalize.png -silx/resources/gui/icons/math-normalize.svg -silx/resources/gui/icons/math-peak-reset.png -silx/resources/gui/icons/math-peak-reset.svg -silx/resources/gui/icons/math-peak-search.png -silx/resources/gui/icons/math-peak-search.svg -silx/resources/gui/icons/math-peak.png -silx/resources/gui/icons/math-peak.svg -silx/resources/gui/icons/math-phase-color-log.png -silx/resources/gui/icons/math-phase-color-log.svg -silx/resources/gui/icons/math-phase-color.png -silx/resources/gui/icons/math-phase-color.svg -silx/resources/gui/icons/math-phase.png -silx/resources/gui/icons/math-phase.svg -silx/resources/gui/icons/math-real.png -silx/resources/gui/icons/math-real.svg -silx/resources/gui/icons/math-sigma.png -silx/resources/gui/icons/math-sigma.svg -silx/resources/gui/icons/math-smooth.png -silx/resources/gui/icons/math-smooth.svg -silx/resources/gui/icons/math-square-amplitude.png -silx/resources/gui/icons/math-square-amplitude.svg -silx/resources/gui/icons/math-substract.png -silx/resources/gui/icons/math-substract.svg -silx/resources/gui/icons/math-swap-sign.png -silx/resources/gui/icons/math-swap-sign.svg -silx/resources/gui/icons/math-ymin-to-zero.png -silx/resources/gui/icons/math-ymin-to-zero.svg -silx/resources/gui/icons/median-filter.png -silx/resources/gui/icons/median-filter.svg -silx/resources/gui/icons/next.png -silx/resources/gui/icons/next.svg -silx/resources/gui/icons/normal.png -silx/resources/gui/icons/normal.svg -silx/resources/gui/icons/nxdata-axis-add.png -silx/resources/gui/icons/nxdata-axis-add.svg -silx/resources/gui/icons/nxdata-axis-remove.png -silx/resources/gui/icons/nxdata-axis-remove.svg -silx/resources/gui/icons/nxdata-create.png -silx/resources/gui/icons/nxdata-create.svg -silx/resources/gui/icons/nxdata-remove.png -silx/resources/gui/icons/nxdata-remove.svg -silx/resources/gui/icons/pan.png -silx/resources/gui/icons/pan.svg -silx/resources/gui/icons/pixel-intensities.png -silx/resources/gui/icons/pixel-intensities.svg -silx/resources/gui/icons/plot-grid.png -silx/resources/gui/icons/plot-grid.svg -silx/resources/gui/icons/plot-roi-above.png -silx/resources/gui/icons/plot-roi-above.svg -silx/resources/gui/icons/plot-roi-below.png -silx/resources/gui/icons/plot-roi-below.svg -silx/resources/gui/icons/plot-roi-between.png -silx/resources/gui/icons/plot-roi-between.svg -silx/resources/gui/icons/plot-roi-reset.png -silx/resources/gui/icons/plot-roi-reset.svg -silx/resources/gui/icons/plot-roi.png -silx/resources/gui/icons/plot-roi.svg -silx/resources/gui/icons/plot-symbols.png -silx/resources/gui/icons/plot-symbols.svg -silx/resources/gui/icons/plot-toggle-points.png -silx/resources/gui/icons/plot-toggle-points.svg -silx/resources/gui/icons/plot-widget.png -silx/resources/gui/icons/plot-widget.svg -silx/resources/gui/icons/plot-window-image.png -silx/resources/gui/icons/plot-window-image.svg -silx/resources/gui/icons/plot-window.png -silx/resources/gui/icons/plot-window.svg -silx/resources/gui/icons/plot-xauto.png -silx/resources/gui/icons/plot-xauto.svg -silx/resources/gui/icons/plot-xlog.png -silx/resources/gui/icons/plot-xlog.svg -silx/resources/gui/icons/plot-yauto.png -silx/resources/gui/icons/plot-yauto.svg -silx/resources/gui/icons/plot-ydown.png -silx/resources/gui/icons/plot-ydown.svg -silx/resources/gui/icons/plot-ylog.png -silx/resources/gui/icons/plot-ylog.svg -silx/resources/gui/icons/plot-yup.png -silx/resources/gui/icons/plot-yup.svg -silx/resources/gui/icons/pointing-hand.png -silx/resources/gui/icons/pointing-hand.svg -silx/resources/gui/icons/previous.png -silx/resources/gui/icons/previous.svg -silx/resources/gui/icons/process-working.mng -silx/resources/gui/icons/profile-clear.png -silx/resources/gui/icons/profile-clear.svg -silx/resources/gui/icons/profile1D.png -silx/resources/gui/icons/profile1D.svg -silx/resources/gui/icons/profile2D.png -silx/resources/gui/icons/profile2D.svg -silx/resources/gui/icons/remove.png -silx/resources/gui/icons/remove.svg -silx/resources/gui/icons/rm.png -silx/resources/gui/icons/rm.svg -silx/resources/gui/icons/rotate-3d.png -silx/resources/gui/icons/rotate-3d.svg -silx/resources/gui/icons/rudder.png -silx/resources/gui/icons/rudder.svg -silx/resources/gui/icons/selected.png -silx/resources/gui/icons/selected.svg -silx/resources/gui/icons/shape-circle-solid.png -silx/resources/gui/icons/shape-circle-solid.svg -silx/resources/gui/icons/shape-circle.png -silx/resources/gui/icons/shape-circle.svg -silx/resources/gui/icons/shape-cross.png -silx/resources/gui/icons/shape-cross.svg -silx/resources/gui/icons/shape-diagonal-directed.png -silx/resources/gui/icons/shape-diagonal-directed.svg -silx/resources/gui/icons/shape-diagonal.png -silx/resources/gui/icons/shape-diagonal.svg -silx/resources/gui/icons/shape-ellipse-solid.png -silx/resources/gui/icons/shape-ellipse-solid.svg -silx/resources/gui/icons/shape-ellipse.png -silx/resources/gui/icons/shape-ellipse.svg -silx/resources/gui/icons/shape-horizontal.png -silx/resources/gui/icons/shape-horizontal.svg -silx/resources/gui/icons/shape-polygon.png -silx/resources/gui/icons/shape-polygon.svg -silx/resources/gui/icons/shape-rectangle.png -silx/resources/gui/icons/shape-rectangle.svg -silx/resources/gui/icons/shape-square.png -silx/resources/gui/icons/shape-square.svg -silx/resources/gui/icons/shape-vertical.png -silx/resources/gui/icons/shape-vertical.svg -silx/resources/gui/icons/silx.png -silx/resources/gui/icons/silx.svg -silx/resources/gui/icons/slice-cross.png -silx/resources/gui/icons/slice-cross.svg -silx/resources/gui/icons/slice-horizontal.png -silx/resources/gui/icons/slice-horizontal.svg -silx/resources/gui/icons/slice-vertical.png -silx/resources/gui/icons/slice-vertical.svg -silx/resources/gui/icons/sliders-off.png -silx/resources/gui/icons/sliders-off.svg -silx/resources/gui/icons/sliders-on.png -silx/resources/gui/icons/sliders-on.svg -silx/resources/gui/icons/spec.png -silx/resources/gui/icons/spec.svg -silx/resources/gui/icons/stats-active-items.png -silx/resources/gui/icons/stats-active-items.svg -silx/resources/gui/icons/stats-visible-data.png -silx/resources/gui/icons/stats-visible-data.svg -silx/resources/gui/icons/stats-whole-data.png -silx/resources/gui/icons/stats-whole-data.svg -silx/resources/gui/icons/stats-whole-items.png -silx/resources/gui/icons/stats-whole-items.svg -silx/resources/gui/icons/tree-collapse-all.png -silx/resources/gui/icons/tree-collapse-all.svg -silx/resources/gui/icons/tree-expand-all.png -silx/resources/gui/icons/tree-expand-all.svg -silx/resources/gui/icons/tree-sort.png -silx/resources/gui/icons/tree-sort.svg -silx/resources/gui/icons/view-1d.png -silx/resources/gui/icons/view-1d.svg -silx/resources/gui/icons/view-2d-stack.png -silx/resources/gui/icons/view-2d-stack.svg -silx/resources/gui/icons/view-2d.png -silx/resources/gui/icons/view-2d.svg -silx/resources/gui/icons/view-3d.png -silx/resources/gui/icons/view-3d.svg -silx/resources/gui/icons/view-fullscreen.png -silx/resources/gui/icons/view-fullscreen.svg -silx/resources/gui/icons/view-hdf5.png -silx/resources/gui/icons/view-hdf5.svg -silx/resources/gui/icons/view-nexus.png -silx/resources/gui/icons/view-nexus.svg -silx/resources/gui/icons/view-nofullscreen.png -silx/resources/gui/icons/view-nofullscreen.svg -silx/resources/gui/icons/view-raw.png -silx/resources/gui/icons/view-raw.svg -silx/resources/gui/icons/view-refresh.png -silx/resources/gui/icons/view-refresh.svg -silx/resources/gui/icons/view-text.png -silx/resources/gui/icons/view-text.svg -silx/resources/gui/icons/window-new.png -silx/resources/gui/icons/window-new.svg -silx/resources/gui/icons/zoom-back.png -silx/resources/gui/icons/zoom-back.svg -silx/resources/gui/icons/zoom-in.png -silx/resources/gui/icons/zoom-in.svg -silx/resources/gui/icons/zoom-original.png -silx/resources/gui/icons/zoom-original.svg -silx/resources/gui/icons/zoom-out.png -silx/resources/gui/icons/zoom-out.svg -silx/resources/gui/icons/zoom.png -silx/resources/gui/icons/zoom.svg -silx/resources/gui/icons/process-working/00.png -silx/resources/gui/icons/process-working/01.png -silx/resources/gui/icons/process-working/02.png -silx/resources/gui/icons/process-working/03.png -silx/resources/gui/icons/process-working/04.png -silx/resources/gui/icons/process-working/05.png -silx/resources/gui/icons/process-working/06.png -silx/resources/gui/icons/process-working/07.png -silx/resources/gui/icons/process-working/08.png -silx/resources/gui/icons/process-working/09.png -silx/resources/gui/icons/process-working/10.png -silx/resources/gui/icons/process-working/11.png -silx/resources/gui/icons/process-working/12.png -silx/resources/gui/icons/process-working/13.png -silx/resources/gui/icons/process-working/14.png -silx/resources/gui/icons/process-working/15.png -silx/resources/gui/icons/process-working/16.png -silx/resources/gui/icons/process-working/17.png -silx/resources/gui/icons/process-working/18.png -silx/resources/gui/icons/process-working/19.png -silx/resources/gui/icons/process-working/20.png -silx/resources/gui/icons/process-working/21.png -silx/resources/gui/icons/process-working/22.png -silx/resources/gui/icons/process-working/23.png -silx/resources/gui/icons/process-working/24.png -silx/resources/gui/icons/process-working/25.png -silx/resources/gui/icons/process-working/26.png -silx/resources/gui/icons/process-working/27.png -silx/resources/gui/icons/process-working/28.png -silx/resources/gui/icons/process-working/29.png -silx/resources/gui/icons/process-working/30.png -silx/resources/gui/logo/silx.png -silx/resources/gui/logo/silx.svg -silx/resources/opencl/addition.cl -silx/resources/opencl/array_utils.cl -silx/resources/opencl/backproj.cl -silx/resources/opencl/backproj_helper.cl -silx/resources/opencl/bitonic.cl -silx/resources/opencl/convolution.cl -silx/resources/opencl/convolution_textures.cl -silx/resources/opencl/doubleword.cl -silx/resources/opencl/kahan.cl -silx/resources/opencl/linalg.cl -silx/resources/opencl/medfilt.cl -silx/resources/opencl/preprocess.cl -silx/resources/opencl/proj.cl -silx/resources/opencl/sparse.cl -silx/resources/opencl/statistics.cl -silx/resources/opencl/codec/byte_offset.cl -silx/resources/opencl/image/cast.cl -silx/resources/opencl/image/histogram.cl -silx/resources/opencl/image/map.cl -silx/resources/opencl/image/max_min.cl -silx/resources/opencl/sift/addition.cl -silx/resources/opencl/sift/algebra.cl -silx/resources/opencl/sift/convolution.cl -silx/resources/opencl/sift/descriptor_cpu.cl -silx/resources/opencl/sift/descriptor_gpu1.cl -silx/resources/opencl/sift/descriptor_gpu2.cl -silx/resources/opencl/sift/gaussian.cl -silx/resources/opencl/sift/image.cl -silx/resources/opencl/sift/interpolation.cl -silx/resources/opencl/sift/matching_cpu.cl -silx/resources/opencl/sift/matching_gpu.cl -silx/resources/opencl/sift/memset.cl -silx/resources/opencl/sift/orientation_cpu.cl -silx/resources/opencl/sift/orientation_gpu.cl -silx/resources/opencl/sift/preprocess.cl -silx/resources/opencl/sift/reductions.cl -silx/resources/opencl/sift/sift.cl -silx/resources/opencl/sift/transform.cl -silx/sx/__init__.py -silx/sx/_plot.py -silx/sx/_plot3d.py -silx/test/__init__.py -silx/test/test_resources.py -silx/test/test_sx.py -silx/test/test_version.py -silx/test/utils.py -silx/third_party/EdfFile.py -silx/third_party/TiffIO.py -silx/third_party/__init__.py -silx/third_party/scipy_spatial.py -silx/third_party/setup.py -silx/third_party/_local/__init__.py -silx/third_party/_local/scipy_spatial/__init__.py -silx/third_party/_local/scipy_spatial/qhull.pxd -silx/third_party/_local/scipy_spatial/qhull.pyx -silx/third_party/_local/scipy_spatial/qhull_misc.h -silx/third_party/_local/scipy_spatial/setlist.pxd -silx/third_party/_local/scipy_spatial/setup.py -silx/third_party/_local/scipy_spatial/qhull/COPYING.txt -silx/third_party/_local/scipy_spatial/qhull/src/geom2_r.c -silx/third_party/_local/scipy_spatial/qhull/src/geom_r.c -silx/third_party/_local/scipy_spatial/qhull/src/geom_r.h -silx/third_party/_local/scipy_spatial/qhull/src/global_r.c -silx/third_party/_local/scipy_spatial/qhull/src/io_r.c -silx/third_party/_local/scipy_spatial/qhull/src/io_r.h -silx/third_party/_local/scipy_spatial/qhull/src/libqhull_r.c -silx/third_party/_local/scipy_spatial/qhull/src/libqhull_r.h -silx/third_party/_local/scipy_spatial/qhull/src/mem_r.c -silx/third_party/_local/scipy_spatial/qhull/src/mem_r.h -silx/third_party/_local/scipy_spatial/qhull/src/merge_r.c -silx/third_party/_local/scipy_spatial/qhull/src/merge_r.h -silx/third_party/_local/scipy_spatial/qhull/src/poly2_r.c -silx/third_party/_local/scipy_spatial/qhull/src/poly_r.c -silx/third_party/_local/scipy_spatial/qhull/src/poly_r.h -silx/third_party/_local/scipy_spatial/qhull/src/qhull_ra.h -silx/third_party/_local/scipy_spatial/qhull/src/qset_r.c -silx/third_party/_local/scipy_spatial/qhull/src/qset_r.h -silx/third_party/_local/scipy_spatial/qhull/src/random_r.c -silx/third_party/_local/scipy_spatial/qhull/src/random_r.h -silx/third_party/_local/scipy_spatial/qhull/src/rboxlib_r.c -silx/third_party/_local/scipy_spatial/qhull/src/stat_r.c -silx/third_party/_local/scipy_spatial/qhull/src/stat_r.h -silx/third_party/_local/scipy_spatial/qhull/src/user_r.c -silx/third_party/_local/scipy_spatial/qhull/src/user_r.h -silx/third_party/_local/scipy_spatial/qhull/src/usermem_r.c -silx/third_party/_local/scipy_spatial/qhull/src/userprintf_r.c -silx/third_party/_local/scipy_spatial/qhull/src/userprintf_rbox_r.c -silx/utils/ExternalResources.py -silx/utils/__init__.py -silx/utils/_have_openmp.pxd -silx/utils/array_like.py -silx/utils/debug.py -silx/utils/deprecation.py -silx/utils/enum.py -silx/utils/exceptions.py -silx/utils/files.py -silx/utils/html.py -silx/utils/launcher.py -silx/utils/number.py -silx/utils/property.py -silx/utils/proxy.py -silx/utils/retry.py -silx/utils/setup.py -silx/utils/testutils.py -silx/utils/weakref.py -silx/utils/include/silx_store_openmp.h -silx/utils/test/__init__.py -silx/utils/test/test_array_like.py -silx/utils/test/test_debug.py -silx/utils/test/test_deprecation.py -silx/utils/test/test_enum.py -silx/utils/test/test_external_resources.py -silx/utils/test/test_html.py -silx/utils/test/test_launcher.py -silx/utils/test/test_launcher_command.py -silx/utils/test/test_number.py -silx/utils/test/test_proxy.py -silx/utils/test/test_retry.py -silx/utils/test/test_testutils.py -silx/utils/test/test_weakref.py
\ No newline at end of file +src/silx/__init__.py +src/silx/__main__.py +src/silx/_config.py +src/silx/_version.py +src/silx/conftest.py +src/silx/setup.py +src/silx/app/__init__.py +src/silx/app/convert.py +src/silx/app/setup.py +src/silx/app/test_.py +src/silx/app/test/__init__.py +src/silx/app/test/test_convert.py +src/silx/app/view/About.py +src/silx/app/view/ApplicationContext.py +src/silx/app/view/CustomNxdataWidget.py +src/silx/app/view/DataPanel.py +src/silx/app/view/Viewer.py +src/silx/app/view/__init__.py +src/silx/app/view/main.py +src/silx/app/view/setup.py +src/silx/app/view/utils.py +src/silx/app/view/test/__init__.py +src/silx/app/view/test/test_launcher.py +src/silx/app/view/test/test_view.py +src/silx/gui/__init__.py +src/silx/gui/colors.py +src/silx/gui/conftest.py +src/silx/gui/console.py +src/silx/gui/icons.py +src/silx/gui/printer.py +src/silx/gui/setup.py +src/silx/gui/_glutils/Context.py +src/silx/gui/_glutils/FramebufferTexture.py +src/silx/gui/_glutils/OpenGLWidget.py +src/silx/gui/_glutils/Program.py +src/silx/gui/_glutils/Texture.py +src/silx/gui/_glutils/VertexBuffer.py +src/silx/gui/_glutils/__init__.py +src/silx/gui/_glutils/font.py +src/silx/gui/_glutils/gl.py +src/silx/gui/_glutils/utils.py +src/silx/gui/data/ArrayTableModel.py +src/silx/gui/data/ArrayTableWidget.py +src/silx/gui/data/DataViewer.py +src/silx/gui/data/DataViewerFrame.py +src/silx/gui/data/DataViewerSelector.py +src/silx/gui/data/DataViews.py +src/silx/gui/data/Hdf5TableView.py +src/silx/gui/data/HexaTableView.py +src/silx/gui/data/NXdataWidgets.py +src/silx/gui/data/NumpyAxesSelector.py +src/silx/gui/data/RecordTableView.py +src/silx/gui/data/TextFormatter.py +src/silx/gui/data/_RecordPlot.py +src/silx/gui/data/_VolumeWindow.py +src/silx/gui/data/__init__.py +src/silx/gui/data/setup.py +src/silx/gui/data/test/__init__.py +src/silx/gui/data/test/test_arraywidget.py +src/silx/gui/data/test/test_dataviewer.py +src/silx/gui/data/test/test_numpyaxesselector.py +src/silx/gui/data/test/test_textformatter.py +src/silx/gui/dialog/AbstractDataFileDialog.py +src/silx/gui/dialog/ColormapDialog.py +src/silx/gui/dialog/DataFileDialog.py +src/silx/gui/dialog/DatasetDialog.py +src/silx/gui/dialog/FileTypeComboBox.py +src/silx/gui/dialog/GroupDialog.py +src/silx/gui/dialog/ImageFileDialog.py +src/silx/gui/dialog/SafeFileIconProvider.py +src/silx/gui/dialog/SafeFileSystemModel.py +src/silx/gui/dialog/__init__.py +src/silx/gui/dialog/setup.py +src/silx/gui/dialog/utils.py +src/silx/gui/dialog/test/__init__.py +src/silx/gui/dialog/test/test_colormapdialog.py +src/silx/gui/dialog/test/test_datafiledialog.py +src/silx/gui/dialog/test/test_imagefiledialog.py +src/silx/gui/fit/BackgroundWidget.py +src/silx/gui/fit/FitConfig.py +src/silx/gui/fit/FitWidget.py +src/silx/gui/fit/FitWidgets.py +src/silx/gui/fit/Parameters.py +src/silx/gui/fit/__init__.py +src/silx/gui/fit/setup.py +src/silx/gui/fit/test/__init__.py +src/silx/gui/fit/test/testBackgroundWidget.py +src/silx/gui/fit/test/testFitConfig.py +src/silx/gui/fit/test/testFitWidget.py +src/silx/gui/hdf5/Hdf5Formatter.py +src/silx/gui/hdf5/Hdf5HeaderView.py +src/silx/gui/hdf5/Hdf5Item.py +src/silx/gui/hdf5/Hdf5LoadingItem.py +src/silx/gui/hdf5/Hdf5Node.py +src/silx/gui/hdf5/Hdf5TreeModel.py +src/silx/gui/hdf5/Hdf5TreeView.py +src/silx/gui/hdf5/NexusSortFilterProxyModel.py +src/silx/gui/hdf5/__init__.py +src/silx/gui/hdf5/_utils.py +src/silx/gui/hdf5/setup.py +src/silx/gui/hdf5/test/__init__.py +src/silx/gui/hdf5/test/test_hdf5.py +src/silx/gui/plot/AlphaSlider.py +src/silx/gui/plot/ColorBar.py +src/silx/gui/plot/Colormap.py +src/silx/gui/plot/ColormapDialog.py +src/silx/gui/plot/Colors.py +src/silx/gui/plot/CompareImages.py +src/silx/gui/plot/ComplexImageView.py +src/silx/gui/plot/CurvesROIWidget.py +src/silx/gui/plot/ImageStack.py +src/silx/gui/plot/ImageView.py +src/silx/gui/plot/Interaction.py +src/silx/gui/plot/ItemsSelectionDialog.py +src/silx/gui/plot/LegendSelector.py +src/silx/gui/plot/LimitsHistory.py +src/silx/gui/plot/MaskToolsWidget.py +src/silx/gui/plot/PlotActions.py +src/silx/gui/plot/PlotEvents.py +src/silx/gui/plot/PlotInteraction.py +src/silx/gui/plot/PlotToolButtons.py +src/silx/gui/plot/PlotTools.py +src/silx/gui/plot/PlotWidget.py +src/silx/gui/plot/PlotWindow.py +src/silx/gui/plot/PrintPreviewToolButton.py +src/silx/gui/plot/Profile.py +src/silx/gui/plot/ProfileMainWindow.py +src/silx/gui/plot/ROIStatsWidget.py +src/silx/gui/plot/ScatterMaskToolsWidget.py +src/silx/gui/plot/ScatterView.py +src/silx/gui/plot/StackView.py +src/silx/gui/plot/StatsWidget.py +src/silx/gui/plot/_BaseMaskToolsWidget.py +src/silx/gui/plot/__init__.py +src/silx/gui/plot/setup.py +src/silx/gui/plot/_utils/__init__.py +src/silx/gui/plot/_utils/delaunay.py +src/silx/gui/plot/_utils/dtime_ticklayout.py +src/silx/gui/plot/_utils/panzoom.py +src/silx/gui/plot/_utils/setup.py +src/silx/gui/plot/_utils/ticklayout.py +src/silx/gui/plot/_utils/test/__init__.py +src/silx/gui/plot/_utils/test/test_dtime_ticklayout.py +src/silx/gui/plot/_utils/test/test_ticklayout.py +src/silx/gui/plot/actions/PlotAction.py +src/silx/gui/plot/actions/PlotToolAction.py +src/silx/gui/plot/actions/__init__.py +src/silx/gui/plot/actions/control.py +src/silx/gui/plot/actions/fit.py +src/silx/gui/plot/actions/histogram.py +src/silx/gui/plot/actions/io.py +src/silx/gui/plot/actions/medfilt.py +src/silx/gui/plot/actions/mode.py +src/silx/gui/plot/backends/BackendBase.py +src/silx/gui/plot/backends/BackendMatplotlib.py +src/silx/gui/plot/backends/BackendOpenGL.py +src/silx/gui/plot/backends/__init__.py +src/silx/gui/plot/backends/glutils/GLPlotCurve.py +src/silx/gui/plot/backends/glutils/GLPlotFrame.py +src/silx/gui/plot/backends/glutils/GLPlotImage.py +src/silx/gui/plot/backends/glutils/GLPlotItem.py +src/silx/gui/plot/backends/glutils/GLPlotTriangles.py +src/silx/gui/plot/backends/glutils/GLSupport.py +src/silx/gui/plot/backends/glutils/GLText.py +src/silx/gui/plot/backends/glutils/GLTexture.py +src/silx/gui/plot/backends/glutils/PlotImageFile.py +src/silx/gui/plot/backends/glutils/__init__.py +src/silx/gui/plot/items/__init__.py +src/silx/gui/plot/items/_arc_roi.py +src/silx/gui/plot/items/_pick.py +src/silx/gui/plot/items/_roi_base.py +src/silx/gui/plot/items/axis.py +src/silx/gui/plot/items/complex.py +src/silx/gui/plot/items/core.py +src/silx/gui/plot/items/curve.py +src/silx/gui/plot/items/histogram.py +src/silx/gui/plot/items/image.py +src/silx/gui/plot/items/image_aggregated.py +src/silx/gui/plot/items/marker.py +src/silx/gui/plot/items/roi.py +src/silx/gui/plot/items/scatter.py +src/silx/gui/plot/items/shape.py +src/silx/gui/plot/matplotlib/Colormap.py +src/silx/gui/plot/matplotlib/__init__.py +src/silx/gui/plot/stats/__init__.py +src/silx/gui/plot/stats/stats.py +src/silx/gui/plot/stats/statshandler.py +src/silx/gui/plot/test/__init__.py +src/silx/gui/plot/test/testAlphaSlider.py +src/silx/gui/plot/test/testColorBar.py +src/silx/gui/plot/test/testCompareImages.py +src/silx/gui/plot/test/testComplexImageView.py +src/silx/gui/plot/test/testCurvesROIWidget.py +src/silx/gui/plot/test/testImageStack.py +src/silx/gui/plot/test/testImageView.py +src/silx/gui/plot/test/testInteraction.py +src/silx/gui/plot/test/testItem.py +src/silx/gui/plot/test/testLegendSelector.py +src/silx/gui/plot/test/testLimitConstraints.py +src/silx/gui/plot/test/testMaskToolsWidget.py +src/silx/gui/plot/test/testPixelIntensityHistoAction.py +src/silx/gui/plot/test/testPlotActions.py +src/silx/gui/plot/test/testPlotInteraction.py +src/silx/gui/plot/test/testPlotWidget.py +src/silx/gui/plot/test/testPlotWidgetNoBackend.py +src/silx/gui/plot/test/testPlotWindow.py +src/silx/gui/plot/test/testRoiStatsWidget.py +src/silx/gui/plot/test/testSaveAction.py +src/silx/gui/plot/test/testScatterMaskToolsWidget.py +src/silx/gui/plot/test/testScatterView.py +src/silx/gui/plot/test/testStackView.py +src/silx/gui/plot/test/testStats.py +src/silx/gui/plot/test/testUtilsAxis.py +src/silx/gui/plot/test/utils.py +src/silx/gui/plot/tools/CurveLegendsWidget.py +src/silx/gui/plot/tools/LimitsToolBar.py +src/silx/gui/plot/tools/PositionInfo.py +src/silx/gui/plot/tools/RadarView.py +src/silx/gui/plot/tools/__init__.py +src/silx/gui/plot/tools/roi.py +src/silx/gui/plot/tools/toolbars.py +src/silx/gui/plot/tools/profile/ScatterProfileToolBar.py +src/silx/gui/plot/tools/profile/__init__.py +src/silx/gui/plot/tools/profile/core.py +src/silx/gui/plot/tools/profile/editors.py +src/silx/gui/plot/tools/profile/manager.py +src/silx/gui/plot/tools/profile/rois.py +src/silx/gui/plot/tools/profile/toolbar.py +src/silx/gui/plot/tools/test/__init__.py +src/silx/gui/plot/tools/test/testCurveLegendsWidget.py +src/silx/gui/plot/tools/test/testProfile.py +src/silx/gui/plot/tools/test/testROI.py +src/silx/gui/plot/tools/test/testScatterProfileToolBar.py +src/silx/gui/plot/tools/test/testTools.py +src/silx/gui/plot/utils/__init__.py +src/silx/gui/plot/utils/axis.py +src/silx/gui/plot/utils/intersections.py +src/silx/gui/plot3d/ParamTreeView.py +src/silx/gui/plot3d/Plot3DWidget.py +src/silx/gui/plot3d/Plot3DWindow.py +src/silx/gui/plot3d/SFViewParamTree.py +src/silx/gui/plot3d/ScalarFieldView.py +src/silx/gui/plot3d/SceneWidget.py +src/silx/gui/plot3d/SceneWindow.py +src/silx/gui/plot3d/__init__.py +src/silx/gui/plot3d/conftest.py +src/silx/gui/plot3d/setup.py +src/silx/gui/plot3d/_model/__init__.py +src/silx/gui/plot3d/_model/core.py +src/silx/gui/plot3d/_model/items.py +src/silx/gui/plot3d/_model/model.py +src/silx/gui/plot3d/actions/Plot3DAction.py +src/silx/gui/plot3d/actions/__init__.py +src/silx/gui/plot3d/actions/io.py +src/silx/gui/plot3d/actions/mode.py +src/silx/gui/plot3d/actions/viewpoint.py +src/silx/gui/plot3d/items/__init__.py +src/silx/gui/plot3d/items/_pick.py +src/silx/gui/plot3d/items/clipplane.py +src/silx/gui/plot3d/items/core.py +src/silx/gui/plot3d/items/image.py +src/silx/gui/plot3d/items/mesh.py +src/silx/gui/plot3d/items/mixins.py +src/silx/gui/plot3d/items/scatter.py +src/silx/gui/plot3d/items/volume.py +src/silx/gui/plot3d/scene/__init__.py +src/silx/gui/plot3d/scene/axes.py +src/silx/gui/plot3d/scene/camera.py +src/silx/gui/plot3d/scene/core.py +src/silx/gui/plot3d/scene/cutplane.py +src/silx/gui/plot3d/scene/event.py +src/silx/gui/plot3d/scene/function.py +src/silx/gui/plot3d/scene/interaction.py +src/silx/gui/plot3d/scene/primitives.py +src/silx/gui/plot3d/scene/text.py +src/silx/gui/plot3d/scene/transform.py +src/silx/gui/plot3d/scene/utils.py +src/silx/gui/plot3d/scene/viewport.py +src/silx/gui/plot3d/scene/window.py +src/silx/gui/plot3d/scene/test/__init__.py +src/silx/gui/plot3d/scene/test/test_transform.py +src/silx/gui/plot3d/scene/test/test_utils.py +src/silx/gui/plot3d/test/__init__.py +src/silx/gui/plot3d/test/testGL.py +src/silx/gui/plot3d/test/testScalarFieldView.py +src/silx/gui/plot3d/test/testSceneWidget.py +src/silx/gui/plot3d/test/testSceneWidgetPicking.py +src/silx/gui/plot3d/test/testSceneWindow.py +src/silx/gui/plot3d/test/testStatsWidget.py +src/silx/gui/plot3d/tools/GroupPropertiesWidget.py +src/silx/gui/plot3d/tools/PositionInfoWidget.py +src/silx/gui/plot3d/tools/ViewpointTools.py +src/silx/gui/plot3d/tools/__init__.py +src/silx/gui/plot3d/tools/toolbars.py +src/silx/gui/plot3d/tools/test/__init__.py +src/silx/gui/plot3d/tools/test/testPositionInfoWidget.py +src/silx/gui/plot3d/utils/__init__.py +src/silx/gui/plot3d/utils/mng.py +src/silx/gui/qt/__init__.py +src/silx/gui/qt/_pyside_dynamic.py +src/silx/gui/qt/_qt.py +src/silx/gui/qt/_utils.py +src/silx/gui/qt/inspect.py +src/silx/gui/test/__init__.py +src/silx/gui/test/test_colors.py +src/silx/gui/test/test_console.py +src/silx/gui/test/test_icons.py +src/silx/gui/test/test_qt.py +src/silx/gui/test/utils.py +src/silx/gui/utils/__init__.py +src/silx/gui/utils/concurrent.py +src/silx/gui/utils/image.py +src/silx/gui/utils/matplotlib.py +src/silx/gui/utils/projecturl.py +src/silx/gui/utils/qtutils.py +src/silx/gui/utils/signal.py +src/silx/gui/utils/testutils.py +src/silx/gui/utils/glutils/__init__.py +src/silx/gui/utils/test/__init__.py +src/silx/gui/utils/test/test.py +src/silx/gui/utils/test/test_async.py +src/silx/gui/utils/test/test_glutils.py +src/silx/gui/utils/test/test_image.py +src/silx/gui/utils/test/test_qtutils.py +src/silx/gui/utils/test/test_testutils.py +src/silx/gui/widgets/BoxLayoutDockWidget.py +src/silx/gui/widgets/ColormapNameComboBox.py +src/silx/gui/widgets/ElidedLabel.py +src/silx/gui/widgets/FloatEdit.py +src/silx/gui/widgets/FlowLayout.py +src/silx/gui/widgets/FrameBrowser.py +src/silx/gui/widgets/HierarchicalTableView.py +src/silx/gui/widgets/LegendIconWidget.py +src/silx/gui/widgets/MedianFilterDialog.py +src/silx/gui/widgets/MultiModeAction.py +src/silx/gui/widgets/PeriodicTable.py +src/silx/gui/widgets/PrintGeometryDialog.py +src/silx/gui/widgets/PrintPreview.py +src/silx/gui/widgets/RangeSlider.py +src/silx/gui/widgets/TableWidget.py +src/silx/gui/widgets/ThreadPoolPushButton.py +src/silx/gui/widgets/UrlSelectionTable.py +src/silx/gui/widgets/WaitingPushButton.py +src/silx/gui/widgets/__init__.py +src/silx/gui/widgets/setup.py +src/silx/gui/widgets/test/__init__.py +src/silx/gui/widgets/test/test_boxlayoutdockwidget.py +src/silx/gui/widgets/test/test_elidedlabel.py +src/silx/gui/widgets/test/test_flowlayout.py +src/silx/gui/widgets/test/test_framebrowser.py +src/silx/gui/widgets/test/test_hierarchicaltableview.py +src/silx/gui/widgets/test/test_legendiconwidget.py +src/silx/gui/widgets/test/test_periodictable.py +src/silx/gui/widgets/test/test_printpreview.py +src/silx/gui/widgets/test/test_rangeslider.py +src/silx/gui/widgets/test/test_tablewidget.py +src/silx/gui/widgets/test/test_threadpoolpushbutton.py +src/silx/image/__init__.py +src/silx/image/_boundingbox.py +src/silx/image/backprojection.py +src/silx/image/bilinear.pyx +src/silx/image/medianfilter.py +src/silx/image/phantomgenerator.py +src/silx/image/projection.py +src/silx/image/reconstruction.py +src/silx/image/setup.py +src/silx/image/shapes.pyx +src/silx/image/sift.py +src/silx/image/tomography.py +src/silx/image/utils.py +src/silx/image/marchingsquares/__init__.py +src/silx/image/marchingsquares/_mergeimpl.pyx +src/silx/image/marchingsquares/_skimage.py +src/silx/image/marchingsquares/setup.py +src/silx/image/marchingsquares/include/patterns.h +src/silx/image/marchingsquares/test/__init__.py +src/silx/image/marchingsquares/test/test_funcapi.py +src/silx/image/marchingsquares/test/test_mergeimpl.py +src/silx/image/test/__init__.py +src/silx/image/test/test_bb.py +src/silx/image/test/test_bilinear.py +src/silx/image/test/test_medianfilter.py +src/silx/image/test/test_shapes.py +src/silx/image/test/test_tomography.py +src/silx/io/__init__.py +src/silx/io/commonh5.py +src/silx/io/configdict.py +src/silx/io/convert.py +src/silx/io/dictdump.py +src/silx/io/fabioh5.py +src/silx/io/fioh5.py +src/silx/io/h5py_utils.py +src/silx/io/octaveh5.py +src/silx/io/rawh5.py +src/silx/io/setup.py +src/silx/io/specfile.pyx +src/silx/io/specfile_wrapper.pxd +src/silx/io/specfilewrapper.py +src/silx/io/spech5.py +src/silx/io/spectoh5.py +src/silx/io/url.py +src/silx/io/utils.py +src/silx/io/nxdata/__init__.py +src/silx/io/nxdata/_utils.py +src/silx/io/nxdata/parse.py +src/silx/io/nxdata/write.py +src/silx/io/specfile/include/Lists.h +src/silx/io/specfile/include/SpecFile.h +src/silx/io/specfile/include/SpecFileCython.h +src/silx/io/specfile/include/SpecFileP.h +src/silx/io/specfile/include/locale_management.h +src/silx/io/specfile/src/locale_management.c +src/silx/io/specfile/src/sfdata.c +src/silx/io/specfile/src/sfheader.c +src/silx/io/specfile/src/sfindex.c +src/silx/io/specfile/src/sfinit.c +src/silx/io/specfile/src/sflabel.c +src/silx/io/specfile/src/sflists.c +src/silx/io/specfile/src/sfmca.c +src/silx/io/specfile/src/sftools.c +src/silx/io/specfile/src/sfwrite.c +src/silx/io/test/__init__.py +src/silx/io/test/test_commonh5.py +src/silx/io/test/test_dictdump.py +src/silx/io/test/test_fabioh5.py +src/silx/io/test/test_fioh5.py +src/silx/io/test/test_h5py_utils.py +src/silx/io/test/test_nxdata.py +src/silx/io/test/test_octaveh5.py +src/silx/io/test/test_rawh5.py +src/silx/io/test/test_specfile.py +src/silx/io/test/test_specfilewrapper.py +src/silx/io/test/test_spech5.py +src/silx/io/test/test_spectoh5.py +src/silx/io/test/test_url.py +src/silx/io/test/test_utils.py +src/silx/io/test/test_write_to_h5.py +src/silx/math/__init__.py +src/silx/math/_colormap.pyx +src/silx/math/calibration.py +src/silx/math/chistogramnd.pyx +src/silx/math/chistogramnd_lut.pyx +src/silx/math/colormap.py +src/silx/math/combo.pyx +src/silx/math/histogram.py +src/silx/math/histogramnd_c.pxd +src/silx/math/interpolate.pyx +src/silx/math/marchingcubes.pyx +src/silx/math/math_compatibility.pxd +src/silx/math/mc.pxd +src/silx/math/setup.py +src/silx/math/fft/__init__.py +src/silx/math/fft/basefft.py +src/silx/math/fft/clfft.py +src/silx/math/fft/cufft.py +src/silx/math/fft/fft.py +src/silx/math/fft/fftw.py +src/silx/math/fft/npfft.py +src/silx/math/fft/setup.py +src/silx/math/fft/test/__init__.py +src/silx/math/fft/test/test_fft.py +src/silx/math/fit/__init__.py +src/silx/math/fit/bgtheories.py +src/silx/math/fit/filters.pyx +src/silx/math/fit/filters_wrapper.pxd +src/silx/math/fit/fitmanager.py +src/silx/math/fit/fittheories.py +src/silx/math/fit/fittheory.py +src/silx/math/fit/functions.pyx +src/silx/math/fit/functions_wrapper.pxd +src/silx/math/fit/leastsq.py +src/silx/math/fit/peaks.pyx +src/silx/math/fit/peaks_wrapper.pxd +src/silx/math/fit/setup.py +src/silx/math/fit/filters/include/filters.h +src/silx/math/fit/filters/src/smoothnd.c +src/silx/math/fit/filters/src/snip1d.c +src/silx/math/fit/filters/src/snip2d.c +src/silx/math/fit/filters/src/snip3d.c +src/silx/math/fit/filters/src/strip.c +src/silx/math/fit/functions/include/functions.h +src/silx/math/fit/functions/src/funs.c +src/silx/math/fit/peaks/include/peaks.h +src/silx/math/fit/peaks/src/peaks.c +src/silx/math/fit/test/__init__.py +src/silx/math/fit/test/test_bgtheories.py +src/silx/math/fit/test/test_filters.py +src/silx/math/fit/test/test_fit.py +src/silx/math/fit/test/test_fitmanager.py +src/silx/math/fit/test/test_functions.py +src/silx/math/fit/test/test_peaks.py +src/silx/math/histogramnd/include/histogramnd_c.h +src/silx/math/histogramnd/include/templates.h +src/silx/math/histogramnd/include/msvc/stdint.h +src/silx/math/histogramnd/src/histogramnd_c.c +src/silx/math/histogramnd/src/histogramnd_template.c +src/silx/math/include/math_compatibility.h +src/silx/math/marchingcubes/mc.hpp +src/silx/math/marchingcubes/mc_lut.cpp +src/silx/math/medianfilter/__init__.py +src/silx/math/medianfilter/median_filter.pxd +src/silx/math/medianfilter/medianfilter.pyx +src/silx/math/medianfilter/setup.py +src/silx/math/medianfilter/include/median_filter.hpp +src/silx/math/medianfilter/test/__init__.py +src/silx/math/medianfilter/test/benchmark.py +src/silx/math/medianfilter/test/test_medianfilter.py +src/silx/math/test/__init__.py +src/silx/math/test/benchmark_combo.py +src/silx/math/test/histo_benchmarks.py +src/silx/math/test/test_HistogramndLut_nominal.py +src/silx/math/test/test_calibration.py +src/silx/math/test/test_colormap.py +src/silx/math/test/test_combo.py +src/silx/math/test/test_histogramnd_error.py +src/silx/math/test/test_histogramnd_nominal.py +src/silx/math/test/test_histogramnd_vs_np.py +src/silx/math/test/test_interpolate.py +src/silx/math/test/test_marchingcubes.py +src/silx/opencl/__init__.py +src/silx/opencl/backprojection.py +src/silx/opencl/common.py +src/silx/opencl/conftest.py +src/silx/opencl/convolution.py +src/silx/opencl/image.py +src/silx/opencl/linalg.py +src/silx/opencl/medfilt.py +src/silx/opencl/processing.py +src/silx/opencl/projection.py +src/silx/opencl/reconstruction.py +src/silx/opencl/setup.py +src/silx/opencl/sinofilter.py +src/silx/opencl/sparse.py +src/silx/opencl/statistics.py +src/silx/opencl/utils.py +src/silx/opencl/codec/__init__.py +src/silx/opencl/codec/byte_offset.py +src/silx/opencl/codec/setup.py +src/silx/opencl/codec/test/__init__.py +src/silx/opencl/codec/test/test_byte_offset.py +src/silx/opencl/sift/__init__.py +src/silx/opencl/sift/alignment.py +src/silx/opencl/sift/match.py +src/silx/opencl/sift/param.py +src/silx/opencl/sift/plan.py +src/silx/opencl/sift/setup.py +src/silx/opencl/sift/sift.py +src/silx/opencl/sift/utils.py +src/silx/opencl/sift/test/__init__.py +src/silx/opencl/sift/test/test_algebra.py +src/silx/opencl/sift/test/test_align.py +src/silx/opencl/sift/test/test_convol.py +src/silx/opencl/sift/test/test_gaussian.py +src/silx/opencl/sift/test/test_image.py +src/silx/opencl/sift/test/test_image_functions.py +src/silx/opencl/sift/test/test_image_setup.py +src/silx/opencl/sift/test/test_keypoints.py +src/silx/opencl/sift/test/test_matching.py +src/silx/opencl/sift/test/test_preproc.py +src/silx/opencl/sift/test/test_reductions.py +src/silx/opencl/sift/test/test_transform.py +src/silx/opencl/test/__init__.py +src/silx/opencl/test/test_addition.py +src/silx/opencl/test/test_array_utils.py +src/silx/opencl/test/test_backprojection.py +src/silx/opencl/test/test_convolution.py +src/silx/opencl/test/test_doubleword.py +src/silx/opencl/test/test_image.py +src/silx/opencl/test/test_kahan.py +src/silx/opencl/test/test_linalg.py +src/silx/opencl/test/test_medfilt.py +src/silx/opencl/test/test_projection.py +src/silx/opencl/test/test_sparse.py +src/silx/opencl/test/test_stats.py +src/silx/resources/__init__.py +src/silx/resources/gui/colormaps/cividis.npy +src/silx/resources/gui/colormaps/inferno.npy +src/silx/resources/gui/colormaps/magma.npy +src/silx/resources/gui/colormaps/plasma.npy +src/silx/resources/gui/colormaps/viridis.npy +src/silx/resources/gui/icons/3d-plane-normal-x.png +src/silx/resources/gui/icons/3d-plane-normal-x.svg +src/silx/resources/gui/icons/3d-plane-normal-y.png +src/silx/resources/gui/icons/3d-plane-normal-y.svg +src/silx/resources/gui/icons/3d-plane-normal-z.png +src/silx/resources/gui/icons/3d-plane-normal-z.svg +src/silx/resources/gui/icons/3d-plane-pan.png +src/silx/resources/gui/icons/3d-plane-pan.svg +src/silx/resources/gui/icons/3d-plane.png +src/silx/resources/gui/icons/3d-plane.svg +src/silx/resources/gui/icons/add-range-horizontal.png +src/silx/resources/gui/icons/add-range-horizontal.svg +src/silx/resources/gui/icons/add-shape-arc.png +src/silx/resources/gui/icons/add-shape-arc.svg +src/silx/resources/gui/icons/add-shape-circle.png +src/silx/resources/gui/icons/add-shape-circle.svg +src/silx/resources/gui/icons/add-shape-cross.png +src/silx/resources/gui/icons/add-shape-cross.svg +src/silx/resources/gui/icons/add-shape-diagonal.png +src/silx/resources/gui/icons/add-shape-diagonal.svg +src/silx/resources/gui/icons/add-shape-ellipse.png +src/silx/resources/gui/icons/add-shape-ellipse.svg +src/silx/resources/gui/icons/add-shape-horizontal.png +src/silx/resources/gui/icons/add-shape-horizontal.svg +src/silx/resources/gui/icons/add-shape-point.png +src/silx/resources/gui/icons/add-shape-point.svg +src/silx/resources/gui/icons/add-shape-polygon.png +src/silx/resources/gui/icons/add-shape-polygon.svg +src/silx/resources/gui/icons/add-shape-rectangle.png +src/silx/resources/gui/icons/add-shape-rectangle.svg +src/silx/resources/gui/icons/add-shape-unknown.png +src/silx/resources/gui/icons/add-shape-unknown.svg +src/silx/resources/gui/icons/add-shape-vertical.png +src/silx/resources/gui/icons/add-shape-vertical.svg +src/silx/resources/gui/icons/add.png +src/silx/resources/gui/icons/add.svg +src/silx/resources/gui/icons/aggregation-mode.png +src/silx/resources/gui/icons/aggregation-mode.svg +src/silx/resources/gui/icons/arrow-keys.png +src/silx/resources/gui/icons/arrow-keys.svg +src/silx/resources/gui/icons/axis.png +src/silx/resources/gui/icons/axis.svg +src/silx/resources/gui/icons/backend-opengl.png +src/silx/resources/gui/icons/backend-opengl.svg +src/silx/resources/gui/icons/camera.png +src/silx/resources/gui/icons/camera.svg +src/silx/resources/gui/icons/clipboard.png +src/silx/resources/gui/icons/clipboard.svg +src/silx/resources/gui/icons/close.png +src/silx/resources/gui/icons/close.svg +src/silx/resources/gui/icons/colorbar.png +src/silx/resources/gui/icons/colorbar.svg +src/silx/resources/gui/icons/colormap-histogram.png +src/silx/resources/gui/icons/colormap-histogram.svg +src/silx/resources/gui/icons/colormap-none.png +src/silx/resources/gui/icons/colormap-none.svg +src/silx/resources/gui/icons/colormap-norm-arcsinh.png +src/silx/resources/gui/icons/colormap-norm-arcsinh.svg +src/silx/resources/gui/icons/colormap-norm-gamma.png +src/silx/resources/gui/icons/colormap-norm-gamma.svg +src/silx/resources/gui/icons/colormap-norm-linear.png +src/silx/resources/gui/icons/colormap-norm-linear.svg +src/silx/resources/gui/icons/colormap-norm-log.png +src/silx/resources/gui/icons/colormap-norm-log.svg +src/silx/resources/gui/icons/colormap-norm-sqrt.png +src/silx/resources/gui/icons/colormap-norm-sqrt.svg +src/silx/resources/gui/icons/colormap-range.png +src/silx/resources/gui/icons/colormap-range.svg +src/silx/resources/gui/icons/colormap.png +src/silx/resources/gui/icons/colormap.svg +src/silx/resources/gui/icons/compare-align-auto.png +src/silx/resources/gui/icons/compare-align-auto.svg +src/silx/resources/gui/icons/compare-align-center.png +src/silx/resources/gui/icons/compare-align-center.svg +src/silx/resources/gui/icons/compare-align-origin.png +src/silx/resources/gui/icons/compare-align-origin.svg +src/silx/resources/gui/icons/compare-align-stretch.png +src/silx/resources/gui/icons/compare-align-stretch.svg +src/silx/resources/gui/icons/compare-keypoints.png +src/silx/resources/gui/icons/compare-keypoints.svg +src/silx/resources/gui/icons/compare-mode-a-minus-b.png +src/silx/resources/gui/icons/compare-mode-a-minus-b.svg +src/silx/resources/gui/icons/compare-mode-a.png +src/silx/resources/gui/icons/compare-mode-a.svg +src/silx/resources/gui/icons/compare-mode-b.png +src/silx/resources/gui/icons/compare-mode-b.svg +src/silx/resources/gui/icons/compare-mode-hline.png +src/silx/resources/gui/icons/compare-mode-hline.svg +src/silx/resources/gui/icons/compare-mode-rb-channel.png +src/silx/resources/gui/icons/compare-mode-rb-channel.svg +src/silx/resources/gui/icons/compare-mode-rbneg-channel.png +src/silx/resources/gui/icons/compare-mode-rbneg-channel.svg +src/silx/resources/gui/icons/compare-mode-vline.png +src/silx/resources/gui/icons/compare-mode-vline.svg +src/silx/resources/gui/icons/crop.png +src/silx/resources/gui/icons/crop.svg +src/silx/resources/gui/icons/crosshair.png +src/silx/resources/gui/icons/crosshair.svg +src/silx/resources/gui/icons/cube-back.png +src/silx/resources/gui/icons/cube-back.svg +src/silx/resources/gui/icons/cube-bottom.png +src/silx/resources/gui/icons/cube-bottom.svg +src/silx/resources/gui/icons/cube-front.png +src/silx/resources/gui/icons/cube-front.svg +src/silx/resources/gui/icons/cube-left.png +src/silx/resources/gui/icons/cube-left.svg +src/silx/resources/gui/icons/cube-right.png +src/silx/resources/gui/icons/cube-right.svg +src/silx/resources/gui/icons/cube-rotate.png +src/silx/resources/gui/icons/cube-rotate.svg +src/silx/resources/gui/icons/cube-top.png +src/silx/resources/gui/icons/cube-top.svg +src/silx/resources/gui/icons/cube.png +src/silx/resources/gui/icons/cube.svg +src/silx/resources/gui/icons/description-description.png +src/silx/resources/gui/icons/description-description.svg +src/silx/resources/gui/icons/description-error.png +src/silx/resources/gui/icons/description-error.svg +src/silx/resources/gui/icons/description-name.png +src/silx/resources/gui/icons/description-name.svg +src/silx/resources/gui/icons/description-program.png +src/silx/resources/gui/icons/description-program.svg +src/silx/resources/gui/icons/description-title.png +src/silx/resources/gui/icons/description-title.svg +src/silx/resources/gui/icons/description-value.png +src/silx/resources/gui/icons/description-value.svg +src/silx/resources/gui/icons/document-open.png +src/silx/resources/gui/icons/document-open.svg +src/silx/resources/gui/icons/document-print.png +src/silx/resources/gui/icons/document-print.svg +src/silx/resources/gui/icons/document-save.png +src/silx/resources/gui/icons/document-save.svg +src/silx/resources/gui/icons/draw-brush.png +src/silx/resources/gui/icons/draw-brush.svg +src/silx/resources/gui/icons/draw-pencil.png +src/silx/resources/gui/icons/draw-pencil.svg +src/silx/resources/gui/icons/draw-rubber.png +src/silx/resources/gui/icons/draw-rubber.svg +src/silx/resources/gui/icons/edit-copy.png +src/silx/resources/gui/icons/edit-copy.svg +src/silx/resources/gui/icons/eye.png +src/silx/resources/gui/icons/eye.svg +src/silx/resources/gui/icons/first.png +src/silx/resources/gui/icons/first.svg +src/silx/resources/gui/icons/folder.png +src/silx/resources/gui/icons/folder.svg +src/silx/resources/gui/icons/image-mask.png +src/silx/resources/gui/icons/image-mask.svg +src/silx/resources/gui/icons/image-select-add.png +src/silx/resources/gui/icons/image-select-add.svg +src/silx/resources/gui/icons/image-select-box.png +src/silx/resources/gui/icons/image-select-box.svg +src/silx/resources/gui/icons/image-select-brush.png +src/silx/resources/gui/icons/image-select-brush.svg +src/silx/resources/gui/icons/image-select-erase-rubber.png +src/silx/resources/gui/icons/image-select-erase-rubber.svg +src/silx/resources/gui/icons/image-select-erase.png +src/silx/resources/gui/icons/image-select-erase.svg +src/silx/resources/gui/icons/image.png +src/silx/resources/gui/icons/image.svg +src/silx/resources/gui/icons/item-0dim.png +src/silx/resources/gui/icons/item-0dim.svg +src/silx/resources/gui/icons/item-1dim.png +src/silx/resources/gui/icons/item-1dim.svg +src/silx/resources/gui/icons/item-2dim.png +src/silx/resources/gui/icons/item-2dim.svg +src/silx/resources/gui/icons/item-3dim.png +src/silx/resources/gui/icons/item-3dim.svg +src/silx/resources/gui/icons/item-ndim.png +src/silx/resources/gui/icons/item-ndim.svg +src/silx/resources/gui/icons/item-none.png +src/silx/resources/gui/icons/item-none.svg +src/silx/resources/gui/icons/item-object.png +src/silx/resources/gui/icons/item-object.svg +src/silx/resources/gui/icons/last.png +src/silx/resources/gui/icons/last.svg +src/silx/resources/gui/icons/layer-nx.png +src/silx/resources/gui/icons/layer-nx.svg +src/silx/resources/gui/icons/mask-clear-all.png +src/silx/resources/gui/icons/mask-clear-all.svg +src/silx/resources/gui/icons/mask-clear.png +src/silx/resources/gui/icons/mask-clear.svg +src/silx/resources/gui/icons/mask-invert.png +src/silx/resources/gui/icons/mask-invert.svg +src/silx/resources/gui/icons/math-amplitude.png +src/silx/resources/gui/icons/math-amplitude.svg +src/silx/resources/gui/icons/math-average.png +src/silx/resources/gui/icons/math-average.svg +src/silx/resources/gui/icons/math-derive.png +src/silx/resources/gui/icons/math-derive.svg +src/silx/resources/gui/icons/math-energy.png +src/silx/resources/gui/icons/math-energy.svg +src/silx/resources/gui/icons/math-fit.png +src/silx/resources/gui/icons/math-fit.svg +src/silx/resources/gui/icons/math-imaginary.png +src/silx/resources/gui/icons/math-imaginary.svg +src/silx/resources/gui/icons/math-mean.png +src/silx/resources/gui/icons/math-mean.svg +src/silx/resources/gui/icons/math-normalize.png +src/silx/resources/gui/icons/math-normalize.svg +src/silx/resources/gui/icons/math-peak-reset.png +src/silx/resources/gui/icons/math-peak-reset.svg +src/silx/resources/gui/icons/math-peak-search.png +src/silx/resources/gui/icons/math-peak-search.svg +src/silx/resources/gui/icons/math-peak.png +src/silx/resources/gui/icons/math-peak.svg +src/silx/resources/gui/icons/math-phase-color-log.png +src/silx/resources/gui/icons/math-phase-color-log.svg +src/silx/resources/gui/icons/math-phase-color.png +src/silx/resources/gui/icons/math-phase-color.svg +src/silx/resources/gui/icons/math-phase.png +src/silx/resources/gui/icons/math-phase.svg +src/silx/resources/gui/icons/math-real.png +src/silx/resources/gui/icons/math-real.svg +src/silx/resources/gui/icons/math-sigma.png +src/silx/resources/gui/icons/math-sigma.svg +src/silx/resources/gui/icons/math-smooth.png +src/silx/resources/gui/icons/math-smooth.svg +src/silx/resources/gui/icons/math-square-amplitude.png +src/silx/resources/gui/icons/math-square-amplitude.svg +src/silx/resources/gui/icons/math-substract.png +src/silx/resources/gui/icons/math-substract.svg +src/silx/resources/gui/icons/math-swap-sign.png +src/silx/resources/gui/icons/math-swap-sign.svg +src/silx/resources/gui/icons/math-ymin-to-zero.png +src/silx/resources/gui/icons/math-ymin-to-zero.svg +src/silx/resources/gui/icons/median-filter.png +src/silx/resources/gui/icons/median-filter.svg +src/silx/resources/gui/icons/next.png +src/silx/resources/gui/icons/next.svg +src/silx/resources/gui/icons/normal.png +src/silx/resources/gui/icons/normal.svg +src/silx/resources/gui/icons/nxdata-axis-add.png +src/silx/resources/gui/icons/nxdata-axis-add.svg +src/silx/resources/gui/icons/nxdata-axis-remove.png +src/silx/resources/gui/icons/nxdata-axis-remove.svg +src/silx/resources/gui/icons/nxdata-create.png +src/silx/resources/gui/icons/nxdata-create.svg +src/silx/resources/gui/icons/nxdata-remove.png +src/silx/resources/gui/icons/nxdata-remove.svg +src/silx/resources/gui/icons/pan.png +src/silx/resources/gui/icons/pan.svg +src/silx/resources/gui/icons/pixel-intensities.png +src/silx/resources/gui/icons/pixel-intensities.svg +src/silx/resources/gui/icons/plot-grid.png +src/silx/resources/gui/icons/plot-grid.svg +src/silx/resources/gui/icons/plot-roi-above.png +src/silx/resources/gui/icons/plot-roi-above.svg +src/silx/resources/gui/icons/plot-roi-below.png +src/silx/resources/gui/icons/plot-roi-below.svg +src/silx/resources/gui/icons/plot-roi-between.png +src/silx/resources/gui/icons/plot-roi-between.svg +src/silx/resources/gui/icons/plot-roi-reset.png +src/silx/resources/gui/icons/plot-roi-reset.svg +src/silx/resources/gui/icons/plot-roi.png +src/silx/resources/gui/icons/plot-roi.svg +src/silx/resources/gui/icons/plot-symbols.png +src/silx/resources/gui/icons/plot-symbols.svg +src/silx/resources/gui/icons/plot-toggle-points.png +src/silx/resources/gui/icons/plot-toggle-points.svg +src/silx/resources/gui/icons/plot-widget.png +src/silx/resources/gui/icons/plot-widget.svg +src/silx/resources/gui/icons/plot-window-image.png +src/silx/resources/gui/icons/plot-window-image.svg +src/silx/resources/gui/icons/plot-window.png +src/silx/resources/gui/icons/plot-window.svg +src/silx/resources/gui/icons/plot-xauto.png +src/silx/resources/gui/icons/plot-xauto.svg +src/silx/resources/gui/icons/plot-xlog.png +src/silx/resources/gui/icons/plot-xlog.svg +src/silx/resources/gui/icons/plot-yauto.png +src/silx/resources/gui/icons/plot-yauto.svg +src/silx/resources/gui/icons/plot-ydown.png +src/silx/resources/gui/icons/plot-ydown.svg +src/silx/resources/gui/icons/plot-ylog.png +src/silx/resources/gui/icons/plot-ylog.svg +src/silx/resources/gui/icons/plot-yup.png +src/silx/resources/gui/icons/plot-yup.svg +src/silx/resources/gui/icons/pointing-hand.png +src/silx/resources/gui/icons/pointing-hand.svg +src/silx/resources/gui/icons/previous.png +src/silx/resources/gui/icons/previous.svg +src/silx/resources/gui/icons/process-working.mng +src/silx/resources/gui/icons/profile-clear.png +src/silx/resources/gui/icons/profile-clear.svg +src/silx/resources/gui/icons/profile1D.png +src/silx/resources/gui/icons/profile1D.svg +src/silx/resources/gui/icons/profile2D.png +src/silx/resources/gui/icons/profile2D.svg +src/silx/resources/gui/icons/remove.png +src/silx/resources/gui/icons/remove.svg +src/silx/resources/gui/icons/rm.png +src/silx/resources/gui/icons/rm.svg +src/silx/resources/gui/icons/rotate-3d.png +src/silx/resources/gui/icons/rotate-3d.svg +src/silx/resources/gui/icons/rudder.png +src/silx/resources/gui/icons/rudder.svg +src/silx/resources/gui/icons/selected.png +src/silx/resources/gui/icons/selected.svg +src/silx/resources/gui/icons/shape-circle-solid.png +src/silx/resources/gui/icons/shape-circle-solid.svg +src/silx/resources/gui/icons/shape-circle.png +src/silx/resources/gui/icons/shape-circle.svg +src/silx/resources/gui/icons/shape-cross.png +src/silx/resources/gui/icons/shape-cross.svg +src/silx/resources/gui/icons/shape-diagonal-directed.png +src/silx/resources/gui/icons/shape-diagonal-directed.svg +src/silx/resources/gui/icons/shape-diagonal.png +src/silx/resources/gui/icons/shape-diagonal.svg +src/silx/resources/gui/icons/shape-ellipse-solid.png +src/silx/resources/gui/icons/shape-ellipse-solid.svg +src/silx/resources/gui/icons/shape-ellipse.png +src/silx/resources/gui/icons/shape-ellipse.svg +src/silx/resources/gui/icons/shape-horizontal.png +src/silx/resources/gui/icons/shape-horizontal.svg +src/silx/resources/gui/icons/shape-polygon.png +src/silx/resources/gui/icons/shape-polygon.svg +src/silx/resources/gui/icons/shape-rectangle.png +src/silx/resources/gui/icons/shape-rectangle.svg +src/silx/resources/gui/icons/shape-square.png +src/silx/resources/gui/icons/shape-square.svg +src/silx/resources/gui/icons/shape-vertical.png +src/silx/resources/gui/icons/shape-vertical.svg +src/silx/resources/gui/icons/side-histograms.png +src/silx/resources/gui/icons/side-histograms.svg +src/silx/resources/gui/icons/silx.png +src/silx/resources/gui/icons/silx.svg +src/silx/resources/gui/icons/slice-cross.png +src/silx/resources/gui/icons/slice-cross.svg +src/silx/resources/gui/icons/slice-horizontal.png +src/silx/resources/gui/icons/slice-horizontal.svg +src/silx/resources/gui/icons/slice-vertical.png +src/silx/resources/gui/icons/slice-vertical.svg +src/silx/resources/gui/icons/sliders-off.png +src/silx/resources/gui/icons/sliders-off.svg +src/silx/resources/gui/icons/sliders-on.png +src/silx/resources/gui/icons/sliders-on.svg +src/silx/resources/gui/icons/spec.png +src/silx/resources/gui/icons/spec.svg +src/silx/resources/gui/icons/stats-active-items.png +src/silx/resources/gui/icons/stats-active-items.svg +src/silx/resources/gui/icons/stats-visible-data.png +src/silx/resources/gui/icons/stats-visible-data.svg +src/silx/resources/gui/icons/stats-whole-data.png +src/silx/resources/gui/icons/stats-whole-data.svg +src/silx/resources/gui/icons/stats-whole-items.png +src/silx/resources/gui/icons/stats-whole-items.svg +src/silx/resources/gui/icons/tree-collapse-all.png +src/silx/resources/gui/icons/tree-collapse-all.svg +src/silx/resources/gui/icons/tree-expand-all.png +src/silx/resources/gui/icons/tree-expand-all.svg +src/silx/resources/gui/icons/tree-sort.png +src/silx/resources/gui/icons/tree-sort.svg +src/silx/resources/gui/icons/view-1d.png +src/silx/resources/gui/icons/view-1d.svg +src/silx/resources/gui/icons/view-2d-stack.png +src/silx/resources/gui/icons/view-2d-stack.svg +src/silx/resources/gui/icons/view-2d.png +src/silx/resources/gui/icons/view-2d.svg +src/silx/resources/gui/icons/view-3d.png +src/silx/resources/gui/icons/view-3d.svg +src/silx/resources/gui/icons/view-fullscreen.png +src/silx/resources/gui/icons/view-fullscreen.svg +src/silx/resources/gui/icons/view-hdf5.png +src/silx/resources/gui/icons/view-hdf5.svg +src/silx/resources/gui/icons/view-nexus.png +src/silx/resources/gui/icons/view-nexus.svg +src/silx/resources/gui/icons/view-nofullscreen.png +src/silx/resources/gui/icons/view-nofullscreen.svg +src/silx/resources/gui/icons/view-raw.png +src/silx/resources/gui/icons/view-raw.svg +src/silx/resources/gui/icons/view-refresh.png +src/silx/resources/gui/icons/view-refresh.svg +src/silx/resources/gui/icons/view-text.png +src/silx/resources/gui/icons/view-text.svg +src/silx/resources/gui/icons/window-new.png +src/silx/resources/gui/icons/window-new.svg +src/silx/resources/gui/icons/zoom-back.png +src/silx/resources/gui/icons/zoom-back.svg +src/silx/resources/gui/icons/zoom-in.png +src/silx/resources/gui/icons/zoom-in.svg +src/silx/resources/gui/icons/zoom-original.png +src/silx/resources/gui/icons/zoom-original.svg +src/silx/resources/gui/icons/zoom-out.png +src/silx/resources/gui/icons/zoom-out.svg +src/silx/resources/gui/icons/zoom.png +src/silx/resources/gui/icons/zoom.svg +src/silx/resources/gui/icons/process-working/00.png +src/silx/resources/gui/icons/process-working/01.png +src/silx/resources/gui/icons/process-working/02.png +src/silx/resources/gui/icons/process-working/03.png +src/silx/resources/gui/icons/process-working/04.png +src/silx/resources/gui/icons/process-working/05.png +src/silx/resources/gui/icons/process-working/06.png +src/silx/resources/gui/icons/process-working/07.png +src/silx/resources/gui/icons/process-working/08.png +src/silx/resources/gui/icons/process-working/09.png +src/silx/resources/gui/icons/process-working/10.png +src/silx/resources/gui/icons/process-working/11.png +src/silx/resources/gui/icons/process-working/12.png +src/silx/resources/gui/icons/process-working/13.png +src/silx/resources/gui/icons/process-working/14.png +src/silx/resources/gui/icons/process-working/15.png +src/silx/resources/gui/icons/process-working/16.png +src/silx/resources/gui/icons/process-working/17.png +src/silx/resources/gui/icons/process-working/18.png +src/silx/resources/gui/icons/process-working/19.png +src/silx/resources/gui/icons/process-working/20.png +src/silx/resources/gui/icons/process-working/21.png +src/silx/resources/gui/icons/process-working/22.png +src/silx/resources/gui/icons/process-working/23.png +src/silx/resources/gui/icons/process-working/24.png +src/silx/resources/gui/icons/process-working/25.png +src/silx/resources/gui/icons/process-working/26.png +src/silx/resources/gui/icons/process-working/27.png +src/silx/resources/gui/icons/process-working/28.png +src/silx/resources/gui/icons/process-working/29.png +src/silx/resources/gui/icons/process-working/30.png +src/silx/resources/gui/logo/silx.png +src/silx/resources/gui/logo/silx.svg +src/silx/resources/opencl/addition.cl +src/silx/resources/opencl/array_utils.cl +src/silx/resources/opencl/backproj.cl +src/silx/resources/opencl/backproj_helper.cl +src/silx/resources/opencl/bitonic.cl +src/silx/resources/opencl/convolution.cl +src/silx/resources/opencl/convolution_textures.cl +src/silx/resources/opencl/doubleword.cl +src/silx/resources/opencl/kahan.cl +src/silx/resources/opencl/linalg.cl +src/silx/resources/opencl/medfilt.cl +src/silx/resources/opencl/preprocess.cl +src/silx/resources/opencl/proj.cl +src/silx/resources/opencl/sparse.cl +src/silx/resources/opencl/statistics.cl +src/silx/resources/opencl/codec/byte_offset.cl +src/silx/resources/opencl/image/cast.cl +src/silx/resources/opencl/image/histogram.cl +src/silx/resources/opencl/image/map.cl +src/silx/resources/opencl/image/max_min.cl +src/silx/resources/opencl/sift/addition.cl +src/silx/resources/opencl/sift/algebra.cl +src/silx/resources/opencl/sift/convolution.cl +src/silx/resources/opencl/sift/descriptor_cpu.cl +src/silx/resources/opencl/sift/descriptor_gpu1.cl +src/silx/resources/opencl/sift/descriptor_gpu2.cl +src/silx/resources/opencl/sift/gaussian.cl +src/silx/resources/opencl/sift/image.cl +src/silx/resources/opencl/sift/interpolation.cl +src/silx/resources/opencl/sift/matching_cpu.cl +src/silx/resources/opencl/sift/matching_gpu.cl +src/silx/resources/opencl/sift/memset.cl +src/silx/resources/opencl/sift/orientation_cpu.cl +src/silx/resources/opencl/sift/orientation_gpu.cl +src/silx/resources/opencl/sift/preprocess.cl +src/silx/resources/opencl/sift/reductions.cl +src/silx/resources/opencl/sift/sift.cl +src/silx/resources/opencl/sift/transform.cl +src/silx/sx/__init__.py +src/silx/sx/_plot.py +src/silx/sx/_plot3d.py +src/silx/test/__init__.py +src/silx/test/test_resources.py +src/silx/test/test_sx.py +src/silx/test/test_version.py +src/silx/test/utils.py +src/silx/third_party/EdfFile.py +src/silx/third_party/TiffIO.py +src/silx/third_party/__init__.py +src/silx/third_party/scipy_spatial.py +src/silx/third_party/setup.py +src/silx/third_party/_local/__init__.py +src/silx/third_party/_local/scipy_spatial/__init__.py +src/silx/third_party/_local/scipy_spatial/qhull.pxd +src/silx/third_party/_local/scipy_spatial/qhull.pyx +src/silx/third_party/_local/scipy_spatial/qhull_misc.h +src/silx/third_party/_local/scipy_spatial/setlist.pxd +src/silx/third_party/_local/scipy_spatial/setup.py +src/silx/third_party/_local/scipy_spatial/qhull/COPYING.txt +src/silx/third_party/_local/scipy_spatial/qhull/src/geom2_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/geom_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/geom_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/global_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/io_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/io_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/libqhull_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/libqhull_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/mem_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/mem_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/merge_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/merge_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/poly2_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/poly_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/poly_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/qhull_ra.h +src/silx/third_party/_local/scipy_spatial/qhull/src/qset_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/qset_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/random_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/random_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/rboxlib_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/stat_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/stat_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/user_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/user_r.h +src/silx/third_party/_local/scipy_spatial/qhull/src/usermem_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/userprintf_r.c +src/silx/third_party/_local/scipy_spatial/qhull/src/userprintf_rbox_r.c +src/silx/utils/ExternalResources.py +src/silx/utils/__init__.py +src/silx/utils/_have_openmp.pxd +src/silx/utils/array_like.py +src/silx/utils/debug.py +src/silx/utils/deprecation.py +src/silx/utils/enum.py +src/silx/utils/exceptions.py +src/silx/utils/files.py +src/silx/utils/html.py +src/silx/utils/launcher.py +src/silx/utils/number.py +src/silx/utils/property.py +src/silx/utils/proxy.py +src/silx/utils/retry.py +src/silx/utils/setup.py +src/silx/utils/testutils.py +src/silx/utils/weakref.py +src/silx/utils/include/silx_store_openmp.h +src/silx/utils/test/__init__.py +src/silx/utils/test/test_array_like.py +src/silx/utils/test/test_debug.py +src/silx/utils/test/test_deprecation.py +src/silx/utils/test/test_enum.py +src/silx/utils/test/test_external_resources.py +src/silx/utils/test/test_launcher.py +src/silx/utils/test/test_launcher_command.py +src/silx/utils/test/test_number.py +src/silx/utils/test/test_proxy.py +src/silx/utils/test/test_retry.py +src/silx/utils/test/test_testutils.py +src/silx/utils/test/test_weakref.py
\ No newline at end of file diff --git a/silx.egg-info/requires.txt b/silx.egg-info/requires.txt index 4ed2690..11d2418 100644 --- a/silx.egg-info/requires.txt +++ b/silx.egg-info/requires.txt @@ -2,7 +2,6 @@ numpy>=1.12.0 setuptools h5py fabio>=0.9 -six [full] pyopencl @@ -12,5 +11,10 @@ matplotlib>=1.2.0 PyOpenGL python-dateutil PyQt5 +hdf5plugin scipy Pillow + +[test] +pytest +pytest-xvfb diff --git a/silx/__init__.py b/silx/__init__.py deleted file mode 100644 index 2892572..0000000 --- a/silx/__init__.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# -# Copyright (c) 2015-2018 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ###########################################################################*/ -"""The silx package contains the following main sub-packages: - -- silx.gui: Qt widgets for data visualization and data file browsing -- silx.image: Some processing functions for 2D images -- silx.io: Reading and writing data files (HDF5/NeXus, SPEC, ...) -- silx.math: Some processing functions for 1D, 2D, 3D, nD arrays -- silx.opencl: OpenCL-based data processing -- silx.sx: High-level silx functions suited for (I)Python console. -- silx.utils: Miscellaneous convenient functions - -See silx documentation: http://www.silx.org/doc/silx/latest/ -""" - -from __future__ import absolute_import, print_function, division - -__authors__ = ["Jérôme Kieffer"] -__license__ = "MIT" -__date__ = "26/04/2018" - -import os as _os -import logging as _logging -from ._config import Config as _Config - -config = _Config() -"""Global configuration shared with the whole library""" - -# Attach a do nothing logging handler for silx -_logging.getLogger(__name__).addHandler(_logging.NullHandler()) - - -project = _os.path.basename(_os.path.dirname(_os.path.abspath(__file__))) - -try: - from ._version import __date__ as date # noqa - from ._version import version, version_info, hexversion, strictversion # noqa -except ImportError: - raise RuntimeError("Do NOT use %s from its sources: build it and use the built version" % project) diff --git a/silx/app/convert.py b/silx/app/convert.py deleted file mode 100644 index 7e601ce..0000000 --- a/silx/app/convert.py +++ /dev/null @@ -1,525 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# Copyright (C) 2017-2018 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ############################################################################*/ -"""Convert silx supported data files into HDF5 files""" - -__authors__ = ["P. Knobel"] -__license__ = "MIT" -__date__ = "05/02/2019" - -import ast -import os -import argparse -from glob import glob -import logging -import re -import time -import numpy -import six - -import silx.io -from silx.io.specfile import is_specfile -from silx.io import fabioh5 - -_logger = logging.getLogger(__name__) -"""Module logger""" - - -def c_format_string_to_re(pattern_string): - """ - - :param pattern_string: C style format string with integer patterns - (e.g. "%d", "%04d"). - Not supported: fixed length padded with whitespaces (e.g "%4d", "%-4d") - :return: Equivalent regular expression (e.g. "\\d+", "\\d{4}") - """ - # escape dots and backslashes - pattern_string = pattern_string.replace("\\", "\\\\") - pattern_string = pattern_string.replace(".", r"\.") - - # %d - pattern_string = pattern_string.replace("%d", r"([-+]?\d+)") - - # %0nd - for sub_pattern in re.findall(r"%0\d+d", pattern_string): - n = int(re.search(r"%0(\d+)d", sub_pattern).group(1)) - if n == 1: - re_sub_pattern = r"([+-]?\d)" - else: - re_sub_pattern = r"([\d+-]\d{%d})" % (n - 1) - pattern_string = pattern_string.replace(sub_pattern, re_sub_pattern, 1) - - return pattern_string - - -def drop_indices_before_begin(filenames, regex, begin): - """ - - :param List[str] filenames: list of filenames - :param str regex: Regexp used to find indices in a filename - :param str begin: Comma separated list of begin indices - :return: List of filenames with only indices >= begin - """ - begin_indices = list(map(int, begin.split(","))) - output_filenames = [] - for fname in filenames: - m = re.match(regex, fname) - file_indices = list(map(int, m.groups())) - if len(file_indices) != len(begin_indices): - raise IOError("Number of indices found in filename " - "does not match number of parsed end indices.") - good_indices = True - for i, fidx in enumerate(file_indices): - if fidx < begin_indices[i]: - good_indices = False - if good_indices: - output_filenames.append(fname) - return output_filenames - - -def drop_indices_after_end(filenames, regex, end): - """ - - :param List[str] filenames: list of filenames - :param str regex: Regexp used to find indices in a filename - :param str end: Comma separated list of end indices - :return: List of filenames with only indices <= end - """ - end_indices = list(map(int, end.split(","))) - output_filenames = [] - for fname in filenames: - m = re.match(regex, fname) - file_indices = list(map(int, m.groups())) - if len(file_indices) != len(end_indices): - raise IOError("Number of indices found in filename " - "does not match number of parsed end indices.") - good_indices = True - for i, fidx in enumerate(file_indices): - if fidx > end_indices[i]: - good_indices = False - if good_indices: - output_filenames.append(fname) - return output_filenames - - -def are_files_missing_in_series(filenames, regex): - """Return True if any file is missing in a list of filenames - that are supposed to follow a pattern. - - :param List[str] filenames: list of filenames - :param str regex: Regexp used to find indices in a filename - :return: boolean - :raises AssertionError: if a filename does not match the regexp - """ - previous_indices = None - for fname in filenames: - m = re.match(regex, fname) - assert m is not None, \ - "regex %s does not match filename %s" % (fname, regex) - new_indices = list(map(int, m.groups())) - if previous_indices is not None: - for old_idx, new_idx in zip(previous_indices, new_indices): - if (new_idx - old_idx) > 1: - _logger.error("Index increment > 1 in file series: " - "previous idx %d, next idx %d", - old_idx, new_idx) - return True - previous_indices = new_indices - return False - - -def are_all_specfile(filenames): - """Return True if all files in a list are SPEC files. - :param List[str] filenames: list of filenames - """ - for fname in filenames: - if not is_specfile(fname): - return False - return True - - -def contains_specfile(filenames): - """Return True if any file in a list are SPEC files. - :param List[str] filenames: list of filenames - """ - for fname in filenames: - if is_specfile(fname): - return True - return False - - -def main(argv): - """ - Main function to launch the converter as an application - - :param argv: Command line arguments - :returns: exit status - """ - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument( - 'input_files', - nargs="*", - help='Input files (EDF, TIFF, SPEC...). When specifying multiple ' - 'files, you cannot specify both fabio images and SPEC files. ' - 'Multiple SPEC files will simply be concatenated, with one ' - 'entry per scan. Multiple image files will be merged into ' - 'a single entry with a stack of images.') - # input_files and --filepattern are mutually exclusive - parser.add_argument( - '--file-pattern', - help='File name pattern for loading a series of indexed image files ' - '(toto_%%04d.edf). This argument is incompatible with argument ' - 'input_files. If an output URI with a HDF5 path is provided, ' - 'only the content of the NXdetector group will be copied there. ' - 'If no HDF5 path, or just "/", is given, a complete NXdata ' - 'structure will be created.') - parser.add_argument( - '-o', '--output-uri', - default=time.strftime("%Y%m%d-%H%M%S") + '.h5', - help='Output file name (HDF5). An URI can be provided to write' - ' the data into a specific group in the output file: ' - '/path/to/file::/path/to/group. ' - 'If not provided, the filename defaults to a timestamp:' - ' YYYYmmdd-HHMMSS.h5') - parser.add_argument( - '-m', '--mode', - default="w-", - help='Write mode: "r+" (read/write, file must exist), ' - '"w" (write, existing file is lost), ' - '"w-" (write, fail if file exists) or ' - '"a" (read/write if exists, create otherwise)') - parser.add_argument( - '--begin', - help='First file index, or first file indices to be considered. ' - 'This argument only makes sense when used together with ' - '--file-pattern. Provide as many start indices as there ' - 'are indices in the file pattern, separated by commas. ' - 'Examples: "--filepattern toto_%%d.edf --begin 100", ' - ' "--filepattern toto_%%d_%%04d_%%02d.edf --begin 100,2000,5".') - parser.add_argument( - '--end', - help='Last file index, or last file indices to be considered. ' - 'The same rules as with argument --begin apply. ' - 'Example: "--filepattern toto_%%d_%%d.edf --end 199,1999"') - parser.add_argument( - '--add-root-group', - action="store_true", - help='This option causes each input file to be written to a ' - 'specific root group with the same name as the file. When ' - 'merging multiple input files, this can help preventing conflicts' - ' when datasets have the same name (see --overwrite-data). ' - 'This option is ignored when using --file-pattern.') - parser.add_argument( - '--overwrite-data', - action="store_true", - help='If the output path exists and an input dataset has the same' - ' name as an existing output dataset, overwrite the output ' - 'dataset (in modes "r+" or "a").') - parser.add_argument( - '--min-size', - type=int, - default=500, - help='Minimum number of elements required to be in a dataset to ' - 'apply compression or chunking (default 500).') - parser.add_argument( - '--chunks', - nargs="?", - const="auto", - help='Chunk shape. Provide an argument that evaluates as a python ' - 'tuple (e.g. "(1024, 768)"). If this option is provided without ' - 'specifying an argument, the h5py library will guess a chunk for ' - 'you. Note that if you specify an explicit chunking shape, it ' - 'will be applied identically to all datasets with a large enough ' - 'size (see --min-size). ') - parser.add_argument( - '--compression', - nargs="?", - const="gzip", - help='Compression filter. By default, the datasets in the output ' - 'file are not compressed. If this option is specified without ' - 'argument, the GZIP compression is used. Additional compression ' - 'filters may be available, depending on your HDF5 installation.') - - def check_gzip_compression_opts(value): - ivalue = int(value) - if ivalue < 0 or ivalue > 9: - raise argparse.ArgumentTypeError( - "--compression-opts must be an int from 0 to 9") - return ivalue - - parser.add_argument( - '--compression-opts', - type=check_gzip_compression_opts, - help='Compression options. For "gzip", this may be an integer from ' - '0 to 9, with a default of 4. This is only supported for GZIP.') - parser.add_argument( - '--shuffle', - action="store_true", - help='Enables the byte shuffle filter. This may improve the compression ' - 'ratio for block oriented compressors like GZIP or LZF.') - parser.add_argument( - '--fletcher32', - action="store_true", - help='Adds a checksum to each chunk to detect data corruption.') - parser.add_argument( - '--debug', - action="store_true", - default=False, - help='Set logging system in debug mode') - - options = parser.parse_args(argv[1:]) - - if options.debug: - logging.root.setLevel(logging.DEBUG) - - # Import after parsing --debug - try: - # it should be loaded before h5py - import hdf5plugin # noqa - except ImportError: - _logger.debug("Backtrace", exc_info=True) - hdf5plugin = None - - import h5py - - try: - from silx.io.convert import write_to_h5 - except ImportError: - _logger.debug("Backtrace", exc_info=True) - write_to_h5 = None - - if hdf5plugin is None: - message = "Module 'hdf5plugin' is not installed. It supports additional hdf5"\ - + " compressions. You can install it using \"pip install hdf5plugin\"." - _logger.debug(message) - - # Process input arguments (mutually exclusive arguments) - if bool(options.input_files) == bool(options.file_pattern is not None): - if not options.input_files: - message = "You must specify either input files (at least one), " - message += "or a file pattern." - else: - message = "You cannot specify input files and a file pattern" - message += " at the same time." - _logger.error(message) - return -1 - elif options.input_files: - # some shells (windows) don't interpret wildcard characters (*, ?, []) - old_input_list = list(options.input_files) - options.input_files = [] - for fname in old_input_list: - globbed_files = glob(fname) - if not globbed_files: - # no files found, keep the name as it is, to raise an error later - options.input_files += [fname] - else: - # glob does not sort files, but the bash shell does - options.input_files += sorted(globbed_files) - else: - # File series - dirname = os.path.dirname(options.file_pattern) - file_pattern_re = c_format_string_to_re(options.file_pattern) + "$" - files_in_dir = glob(os.path.join(dirname, "*")) - _logger.debug(""" - Processing file_pattern - dirname: %s - file_pattern_re: %s - files_in_dir: %s - """, dirname, file_pattern_re, files_in_dir) - - options.input_files = sorted(list(filter(lambda name: re.match(file_pattern_re, name), - files_in_dir))) - _logger.debug("options.input_files: %s", options.input_files) - - if options.begin is not None: - options.input_files = drop_indices_before_begin(options.input_files, - file_pattern_re, - options.begin) - _logger.debug("options.input_files after applying --begin: %s", - options.input_files) - - if options.end is not None: - options.input_files = drop_indices_after_end(options.input_files, - file_pattern_re, - options.end) - _logger.debug("options.input_files after applying --end: %s", - options.input_files) - - if are_files_missing_in_series(options.input_files, - file_pattern_re): - _logger.error("File missing in the file series. Aborting.") - return -1 - - if not options.input_files: - _logger.error("No file matching --file-pattern found.") - return -1 - - # Test that the output path is writeable - if "::" in options.output_uri: - output_name, hdf5_path = options.output_uri.split("::") - else: - output_name, hdf5_path = options.output_uri, "/" - - if os.path.isfile(output_name): - if options.mode == "w-": - _logger.error("Output file %s exists and mode is 'w-' (default)." - " Aborting. To append data to an existing file, " - "use 'a' or 'r+'.", - output_name) - return -1 - elif not os.access(output_name, os.W_OK): - _logger.error("Output file %s exists and is not writeable.", - output_name) - return -1 - elif options.mode == "w": - _logger.info("Output file %s exists and mode is 'w'. " - "Overwriting existing file.", output_name) - elif options.mode in ["a", "r+"]: - _logger.info("Appending data to existing file %s.", - output_name) - else: - if options.mode == "r+": - _logger.error("Output file %s does not exist and mode is 'r+'" - " (append, file must exist). Aborting.", - output_name) - return -1 - else: - _logger.info("Creating new output file %s.", - output_name) - - # Test that all input files exist and are readable - bad_input = False - for fname in options.input_files: - if not os.access(fname, os.R_OK): - _logger.error("Cannot read input file %s.", - fname) - bad_input = True - if bad_input: - _logger.error("Aborting.") - return -1 - - # create_dataset special args - create_dataset_args = {} - if options.chunks is not None: - if options.chunks.lower() in ["auto", "true"]: - create_dataset_args["chunks"] = True - else: - try: - chunks = ast.literal_eval(options.chunks) - except (ValueError, SyntaxError): - _logger.error("Invalid --chunks argument %s", options.chunks) - return -1 - if not isinstance(chunks, (tuple, list)): - _logger.error("--chunks argument str does not evaluate to a tuple") - return -1 - else: - nitems = numpy.prod(chunks) - nbytes = nitems * 8 - if nbytes > 10**6: - _logger.warning("Requested chunk size might be larger than" - " the default 1MB chunk cache, for float64" - " data. This can dramatically affect I/O " - "performances.") - create_dataset_args["chunks"] = chunks - - if options.compression is not None: - try: - compression = int(options.compression) - except ValueError: - compression = options.compression - create_dataset_args["compression"] = compression - - if options.compression_opts is not None: - create_dataset_args["compression_opts"] = options.compression_opts - - if options.shuffle: - create_dataset_args["shuffle"] = True - - if options.fletcher32: - create_dataset_args["fletcher32"] = True - - if (len(options.input_files) > 1 and - not contains_specfile(options.input_files) and - not options.add_root_group) or options.file_pattern is not None: - # File series -> stack of images - input_group = fabioh5.File(file_series=options.input_files) - if hdf5_path != "/": - # we want to append only data and headers to an existing file - input_group = input_group["/scan_0/instrument/detector_0"] - with h5py.File(output_name, mode=options.mode) as h5f: - write_to_h5(input_group, h5f, - h5path=hdf5_path, - overwrite_data=options.overwrite_data, - create_dataset_args=create_dataset_args, - min_size=options.min_size) - - elif len(options.input_files) == 1 or \ - are_all_specfile(options.input_files) or\ - options.add_root_group: - # single file, or spec files - h5paths_and_groups = [] - for input_name in options.input_files: - hdf5_path_for_file = hdf5_path - if options.add_root_group: - hdf5_path_for_file = hdf5_path.rstrip("/") + "/" + os.path.basename(input_name) - try: - h5paths_and_groups.append((hdf5_path_for_file, - silx.io.open(input_name))) - except IOError: - _logger.error("Cannot read file %s. If this is a file format " - "supported by the fabio library, you can try to" - " install fabio (`pip install fabio`)." - " Aborting conversion.", - input_name) - return -1 - - with h5py.File(output_name, mode=options.mode) as h5f: - for hdf5_path_for_file, input_group in h5paths_and_groups: - write_to_h5(input_group, h5f, - h5path=hdf5_path_for_file, - overwrite_data=options.overwrite_data, - create_dataset_args=create_dataset_args, - min_size=options.min_size) - - else: - # multiple file, SPEC and fabio images mixed - _logger.error("Multiple files with incompatible formats specified. " - "You can provide multiple SPEC files or multiple image " - "files, but not both.") - return -1 - - with h5py.File(output_name, mode="r+") as h5f: - # append "silx convert" to the creator attribute, for NeXus files - previous_creator = h5f.attrs.get("creator", u"") - creator = "silx convert (v%s)" % silx.version - # only if it not already there - if creator not in previous_creator: - if not previous_creator: - new_creator = creator - else: - new_creator = previous_creator + "; " + creator - h5f.attrs["creator"] = numpy.array( - new_creator, - dtype=h5py.special_dtype(vlen=six.text_type)) - - return 0 diff --git a/silx/app/test/__init__.py b/silx/app/test/__init__.py deleted file mode 100644 index 7c91134..0000000 --- a/silx/app/test/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# -# Copyright (c) 2016-2017 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ###########################################################################*/ -__authors__ = ["V. Valls"] -__license__ = "MIT" -__date__ = "06/06/2018" - -import unittest - -from ..view import test as test_view -from . import test_convert - - -def suite(): - test_suite = unittest.TestSuite() - test_suite.addTest(test_view.suite()) - test_suite.addTest(test_convert.suite()) - return test_suite diff --git a/silx/app/test/test_convert.py b/silx/app/test/test_convert.py deleted file mode 100644 index 857f30c..0000000 --- a/silx/app/test/test_convert.py +++ /dev/null @@ -1,167 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# -# Copyright (c) 2016-2018 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ###########################################################################*/ -"""Module testing silx.app.convert""" - -__authors__ = ["P. Knobel"] -__license__ = "MIT" -__date__ = "17/01/2018" - - -import os -import sys -import tempfile -import unittest -import io -import gc -import h5py - -import silx -from .. import convert -from silx.utils import testutils -from silx.io.utils import h5py_read_dataset - - -# content of a spec file -sftext = """#F /tmp/sf.dat -#E 1455180875 -#D Thu Feb 11 09:54:35 2016 -#C imaging User = opid17 -#O0 Pslit HGap MRTSlit UP MRTSlit DOWN -#O1 Sslit1 VOff Sslit1 HOff Sslit1 VGap -#o0 pshg mrtu mrtd -#o2 ss1vo ss1ho ss1vg - -#J0 Seconds IA ion.mono Current -#J1 xbpmc2 idgap1 Inorm - -#S 1 ascan ss1vo -4.55687 -0.556875 40 0.2 -#D Thu Feb 11 09:55:20 2016 -#T 0.2 (Seconds) -#P0 180.005 -0.66875 0.87125 -#P1 14.74255 16.197579 12.238283 -#N 4 -#L MRTSlit UP second column 3rd_col --1.23 5.89 8 -8.478100E+01 5 1.56 -3.14 2.73 -3.14 -1.2 2.3 3.4 - -#S 1 aaaaaa -#D Thu Feb 11 10:00:32 2016 -#@MCADEV 1 -#@MCA %16C -#@CHANN 3 0 2 1 -#@CALIB 1 2 3 -#N 3 -#L uno duo -1 2 -@A 0 1 2 -@A 10 9 8 -3 4 -@A 3.1 4 5 -@A 7 6 5 -5 6 -@A 6 7.7 8 -@A 4 3 2 -""" - - -class TestConvertCommand(unittest.TestCase): - """Test command line parsing""" - - def testHelp(self): - # option -h must cause a `raise SystemExit` or a `return 0` - try: - result = convert.main(["convert", "--help"]) - except SystemExit as e: - result = e.args[0] - self.assertEqual(result, 0) - - def testWrongOption(self): - # presence of a wrong option must cause a SystemExit or a return - # with a non-zero status - try: - result = convert.main(["convert", "--foo"]) - except SystemExit as e: - result = e.args[0] - self.assertNotEqual(result, 0) - - @testutils.test_logging(convert._logger.name, error=3) - # one error log per missing file + one "Aborted" error log - def testWrongFiles(self): - result = convert.main(["convert", "foo.spec", "bar.edf"]) - self.assertNotEqual(result, 0) - - def testFile(self): - # create a writable temp directory - tempdir = tempfile.mkdtemp() - - # write a temporary SPEC file - specname = os.path.join(tempdir, "input.dat") - with io.open(specname, "wb") as fd: - if sys.version_info < (3, ): - fd.write(sftext) - else: - fd.write(bytes(sftext, 'ascii')) - - # convert it - h5name = os.path.join(tempdir, "output.h5") - assert not os.path.isfile(h5name) - command_list = ["convert", "-m", "w", - specname, "-o", h5name] - result = convert.main(command_list) - - self.assertEqual(result, 0) - self.assertTrue(os.path.isfile(h5name)) - - with h5py.File(h5name, "r") as h5f: - title12 = h5py_read_dataset(h5f["/1.2/title"]) - if sys.version_info < (3, ): - title12 = title12.encode("utf-8") - self.assertEqual(title12, - "aaaaaa") - - creator = h5f.attrs.get("creator") - self.assertIsNotNone(creator, "No creator attribute in NXroot group") - if sys.version_info < (3, ): - creator = creator.encode("utf-8") - self.assertIn("silx convert (v%s)" % silx.version, creator) - - # delete input file - gc.collect() # necessary to free spec file on Windows - os.unlink(specname) - os.unlink(h5name) - os.rmdir(tempdir) - - -def suite(): - test_suite = unittest.TestSuite() - loader = unittest.defaultTestLoader.loadTestsFromTestCase - test_suite.addTest(loader(TestConvertCommand)) - return test_suite - - -if __name__ == '__main__': - unittest.main(defaultTest='suite') diff --git a/silx/app/test_.py b/silx/app/test_.py deleted file mode 100644 index a8e58bf..0000000 --- a/silx/app/test_.py +++ /dev/null @@ -1,159 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# Copyright (C) 2016-2018 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ############################################################################*/ -"""Launch unittests of the library""" - -__authors__ = ["V. Valls"] -__license__ = "MIT" -__date__ = "12/01/2018" - -import sys -import argparse -import logging -import unittest - - -class StreamHandlerUnittestReady(logging.StreamHandler): - """The unittest class TestResult redefine sys.stdout/err to capture - stdout/err from tests and to display them only when a test fail. - - This class allow to use unittest stdout-capture by using the last sys.stdout - and not a cached one. - """ - - def emit(self, record): - """ - :type record: logging.LogRecord - """ - self.stream = sys.stderr - super(StreamHandlerUnittestReady, self).emit(record) - - def flush(self): - pass - - -def createBasicHandler(): - """Create the handler using the basic configuration""" - hdlr = StreamHandlerUnittestReady() - fs = logging.BASIC_FORMAT - dfs = None - fmt = logging.Formatter(fs, dfs) - hdlr.setFormatter(fmt) - return hdlr - - -# Use an handler compatible with unittests, else use_buffer is not working -for h in logging.root.handlers: - logging.root.removeHandler(h) -logging.root.addHandler(createBasicHandler()) -logging.captureWarnings(True) - -_logger = logging.getLogger(__name__) -"""Module logger""" - - -class TextTestResultWithSkipList(unittest.TextTestResult): - """Override default TextTestResult to display list of skipped tests at the - end - """ - - def printErrors(self): - unittest.TextTestResult.printErrors(self) - # Print skipped tests at the end - self.printErrorList("SKIPPED", self.skipped) - - -def main(argv): - """ - Main function to launch the unittests as an application - - :param argv: Command line arguments - :returns: exit status - """ - from silx.test import utils - - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("-v", "--verbose", default=0, - action="count", dest="verbose", - help="Increase verbosity. Option -v prints additional " + - "INFO messages. Use -vv for full verbosity, " + - "including debug messages and test help strings.") - parser.add_argument("--qt-binding", dest="qt_binding", default=None, - help="Force using a Qt binding: 'PyQt5' or 'PySide2'") - utils.test_options.add_parser_argument(parser) - - options = parser.parse_args(argv[1:]) - - test_verbosity = 1 - use_buffer = True - if options.verbose == 1: - logging.root.setLevel(logging.INFO) - _logger.info("Set log level: INFO") - test_verbosity = 2 - use_buffer = False - elif options.verbose > 1: - logging.root.setLevel(logging.DEBUG) - _logger.info("Set log level: DEBUG") - test_verbosity = 2 - use_buffer = False - - if options.qt_binding: - binding = options.qt_binding.lower() - if binding == "pyqt4": - _logger.info("Force using PyQt4") - import PyQt4.QtCore # noqa - elif binding == "pyqt5": - _logger.info("Force using PyQt5") - import PyQt5.QtCore # noqa - elif binding == "pyside": - _logger.info("Force using PySide") - import PySide.QtCore # noqa - elif binding == "pyside2": - _logger.info("Force using PySide2") - import PySide2.QtCore # noqa - else: - raise ValueError("Qt binding '%s' is unknown" % options.qt_binding) - - # Configure test options - utils.test_options.configure(options) - - # Run the tests - runnerArgs = {} - runnerArgs["verbosity"] = test_verbosity - runnerArgs["buffer"] = use_buffer - runner = unittest.TextTestRunner(**runnerArgs) - runner.resultclass = TextTestResultWithSkipList - - # Display the result when using CTRL-C - unittest.installHandler() - - import silx.test - test_suite = unittest.TestSuite() - test_suite.addTest(silx.test.suite()) - result = runner.run(test_suite) - - if result.wasSuccessful(): - exit_status = 0 - else: - exit_status = 1 - return exit_status diff --git a/silx/app/view/About.py b/silx/app/view/About.py deleted file mode 100644 index a2b430f..0000000 --- a/silx/app/view/About.py +++ /dev/null @@ -1,257 +0,0 @@ -# coding: utf-8 -# /*########################################################################## -# Copyright (C) 2016-2019 European Synchrotron Radiation Facility -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# ############################################################################*/ -"""About box for Silx viewer""" - -__authors__ = ["V. Valls"] -__license__ = "MIT" -__date__ = "05/07/2018" - -import os -import sys - -from silx.gui import qt -from silx.gui import icons - -_LICENSE_TEMPLATE = """<p align="center"> -<b>Copyright (C) {year} European Synchrotron Radiation Facility</b> -</p> - -<p align="justify"> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -</p> - -<p align="justify"> -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -</p> - -<p align="justify"> -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -</p> -""" - - -class About(qt.QDialog): - """ - Util dialog to display an common about box for all the silx GUIs. - """ - - def __init__(self, parent=None): - """ - :param files_: List of HDF5 or Spec files (pathes or - :class:`silx.io.spech5.SpecH5` or :class:`h5py.File` - instances) - """ - super(About, self).__init__(parent) - self.__createLayout() - self.setSizePolicy(qt.QSizePolicy.Fixed, qt.QSizePolicy.Fixed) - self.setModal(True) - self.setApplicationName(None) - - def __createLayout(self): - layout = qt.QVBoxLayout(self) - layout.setContentsMargins(24, 15, 24, 20) - layout.setSpacing(8) - - self.__label = qt.QLabel(self) - self.__label.setWordWrap(True) - flags = self.__label.textInteractionFlags() - flags = flags | qt.Qt.TextSelectableByKeyboard - flags = flags | qt.Qt.TextSelectableByMouse - self.__label.setTextInteractionFlags(flags) - self.__label.setOpenExternalLinks(True) - self.__label.setSizePolicy(qt.QSizePolicy.Minimum, qt.QSizePolicy.Preferred) - - licenseButton = qt.QPushButton(self) - licenseButton.setText("License...") - licenseButton.clicked.connect(self.__displayLicense) - licenseButton.setAutoDefault(False) - - self.__options = qt.QDialogButtonBox() - self.__options.addButton(licenseButton, qt.QDialogButtonBox.ActionRole) - okButton = self.__options.addButton(qt.QDialogButtonBox.Ok) - okButton.setDefault(True) - okButton.clicked.connect(self.accept) - - layout.addWidget(self.__label) - layout.addWidget(self.__options) - layout.setStretch(0, 100) - layout.setStretch(1, 0) - - def getHtmlLicense(self): - """Returns the text license in HTML format. - - :rtype: str - """ - from silx._version import __date__ as date - year = date.split("/")[2] - info = dict( - year=year - ) - textLicense = _LICENSE_TEMPLATE.format(**info) - return textLicense - - def __displayLicense(self): - """Displays the license used by silx.""" - text = self.getHtmlLicense() - licenseDialog = qt.QMessageBox(self) - licenseDialog.setWindowTitle("License") - licenseDialog.setText(text) - licenseDialog.exec_() - - def setApplicationName(self, name): - self.__applicationName = name - if name is None: - self.setWindowTitle("About") - else: - self.setWindowTitle("About %s" % name) - self.__updateText() - - @staticmethod - def __formatOptionalLibraries(name, isAvailable): - """Utils to format availability of features""" - if isAvailable: - template = '<b>%s</b> is <font color="green">loaded</font>' - else: - template = '<b>%s</b> is <font color="red">not loaded</font>' - return template % name |