PlotPy 2.3.0__tar.gz → 2.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- plotpy-2.3.2/CHANGELOG.md +334 -0
- plotpy-2.3.2/MANIFEST.in +8 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/PKG-INFO +21 -14
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/PKG-INFO +21 -14
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/SOURCES.txt +14 -3
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/requires.txt +1 -2
- plotpy-2.3.2/colormaps/README.md +2 -0
- plotpy-2.3.2/colormaps/_cm.py +7101 -0
- plotpy-2.3.2/colormaps/colormap.py +109 -0
- plotpy-2.3.2/colormaps/matplotlib_cmaps.py +332 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/build.rst +3 -4
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/contribute.rst +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/platforms.rst +2 -2
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/motivation.rst +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/__init__.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_labeled.py +8 -17
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/io.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/label.py +8 -5
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/range.py +3 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/csection/csitem.py +4 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/plot/base.py +3 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/__init__.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_autoscale_shapes.py +0 -2
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_colormap_editor.py +4 -4
- plotpy-2.3.2/plotpy/tests/features/test_colormap_manager.py +68 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_imagefilter.py +5 -1
- plotpy-2.3.2/plotpy/tests/items/test_curves_highdpi.py +50 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_svgshapes.py +0 -2
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_get_segment.py +0 -1
- plotpy-2.3.2/plotpy/tests/unit/test_annotation_tools.py +131 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_aspect_ratio_tool.py +0 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_baseplot.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_builder_shape.py +0 -2
- plotpy-2.3.2/plotpy/tests/unit/test_cursor_tools.py +52 -0
- PlotPy-2.3.0/plotpy/tests/unit/test_point_tools.py → plotpy-2.3.2/plotpy/tests/unit/test_curve_tools.py +67 -1
- plotpy-2.3.2/plotpy/tests/unit/test_display_coords_tool.py +54 -0
- plotpy-2.3.2/plotpy/tests/unit/test_events.py +187 -0
- plotpy-2.3.2/plotpy/tests/unit/test_manipulate_selection.py +435 -0
- plotpy-2.3.2/plotpy/tests/unit/test_mask_tool.py +57 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_multiline_tools.py +28 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_plot_image.py +19 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/utils.py +120 -27
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_dotarraydemo.py +1 -2
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_filtertest1.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_filtertest2.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_fliprotate.py +2 -20
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_resize_dialog.py +0 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_rotatecrop.py +1 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_syncplot.py +0 -1
- plotpy-2.3.2/plotpy/tools/base.py +644 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/curve.py +5 -3
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/image.py +26 -18
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/misc.py +4 -2
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/colormap/manager.py +18 -3
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/fit.py +3 -1
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/fliprotate.py +1 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/rotatecrop.py +1 -0
- plotpy-2.3.2/pyproject.toml +98 -0
- plotpy-2.3.2/requirements.txt +18 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/contour2d.c +96 -96
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/histogram2d.c +97 -97
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/mandelbrot.c +97 -97
- PlotPy-2.3.0/MANIFEST.in +0 -4
- PlotPy-2.3.0/plotpy/tests/features/test_colormap_manager.py +0 -44
- PlotPy-2.3.0/plotpy/tests/unit/test_display_coords_tool.py +0 -29
- PlotPy-2.3.0/plotpy/tests/unit/test_shape_tools.py +0 -181
- PlotPy-2.3.0/plotpy/tools/base.py +0 -466
- PlotPy-2.3.0/pyproject.toml +0 -68
- {PlotPy-2.3.0 → plotpy-2.3.2}/LICENSE +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/dependency_links.txt +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/entry_points.txt +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/PlotPy.egg-info/top_level.txt +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/README.md +0 -0
- {PlotPy-2.3.0/plotpy/tests → plotpy-2.3.2}/conftest.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/_static/favicon.ico +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/changelog.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/conf.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/guiqwt_to_plotpy.csv +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/guiqwt_to_plotpy.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/v1_to_guidata_v3.csv +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/v1_to_v2.csv +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/dev/v1_to_v2.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/colormapmanager.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/events.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/fit.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/fliprotate.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/imagefile.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/io.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/items/builder.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/items/examples.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/items/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/items/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/items/reference.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/mathutils/colormaps.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/mathutils/geometry.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/mathutils/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/mathutils/scaler.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/panels/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/panels/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/panels/reference.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/plot/examples.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/plot/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/plot/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/plot/reference.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/pyplot.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/resizedialog.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/rotatecrop.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/selectdialog.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/signals.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/styles/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/styles/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/styles/reference.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/tools/examples.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/tools/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/tools/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/features/tools/reference.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/my_plot_manager.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/my_plot_manager.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/panorama.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/panorama.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/plot_widgets.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/plot_widgets.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/plotpy-banner.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/plotpy-vertical.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/__init__.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/computations.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/contrast.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/cross_section.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/cross_section2.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/dotarraydemo.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/filtertest1.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/filtertest2.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/fit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/get_point.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/hist2d.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/image_plot_tools.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/imagefilter.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/imagesuperp.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/imagexy.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/manager.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/mandelbrot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/pcolor.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/plot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/simple_dialog.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/simple_window.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/images/screenshots/transform.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/examples.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/index.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/installation.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/licenses.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/intro/overview.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/requirements.rst +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/doc/update_requirements.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/annotation.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/curvemarker.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/label.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/plot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/builder/shape.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/config.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/constants.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/coords.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/colormaps_default.json +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/apply.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/arredit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/arrow_down.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/arrow_up.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/autorefresh.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/autoscale.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/axes.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/busy.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/cell_edit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/center.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/cmap_edit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/contrast.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/copy.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/copytoclipboard.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csapplylut.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csautoscale.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csection.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csection_a.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csection_line.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csection_oblique.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/csperimage.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curve_downsample.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvestyles/dots.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvestyles/lines.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvestyles/steps.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvestyles/sticks.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvetypes/xfy.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/curvetypes/yfx.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/delete.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/edit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/edit_point_selection.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/edit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/edit_add.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/editcopy.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/editdelete.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/editpaste.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/fileimport.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/filesave.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/imshow.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/insert.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/plot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/editors/rename.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/eliminate_outliers.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/eraser.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/exit.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/expander_down.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/expander_right.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/export.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/file.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/fileclose.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/fileimport.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filenew.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/fileopen.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filesave.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filesaveas.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/doc.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/gif.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/html.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/jpg.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/pdf.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/png.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/pps.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/ps.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/tar.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/tgz.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/tif.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/txt.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/xls.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/filetypes/zip.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/font.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/full_range.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/funct.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/hcursor.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/hflip.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/imagestats.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/item_list.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/annotation.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/curve.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/errorbar.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/grid.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/histogram.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/histogram2d.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/image.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/label.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/legend.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/items/polygonmap.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/magnifier.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/cross.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/diamond.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/ellipse.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/hexagon.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/point.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/square.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/star.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/triangle_d.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/triangle_l.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/triangle_r.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/triangle_u.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markers/xcross.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markerstyles/cross_marker.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markerstyles/horiz_marker.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/markerstyles/vert_marker.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/mask/mask_circle.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/mask/mask_circle_outside.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/mask/mask_rectangle.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/mask/mask_rectangle_outside.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/mask/mask_tool.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/max.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/min.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/move.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/multipoint_selection.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/none.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/not_found.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/on_curve.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/bdiagpattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/crosspattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense1pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense2pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense3pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense4pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense5pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense6pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/dense7pattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/diagcrosspattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/fdiagpattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/horpattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/nobrush.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/solidpattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/patterns/verpattern.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/plotpy-banner.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/plotpy-vertical.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/plotpy.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/point_selection.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/print.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/python.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/quickview.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/rectangular_select.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/refresh.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/save_all.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/scales/lin_lin.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/scales/lin_log.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/scales/log_lin.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/scales/log_log.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/selection.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/settings.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shape.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/circle.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/contour.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/ellipse_shape.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/freeform.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/gtaxes.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/marker.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/oblique_rectangle.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/point_shape.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/polyline.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/rectangle.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/shapes/segment.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/snapshot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/styles/dash.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/styles/dashdot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/styles/dashdotdot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/styles/dot.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/styles/solid.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/trash.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/trimage_lock.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/trimage_unlock.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/vcursor.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/vflip.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/xcursor.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/xmax.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/xmin.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/data/icons/xrange.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/events.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_generic_range_slider.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_generic_slider.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_misc.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_range_style.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/external/sliders/_sliders.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/interfaces/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/interfaces/items.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/interfaces/panel.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/interfaces/plotmanager.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/annotation.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/contour.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/curve/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/curve/base.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/curve/errorbar.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/grid.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/histogram.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/base.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/filter.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/image_items.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/masked.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/misc.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/image/transform.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/polygonmap.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/axis.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/base.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/ellipse.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/marker.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/point.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/polygon.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/rectangle.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/segment.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/items/shape/svg.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/locale/fr/LC_MESSAGES/plotpy.mo +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/lutrange.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/mathutils/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/mathutils/arrayfuncs.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/mathutils/colormap.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/mathutils/geometry.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/mathutils/scaler.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/base.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/contrastadjustment.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/csection/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/csection/csplot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/csection/cswidget.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/panels/itemlist.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/plot/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/plot/interactive.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/plot/manager.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/plot/plotwidget.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/pyplot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/axes.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/base.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/curve.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/errorbar.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/histogram.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/label.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/polygonmap.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/styles/shape.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/benchmarks/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/benchmarks/test_benchmarks.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/benchmarks/test_bigimages.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/benchmarks/test_loadtest.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data/brain.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data/brain_cylinder.png +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data/mr-brain.dcm +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data/svg_target.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data/svg_tool.svg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/data.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_auto_curve_image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_builder.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_computations.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_contrast.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_cursors.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_dicom_image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_fit.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_image_coords.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_imagesuperp.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_loadsaveitems_hdf5.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_loadsaveitems_json.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_loadsaveitems_pickle.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_manager.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_no_auto_tools.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_plot_log.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_plot_types.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_plot_yreverse.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_pyplot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/features/test_resize.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_annotations.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_curves.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_hist2d.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_histogram.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image_contour.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image_masked.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image_masked_xy.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image_rgb.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_image_xy.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_mandelbrot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_pcolor.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_polygons.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/items/test_transform.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_actiontool.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_cross_section.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_cross_section_line.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_cross_section_oblique.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_customize_shape_tool.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_downsample_curve.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_edit_point.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_get_point.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_get_points.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_get_rectangle.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_get_rectangle_with_svg.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/tools/test_image_plot_tools.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_builder_annotation.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_builder_curve.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_builder_image.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_contour.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_fontparam.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_geometry.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_highprecisionxy.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_io.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_line.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_line_cross_section_tool.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_oblique_cross_section_tool.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_plot_curve.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_rect_zoom.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_seg_dist.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_styles.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/unit/test_tools_export.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/vistools.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_plot_timecurve.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_qtdesigner.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_qtdesigner.ui +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_simple_dialog.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tests/widgets/test_simple_window.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/annotation.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/axes.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/cross_section.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/cursor.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/item.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/label.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/plot.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/selection.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/tools/shape.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/about.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/basetransform.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/colormap/__init__.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/colormap/_slider.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/colormap/editor.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/colormap/widget.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/imagefile.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/qtdesigner.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/resizedialog.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy/widgets/selectdialog.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/plotpy-tests.desktop +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/qtdesigner/plotplugin.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/setup.cfg +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/setup.py +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/arrays.hpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/contour2d.pyx +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/debug.hpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/histogram2d.pyx +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/mandelbrot.pyx +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/pcolor.cpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/points.hpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/scaler.cpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/scaler.hpp +0 -0
- {PlotPy-2.3.0 → plotpy-2.3.2}/src/traits.hpp +0 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# Changelog #
|
|
2
|
+
|
|
3
|
+
## Version 2.3.2 ##
|
|
4
|
+
|
|
5
|
+
In this release, test coverage is 79%.
|
|
6
|
+
|
|
7
|
+
Version 2.3.2 fixes a blocking issue with the colormap editor unit test introduced
|
|
8
|
+
in version 2.3.1. The latter is a fugitive release that was not announced.
|
|
9
|
+
|
|
10
|
+
💥 New features / Enhancements:
|
|
11
|
+
|
|
12
|
+
* Colormap: added "Apply" button to the colormap manager
|
|
13
|
+
* Automated test suite:
|
|
14
|
+
* Test coverage has been improved from 75% to 79%
|
|
15
|
+
* The following features are now covered by unit tests:
|
|
16
|
+
* Panning with the mouse move events
|
|
17
|
+
* Zooming with the mouse wheel/move events
|
|
18
|
+
* Curve statistics tool
|
|
19
|
+
* Image rotation and translations via `SelectTool` (simulating mouse events)
|
|
20
|
+
* Masked areas in images and `ImageMaskTool`
|
|
21
|
+
* `LockTrImageTool`
|
|
22
|
+
* Cursor tools (`HCursorTool`, `VCursorTool`, `XCursorTool` and `HRangeTool`)
|
|
23
|
+
* `DisplayCoordsTool`: simulation of 'Alt' and 'Ctrl' keys
|
|
24
|
+
* Complete coverage for `MultiLineTool` and `FreeFormTool`
|
|
25
|
+
* Selection tools (`RectangularSelectionTool` and `SelectTool`)
|
|
26
|
+
|
|
27
|
+
🛠️ Bug fixes:
|
|
28
|
+
|
|
29
|
+
* Image statistics tool: fixed "No available data" message when the tool rectangular
|
|
30
|
+
region top Y coordinate is above the image top Y coordinate
|
|
31
|
+
* Label items (`LabelItem`, `LegendBoxItem`, `DataInfoLabel`, ...) were not emitting
|
|
32
|
+
the `SIG_ITEM_MOVED` signal when moved interactively (with the mouse) if the item
|
|
33
|
+
anchor was attached to the canvas
|
|
34
|
+
* Colormap: fixed context menu entry update (colormap icon was updated as expected, but
|
|
35
|
+
the colormap name was not)
|
|
36
|
+
* Rotate/crop dialog: added missing toolbar on plot widget
|
|
37
|
+
* Flip/rotate dialog: added missing toolbar on plot widget
|
|
38
|
+
* Fixed issue with oblique averaged cross section computation (`AttributeError` when
|
|
39
|
+
clicking on the empty cross section plot)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Version 2.3.0 ##
|
|
43
|
+
|
|
44
|
+
In this release, test coverage is 75%.
|
|
45
|
+
|
|
46
|
+
💥 New features:
|
|
47
|
+
|
|
48
|
+
* Added support for colormap inversion:
|
|
49
|
+
* The user can now invert the colormap of an image item:
|
|
50
|
+
* From the image parameters dialog ("Invert colormap" checkbox)
|
|
51
|
+
* From the plot context menu (right-click on the image item)
|
|
52
|
+
* `BaseImageItem.set_color_map` method takes a new `invert` parameter (which
|
|
53
|
+
defaults to `None`, meaning that the behavior is unchanged)
|
|
54
|
+
* New `ReverseColormapTool`: registered by default in the plot widget, like the
|
|
55
|
+
`ColormapTool` (add the "Invert colormap" entry in the context menu of the image)
|
|
56
|
+
|
|
57
|
+
🛠️ Bug fixes:
|
|
58
|
+
|
|
59
|
+
* `ErrorBarCurveItem`: fixed NumPy deprecation warning
|
|
60
|
+
("Conversion of an array with ndim > 0 to a scalar is deprecated [...]")
|
|
61
|
+
|
|
62
|
+
ℹ️ Other changes:
|
|
63
|
+
|
|
64
|
+
* Image plot items deserialization:
|
|
65
|
+
* When an image plot item is deserialized, and needs to be reloaded from a file,
|
|
66
|
+
the file path is adapted to the current working directory if file is not found
|
|
67
|
+
(this is the legacy behavior).
|
|
68
|
+
* An unnecessary call to `ImageIOHandler.adapt_path` method was removed from the
|
|
69
|
+
`RawImageItem.deserialize` method: this issue has to be handled by the host
|
|
70
|
+
application, not by the PlotPy library.
|
|
71
|
+
* `ImageIOHandler`: removed `add_change_path` and `adapt_path` methods
|
|
72
|
+
* Fix typo in `tests.features.test_colormap_editor` module: renamed function
|
|
73
|
+
`test_colormap_manager` to `test_colormap_editor`
|
|
74
|
+
* Removed unnecessary `BaseImageItem.get_color_map_name` method
|
|
75
|
+
|
|
76
|
+
## Version 2.2.0 ##
|
|
77
|
+
|
|
78
|
+
In this release, test coverage is 75%.
|
|
79
|
+
|
|
80
|
+
New features:
|
|
81
|
+
|
|
82
|
+
* Added `SIG_ITEM_PARAMETERS_CHANGED` signal to `BasePlot` class:
|
|
83
|
+
* This signal is emitted when the parameters of an item are changed using the
|
|
84
|
+
parameters dialog, or a specific tool (e.g. the colormap selection tool,
|
|
85
|
+
or the lock/unlock tool for image items)
|
|
86
|
+
* This signal is emitted with the item as argument
|
|
87
|
+
* It is often emitted before the `SIG_ITEMS_CHANGED` signal, which is global to all
|
|
88
|
+
items, but not necessarily. For example, when the colormap of an image is changed,
|
|
89
|
+
the `SIG_ITEM_PARAMETERS_CHANGED` signal is emitted for the image item, but the
|
|
90
|
+
`SIG_ITEMS_CHANGED` signal is not emitted.
|
|
91
|
+
* Added new colormap presets:
|
|
92
|
+
* `viridis`, `plasma`, `inferno`, `magma`, `cividis`
|
|
93
|
+
* `afmhot`
|
|
94
|
+
* `coolwarm`, `bwr`, `seismic`
|
|
95
|
+
* `gnuplot2`, `CMRmap`, `rainbow`, `turbo`
|
|
96
|
+
* Fixed all qualitative colormaps:
|
|
97
|
+
* All qualitative colormaps have been re-computed because they are not supposed to be
|
|
98
|
+
interpolated, which was the case and made them unusable
|
|
99
|
+
* The qualitative colormaps are now usable and look like the ones from Matplotlib
|
|
100
|
+
* Colormap manager:
|
|
101
|
+
* Added a button to remove a custom colormap
|
|
102
|
+
* The preset colormaps *and* the currently selected colormap are read-only
|
|
103
|
+
* Added automatic unit tests for interactive tools:
|
|
104
|
+
* `AnnotatedCircleTool`, `AnnotatedEllipseTool`, `AnnotatedObliqueRectangleTool`,
|
|
105
|
+
`AnnotatedPointTool`, `AnnotatedRectangleTool`, `AnnotatedSegmentTool`
|
|
106
|
+
* `AverageCrossSectionTool`, `CrossSectionTool`, `ObliqueCrossSectionTool`,
|
|
107
|
+
`LineCrossSectionTool`
|
|
108
|
+
* `EditPointTool`, `SelectPointsTool`, `SelectPointTool`
|
|
109
|
+
* `AspectRatioTool`, `ImageStatsTool`, `SnapshotTool`
|
|
110
|
+
* `DisplayCoordsTool`, `RectZoomTool`
|
|
111
|
+
* `CircleTool`, `EllipseTool`, `FreeFormTool`, `MultiLineTool`,
|
|
112
|
+
`ObliqueRectangleTool`, `PointTool`, `RectangleTool`, `SegmentTool`
|
|
113
|
+
* Internal package reorganization: moved icons to `plotpy/data/icons` folder
|
|
114
|
+
|
|
115
|
+
## Version 2.1.2 ##
|
|
116
|
+
|
|
117
|
+
New features:
|
|
118
|
+
|
|
119
|
+
* Added `Echelon` alpha function to the image parameters:
|
|
120
|
+
* The `Echelon` alpha function is a step function, so that the alpha channel is
|
|
121
|
+
0 (full transparency) for the lowest value of the Lookup Table (LUT) and opaque
|
|
122
|
+
(transparency level set by the `Global alpha` parameter) for the other values
|
|
123
|
+
* This feature is added to the other existing alpha functions: `Constant`, `Linear`,
|
|
124
|
+
`Sigmoid`, and `Hyperbolic tangent`
|
|
125
|
+
|
|
126
|
+
Bug fixes:
|
|
127
|
+
|
|
128
|
+
* Compatibility with PythonQwt 0.12.
|
|
129
|
+
|
|
130
|
+
## Version 2.1.1 ##
|
|
131
|
+
|
|
132
|
+
Bug fixes:
|
|
133
|
+
|
|
134
|
+
* API breakage (unintentional) in V2.1.0:
|
|
135
|
+
* In V2.1.0, `mathutils.colormap` module was renamed to `mathutils.colormaps`
|
|
136
|
+
* Original `mathutils.colormap` module naming is restored in this release
|
|
137
|
+
* Colormap selection from the toolbar was not triggering the `SIG_ITEMS_CHANGED` signal
|
|
138
|
+
(every time an item parameter is changed, the `SIG_ITEMS_CHANGED` signal has to be
|
|
139
|
+
emitted by the `BasePlot` instance to notify the application that the plot has been
|
|
140
|
+
modified)
|
|
141
|
+
|
|
142
|
+
## Version 2.1.0 ##
|
|
143
|
+
|
|
144
|
+
In this release, test coverage is 71%.
|
|
145
|
+
|
|
146
|
+
New features:
|
|
147
|
+
|
|
148
|
+
* Curve-related features:
|
|
149
|
+
* New `tools.SelectPointsTool` to select graphically multiple points on a plot
|
|
150
|
+
* New `tools.EditPointTool` to edit graphically the position of a point on a plot
|
|
151
|
+
* New downsampling feature:
|
|
152
|
+
* The user may enable it to reduce the number of points displayed on a curve
|
|
153
|
+
(e.g. when the curve is too dense)
|
|
154
|
+
* The downsampling factor is adjustable
|
|
155
|
+
(default to 10, i.e. 1 point out of 10 is displayed)
|
|
156
|
+
* The feature is disabled by default
|
|
157
|
+
* Image-related features:
|
|
158
|
+
* New "Colormap Manager":
|
|
159
|
+
* Before this release, the colormap selection was limited to presets (e.g. "gray",
|
|
160
|
+
"jet", etc.)
|
|
161
|
+
* Now, the user can select a preset, edit it, or create a new one from scratch
|
|
162
|
+
thanks to the new "Colormap Manager" dialog
|
|
163
|
+
* New line cross section feature:
|
|
164
|
+
* Before this release, the cross section feature was limited to either horizontal
|
|
165
|
+
or vertical lines, or an average cross section withing a rectangle (aligned with
|
|
166
|
+
the axes, or oblique)
|
|
167
|
+
* Now, the user can draw a line cross section with the new "Line Cross Section"
|
|
168
|
+
tool: the intensity profile associated to the drawn segment is displayed in a
|
|
169
|
+
dedicated plot
|
|
170
|
+
* Added support for gestures:
|
|
171
|
+
* Zooming in/out with the a two-finger pinch gesture
|
|
172
|
+
* Panning with a two-finger drag gesture
|
|
173
|
+
|
|
174
|
+
Documentation:
|
|
175
|
+
|
|
176
|
+
* Reorganized some sections
|
|
177
|
+
* Added sections on new features
|
|
178
|
+
|
|
179
|
+
Bug fixes:
|
|
180
|
+
|
|
181
|
+
* Fixed critical bug in oblique cross section feature (regression introduced in 2.0.0)
|
|
182
|
+
* Removed dependency to `pytest-qt` for the test suite (due to Qt6 compatibility issues)
|
|
183
|
+
|
|
184
|
+
## Version 2.0.3 ##
|
|
185
|
+
|
|
186
|
+
Bug fixes:
|
|
187
|
+
|
|
188
|
+
* [Issue #9](https://github.com/PlotPyStack/PlotPy/issues/9) - MacOS: `error: a space is required between consecutive right angle brackets (use '> >')`
|
|
189
|
+
|
|
190
|
+
## Version 2.0.2 ##
|
|
191
|
+
|
|
192
|
+
Bug fixes:
|
|
193
|
+
|
|
194
|
+
* [Issue #3](https://github.com/PlotPyStack/PlotPy/issues/3) - `PlotWidget`: `ZeroDivisionError` on resize while ignoring constraints
|
|
195
|
+
* [Issue #4](https://github.com/PlotPyStack/PlotPy/issues/4) - Average cross section: `RuntimeWarning: Mean of empty slice.`
|
|
196
|
+
* [Issue #5](https://github.com/PlotPyStack/PlotPy/issues/5) - Contrast panel: levels histogram is sometimes not updated
|
|
197
|
+
* [Issue #6](https://github.com/PlotPyStack/PlotPy/issues/6) - 1D Histogram items are not properly drawn
|
|
198
|
+
* [Issue #7](https://github.com/PlotPyStack/PlotPy/issues/7) - Contrast panel: histogram may contains zeros periodically due to improper bin sizes
|
|
199
|
+
* [Issue #8](https://github.com/PlotPyStack/PlotPy/issues/8) - Contrast panel: switch back to default tool after selecting min/max
|
|
200
|
+
|
|
201
|
+
## Version 2.0.1 ##
|
|
202
|
+
|
|
203
|
+
Bug fixes:
|
|
204
|
+
|
|
205
|
+
* Fixed `plotpy.tools.AnnotatedEllipseTool`: `AttributeError` when finalizing the shape
|
|
206
|
+
* `plotpy.widgets.select_with_shape_tool`: added missing `toolbar` and `options` parameters
|
|
207
|
+
* `items.XRangeSelection` is now serializable, as expected
|
|
208
|
+
|
|
209
|
+
Documentation:
|
|
210
|
+
|
|
211
|
+
* `plotpy.plot.SyncPlotWindow`: added missing documentation
|
|
212
|
+
* Added more information on PlotPyStack
|
|
213
|
+
* New "Motivation" section explaining the reasons behind the creation of PlotPy
|
|
214
|
+
|
|
215
|
+
## Version 2.0.0 ##
|
|
216
|
+
|
|
217
|
+
This version is the first release of the 2.0 series, which is distributed under the
|
|
218
|
+
[BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).
|
|
219
|
+
|
|
220
|
+
PlotPy 2.0 is a major release that brings a lot of new features and bug fixes.
|
|
221
|
+
|
|
222
|
+
When initiated in 2016, PlotPy 1.0 was the result of the merge of two projects (as well
|
|
223
|
+
as some other changes, e.g. a redesign of the API):
|
|
224
|
+
|
|
225
|
+
* [guidata](https://pypi.org/project/guidata/), a Python library generating graphical
|
|
226
|
+
user interfaces for easy dataset editing and display
|
|
227
|
+
* [guiqwt](https://pypi.org/project/guiqwt/), a Python library providing efficient 2D
|
|
228
|
+
data-plotting features (curve/image visualization and related tools) for interactive
|
|
229
|
+
computing and signal/image processing application development
|
|
230
|
+
|
|
231
|
+
With PlotPy 2.0, the [guidata](https://pypi.org/project/guidata/) code base has been
|
|
232
|
+
reextracted: PlotPy now relies on [guidata](https://pypi.org/project/guidata/) as a
|
|
233
|
+
dependency, like before the merge.
|
|
234
|
+
|
|
235
|
+
PlotPy 2.0 also integrates all the bug fixes (>30) and new features that were added to
|
|
236
|
+
[guiqwt](https://pypi.org/project/guiqwt/) since the merge (i.e. between 2016 and 2023).
|
|
237
|
+
|
|
238
|
+
Supported versions of Python and Qt bindings have been updated:
|
|
239
|
+
|
|
240
|
+
* Python: 3.8, 3.9, and 3.10 (3.11 should work too, but will be officially supported
|
|
241
|
+
when dropping support for Python 3.8, to keep a 3-year support period)
|
|
242
|
+
* Qt bindings: PyQt5 (even if PyQt6 and PySide6 are not officially supported, efforts
|
|
243
|
+
have been made and will continue to be made to support them)
|
|
244
|
+
|
|
245
|
+
PlotPy 2.0 is a major release because it also brings a lot of new features:
|
|
246
|
+
|
|
247
|
+
* `plot.PlotWidget`, `plot.PlotDialog`, and `plot.PlotWindow`: API overhaul
|
|
248
|
+
(simple, more consistent, more flexible, more extensible - see documentation
|
|
249
|
+
for details)
|
|
250
|
+
* `plot.SyncPlotWindow`: new class to show multiple plots in a single window,
|
|
251
|
+
in a synchronized way (zoom, pan, etc.)
|
|
252
|
+
* `widgets.selectdialog.SelectDialog`: a dialog box to select items using a
|
|
253
|
+
shape tool (segment, rectangle or custom)
|
|
254
|
+
* Image lookup table (LUT):
|
|
255
|
+
* Initially, the LUT alpha channel was either constant (input parameter
|
|
256
|
+
`alpha` was a float between 0 and 1) or linearly dependent on the image
|
|
257
|
+
pixel values (when the `alpha_mask` parameter was enabled)
|
|
258
|
+
* Now, the LUT may be either constant (same as before) or dependent on
|
|
259
|
+
the image pixel values but not only linearly: the LUT alpha channel may
|
|
260
|
+
follow a linear, a sigmoid or an hyperbolic tangent function (see the new
|
|
261
|
+
`alpha_function` parameter). The old `alpha_mask` parameter was removed
|
|
262
|
+
* Image pixels are now centered on their coordinates:
|
|
263
|
+
* This means that the pixel at row `i` and column `j` is centered on the point
|
|
264
|
+
`(j, i)` (before, the top-left corner of the pixel at row `i` and column `j`
|
|
265
|
+
was centered on the point `(j, i)`)
|
|
266
|
+
* This convention is more consistent with the way images are displayed in other
|
|
267
|
+
scientific image processing tools
|
|
268
|
+
* This is one of the benefits of porting back [guiqwt](https://pypi.org/project/guiqwt/)
|
|
269
|
+
changes since the merge (i.e. between 2016 and 2023)
|
|
270
|
+
* New SVG-based shapes:
|
|
271
|
+
* `items.RectangleSVGShape`: rectangle shape based on SVG data or file
|
|
272
|
+
* `items.SquareSVGShape`: square shape based on SVG data or file
|
|
273
|
+
* `items.CircleSVGShape`: circle shape based on SVG data or file
|
|
274
|
+
* `builder.PlotBuilder`:
|
|
275
|
+
* Renamed `PlotBuilder` (originally `guiqwt.builder.PlotItemBuilder`)
|
|
276
|
+
* Builder instance is still available using `from plotpy.builder import make`
|
|
277
|
+
* Plot widget creation is now supported:
|
|
278
|
+
* `make.widget()` for `plot.PlotWidget`
|
|
279
|
+
* `make.dialog()` for `plot.PlotDialog`
|
|
280
|
+
* `make.window()` for `plot.PlotWindow`
|
|
281
|
+
* Added support for more plot items:
|
|
282
|
+
* `make.contours()` for generating a list of `items.ContourItem` objects
|
|
283
|
+
* `make.annotated_point()` for `items.AnnotatedPoint`
|
|
284
|
+
* `make.polygon()` for `items.PolygonShape`
|
|
285
|
+
* `make.svg()` for `items.RectangleSVGShape`, `items.SquareSVGShape`,
|
|
286
|
+
and `items.CircleSVGShape`
|
|
287
|
+
* Added JSON serialization support for all plot items (curve, image, etc.)
|
|
288
|
+
|
|
289
|
+
* Brand new documentation, based on Sphinx with links to other projects API, examples
|
|
290
|
+
and tutorials (e.g. on development related topics).
|
|
291
|
+
* Black code formatting on all Python files
|
|
292
|
+
* New automated test suite:
|
|
293
|
+
* Automatic execution: `--unattended` command line option (Qt loop is bypassed)
|
|
294
|
+
* Test suite based on `pytest`, supporting `pytest-cov` for coverage testing,
|
|
295
|
+
`pytest-xvfb` for headless testing, and `pytest-qt` for Qt testing
|
|
296
|
+
* Added support for Coverage: test coverage improved up to 70%
|
|
297
|
+
* Added typing annotations on (almost) all Python files
|
|
298
|
+
* Distribution: switched to `pyproject.toml` (still relying on `setuptools` and
|
|
299
|
+
`setup.py` for building Cython/C++ extensions)
|
|
300
|
+
* Added code quality configuration files:
|
|
301
|
+
* `.pylintrc`: pylint configuration file
|
|
302
|
+
* `.isort.cfg`: isort configuration file
|
|
303
|
+
* `.coveragerc`: coverage configuration file
|
|
304
|
+
* Added Visual Studio Code configuration files:
|
|
305
|
+
* `.vscode/settings.json`: Python interpreter, code formatting, etc.
|
|
306
|
+
* `.vscode/tasks.json`: build, test, etc.
|
|
307
|
+
* `.vscode/launch.json`: run current file, run tests, etc.
|
|
308
|
+
|
|
309
|
+
PlotPy 2.0 also brings a lot of bug fixes and improvements:
|
|
310
|
+
|
|
311
|
+
* Handled all Cython/C++ extensions compilation warnings
|
|
312
|
+
* Fixed all NumPy deprecation issues (e.g. `numpy.matrix`)
|
|
313
|
+
* Fixed (annotated) circle/ellipse item creation/test
|
|
314
|
+
* Fixed all documentation build warnings
|
|
315
|
+
* Fixed regressions introduced by PlotPy V1 on top of guiqwt:
|
|
316
|
+
* Global references for the Debian package management
|
|
317
|
+
* Major aspect ratio issues:
|
|
318
|
+
* When resizing the plot widget (images were downsized indefinitely)
|
|
319
|
+
* When auto-scaling the plot widget (images were not displayed entirely)
|
|
320
|
+
* `TrImageItem` rotation algorithm
|
|
321
|
+
* Oblique cross-section test
|
|
322
|
+
* About dialog, version informations
|
|
323
|
+
* Ported all [guiqwt](https://pypi.org/project/guiqwt/) bug fixes since the merge
|
|
324
|
+
(i.e. between 2016 and 2023):
|
|
325
|
+
* Added support for Visual Studio 2015 and earlier
|
|
326
|
+
* Speeding-up image alpha channel calculation
|
|
327
|
+
* Optimized colormap icon caching
|
|
328
|
+
* X-axis direction and auto-scale
|
|
329
|
+
* Added load test (with a very large number of plot widgets)
|
|
330
|
+
* Coordinates inversion in `EllipseShape`
|
|
331
|
+
* ValueError with levels histogram
|
|
332
|
+
* Various fixes regarding plot item creation, cross-section features,
|
|
333
|
+
PyQt5 support, DICOM support, TIFF support, etc.
|
|
334
|
+
* Etc.
|
plotpy-2.3.2/MANIFEST.in
ADDED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PlotPy
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Curve and image plotting tools for Python/Qt applications
|
|
5
5
|
Author-email: Codra <p.raybaut@codra.fr>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -35,22 +35,30 @@ License: BSD 3-Clause License
|
|
|
35
35
|
|
|
36
36
|
Project-URL: Homepage, https://github.com/PlotPyStack/plotpy/
|
|
37
37
|
Project-URL: Documentation, https://plotpy.readthedocs.io/en/latest/
|
|
38
|
-
Classifier:
|
|
39
|
-
Classifier:
|
|
40
|
-
Classifier:
|
|
41
|
-
Classifier:
|
|
42
|
-
Classifier:
|
|
43
|
-
Classifier:
|
|
44
|
-
Classifier: Operating System ::
|
|
45
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
46
|
-
Classifier: Operating System ::
|
|
47
|
-
Classifier: Operating System ::
|
|
48
|
-
Classifier: Operating System ::
|
|
38
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
39
|
+
Classifier: Intended Audience :: Developers
|
|
40
|
+
Classifier: Intended Audience :: Education
|
|
41
|
+
Classifier: Intended Audience :: Science/Research
|
|
42
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
43
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
44
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
|
|
45
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 8
|
|
46
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
|
47
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
|
|
48
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
49
49
|
Classifier: Programming Language :: Python :: 3.8
|
|
50
50
|
Classifier: Programming Language :: Python :: 3.9
|
|
51
51
|
Classifier: Programming Language :: Python :: 3.10
|
|
52
52
|
Classifier: Programming Language :: Python :: 3.11
|
|
53
53
|
Classifier: Programming Language :: Python :: 3.12
|
|
54
|
+
Classifier: Topic :: Scientific/Engineering
|
|
55
|
+
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
56
|
+
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
|
|
57
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
58
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
59
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
60
|
+
Classifier: Topic :: Software Development :: Widget Sets
|
|
61
|
+
Classifier: Topic :: Utilities
|
|
54
62
|
Requires-Python: <4,>=3.8
|
|
55
63
|
Description-Content-Type: text/markdown
|
|
56
64
|
License-File: LICENSE
|
|
@@ -61,8 +69,7 @@ Requires-Dist: SciPy>=1.3
|
|
|
61
69
|
Requires-Dist: Pillow
|
|
62
70
|
Requires-Dist: tifffile
|
|
63
71
|
Provides-Extra: dev
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist: isort; extra == "dev"
|
|
72
|
+
Requires-Dist: ruff; extra == "dev"
|
|
66
73
|
Requires-Dist: pylint; extra == "dev"
|
|
67
74
|
Requires-Dist: Coverage; extra == "dev"
|
|
68
75
|
Requires-Dist: Cython; extra == "dev"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PlotPy
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Curve and image plotting tools for Python/Qt applications
|
|
5
5
|
Author-email: Codra <p.raybaut@codra.fr>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -35,22 +35,30 @@ License: BSD 3-Clause License
|
|
|
35
35
|
|
|
36
36
|
Project-URL: Homepage, https://github.com/PlotPyStack/plotpy/
|
|
37
37
|
Project-URL: Documentation, https://plotpy.readthedocs.io/en/latest/
|
|
38
|
-
Classifier:
|
|
39
|
-
Classifier:
|
|
40
|
-
Classifier:
|
|
41
|
-
Classifier:
|
|
42
|
-
Classifier:
|
|
43
|
-
Classifier:
|
|
44
|
-
Classifier: Operating System ::
|
|
45
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
46
|
-
Classifier: Operating System ::
|
|
47
|
-
Classifier: Operating System ::
|
|
48
|
-
Classifier: Operating System ::
|
|
38
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
39
|
+
Classifier: Intended Audience :: Developers
|
|
40
|
+
Classifier: Intended Audience :: Education
|
|
41
|
+
Classifier: Intended Audience :: Science/Research
|
|
42
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
43
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
44
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
|
|
45
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 8
|
|
46
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
|
47
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
|
|
48
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
49
49
|
Classifier: Programming Language :: Python :: 3.8
|
|
50
50
|
Classifier: Programming Language :: Python :: 3.9
|
|
51
51
|
Classifier: Programming Language :: Python :: 3.10
|
|
52
52
|
Classifier: Programming Language :: Python :: 3.11
|
|
53
53
|
Classifier: Programming Language :: Python :: 3.12
|
|
54
|
+
Classifier: Topic :: Scientific/Engineering
|
|
55
|
+
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
56
|
+
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
|
|
57
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
58
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
59
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
60
|
+
Classifier: Topic :: Software Development :: Widget Sets
|
|
61
|
+
Classifier: Topic :: Utilities
|
|
54
62
|
Requires-Python: <4,>=3.8
|
|
55
63
|
Description-Content-Type: text/markdown
|
|
56
64
|
License-File: LICENSE
|
|
@@ -61,8 +69,7 @@ Requires-Dist: SciPy>=1.3
|
|
|
61
69
|
Requires-Dist: Pillow
|
|
62
70
|
Requires-Dist: tifffile
|
|
63
71
|
Provides-Extra: dev
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist: isort; extra == "dev"
|
|
72
|
+
Requires-Dist: ruff; extra == "dev"
|
|
66
73
|
Requires-Dist: pylint; extra == "dev"
|
|
67
74
|
Requires-Dist: Coverage; extra == "dev"
|
|
68
75
|
Requires-Dist: Cython; extra == "dev"
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
CHANGELOG.md
|
|
1
2
|
LICENSE
|
|
2
3
|
MANIFEST.in
|
|
3
4
|
README.md
|
|
5
|
+
conftest.py
|
|
4
6
|
plotpy-tests.desktop
|
|
5
7
|
pyproject.toml
|
|
8
|
+
requirements.txt
|
|
6
9
|
setup.py
|
|
7
10
|
./src/contour2d.c
|
|
8
11
|
./src/histogram2d.c
|
|
@@ -15,6 +18,10 @@ PlotPy.egg-info/dependency_links.txt
|
|
|
15
18
|
PlotPy.egg-info/entry_points.txt
|
|
16
19
|
PlotPy.egg-info/requires.txt
|
|
17
20
|
PlotPy.egg-info/top_level.txt
|
|
21
|
+
colormaps/README.md
|
|
22
|
+
colormaps/_cm.py
|
|
23
|
+
colormaps/colormap.py
|
|
24
|
+
colormaps/matplotlib_cmaps.py
|
|
18
25
|
doc/changelog.rst
|
|
19
26
|
doc/conf.py
|
|
20
27
|
doc/index.rst
|
|
@@ -359,7 +366,6 @@ plotpy/styles/label.py
|
|
|
359
366
|
plotpy/styles/polygonmap.py
|
|
360
367
|
plotpy/styles/shape.py
|
|
361
368
|
plotpy/tests/__init__.py
|
|
362
|
-
plotpy/tests/conftest.py
|
|
363
369
|
plotpy/tests/data.py
|
|
364
370
|
plotpy/tests/vistools.py
|
|
365
371
|
plotpy/tests/benchmarks/__init__.py
|
|
@@ -398,6 +404,7 @@ plotpy/tests/features/test_resize.py
|
|
|
398
404
|
plotpy/tests/items/__init__.py
|
|
399
405
|
plotpy/tests/items/test_annotations.py
|
|
400
406
|
plotpy/tests/items/test_curves.py
|
|
407
|
+
plotpy/tests/items/test_curves_highdpi.py
|
|
401
408
|
plotpy/tests/items/test_hist2d.py
|
|
402
409
|
plotpy/tests/items/test_histogram.py
|
|
403
410
|
plotpy/tests/items/test_image.py
|
|
@@ -426,6 +433,7 @@ plotpy/tests/tools/test_get_rectangle_with_svg.py
|
|
|
426
433
|
plotpy/tests/tools/test_get_segment.py
|
|
427
434
|
plotpy/tests/tools/test_image_plot_tools.py
|
|
428
435
|
plotpy/tests/unit/__init__.py
|
|
436
|
+
plotpy/tests/unit/test_annotation_tools.py
|
|
429
437
|
plotpy/tests/unit/test_aspect_ratio_tool.py
|
|
430
438
|
plotpy/tests/unit/test_baseplot.py
|
|
431
439
|
plotpy/tests/unit/test_builder_annotation.py
|
|
@@ -433,21 +441,24 @@ plotpy/tests/unit/test_builder_curve.py
|
|
|
433
441
|
plotpy/tests/unit/test_builder_image.py
|
|
434
442
|
plotpy/tests/unit/test_builder_shape.py
|
|
435
443
|
plotpy/tests/unit/test_contour.py
|
|
444
|
+
plotpy/tests/unit/test_cursor_tools.py
|
|
445
|
+
plotpy/tests/unit/test_curve_tools.py
|
|
436
446
|
plotpy/tests/unit/test_display_coords_tool.py
|
|
447
|
+
plotpy/tests/unit/test_events.py
|
|
437
448
|
plotpy/tests/unit/test_fontparam.py
|
|
438
449
|
plotpy/tests/unit/test_geometry.py
|
|
439
450
|
plotpy/tests/unit/test_highprecisionxy.py
|
|
440
451
|
plotpy/tests/unit/test_io.py
|
|
441
452
|
plotpy/tests/unit/test_line.py
|
|
442
453
|
plotpy/tests/unit/test_line_cross_section_tool.py
|
|
454
|
+
plotpy/tests/unit/test_manipulate_selection.py
|
|
455
|
+
plotpy/tests/unit/test_mask_tool.py
|
|
443
456
|
plotpy/tests/unit/test_multiline_tools.py
|
|
444
457
|
plotpy/tests/unit/test_oblique_cross_section_tool.py
|
|
445
458
|
plotpy/tests/unit/test_plot_curve.py
|
|
446
459
|
plotpy/tests/unit/test_plot_image.py
|
|
447
|
-
plotpy/tests/unit/test_point_tools.py
|
|
448
460
|
plotpy/tests/unit/test_rect_zoom.py
|
|
449
461
|
plotpy/tests/unit/test_seg_dist.py
|
|
450
|
-
plotpy/tests/unit/test_shape_tools.py
|
|
451
462
|
plotpy/tests/unit/test_styles.py
|
|
452
463
|
plotpy/tests/unit/test_tools_export.py
|
|
453
464
|
plotpy/tests/unit/utils.py
|