PlotPy 2.3.4__tar.gz → 2.4.0__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 (525) hide show
  1. {plotpy-2.3.4 → plotpy-2.4.0}/CHANGELOG.md +72 -1
  2. {plotpy-2.3.4/PlotPy.egg-info → plotpy-2.4.0}/PKG-INFO +1 -1
  3. {plotpy-2.3.4 → plotpy-2.4.0/PlotPy.egg-info}/PKG-INFO +1 -1
  4. {plotpy-2.3.4 → plotpy-2.4.0}/PlotPy.egg-info/SOURCES.txt +4 -1
  5. plotpy-2.4.0/PlotPy.egg-info/entry_points.txt +3 -0
  6. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/build.rst +2 -2
  7. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/contribute.rst +1 -1
  8. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/platforms.rst +2 -2
  9. plotpy-2.4.0/doc/features/tools/overview.rst +28 -0
  10. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/tools/reference.rst +18 -8
  11. {plotpy-2.3.4 → plotpy-2.4.0}/doc/requirements.rst +3 -6
  12. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/__init__.py +1 -1
  13. plotpy-2.4.0/plotpy/data/icons/zlog.svg +144 -0
  14. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/interfaces/__init__.py +0 -1
  15. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/interfaces/items.py +0 -25
  16. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/annotation.py +10 -5
  17. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/grid.py +1 -1
  18. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/base.py +0 -84
  19. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/image_items.py +32 -1
  20. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/label.py +6 -6
  21. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/axis.py +7 -7
  22. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/ellipse.py +1 -1
  23. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/marker.py +8 -8
  24. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/point.py +1 -1
  25. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/polygon.py +5 -5
  26. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/range.py +3 -3
  27. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/rectangle.py +2 -2
  28. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/segment.py +1 -1
  29. plotpy-2.4.0/plotpy/locale/fr/LC_MESSAGES/plotpy.mo +0 -0
  30. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/contrastadjustment.py +135 -78
  31. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/plot/base.py +8 -1
  32. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/plot/manager.py +4 -0
  33. plotpy-2.4.0/plotpy/styles/axes.py +216 -0
  34. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/curve.py +1 -0
  35. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/errorbar.py +25 -12
  36. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/image.py +216 -122
  37. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/label.py +83 -38
  38. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/shape.py +163 -51
  39. plotpy-2.4.0/plotpy/tests/benchmarks/__init__.py +20 -0
  40. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/benchmarks/test_benchmarks.py +47 -10
  41. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/benchmarks/test_bigimages.py +2 -0
  42. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/benchmarks/test_loadtest.py +8 -2
  43. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_customize_shape_tool.py +1 -1
  44. plotpy-2.4.0/plotpy/tests/tools/test_stats_tools.py +157 -0
  45. plotpy-2.4.0/plotpy/tests/tools/test_zaxislog.py +56 -0
  46. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_annotation_tools.py +4 -4
  47. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_cursor_tools.py +3 -3
  48. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_curve_tools.py +21 -33
  49. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_display_coords_tool.py +4 -6
  50. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_events.py +9 -29
  51. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_line_cross_section_tool.py +3 -6
  52. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_manipulate_selection.py +34 -45
  53. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_multiline_tools.py +12 -12
  54. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_oblique_cross_section_tool.py +3 -5
  55. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_rect_zoom.py +3 -3
  56. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/utils.py +13 -22
  57. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/__init__.py +2 -0
  58. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/cross_section.py +1 -1
  59. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/curve.py +62 -38
  60. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/image.py +171 -31
  61. {plotpy-2.3.4 → plotpy-2.4.0}/pyproject.toml +4 -0
  62. {plotpy-2.3.4 → plotpy-2.4.0}/src/contour2d.c +92 -92
  63. {plotpy-2.3.4 → plotpy-2.4.0}/src/histogram2d.c +93 -93
  64. {plotpy-2.3.4 → plotpy-2.4.0}/src/mandelbrot.c +93 -93
  65. plotpy-2.3.4/PlotPy.egg-info/entry_points.txt +0 -2
  66. plotpy-2.3.4/doc/features/tools/overview.rst +0 -82
  67. plotpy-2.3.4/plotpy/locale/fr/LC_MESSAGES/plotpy.mo +0 -0
  68. plotpy-2.3.4/plotpy/styles/axes.py +0 -143
  69. plotpy-2.3.4/plotpy/tests/widgets/__init__.py +0 -0
  70. {plotpy-2.3.4 → plotpy-2.4.0}/LICENSE +0 -0
  71. {plotpy-2.3.4 → plotpy-2.4.0}/MANIFEST.in +0 -0
  72. {plotpy-2.3.4 → plotpy-2.4.0}/PlotPy.egg-info/dependency_links.txt +0 -0
  73. {plotpy-2.3.4 → plotpy-2.4.0}/PlotPy.egg-info/requires.txt +0 -0
  74. {plotpy-2.3.4 → plotpy-2.4.0}/PlotPy.egg-info/top_level.txt +0 -0
  75. {plotpy-2.3.4 → plotpy-2.4.0}/README.md +0 -0
  76. {plotpy-2.3.4 → plotpy-2.4.0}/colormaps/README.md +0 -0
  77. {plotpy-2.3.4 → plotpy-2.4.0}/colormaps/_cm.py +0 -0
  78. {plotpy-2.3.4 → plotpy-2.4.0}/colormaps/colormap.py +0 -0
  79. {plotpy-2.3.4 → plotpy-2.4.0}/colormaps/matplotlib_cmaps.py +0 -0
  80. {plotpy-2.3.4 → plotpy-2.4.0}/doc/_static/favicon.ico +0 -0
  81. {plotpy-2.3.4 → plotpy-2.4.0}/doc/changelog.rst +0 -0
  82. {plotpy-2.3.4 → plotpy-2.4.0}/doc/conf.py +0 -0
  83. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/guiqwt_to_plotpy.csv +0 -0
  84. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/guiqwt_to_plotpy.rst +0 -0
  85. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/index.rst +0 -0
  86. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/v1_to_guidata_v3.csv +0 -0
  87. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/v1_to_v2.csv +0 -0
  88. {plotpy-2.3.4 → plotpy-2.4.0}/doc/dev/v1_to_v2.rst +0 -0
  89. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/colormapmanager.rst +0 -0
  90. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/events.rst +0 -0
  91. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/fit.rst +0 -0
  92. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/fliprotate.rst +0 -0
  93. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/imagefile.rst +0 -0
  94. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/index.rst +0 -0
  95. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/io.rst +0 -0
  96. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/items/builder.rst +0 -0
  97. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/items/examples.rst +0 -0
  98. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/items/index.rst +0 -0
  99. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/items/overview.rst +0 -0
  100. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/items/reference.rst +0 -0
  101. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/mathutils/colormaps.rst +0 -0
  102. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/mathutils/geometry.rst +0 -0
  103. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/mathutils/index.rst +0 -0
  104. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/mathutils/scaler.rst +0 -0
  105. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/panels/index.rst +0 -0
  106. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/panels/overview.rst +0 -0
  107. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/panels/reference.rst +0 -0
  108. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/plot/examples.rst +0 -0
  109. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/plot/index.rst +0 -0
  110. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/plot/overview.rst +0 -0
  111. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/plot/reference.rst +0 -0
  112. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/pyplot.rst +0 -0
  113. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/resizedialog.rst +0 -0
  114. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/rotatecrop.rst +0 -0
  115. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/selectdialog.rst +0 -0
  116. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/signals.rst +0 -0
  117. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/styles/index.rst +0 -0
  118. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/styles/overview.rst +0 -0
  119. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/styles/reference.rst +0 -0
  120. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/tools/examples.rst +0 -0
  121. {plotpy-2.3.4 → plotpy-2.4.0}/doc/features/tools/index.rst +0 -0
  122. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/my_plot_manager.png +0 -0
  123. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/my_plot_manager.svg +0 -0
  124. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/panorama.png +0 -0
  125. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/panorama.svg +0 -0
  126. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/plot_widgets.png +0 -0
  127. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/plot_widgets.svg +0 -0
  128. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/plotpy-banner.png +0 -0
  129. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/plotpy-vertical.png +0 -0
  130. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/__init__.png +0 -0
  131. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/computations.png +0 -0
  132. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/contrast.png +0 -0
  133. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/cross_section.png +0 -0
  134. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/cross_section2.png +0 -0
  135. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/dotarraydemo.png +0 -0
  136. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/filtertest1.png +0 -0
  137. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/filtertest2.png +0 -0
  138. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/fit.png +0 -0
  139. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/get_point.png +0 -0
  140. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/hist2d.png +0 -0
  141. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/image_plot_tools.png +0 -0
  142. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/imagefilter.png +0 -0
  143. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/imagesuperp.png +0 -0
  144. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/imagexy.png +0 -0
  145. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/manager.png +0 -0
  146. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/mandelbrot.png +0 -0
  147. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/pcolor.png +0 -0
  148. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/plot.png +0 -0
  149. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/simple_dialog.png +0 -0
  150. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/simple_window.png +0 -0
  151. {plotpy-2.3.4 → plotpy-2.4.0}/doc/images/screenshots/transform.png +0 -0
  152. {plotpy-2.3.4 → plotpy-2.4.0}/doc/index.rst +0 -0
  153. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/examples.rst +0 -0
  154. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/index.rst +0 -0
  155. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/installation.rst +0 -0
  156. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/licenses.rst +0 -0
  157. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/motivation.rst +0 -0
  158. {plotpy-2.3.4 → plotpy-2.4.0}/doc/intro/overview.rst +0 -0
  159. {plotpy-2.3.4 → plotpy-2.4.0}/doc/update_requirements.py +0 -0
  160. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/__init__.py +0 -0
  161. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/annotation.py +0 -0
  162. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/curvemarker.py +0 -0
  163. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/image.py +0 -0
  164. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/label.py +0 -0
  165. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/plot.py +0 -0
  166. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/builder/shape.py +0 -0
  167. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/config.py +0 -0
  168. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/constants.py +0 -0
  169. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/coords.py +0 -0
  170. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/colormaps_default.json +0 -0
  171. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/apply.png +0 -0
  172. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/arredit.png +0 -0
  173. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/arrow_down.png +0 -0
  174. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/arrow_up.png +0 -0
  175. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/autorefresh.png +0 -0
  176. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/autoscale.png +0 -0
  177. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/axes.png +0 -0
  178. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/busy.png +0 -0
  179. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/cell_edit.png +0 -0
  180. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/center.png +0 -0
  181. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/cmap_edit.png +0 -0
  182. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/contrast.png +0 -0
  183. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/copy.png +0 -0
  184. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/copytoclipboard.png +0 -0
  185. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csapplylut.png +0 -0
  186. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csautoscale.png +0 -0
  187. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csection.png +0 -0
  188. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csection_a.png +0 -0
  189. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csection_line.png +0 -0
  190. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csection_oblique.png +0 -0
  191. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/csperimage.png +0 -0
  192. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curve_downsample.png +0 -0
  193. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvestyles/dots.png +0 -0
  194. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvestyles/lines.png +0 -0
  195. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvestyles/steps.png +0 -0
  196. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvestyles/sticks.png +0 -0
  197. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvetypes/xfy.png +0 -0
  198. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/curvetypes/yfx.png +0 -0
  199. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/delete.png +0 -0
  200. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/edit.png +0 -0
  201. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/edit_point_selection.png +0 -0
  202. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/edit.png +0 -0
  203. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/edit_add.png +0 -0
  204. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/editcopy.png +0 -0
  205. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/editdelete.png +0 -0
  206. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/editpaste.png +0 -0
  207. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/fileimport.png +0 -0
  208. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/filesave.png +0 -0
  209. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/imshow.png +0 -0
  210. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/insert.png +0 -0
  211. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/plot.png +0 -0
  212. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/editors/rename.png +0 -0
  213. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/eliminate_outliers.png +0 -0
  214. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/eraser.png +0 -0
  215. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/exit.png +0 -0
  216. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/expander_down.png +0 -0
  217. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/expander_right.png +0 -0
  218. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/export.png +0 -0
  219. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/file.png +0 -0
  220. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/fileclose.png +0 -0
  221. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/fileimport.png +0 -0
  222. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filenew.png +0 -0
  223. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/fileopen.png +0 -0
  224. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filesave.png +0 -0
  225. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filesaveas.png +0 -0
  226. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/doc.png +0 -0
  227. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/gif.png +0 -0
  228. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/html.png +0 -0
  229. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/jpg.png +0 -0
  230. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/pdf.png +0 -0
  231. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/png.png +0 -0
  232. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/pps.png +0 -0
  233. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/ps.png +0 -0
  234. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/tar.png +0 -0
  235. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/tgz.png +0 -0
  236. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/tif.png +0 -0
  237. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/txt.png +0 -0
  238. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/xls.png +0 -0
  239. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/filetypes/zip.png +0 -0
  240. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/font.png +0 -0
  241. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/full_range.png +0 -0
  242. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/funct.png +0 -0
  243. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/hcursor.png +0 -0
  244. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/hflip.png +0 -0
  245. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/imagestats.png +0 -0
  246. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/item_list.png +0 -0
  247. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/annotation.png +0 -0
  248. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/curve.png +0 -0
  249. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/errorbar.png +0 -0
  250. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/grid.png +0 -0
  251. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/histogram.png +0 -0
  252. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/histogram2d.png +0 -0
  253. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/image.png +0 -0
  254. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/label.png +0 -0
  255. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/legend.png +0 -0
  256. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/items/polygonmap.png +0 -0
  257. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/magnifier.png +0 -0
  258. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/cross.png +0 -0
  259. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/diamond.png +0 -0
  260. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/ellipse.png +0 -0
  261. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/hexagon.png +0 -0
  262. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/point.png +0 -0
  263. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/square.png +0 -0
  264. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/star.png +0 -0
  265. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/triangle_d.png +0 -0
  266. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/triangle_l.png +0 -0
  267. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/triangle_r.png +0 -0
  268. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/triangle_u.png +0 -0
  269. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markers/xcross.png +0 -0
  270. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markerstyles/cross_marker.png +0 -0
  271. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markerstyles/horiz_marker.png +0 -0
  272. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/markerstyles/vert_marker.png +0 -0
  273. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/mask/mask_circle.png +0 -0
  274. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/mask/mask_circle_outside.png +0 -0
  275. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/mask/mask_rectangle.png +0 -0
  276. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/mask/mask_rectangle_outside.png +0 -0
  277. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/mask/mask_tool.png +0 -0
  278. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/max.png +0 -0
  279. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/min.png +0 -0
  280. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/move.png +0 -0
  281. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/multipoint_selection.png +0 -0
  282. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/none.png +0 -0
  283. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/not_found.png +0 -0
  284. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/on_curve.png +0 -0
  285. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/bdiagpattern.png +0 -0
  286. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/crosspattern.png +0 -0
  287. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense1pattern.png +0 -0
  288. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense2pattern.png +0 -0
  289. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense3pattern.png +0 -0
  290. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense4pattern.png +0 -0
  291. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense5pattern.png +0 -0
  292. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense6pattern.png +0 -0
  293. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/dense7pattern.png +0 -0
  294. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/diagcrosspattern.png +0 -0
  295. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/fdiagpattern.png +0 -0
  296. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/horpattern.png +0 -0
  297. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/nobrush.png +0 -0
  298. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/solidpattern.png +0 -0
  299. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/patterns/verpattern.png +0 -0
  300. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/plotpy-banner.svg +0 -0
  301. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/plotpy-vertical.svg +0 -0
  302. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/plotpy.svg +0 -0
  303. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/point_selection.png +0 -0
  304. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/print.png +0 -0
  305. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/python.png +0 -0
  306. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/quickview.png +0 -0
  307. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/rectangular_select.png +0 -0
  308. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/refresh.png +0 -0
  309. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/save_all.png +0 -0
  310. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/scales/lin_lin.png +0 -0
  311. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/scales/lin_log.png +0 -0
  312. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/scales/log_lin.png +0 -0
  313. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/scales/log_log.png +0 -0
  314. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/selection.png +0 -0
  315. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/settings.png +0 -0
  316. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shape.png +0 -0
  317. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/circle.png +0 -0
  318. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/contour.png +0 -0
  319. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/ellipse_shape.png +0 -0
  320. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/freeform.png +0 -0
  321. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/gtaxes.png +0 -0
  322. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/marker.png +0 -0
  323. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/oblique_rectangle.png +0 -0
  324. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/point_shape.png +0 -0
  325. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/polyline.png +0 -0
  326. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/rectangle.png +0 -0
  327. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/shapes/segment.png +0 -0
  328. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/snapshot.png +0 -0
  329. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/styles/dash.png +0 -0
  330. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/styles/dashdot.png +0 -0
  331. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/styles/dashdotdot.png +0 -0
  332. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/styles/dot.png +0 -0
  333. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/styles/solid.png +0 -0
  334. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/trash.png +0 -0
  335. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/trimage_lock.png +0 -0
  336. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/trimage_unlock.png +0 -0
  337. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/vcursor.png +0 -0
  338. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/vflip.png +0 -0
  339. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/xcursor.png +0 -0
  340. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/xmax.png +0 -0
  341. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/xmin.png +0 -0
  342. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/data/icons/xrange.png +0 -0
  343. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/events.py +0 -0
  344. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/__init__.py +0 -0
  345. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/__init__.py +0 -0
  346. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_generic_range_slider.py +0 -0
  347. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_generic_slider.py +0 -0
  348. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_labeled.py +0 -0
  349. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_misc.py +0 -0
  350. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_range_style.py +0 -0
  351. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/external/sliders/_sliders.py +0 -0
  352. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/interfaces/panel.py +0 -0
  353. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/interfaces/plotmanager.py +0 -0
  354. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/io.py +0 -0
  355. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/__init__.py +0 -0
  356. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/contour.py +0 -0
  357. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/curve/__init__.py +0 -0
  358. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/curve/base.py +0 -0
  359. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/curve/errorbar.py +0 -0
  360. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/histogram.py +0 -0
  361. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/__init__.py +0 -0
  362. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/filter.py +0 -0
  363. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/masked.py +0 -0
  364. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/misc.py +0 -0
  365. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/image/transform.py +0 -0
  366. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/polygonmap.py +0 -0
  367. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/__init__.py +0 -0
  368. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/base.py +0 -0
  369. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/items/shape/svg.py +0 -0
  370. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/lutrange.py +0 -0
  371. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/mathutils/__init__.py +0 -0
  372. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/mathutils/arrayfuncs.py +0 -0
  373. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/mathutils/colormap.py +0 -0
  374. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/mathutils/geometry.py +0 -0
  375. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/mathutils/scaler.py +0 -0
  376. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/__init__.py +0 -0
  377. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/base.py +0 -0
  378. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/csection/__init__.py +0 -0
  379. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/csection/csitem.py +0 -0
  380. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/csection/csplot.py +0 -0
  381. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/csection/cswidget.py +0 -0
  382. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/panels/itemlist.py +0 -0
  383. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/plot/__init__.py +0 -0
  384. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/plot/interactive.py +0 -0
  385. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/plot/plotwidget.py +0 -0
  386. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/pyplot.py +0 -0
  387. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/__init__.py +0 -0
  388. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/base.py +0 -0
  389. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/histogram.py +0 -0
  390. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/styles/polygonmap.py +0 -0
  391. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/__init__.py +0 -0
  392. {plotpy-2.3.4 → plotpy-2.4.0/plotpy/tests}/conftest.py +0 -0
  393. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data/brain.png +0 -0
  394. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data/brain_cylinder.png +0 -0
  395. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data/mr-brain.dcm +0 -0
  396. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data/svg_target.svg +0 -0
  397. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data/svg_tool.svg +0 -0
  398. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/data.py +0 -0
  399. {plotpy-2.3.4/plotpy/tests/benchmarks → plotpy-2.4.0/plotpy/tests/features}/__init__.py +0 -0
  400. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_auto_curve_image.py +0 -0
  401. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_autoscale_shapes.py +0 -0
  402. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_builder.py +0 -0
  403. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_colormap_editor.py +0 -0
  404. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_colormap_manager.py +0 -0
  405. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_computations.py +0 -0
  406. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_contrast.py +0 -0
  407. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_cursors.py +0 -0
  408. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_dicom_image.py +0 -0
  409. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_fit.py +0 -0
  410. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_image_coords.py +0 -0
  411. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_imagefilter.py +0 -0
  412. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_imagesuperp.py +0 -0
  413. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_loadsaveitems_hdf5.py +0 -0
  414. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_loadsaveitems_json.py +0 -0
  415. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_loadsaveitems_pickle.py +0 -0
  416. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_manager.py +0 -0
  417. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_no_auto_tools.py +0 -0
  418. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_plot_log.py +0 -0
  419. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_plot_types.py +0 -0
  420. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_plot_yreverse.py +0 -0
  421. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_pyplot.py +0 -0
  422. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/features/test_resize.py +0 -0
  423. {plotpy-2.3.4/plotpy/tests/features → plotpy-2.4.0/plotpy/tests/items}/__init__.py +0 -0
  424. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_annotations.py +0 -0
  425. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_curves.py +0 -0
  426. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_curves_highdpi.py +0 -0
  427. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_hist2d.py +0 -0
  428. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_histogram.py +0 -0
  429. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image.py +0 -0
  430. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image_contour.py +0 -0
  431. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image_masked.py +0 -0
  432. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image_masked_xy.py +0 -0
  433. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image_rgb.py +0 -0
  434. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_image_xy.py +0 -0
  435. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_mandelbrot.py +0 -0
  436. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_pcolor.py +0 -0
  437. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_polygons.py +0 -0
  438. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_svgshapes.py +0 -0
  439. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/items/test_transform.py +0 -0
  440. {plotpy-2.3.4/plotpy/tests/items → plotpy-2.4.0/plotpy/tests/tools}/__init__.py +0 -0
  441. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_actiontool.py +0 -0
  442. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_cross_section.py +0 -0
  443. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_cross_section_line.py +0 -0
  444. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_cross_section_oblique.py +0 -0
  445. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_downsample_curve.py +0 -0
  446. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_edit_point.py +0 -0
  447. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_get_point.py +0 -0
  448. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_get_points.py +0 -0
  449. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_get_rectangle.py +0 -0
  450. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_get_rectangle_with_svg.py +0 -0
  451. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_get_segment.py +0 -0
  452. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/tools/test_image_plot_tools.py +0 -0
  453. {plotpy-2.3.4/plotpy/tests/tools → plotpy-2.4.0/plotpy/tests/unit}/__init__.py +0 -0
  454. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_aspect_ratio_tool.py +0 -0
  455. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_baseplot.py +0 -0
  456. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_builder_annotation.py +0 -0
  457. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_builder_curve.py +0 -0
  458. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_builder_image.py +0 -0
  459. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_builder_shape.py +0 -0
  460. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_contour.py +0 -0
  461. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_fontparam.py +0 -0
  462. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_geometry.py +0 -0
  463. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_highprecisionxy.py +0 -0
  464. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_io.py +0 -0
  465. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_line.py +0 -0
  466. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_mask_tool.py +0 -0
  467. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_plot_curve.py +0 -0
  468. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_plot_image.py +0 -0
  469. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_seg_dist.py +0 -0
  470. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_styles.py +0 -0
  471. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/unit/test_tools_export.py +0 -0
  472. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/vistools.py +0 -0
  473. {plotpy-2.3.4/plotpy/tests/unit → plotpy-2.4.0/plotpy/tests/widgets}/__init__.py +0 -0
  474. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_dotarraydemo.py +0 -0
  475. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_filtertest1.py +0 -0
  476. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_filtertest2.py +0 -0
  477. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_fliprotate.py +0 -0
  478. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_plot_timecurve.py +0 -0
  479. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_qtdesigner.py +0 -0
  480. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_qtdesigner.ui +0 -0
  481. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_resize_dialog.py +0 -0
  482. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_rotatecrop.py +0 -0
  483. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_simple_dialog.py +0 -0
  484. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_simple_window.py +0 -0
  485. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tests/widgets/test_syncplot.py +0 -0
  486. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/annotation.py +0 -0
  487. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/axes.py +0 -0
  488. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/base.py +0 -0
  489. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/cursor.py +0 -0
  490. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/item.py +0 -0
  491. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/label.py +0 -0
  492. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/misc.py +0 -0
  493. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/plot.py +0 -0
  494. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/selection.py +0 -0
  495. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/tools/shape.py +0 -0
  496. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/__init__.py +0 -0
  497. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/about.py +0 -0
  498. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/basetransform.py +0 -0
  499. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/colormap/__init__.py +0 -0
  500. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/colormap/_slider.py +0 -0
  501. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/colormap/editor.py +0 -0
  502. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/colormap/manager.py +0 -0
  503. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/colormap/widget.py +0 -0
  504. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/fit.py +0 -0
  505. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/fliprotate.py +0 -0
  506. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/imagefile.py +0 -0
  507. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/qtdesigner.py +0 -0
  508. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/resizedialog.py +0 -0
  509. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/rotatecrop.py +0 -0
  510. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy/widgets/selectdialog.py +0 -0
  511. {plotpy-2.3.4 → plotpy-2.4.0}/plotpy-tests.desktop +0 -0
  512. {plotpy-2.3.4 → plotpy-2.4.0}/qtdesigner/plotplugin.py +0 -0
  513. {plotpy-2.3.4 → plotpy-2.4.0}/requirements.txt +0 -0
  514. {plotpy-2.3.4 → plotpy-2.4.0}/setup.cfg +0 -0
  515. {plotpy-2.3.4 → plotpy-2.4.0}/setup.py +0 -0
  516. {plotpy-2.3.4 → plotpy-2.4.0}/src/arrays.hpp +0 -0
  517. {plotpy-2.3.4 → plotpy-2.4.0}/src/contour2d.pyx +0 -0
  518. {plotpy-2.3.4 → plotpy-2.4.0}/src/debug.hpp +0 -0
  519. {plotpy-2.3.4 → plotpy-2.4.0}/src/histogram2d.pyx +0 -0
  520. {plotpy-2.3.4 → plotpy-2.4.0}/src/mandelbrot.pyx +0 -0
  521. {plotpy-2.3.4 → plotpy-2.4.0}/src/pcolor.cpp +0 -0
  522. {plotpy-2.3.4 → plotpy-2.4.0}/src/points.hpp +0 -0
  523. {plotpy-2.3.4 → plotpy-2.4.0}/src/scaler.cpp +0 -0
  524. {plotpy-2.3.4 → plotpy-2.4.0}/src/scaler.hpp +0 -0
  525. {plotpy-2.3.4 → plotpy-2.4.0}/src/traits.hpp +0 -0
