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