@@ -1,5 +1,77 @@
1
1
  # Changelog #
2
2
 
3
+ ## Version 2.4.0 ##
4
+
5
+ In this release, test coverage is 79%.
6
+
7
+ 💥 New features / Enhancements:
8
+
9
+ * Contrast adjustment panel:
10
+ * New layout: the vertical toolbar (which was constrained in a small area on the
11
+ right side of the panel) is now a horizontal toolbar at the top of the panel,
12
+ beside the title
13
+ * New "Set range" button: allows the user to set manually the minimum and maximum
14
+ values of the histogram range
15
+ * New Z-axis logarithmic scale feature:
16
+ * Added new tool `ZAxisLogTool` to toggle the Z-axis logarithmic scale
17
+ * The tool is registered by default in the plot widget, like the `ColormapTool`
18
+ * When enabled, the active image item is displayed after applying a base-10
19
+ logarithm to its pixel values
20
+ * Curve statistics tool `CurveStatsTool` is now customizable:
21
+ * When adding the tool: `plot_widget.manager.add_tool(CurveStatsTool, labelfuncs=(...))`
22
+ * Or after: `plot_widget.manager.get_tool(CurveStatsTool).set_labelfuncs(...)`
23
+ * The `labelfuncs` parameter is a list of tuples `(label, func)` where `label` is the
24
+ label displayed in the statistics table, and `func` is a function that takes the
25
+ curve data and returns the corresponding statistic value (see the documentation for
26
+ more details)
27
+ * Image statistics tool `ImageStatsTool` is now customizable:
28
+ * When adding the tool: `plot_widget.manager.add_tool(ImageStatsTool, stats_func=...)`
29
+ * Or after: `plot_widget.manager.get_tool(ImageStatsTool).set_stats_func(...)`
30
+ * The `stats_func` parameter is a function that takes the image item and selected
31
+ rectangle coordinates, and returns a string with the statistics to display
32
+ * New `SIG_AXIS_PARAMETERS_CHANGED` signal emitted by `BasePlot` when the axes parameters
33
+ are changed (e.g. when the axes are inverted, or the scale is changed)
34
+ * New "Reverse X axis" feature:
35
+ * Added new tool `ReverseXAxisTool` to toggle the X-axis direction
36
+ * The tool is registered by default in the plot widget, like its Y-axis counterpart
37
+
38
+ 🛠️ Bug fixes:
39
+
40
+ * Contrast adjustment panel:
41
+ * Fixed histogram update issues when no image was currently selected (even if the
42
+ an image was displayed and was selected before)
43
+ * Histogram range was not updated when either the minimum or maximum value was set
44
+ using the "Minimum value" or "Maximum value" buttons (which have been renamed to
45
+ "Min." and "Max." in this release)
46
+ * Histogram range was not updated when the "Set full range" button was clicked
47
+ * Image parameters: contrast range was not updated when the image Z axis bounds were
48
+ changed using the "Parameters" dialog
49
+
50
+ 🧹 API cleanup:
51
+
52
+ * Deprecated `AnnotationParam.update_annotation` method: use `update_item` instead
53
+ * Deprecated `AxesShapeParam.update_axes` method: use `update_item` instead
54
+ * Deprecated `AxesParam.update_axes` method: use `update_item` instead
55
+ * Deprecated `ImageAxesParam.update_axes` method: use `update_item` instead
56
+ * Deprecated `LabelParam.update_label` method: use `update_item` instead
57
+ * Deprecated `MarkerParam.update_marker` method: use `update_item` instead
58
+ * Deprecated `RangeShapeParam.update_range` method: use `update_item` instead
59
+ * Deprecated `ShapeParam.update_shape` method: use `update_item` instead
60
+
61
+ ## Version 2.3.5 ##
62
+
63
+ This release is mainly intended to fix the Windows binary distribution, which was not
64
+ supporting NumPy 2.0.
65
+
66
+ 🛠️ Bug fixes:
67
+
68
+ * Moved back `conftest.py` to the `tests` folder (was in the root folder), so that
69
+ `pytest` can be executed with proper configuration when running the test suite
70
+ from the installed package
71
+
72
+ * Removed benchmarks from automated test suite (not relevant for the end user):
73
+ added `plotpy-benchmarks` script to run the benchmarks
74
+
3
75
  ## Version 2.3.4 ##
4
76
 
5
77
  In this release, test coverage is 79%.
@@ -69,7 +141,6 @@ in version 2.3.1. The latter is a fugitive release that was not announced.
69
141
  * Fixed issue with oblique averaged cross section computation (`AttributeError` when
70
142
  clicking on the empty cross section plot)
71
143
 
72
-
73
144
  ## Version 2.3.0 ##
74
145
 
75
146
  In this release, test coverage is 75%.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PlotPy
3
- Version: 2.3.4
3
+ Version: 2.4.0
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PlotPy
3
- Version: 2.3.4
3
+ Version: 2.4.0
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
@@ -2,7 +2,6 @@ CHANGELOG.md
2
2
  LICENSE
3
3
  MANIFEST.in
4
4
  README.md
5
- conftest.py
6
5
  plotpy-tests.desktop
7
6
  pyproject.toml
8
7
  requirements.txt
@@ -200,6 +199,7 @@ plotpy/data/icons/xcursor.png
200
199
  plotpy/data/icons/xmax.png
201
200
  plotpy/data/icons/xmin.png
202
201
  plotpy/data/icons/xrange.png
202
+ plotpy/data/icons/zlog.svg
203
203
  plotpy/data/icons/curvestyles/dots.png
204
204
  plotpy/data/icons/curvestyles/lines.png
205
205
  plotpy/data/icons/curvestyles/steps.png
@@ -366,6 +366,7 @@ plotpy/styles/label.py
366
366
  plotpy/styles/polygonmap.py
367
367
  plotpy/styles/shape.py
368
368
  plotpy/tests/__init__.py
369
+ plotpy/tests/conftest.py
369
370
  plotpy/tests/data.py
370
371
  plotpy/tests/vistools.py
371
372
  plotpy/tests/benchmarks/__init__.py
@@ -432,6 +433,8 @@ plotpy/tests/tools/test_get_rectangle.py
432
433
  plotpy/tests/tools/test_get_rectangle_with_svg.py
433
434
  plotpy/tests/tools/test_get_segment.py
434
435
  plotpy/tests/tools/test_image_plot_tools.py
436
+ plotpy/tests/tools/test_stats_tools.py
437
+ plotpy/tests/tools/test_zaxislog.py
435
438
  plotpy/tests/unit/__init__.py
436
439
  plotpy/tests/unit/test_annotation_tools.py
437
440
  plotpy/tests/unit/test_aspect_ratio_tool.py
@@ -0,0 +1,3 @@
1
+ [gui_scripts]
2
+ plotpy-benchmarks = plotpy.tests.benchmarks:run
3
+ plotpy-tests = plotpy.tests:run
@@ -29,11 +29,11 @@ To run the unittests, you need:
29
29
 
30
30
  Then run the following command::
31
31
 
32
- pytest
32
+ pytest plotpy
33
33
 
34
34
  To run test with coverage support, use the following command::
35
35
 
36
- pytest -v --cov --cov-report=html
36
+ pytest -v --cov --cov-report=html plotpy
37
37
 
38
38
 
39
39
  Code formatting
@@ -75,7 +75,7 @@ Before submitting a patch, please check the following points:
75
75
 
76
76
  .. code-block:: bash
77
77
 
78
- pytest
78
+ pytest plotpy
79
79
 
80
80
  Pull request
81
81
  ~~~~~~~~~~~~
@@ -72,7 +72,7 @@ That's it, you can now run the tests using the following command:
72
72
 
73
73
  .. code-block:: bash
74
74
 
75
- pytest
75
+ pytest plotpy
76
76
 
77
77
  If you want to rely on Visual Studio Code for editing and take advantage of the
78
78
  project settings and tasks, you will need to set the following environment variable:
@@ -160,4 +160,4 @@ That's it, you can now run the tests using the following command:
160
160
 
161
161
  .. code-block:: bash
162
162
 
163
- pytest
163
+ pytest plotpy
@@ -0,0 +1,28 @@
1
+ Overview
2
+ --------
3
+
4
+ A `plot tool` is an object providing various features to a plotting widget
5
+ (:py:class:`.BasePlot`):
6
+
7
+ * Buttons,
8
+ * Menus,
9
+ * Selection tools,
10
+ * Image I/O tools,
11
+ * Etc.
12
+
13
+ Before being used, a tool has to be registered to a plotting widget's manager,
14
+ i.e. an instance of the :py:class:`.PlotManager` class (see :ref:`plot`
15
+ for more details).
16
+
17
+ The :py:class:`.BasePlot` widget do not provide any :py:class:`.PlotManager`:
18
+ the manager has to be created separately. On the contrary, the ready-to-use widget
19
+ :py:class:`.PlotWidget` are higher-level plotting widgets with
20
+ integrated manager, tools and panels.
21
+
22
+ .. seealso::
23
+
24
+ :ref:`plot`
25
+ Ready-to-use curve and image plotting widgets and dialog boxes
26
+
27
+ :ref:`items`
28
+ Plot items: curves, images, markers, etc.
@@ -19,14 +19,6 @@ Base classes
19
19
  .. autoclass:: plotpy.tools.PanelTool
20
20
  :members:
21
21
 
22
- Selection tools
23
- ^^^^^^^^^^^^^^^
24
-
25
- .. autoclass:: plotpy.tools.SelectTool
26
- :members:
27
- .. autoclass:: plotpy.tools.SelectPointTool
28
- :members:
29
-
30
22
  Plot tools
31
23
  ^^^^^^^^^^
32
24
 
@@ -44,6 +36,8 @@ Plot tools
44
36
  Item tools
45
37
  ^^^^^^^^^^
46
38
 
39
+ .. autoclass:: plotpy.tools.SelectTool
40
+ :members:
47
41
  .. autoclass:: plotpy.tools.ItemListPanelTool
48
42
  :members:
49
43
  .. autoclass:: plotpy.tools.SaveItemsTool
@@ -93,13 +87,29 @@ Shape tools
93
87
  .. autoclass:: plotpy.tools.HRangeTool
94
88
  :members:
95
89
 
90
+ Curve tools
91
+ ^^^^^^^^^^^
92
+
93
+ .. autoclass:: plotpy.tools.CurveStatsTool
94
+ :members:
95
+ .. autoclass:: plotpy.tools.SelectPointTool
96
+ :members:
97
+ .. autoclass:: plotpy.tools.SelectPointsTool
98
+ :members:
99
+ .. autoclass:: plotpy.tools.EditPointTool
100
+ :members:
101
+
96
102
  Image tools
97
103
  ^^^^^^^^^^^
98
104
 
105
+ .. autoclass:: plotpy.tools.ImageStatsTool
106
+ :members:
99
107
  .. autoclass:: plotpy.tools.RotationCenterTool
100
108
  :members:
101
109
  .. autoclass:: plotpy.tools.ReverseYAxisTool
102
110
  :members:
111
+ .. autoclass:: plotpy.tools.ZAxisLogTool
112
+ :members:
103
113
  .. autoclass:: plotpy.tools.AspectRatioTool
104
114
  :members:
105
115
  .. autoclass:: plotpy.tools.ContrastPanelTool
@@ -9,7 +9,7 @@ The :mod:`plotpy` package requires the following Python modules:
9
9
  - Summary
10
10
  * - Python
11
11
  - >=3.8, <4
12
- -
12
+ - Python programming language
13
13
  * - guidata
14
14
  - >=3.4
15
15
  - Automatic GUI generation for easy dataset editing and display
@@ -41,12 +41,9 @@ Optional modules for development:
41
41
  * - Name
42
42
  - Version
43
43
  - Summary
44
- * - black
45
- -
46
- - The uncompromising code formatter.
47
- * - isort
44
+ * - ruff
48
45
  -
49
- - A Python utility / library to sort Python imports.
46
+ - An extremely fast Python linter and code formatter, written in Rust.
50
47
  * - pylint
51
48
  -
52
49
  - python code static checker
@@ -20,7 +20,7 @@ External resources:
20
20
  .. _GitHub: https://github.com/PierreRaybaut/plotpy
21
21
  """
22
22
 
23
- __version__ = "2.3.4"
23
+ __version__ = "2.4.0"
24
24
  __VERSION__ = tuple([int(number) for number in __version__.split(".")])
25
25
 
26
26
  # --- Important note: DATAPATH and LOCALEPATH are used by guidata.configtools
@@ -0,0 +1,144 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ role="img"
11
+ focusable="false"
12
+ aria-hidden="true"
13
+ viewBox="0 0 14 14"
14
+ version="1.1"
15
+ id="svg3733"
16
+ sodipodi:docname="zlog.svg"
17
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
18
+ <metadata
19
+ id="metadata3739">
20
+ <rdf:RDF>
21
+ <cc:Work
22
+ rdf:about="">
23
+ <dc:format>image/svg+xml</dc:format>
24
+ <dc:type
25
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <defs
30
+ id="defs3737" />
31
+ <sodipodi:namedview
32
+ pagecolor="#ffffff"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="1920"
41
+ inkscape:window-height="1017"
42
+ id="namedview3735"
43
+ showgrid="false"
44
+ inkscape:zoom="42.830468"
45
+ inkscape:cx="11.19054"
46
+ inkscape:cy="4.4544012"
47
+ inkscape:window-x="-8"
48
+ inkscape:window-y="-8"
49
+ inkscape:window-maximized="1"
50
+ inkscape:current-layer="svg3733" />
51
+ <rect
52
+ style="fill:#d4aa00"
53
+ id="rect3751"
54
+ width="0.51365304"
55
+ height="13.354979"
56
+ x="12.132974"
57
+ y="0.27145514" />
58
+ <text
59
+ xml:space="preserve"
60
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
61
+ x="-1.0039581"
62
+ y="8.723382"
63
+ id="text3743"><tspan
64
+ sodipodi:role="line"
65
+ id="tspan3741"
66
+ x="-1.0039581"
67
+ y="8.723382"
68
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333302px;font-family:'Lucida Handwriting';-inkscape-font-specification:'Lucida Handwriting'">z</tspan></text>
69
+ <text
70
+ xml:space="preserve"
71
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
72
+ x="4.5061374"
73
+ y="11.2683"
74
+ id="text3747"><tspan
75
+ sodipodi:role="line"
76
+ id="tspan3745"
77
+ x="4.5061374"
78
+ y="11.2683"
79
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.33333325px;font-family:Tahoma;-inkscape-font-specification:'Tahoma Bold';fill:#ff6600">LOG</tspan></text>
80
+ <rect
81
+ style="fill:#d4aa00;stroke-width:0.34224674"
82
+ id="rect3751-2"
83
+ width="0.51365304"
84
+ height="1.5643065"
85
+ x="10.302919"
86
+ y="6.5584002"
87
+ transform="rotate(-30)" />
88
+ <rect
89
+ style="fill:#d4aa00;stroke-width:0.34224674"
90
+ id="rect3751-2-6"
91
+ width="0.51365304"
92
+ height="1.5643065"
93
+ x="10.643191"
94
+ y="-5.8313999"
95
+ transform="rotate(30)" />
96
+ <rect
97
+ style="fill:#d4aa00;stroke-width:0.33449677"
98
+ id="rect3751-8"
99
+ width="0.51365304"
100
+ height="1.4942629"
101
+ x="12.599127"
102
+ y="-13.168196"
103
+ transform="rotate(90)" />
104
+ <rect
105
+ style="fill:#d4aa00;stroke-width:0.33449677"
106
+ id="rect3751-8-5"
107
+ width="0.51365304"
108
+ height="1.4942629"
109
+ x="8.8401213"
110
+ y="-13.168196"
111
+ transform="rotate(90)" />
112
+ <rect
113
+ style="fill:#d4aa00;stroke-width:0.33449677"
114
+ id="rect3751-8-5-0"
115
+ width="0.51365304"
116
+ height="1.4942629"
117
+ x="5.8282475"
118
+ y="-13.168196"
119
+ transform="rotate(90)" />
120
+ <rect
121
+ style="fill:#d4aa00;stroke-width:0.33449677"
122
+ id="rect3751-8-5-4"
123
+ width="0.51365304"
124
+ height="1.4942629"
125
+ x="3.8903742"
126
+ y="-13.168196"
127
+ transform="rotate(90)" />
128
+ <rect
129
+ style="fill:#d4aa00;stroke-width:0.33449677"
130
+ id="rect3751-8-5-44"
131
+ width="0.51365304"
132
+ height="1.4942629"
133
+ x="2.9798076"
134
+ y="-13.168196"
135
+ transform="rotate(90)" />
136
+ <rect
137
+ style="fill:#d4aa00;stroke-width:0.33449677"
138
+ id="rect3751-8-5-5"
139
+ width="0.51365304"
140
+ height="1.4942629"
141
+ x="2.3027196"
142
+ y="-13.168196"
143
+ transform="rotate(90)" />
144
+ </svg>
@@ -16,7 +16,6 @@ from .items import (
16
16
  IItemType,
17
17
  ISerializableType,
18
18
  IShapeItemType,
19
- IStatsImageItemType,
20
19
  ITrackableItemType,
21
20
  IVoiImageItemType,
22
21
  )
@@ -148,31 +148,6 @@ class IExportROIImageItemType(IItemType):
148
148
  pass
149
149
 
150
150
 
151
- class IStatsImageItemType(IItemType):
152
- """An image supporting stats computations"""
153
-
154
- def get_stats(
155
- self,
156
- x0: float,
157
- y0: float,
158
- x1: float,
159
- y1: float,
160
- show_surface: bool = False,
161
- show_integral: bool = False,
162
- ) -> str:
163
- """Return formatted string with stats on image rectangular area
164
- (output should be compatible with AnnotatedShape.get_infos)
165
-
166
- Args:
167
- x0: X0
168
- y0: Y0
169
- x1: X1
170
- y1: Y1
171
- show_surface: Show surface (Default value = False)
172
- show_integral: Show integral (Default value = False)
173
- """
174
-
175
-
176
151
  class ICSImageItemType(IItemType):
177
152
  """An image supporting X/Y cross sections"""
178
153
 
@@ -75,7 +75,7 @@ class AnnotatedShape(AbstractShape):
75
75
  )
76
76
  else:
77
77
  self.annotationparam = annotationparam
78
- self.annotationparam.update_annotation(self)
78
+ self.annotationparam.update_item(self)
79
79
  self.setIcon(get_icon("annotation.png"))
80
80
 
81
81
  def types(self) -> tuple[type[IItemType], ...]:
@@ -98,8 +98,8 @@ class AnnotatedShape(AbstractShape):
98
98
  shape, label, param = state
99
99
  self.shape = shape
100
100
  self.label = label
101
- self.annotationparam = param
102
- self.annotationparam.update_annotation(self)
101
+ self.annotationparam: AnnotationParam = param
102
+ self.annotationparam.update_item(self)
103
103
 
104
104
  def serialize(
105
105
  self,
@@ -125,7 +125,7 @@ class AnnotatedShape(AbstractShape):
125
125
  """
126
126
  self.annotationparam = AnnotationParam(_("Annotation"), icon="annotation.png")
127
127
  reader.read("annotationparam", instance=self.annotationparam)
128
- self.annotationparam.update_annotation(self)
128
+ self.annotationparam.update_item(self)
129
129
  self.shape.deserialize(reader)
130
130
  self.label.deserialize(reader)
131
131
 
@@ -434,7 +434,7 @@ class AnnotatedShape(AbstractShape):
434
434
  update_dataset(
435
435
  self.annotationparam, itemparams.get("AnnotationParam"), visible_only=True
436
436
  )
437
- self.annotationparam.update_annotation(self)
437
+ self.annotationparam.update_item(self)
438
438
  self.plot().SIG_ANNOTATION_CHANGED.emit(self)
439
439
 
440
440
  # Autoscalable types API
@@ -471,6 +471,7 @@ class AnnotatedPoint(AnnotatedShape):
471
471
 
472
472
  def __init__(self, x=0, y=0, annotationparam=None):
473
473
  AnnotatedShape.__init__(self, annotationparam)
474
+ self.shape: PointShape
474
475
  self.set_pos(x, y)
475
476
  self.setIcon(get_icon("point_shape.png"))
476
477
 
@@ -526,6 +527,7 @@ class AnnotatedSegment(AnnotatedShape):
526
527
 
527
528
  def __init__(self, x1=0, y1=0, x2=0, y2=0, annotationparam=None):
528
529
  AnnotatedShape.__init__(self, annotationparam)
530
+ self.shape: SegmentShape
529
531
  self.set_rect(x1, y1, x2, y2)
530
532
  self.setIcon(get_icon("segment.png"))
531
533
 
@@ -585,6 +587,7 @@ class AnnotatedRectangle(AnnotatedShape):
585
587
 
586
588
  def __init__(self, x1=0, y1=0, x2=0, y2=0, annotationparam=None):
587
589
  AnnotatedShape.__init__(self, annotationparam)
590
+ self.shape: RectangleShape
588
591
  self.set_rect(x1, y1, x2, y2)
589
592
  self.setIcon(get_icon("rectangle.png"))
590
593
 
@@ -645,6 +648,7 @@ class AnnotatedObliqueRectangle(AnnotatedRectangle):
645
648
  self, x0=0, y0=0, x1=0, y1=0, x2=0, y2=0, x3=0, y3=0, annotationparam=None
646
649
  ):
647
650
  AnnotatedShape.__init__(self, annotationparam)
651
+ self.shape: ObliqueRectangleShape
648
652
  self.set_rect(x0, y0, x1, y1, x2, y2, x3, y3)
649
653
  self.setIcon(get_icon("oblique_rectangle.png"))
650
654
 
@@ -740,6 +744,7 @@ class AnnotatedEllipse(AnnotatedShape):
740
744
 
741
745
  def __init__(self, x1=0, y1=0, x2=0, y2=0, annotationparam=None):
742
746
  AnnotatedShape.__init__(self, annotationparam)
747
+ self.shape: EllipseShape
743
748
  self.set_xdiameter(x1, y1, x2, y2)
744
749
  self.setIcon(get_icon("ellipse_shape.png"))
745
750
  self.switch_to_ellipse()
@@ -248,7 +248,7 @@ class GridItem(QwtPlotGrid):
248
248
  Args:
249
249
  itemparams: Item parameters
250
250
  """
251
- self.gridparam = itemparams.get("GridParam")
251
+ self.gridparam: GridParam = itemparams.get("GridParam")
252
252
  self.gridparam.update_grid(self)
253
253
 
254
254