PlotPy 2.0.0__cp310-cp310-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. PlotPy-2.0.0.dist-info/LICENSE +29 -0
  2. PlotPy-2.0.0.dist-info/METADATA +155 -0
  3. PlotPy-2.0.0.dist-info/RECORD +367 -0
  4. PlotPy-2.0.0.dist-info/WHEEL +5 -0
  5. PlotPy-2.0.0.dist-info/entry_points.txt +2 -0
  6. PlotPy-2.0.0.dist-info/top_level.txt +1 -0
  7. plotpy/__init__.py +31 -0
  8. plotpy/_scaler.cp310-win32.pyd +0 -0
  9. plotpy/builder/__init__.py +46 -0
  10. plotpy/builder/annotation.py +393 -0
  11. plotpy/builder/curvemarker.py +878 -0
  12. plotpy/builder/image.py +906 -0
  13. plotpy/builder/label.py +304 -0
  14. plotpy/builder/plot.py +405 -0
  15. plotpy/builder/shape.py +193 -0
  16. plotpy/config.py +747 -0
  17. plotpy/constants.py +124 -0
  18. plotpy/contour2d.cp310-win32.pyd +0 -0
  19. plotpy/coords.py +93 -0
  20. plotpy/events.py +969 -0
  21. plotpy/histogram2d.cp310-win32.pyd +0 -0
  22. plotpy/images/apply.png +0 -0
  23. plotpy/images/arredit.png +0 -0
  24. plotpy/images/arrow_down.png +0 -0
  25. plotpy/images/arrow_up.png +0 -0
  26. plotpy/images/autorefresh.png +0 -0
  27. plotpy/images/autoscale.png +0 -0
  28. plotpy/images/axes.png +0 -0
  29. plotpy/images/busy.png +0 -0
  30. plotpy/images/cell_edit.png +0 -0
  31. plotpy/images/center.png +0 -0
  32. plotpy/images/contrast.png +0 -0
  33. plotpy/images/copy.png +0 -0
  34. plotpy/images/copytoclipboard.png +0 -0
  35. plotpy/images/csapplylut.png +0 -0
  36. plotpy/images/csautoscale.png +0 -0
  37. plotpy/images/csection.png +0 -0
  38. plotpy/images/csection_a.png +0 -0
  39. plotpy/images/csection_oblique.png +0 -0
  40. plotpy/images/csperimage.png +0 -0
  41. plotpy/images/curvestyles/dots.png +0 -0
  42. plotpy/images/curvestyles/lines.png +0 -0
  43. plotpy/images/curvestyles/steps.png +0 -0
  44. plotpy/images/curvestyles/sticks.png +0 -0
  45. plotpy/images/curvetypes/xfy.png +0 -0
  46. plotpy/images/curvetypes/yfx.png +0 -0
  47. plotpy/images/delete.png +0 -0
  48. plotpy/images/edit.png +0 -0
  49. plotpy/images/editors/edit.png +0 -0
  50. plotpy/images/editors/edit_add.png +0 -0
  51. plotpy/images/editors/editcopy.png +0 -0
  52. plotpy/images/editors/editdelete.png +0 -0
  53. plotpy/images/editors/editpaste.png +0 -0
  54. plotpy/images/editors/fileimport.png +0 -0
  55. plotpy/images/editors/filesave.png +0 -0
  56. plotpy/images/editors/imshow.png +0 -0
  57. plotpy/images/editors/insert.png +0 -0
  58. plotpy/images/editors/plot.png +0 -0
  59. plotpy/images/editors/rename.png +0 -0
  60. plotpy/images/eliminate_outliers.png +0 -0
  61. plotpy/images/eraser.png +0 -0
  62. plotpy/images/exit.png +0 -0
  63. plotpy/images/expander_down.png +0 -0
  64. plotpy/images/expander_right.png +0 -0
  65. plotpy/images/export.png +0 -0
  66. plotpy/images/file.png +0 -0
  67. plotpy/images/fileclose.png +0 -0
  68. plotpy/images/fileimport.png +0 -0
  69. plotpy/images/filenew.png +0 -0
  70. plotpy/images/fileopen.png +0 -0
  71. plotpy/images/filesave.png +0 -0
  72. plotpy/images/filesaveas.png +0 -0
  73. plotpy/images/filetypes/doc.png +0 -0
  74. plotpy/images/filetypes/gif.png +0 -0
  75. plotpy/images/filetypes/html.png +0 -0
  76. plotpy/images/filetypes/jpg.png +0 -0
  77. plotpy/images/filetypes/pdf.png +0 -0
  78. plotpy/images/filetypes/png.png +0 -0
  79. plotpy/images/filetypes/pps.png +0 -0
  80. plotpy/images/filetypes/ps.png +0 -0
  81. plotpy/images/filetypes/tar.png +0 -0
  82. plotpy/images/filetypes/tgz.png +0 -0
  83. plotpy/images/filetypes/tif.png +0 -0
  84. plotpy/images/filetypes/txt.png +0 -0
  85. plotpy/images/filetypes/xls.png +0 -0
  86. plotpy/images/filetypes/zip.png +0 -0
  87. plotpy/images/font.png +0 -0
  88. plotpy/images/full_range.png +0 -0
  89. plotpy/images/funct.png +0 -0
  90. plotpy/images/hcursor.png +0 -0
  91. plotpy/images/hflip.png +0 -0
  92. plotpy/images/imagestats.png +0 -0
  93. plotpy/images/item_list.png +0 -0
  94. plotpy/images/items/annotation.png +0 -0
  95. plotpy/images/items/curve.png +0 -0
  96. plotpy/images/items/errorbar.png +0 -0
  97. plotpy/images/items/grid.png +0 -0
  98. plotpy/images/items/histogram.png +0 -0
  99. plotpy/images/items/histogram2d.png +0 -0
  100. plotpy/images/items/image.png +0 -0
  101. plotpy/images/items/label.png +0 -0
  102. plotpy/images/items/legend.png +0 -0
  103. plotpy/images/magnifier.png +0 -0
  104. plotpy/images/markers/cross.png +0 -0
  105. plotpy/images/markers/diamond.png +0 -0
  106. plotpy/images/markers/ellipse.png +0 -0
  107. plotpy/images/markers/hexagon.png +0 -0
  108. plotpy/images/markers/point.png +0 -0
  109. plotpy/images/markers/square.png +0 -0
  110. plotpy/images/markers/star.png +0 -0
  111. plotpy/images/markers/triangle_d.png +0 -0
  112. plotpy/images/markers/triangle_l.png +0 -0
  113. plotpy/images/markers/triangle_r.png +0 -0
  114. plotpy/images/markers/triangle_u.png +0 -0
  115. plotpy/images/markers/xcross.png +0 -0
  116. plotpy/images/markerstyles/cross_marker.png +0 -0
  117. plotpy/images/markerstyles/horiz_marker.png +0 -0
  118. plotpy/images/markerstyles/vert_marker.png +0 -0
  119. plotpy/images/mask/mask_circle.png +0 -0
  120. plotpy/images/mask/mask_circle_outside.png +0 -0
  121. plotpy/images/mask/mask_rectangle.png +0 -0
  122. plotpy/images/mask/mask_rectangle_outside.png +0 -0
  123. plotpy/images/mask/mask_tool.png +0 -0
  124. plotpy/images/max.png +0 -0
  125. plotpy/images/min.png +0 -0
  126. plotpy/images/move.png +0 -0
  127. plotpy/images/none.png +0 -0
  128. plotpy/images/not_found.png +0 -0
  129. plotpy/images/on_curve.png +0 -0
  130. plotpy/images/patterns/bdiagpattern.png +0 -0
  131. plotpy/images/patterns/crosspattern.png +0 -0
  132. plotpy/images/patterns/dense1pattern.png +0 -0
  133. plotpy/images/patterns/dense2pattern.png +0 -0
  134. plotpy/images/patterns/dense3pattern.png +0 -0
  135. plotpy/images/patterns/dense4pattern.png +0 -0
  136. plotpy/images/patterns/dense5pattern.png +0 -0
  137. plotpy/images/patterns/dense6pattern.png +0 -0
  138. plotpy/images/patterns/dense7pattern.png +0 -0
  139. plotpy/images/patterns/diagcrosspattern.png +0 -0
  140. plotpy/images/patterns/fdiagpattern.png +0 -0
  141. plotpy/images/patterns/horpattern.png +0 -0
  142. plotpy/images/patterns/nobrush.png +0 -0
  143. plotpy/images/patterns/solidpattern.png +0 -0
  144. plotpy/images/patterns/verpattern.png +0 -0
  145. plotpy/images/plotpy-banner.svg +529 -0
  146. plotpy/images/plotpy-vertical.svg +529 -0
  147. plotpy/images/plotpy.svg +412 -0
  148. plotpy/images/point_selection.png +0 -0
  149. plotpy/images/print.png +0 -0
  150. plotpy/images/python.png +0 -0
  151. plotpy/images/quickview.png +0 -0
  152. plotpy/images/rectangular_select.png +0 -0
  153. plotpy/images/refresh.png +0 -0
  154. plotpy/images/save_all.png +0 -0
  155. plotpy/images/scales/lin_lin.png +0 -0
  156. plotpy/images/scales/lin_log.png +0 -0
  157. plotpy/images/scales/log_lin.png +0 -0
  158. plotpy/images/scales/log_log.png +0 -0
  159. plotpy/images/selection.png +0 -0
  160. plotpy/images/settings.png +0 -0
  161. plotpy/images/shape.png +0 -0
  162. plotpy/images/shapes/circle.png +0 -0
  163. plotpy/images/shapes/contour.png +0 -0
  164. plotpy/images/shapes/ellipse_shape.png +0 -0
  165. plotpy/images/shapes/freeform.png +0 -0
  166. plotpy/images/shapes/gtaxes.png +0 -0
  167. plotpy/images/shapes/marker.png +0 -0
  168. plotpy/images/shapes/oblique_rectangle.png +0 -0
  169. plotpy/images/shapes/point_shape.png +0 -0
  170. plotpy/images/shapes/polyline.png +0 -0
  171. plotpy/images/shapes/rectangle.png +0 -0
  172. plotpy/images/shapes/segment.png +0 -0
  173. plotpy/images/snapshot.png +0 -0
  174. plotpy/images/styles/dash.png +0 -0
  175. plotpy/images/styles/dashdot.png +0 -0
  176. plotpy/images/styles/dashdotdot.png +0 -0
  177. plotpy/images/styles/dot.png +0 -0
  178. plotpy/images/styles/solid.png +0 -0
  179. plotpy/images/trash.png +0 -0
  180. plotpy/images/trimage_lock.png +0 -0
  181. plotpy/images/trimage_unlock.png +0 -0
  182. plotpy/images/vcursor.png +0 -0
  183. plotpy/images/vflip.png +0 -0
  184. plotpy/images/xcursor.png +0 -0
  185. plotpy/images/xmax.png +0 -0
  186. plotpy/images/xmin.png +0 -0
  187. plotpy/images/xrange.png +0 -0
  188. plotpy/interfaces/__init__.py +22 -0
  189. plotpy/interfaces/items.py +508 -0
  190. plotpy/interfaces/panel.py +18 -0
  191. plotpy/interfaces/plotmanager.py +38 -0
  192. plotpy/io.py +800 -0
  193. plotpy/items/__init__.py +65 -0
  194. plotpy/items/annotation.py +872 -0
  195. plotpy/items/contour.py +189 -0
  196. plotpy/items/curve/__init__.py +5 -0
  197. plotpy/items/curve/base.py +565 -0
  198. plotpy/items/curve/errorbar.py +378 -0
  199. plotpy/items/grid.py +255 -0
  200. plotpy/items/histogram.py +216 -0
  201. plotpy/items/image/__init__.py +19 -0
  202. plotpy/items/image/base.py +1328 -0
  203. plotpy/items/image/filter.py +343 -0
  204. plotpy/items/image/image_items.py +856 -0
  205. plotpy/items/image/masked.py +747 -0
  206. plotpy/items/image/misc.py +753 -0
  207. plotpy/items/image/transform.py +628 -0
  208. plotpy/items/label.py +1064 -0
  209. plotpy/items/polygon.py +512 -0
  210. plotpy/items/shape/__init__.py +13 -0
  211. plotpy/items/shape/axis.py +314 -0
  212. plotpy/items/shape/base.py +287 -0
  213. plotpy/items/shape/ellipse.py +345 -0
  214. plotpy/items/shape/marker.py +507 -0
  215. plotpy/items/shape/point.py +94 -0
  216. plotpy/items/shape/polygon.py +445 -0
  217. plotpy/items/shape/range.py +253 -0
  218. plotpy/items/shape/rectangle.py +326 -0
  219. plotpy/items/shape/segment.py +132 -0
  220. plotpy/items/shape/svg.py +142 -0
  221. plotpy/locale/fr/LC_MESSAGES/plotpy.mo +0 -0
  222. plotpy/lutrange.py +67 -0
  223. plotpy/mandelbrot.cp310-win32.pyd +0 -0
  224. plotpy/mathutils/__init__.py +1 -0
  225. plotpy/mathutils/_cm.py +7101 -0
  226. plotpy/mathutils/arrayfuncs.py +74 -0
  227. plotpy/mathutils/colormap.py +182 -0
  228. plotpy/mathutils/geometry.py +260 -0
  229. plotpy/mathutils/scaler.py +61 -0
  230. plotpy/panels/__init__.py +7 -0
  231. plotpy/panels/base.py +75 -0
  232. plotpy/panels/contrastadjustment.py +563 -0
  233. plotpy/panels/csection/__init__.py +17 -0
  234. plotpy/panels/csection/csitem.py +454 -0
  235. plotpy/panels/csection/csplot.py +448 -0
  236. plotpy/panels/csection/cswidget.py +399 -0
  237. plotpy/panels/itemlist.py +281 -0
  238. plotpy/plot/__init__.py +14 -0
  239. plotpy/plot/base.py +2327 -0
  240. plotpy/plot/interactive.py +837 -0
  241. plotpy/plot/manager.py +784 -0
  242. plotpy/plot/plotwidget.py +1001 -0
  243. plotpy/pyplot.py +104 -0
  244. plotpy/styles/__init__.py +78 -0
  245. plotpy/styles/axes.py +143 -0
  246. plotpy/styles/base.py +610 -0
  247. plotpy/styles/curve.py +73 -0
  248. plotpy/styles/errorbar.py +50 -0
  249. plotpy/styles/histogram.py +106 -0
  250. plotpy/styles/image.py +545 -0
  251. plotpy/styles/label.py +256 -0
  252. plotpy/styles/shape.py +351 -0
  253. plotpy/tests/__init__.py +35 -0
  254. plotpy/tests/benchmarks/__init__.py +0 -0
  255. plotpy/tests/benchmarks/test_benchmarks.py +152 -0
  256. plotpy/tests/benchmarks/test_bigimages.py +38 -0
  257. plotpy/tests/benchmarks/test_loadtest.py +89 -0
  258. plotpy/tests/conftest.py +6 -0
  259. plotpy/tests/data/brain.png +0 -0
  260. plotpy/tests/data/brain_cylinder.png +0 -0
  261. plotpy/tests/data/mr-brain.dcm +0 -0
  262. plotpy/tests/data/svg_target.svg +42 -0
  263. plotpy/tests/data/svg_tool.svg +55 -0
  264. plotpy/tests/data.py +166 -0
  265. plotpy/tests/features/__init__.py +0 -0
  266. plotpy/tests/features/test_auto_curve_image.py +34 -0
  267. plotpy/tests/features/test_autoscale_shapes.py +95 -0
  268. plotpy/tests/features/test_builder.py +50 -0
  269. plotpy/tests/features/test_computations.py +50 -0
  270. plotpy/tests/features/test_contrast.py +49 -0
  271. plotpy/tests/features/test_cursors.py +36 -0
  272. plotpy/tests/features/test_dicom_image.py +45 -0
  273. plotpy/tests/features/test_fit.py +34 -0
  274. plotpy/tests/features/test_image_coords.py +45 -0
  275. plotpy/tests/features/test_imagefilter.py +55 -0
  276. plotpy/tests/features/test_imagesuperp.py +52 -0
  277. plotpy/tests/features/test_loadsaveitems_hdf5.py +45 -0
  278. plotpy/tests/features/test_loadsaveitems_json.py +59 -0
  279. plotpy/tests/features/test_loadsaveitems_pickle.py +210 -0
  280. plotpy/tests/features/test_manager.py +79 -0
  281. plotpy/tests/features/test_no_auto_tools.py +30 -0
  282. plotpy/tests/features/test_plot_log.py +32 -0
  283. plotpy/tests/features/test_plot_types.py +41 -0
  284. plotpy/tests/features/test_plot_yreverse.py +32 -0
  285. plotpy/tests/features/test_pyplot.py +87 -0
  286. plotpy/tests/features/test_resize.py +28 -0
  287. plotpy/tests/items/__init__.py +0 -0
  288. plotpy/tests/items/test_annotations.py +39 -0
  289. plotpy/tests/items/test_curves.py +49 -0
  290. plotpy/tests/items/test_hist2d.py +79 -0
  291. plotpy/tests/items/test_histogram.py +32 -0
  292. plotpy/tests/items/test_image.py +30 -0
  293. plotpy/tests/items/test_image_contour.py +38 -0
  294. plotpy/tests/items/test_image_masked.py +49 -0
  295. plotpy/tests/items/test_image_masked_xy.py +48 -0
  296. plotpy/tests/items/test_image_rgb.py +27 -0
  297. plotpy/tests/items/test_image_xy.py +31 -0
  298. plotpy/tests/items/test_mandelbrot.py +85 -0
  299. plotpy/tests/items/test_pcolor.py +86 -0
  300. plotpy/tests/items/test_polygons.py +85 -0
  301. plotpy/tests/items/test_svgshapes.py +31 -0
  302. plotpy/tests/items/test_transform.py +217 -0
  303. plotpy/tests/tools/__init__.py +0 -0
  304. plotpy/tests/tools/test_actiontool.py +48 -0
  305. plotpy/tests/tools/test_cross_section.py +45 -0
  306. plotpy/tests/tools/test_cross_section_oblique.py +67 -0
  307. plotpy/tests/tools/test_customize_shape_tool.py +72 -0
  308. plotpy/tests/tools/test_get_point.py +65 -0
  309. plotpy/tests/tools/test_get_rectangle.py +37 -0
  310. plotpy/tests/tools/test_get_rectangle_with_svg.py +54 -0
  311. plotpy/tests/tools/test_get_segment.py +63 -0
  312. plotpy/tests/tools/test_image_plot_tools.py +87 -0
  313. plotpy/tests/unit/__init__.py +0 -0
  314. plotpy/tests/unit/test_baseplot.py +64 -0
  315. plotpy/tests/unit/test_builder_annotation.py +88 -0
  316. plotpy/tests/unit/test_builder_curve.py +150 -0
  317. plotpy/tests/unit/test_builder_image.py +114 -0
  318. plotpy/tests/unit/test_builder_shape.py +66 -0
  319. plotpy/tests/unit/test_contour.py +61 -0
  320. plotpy/tests/unit/test_fontparam.py +21 -0
  321. plotpy/tests/unit/test_geometry.py +89 -0
  322. plotpy/tests/unit/test_highprecisionxy.py +33 -0
  323. plotpy/tests/unit/test_io.py +124 -0
  324. plotpy/tests/unit/test_line.py +61 -0
  325. plotpy/tests/unit/test_plot_curve.py +79 -0
  326. plotpy/tests/unit/test_plot_image.py +143 -0
  327. plotpy/tests/unit/test_seg_dist.py +30 -0
  328. plotpy/tests/unit/test_styles.py +99 -0
  329. plotpy/tests/unit/test_tools_export.py +33 -0
  330. plotpy/tests/vistools.py +50 -0
  331. plotpy/tests/widgets/__init__.py +0 -0
  332. plotpy/tests/widgets/test_dotarraydemo.py +206 -0
  333. plotpy/tests/widgets/test_filtertest1.py +93 -0
  334. plotpy/tests/widgets/test_filtertest2.py +115 -0
  335. plotpy/tests/widgets/test_fliprotate.py +74 -0
  336. plotpy/tests/widgets/test_plot_timecurve.py +419 -0
  337. plotpy/tests/widgets/test_qtdesigner.py +51 -0
  338. plotpy/tests/widgets/test_qtdesigner.ui +33 -0
  339. plotpy/tests/widgets/test_resize_dialog.py +65 -0
  340. plotpy/tests/widgets/test_rotatecrop.py +94 -0
  341. plotpy/tests/widgets/test_simple_dialog.py +115 -0
  342. plotpy/tests/widgets/test_simple_window.py +268 -0
  343. plotpy/tests/widgets/test_syncplot.py +93 -0
  344. plotpy/tools/__init__.py +85 -0
  345. plotpy/tools/annotation.py +95 -0
  346. plotpy/tools/axes.py +106 -0
  347. plotpy/tools/base.py +452 -0
  348. plotpy/tools/cross_section.py +134 -0
  349. plotpy/tools/cursor.py +140 -0
  350. plotpy/tools/curve.py +329 -0
  351. plotpy/tools/image.py +911 -0
  352. plotpy/tools/item.py +231 -0
  353. plotpy/tools/label.py +99 -0
  354. plotpy/tools/misc.py +342 -0
  355. plotpy/tools/plot.py +214 -0
  356. plotpy/tools/selection.py +171 -0
  357. plotpy/tools/shape.py +329 -0
  358. plotpy/widgets/__init__.py +1 -0
  359. plotpy/widgets/about.py +65 -0
  360. plotpy/widgets/basetransform.py +308 -0
  361. plotpy/widgets/fit.py +999 -0
  362. plotpy/widgets/fliprotate.py +266 -0
  363. plotpy/widgets/imagefile.py +183 -0
  364. plotpy/widgets/qtdesigner.py +176 -0
  365. plotpy/widgets/resizedialog.py +167 -0
  366. plotpy/widgets/rotatecrop.py +252 -0
  367. plotpy/widgets/selectdialog.py +179 -0
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2023, CEA-Codra, Pierre Raybaut.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,155 @@
1
+ Metadata-Version: 2.1
2
+ Name: PlotPy
3
+ Version: 2.0.0
4
+ Summary: Curve and image plotting tools for Python/Qt applications
5
+ Author-email: Codra <p.raybaut@codra.fr>
6
+ License: BSD 3-Clause License
7
+
8
+ Copyright (c) 2023, CEA-Codra, Pierre Raybaut.
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ 1. Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+
17
+ 2. Redistributions in binary form must reproduce the above copyright notice,
18
+ this list of conditions and the following disclaimer in the documentation
19
+ and/or other materials provided with the distribution.
20
+
21
+ 3. Neither the name of the copyright holder nor the names of its
22
+ contributors may be used to endorse or promote products derived from
23
+ this software without specific prior written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
+
36
+ Project-URL: Homepage, https://github.com/PlotPyStack/plotpy/
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
49
+ Classifier: Programming Language :: Python :: 3.8
50
+ Classifier: Programming Language :: Python :: 3.9
51
+ Classifier: Programming Language :: Python :: 3.10
52
+ Classifier: Programming Language :: Python :: 3.11
53
+ Classifier: Programming Language :: Python :: 3.12
54
+ Requires-Python: <4,>=3.8
55
+ Description-Content-Type: text/markdown
56
+ License-File: LICENSE
57
+ Requires-Dist: guidata (>=3.1)
58
+ Requires-Dist: PythonQwt (>=0.10)
59
+ Requires-Dist: NumPy (>=1.17)
60
+ Requires-Dist: SciPy (>=1.3)
61
+ Requires-Dist: Pillow
62
+ Requires-Dist: tifffile
63
+ Provides-Extra: dev
64
+ Requires-Dist: black ; extra == 'dev'
65
+ Requires-Dist: isort ; extra == 'dev'
66
+ Requires-Dist: pylint ; extra == 'dev'
67
+ Requires-Dist: Coverage ; extra == 'dev'
68
+ Requires-Dist: Cython ; extra == 'dev'
69
+ Provides-Extra: doc
70
+ Requires-Dist: PyQt5 ; extra == 'doc'
71
+ Requires-Dist: sphinx ; extra == 'doc'
72
+ Requires-Dist: sphinx-copybutton ; extra == 'doc'
73
+ Requires-Dist: sphinx-qt-documentation ; extra == 'doc'
74
+ Requires-Dist: python-docs-theme ; extra == 'doc'
75
+ Provides-Extra: test
76
+ Requires-Dist: pytest ; extra == 'test'
77
+ Requires-Dist: pytest-cov ; extra == 'test'
78
+ Requires-Dist: pytest-qt ; extra == 'test'
79
+ Requires-Dist: pytest-xvfb ; extra == 'test'
80
+
81
+ # PlotPy: Curve and image plotting tools for Python/Qt applications
82
+
83
+ [![pypi version](https://img.shields.io/pypi/v/plotpy.svg)](https://pypi.org/project/plotpy/)
84
+ [![PyPI status](https://img.shields.io/pypi/status/plotpy.svg)](https://github.com/PlotPyStack/plotpy/)
85
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/plotpy.svg)](https://pypi.python.org/pypi/plotpy/)
86
+ [![download count](https://img.shields.io/conda/dn/conda-forge/plotpy.svg)](https://www.anaconda.com/download/)
87
+
88
+ ℹ️ Created in 2016 by [Pierre Raybaut](https://github.com/PierreRaybaut) and maintained by the [PlotPyStack](https://github.com/PlotPyStack) organization.
89
+
90
+ ℹ️ PlotPy ***V2*** is the new major release of [`guiqwt`](https://github.com/PierreRaybaut/guiqwt): same team 🏋️, same goal 🎯, same long-term support ⏳.
91
+
92
+ ## Overview
93
+
94
+ `plotpy` is is a Python library providing efficient 2D data-plotting features
95
+ for interactive computing and signal/image processing application development.
96
+ It is part of the [PlotPyStack](https://github.com/PlotPyStack) project, aiming at
97
+ providing a unified framework for creating scientific GUIs with Python and Qt.
98
+
99
+ `plotpy` is based on:
100
+
101
+ * [Python](http://www.python.org) language and [Qt](https://doc.qt.io/) GUI toolkit (via [PySide](https://doc.qt.io/qtforpython-6/) or [PyQt](http://www.riverbankcomputing.co.uk/software/pyqt/intro))
102
+ * [guidata](https://pypi.python.org/pypi/guidata) automatic GUI generation library
103
+ * [PythonQwt](https://pypi.python.org/pypi/PythonQwt) plotting widgets library
104
+ * [NumPy](https://pypi.python.org/pypi/NumPy) and [SciPy](https://pypi.python.org/pypi/SciPy) scientific computing libraries
105
+
106
+ <img src="https://raw.githubusercontent.com/PlotPyStack/plotpy/master/doc/images/panorama.png">
107
+
108
+ See [documentation](https://plotpy.readthedocs.io/en/latest/) for more details on
109
+ the library and [changelog](CHANGELOG.md) for recent history of changes.
110
+
111
+ Copyrights and licensing:
112
+
113
+ * Copyright © 2023 [CEA](https://www.cea.fr), [Codra](https://codra.net/), [Pierre Raybaut](https://github.com/PierreRaybaut).
114
+ * Licensed under the terms of the BSD 3-Clause (see [LICENSE](LICENSE)).
115
+
116
+ ## Features
117
+
118
+ The `plotpy` library also provides the following features.
119
+
120
+ General plotting features:
121
+
122
+ * Ready-to-use [plot widgets and dialog boxes](https://plotpy.readthedocs.io/en/latest/features/plot/index.html)
123
+ * [pyplot](https://plotpy.readthedocs.io/en/latest/features/pyplot.html): interactive
124
+ plotting widgets, equivalent to `matplotlib.pyplot`, at least for the implemented functions
125
+ * Supported [plot items](https://plotpy.readthedocs.io/en/latest/features/items/index.html):
126
+ curves, images, contours, histograms, labels, shapes, annotations, ...
127
+
128
+ Interactive features (i.e. not only programmatic plotting but also with mouse/keyboard):
129
+
130
+ * Multiple object selection for moving objects or editing their properties through
131
+ automatically generated dialog boxes
132
+ * Item list panel: move objects from foreground to background, show/hide objects,
133
+ remove objects, ...
134
+ * Customizable aspect ratio for images
135
+ * Tons of ready-to-use tools: plot canvas export to image file, image snapshot,
136
+ interval selection, image rectangular filter, etc.
137
+ * Curve fitting tool with automatic fit, manual fit with sliders, ...
138
+ * Contrast adjustment panel for images: select the LUT by moving a range selection
139
+ object on the image levels histogram, eliminate outliers, ...
140
+ * X-axis and Y-axis cross-sections: support for multiple images, average
141
+ cross-section tool on a rectangular area, ...
142
+ * Apply any affine transform to displayed images in real-time (rotation,
143
+ magnification, translation, horizontal/vertical flip, ...)
144
+
145
+ Application development helpers:
146
+
147
+ * Ready-to-use [plot widgets and dialog boxes](https://plotpy.readthedocs.io/en/latest/features/plot/index.html)
148
+ * Load/save graphical objects (curves, images, shapes) into HDF5, JSON or INI files
149
+ * A lot of test scripts which demonstrate `plotpy` features
150
+ (see [examples](https://plotpy.readthedocs.io/en/latest/intro/examples.html))
151
+
152
+ ## Dependencies and installation
153
+
154
+ See [Installation](https://plotpy.readthedocs.io/en/latest/intro/installation.html)
155
+ section in the documentation for more details.
@@ -0,0 +1,367 @@
1
+ plotpy/__init__.py,sha256=ELp2ehgnVJhybRYShc_aF0VZT_xWs1v9hw2BkuWxt5o,1049
2
+ plotpy/_scaler.cp310-win32.pyd,sha256=7aGFS_kEsoFoYZ1Tm1muRGJ0fsI98bTZStwNy88emhk,370176
3
+ plotpy/config.py,sha256=nGMaZgkkBcUNck72AgQ9Ab_I6pZHj77u-vopoCr0KE8,34177
4
+ plotpy/constants.py,sha256=GtL0K2p78jLqFHmolBbH0rWl9qfhT9gaIuT0qcNmslI,3711
5
+ plotpy/contour2d.cp310-win32.pyd,sha256=vLwhGWa1UWvh-Vyq_rU_llofYIyLM6_TPMqa7WIE7B8,177664
6
+ plotpy/coords.py,sha256=Mu3B8nIH6UaqR-EdKKcAsR9gi-75hFCU3Gu0v58oQYg,2405
7
+ plotpy/events.py,sha256=qoKIQ6dKlXnQRsgIi5h_Na2tK1am1z2kfzUuRps0_YY,29680
8
+ plotpy/histogram2d.cp310-win32.pyd,sha256=5GXqCZPhiAzDtg97U8RpaX_tD4gSnb8dNJwxwfDHMOM,56832
9
+ plotpy/io.py,sha256=f1yA22mOiY8gAAUFSBvxbP5LTGhw2f6ycFPC_2x5rBo,25448
10
+ plotpy/lutrange.py,sha256=xitFaoHWq8dhfMBdFxs0e7vljMm1QP-xgpbl02ut8eg,1938
11
+ plotpy/mandelbrot.cp310-win32.pyd,sha256=AhWhQ6cUB24g9ZoCLCGHs6Eb5Cr0xZ5JaPkDRyiT8yw,34304
12
+ plotpy/pyplot.py,sha256=c6b2fvHVj7gq302BrK11zx19YL8R7XPbOv5kkIVhuLk,2744
13
+ plotpy/builder/__init__.py,sha256=RiDA8OQpqaowTKeA93yv3IF15JH-DhO9ScwCnr8aVR8,1114
14
+ plotpy/builder/annotation.py,sha256=0w7SDM-p8WCyuLBU6XbSX-pKXifTqLrgkp0lxBrFY_Y,13005
15
+ plotpy/builder/curvemarker.py,sha256=Y-cSW1A_j66pyW_7LE93vjK1bbnvNBsJaYcEcX0z0ww,30648
16
+ plotpy/builder/image.py,sha256=ESw0_U8yACY9Wowy2XrtrAMr6PU2iuyF3AgaLphI4rY,33651
17
+ plotpy/builder/label.py,sha256=ZIdBCOE_knl9oHo9L1Xew7TtyQAgK1RzacEQxcxM158,10062
18
+ plotpy/builder/plot.py,sha256=In18JMyiPEYFbz16DKAc1oRf6e8mtlZN5RVZf_5zCPs,17139
19
+ plotpy/builder/shape.py,sha256=PoRuyrWhqNqxViKuoLQiL3gY5uhVEBTuwZd4qqY1MXc,5915
20
+ plotpy/images/apply.png,sha256=CmfN5Fq-C9cg1FxE5lm4Q1rFt-zqbGWAp3qgEC-ITw8,595
21
+ plotpy/images/arredit.png,sha256=h_eocEe45wbhFj4S8Fl1lYqwOFb2JR3pzg9H3J8zO3c,897
22
+ plotpy/images/arrow_down.png,sha256=MgN2PpOJcgvRDvzYZ8NYvVDz46t961dP_SFVdi9ydF0,637
23
+ plotpy/images/arrow_up.png,sha256=pJABPZK5xZAb44hdFBerrzz0JsLBQGksbqD80D7DQK8,638
24
+ plotpy/images/autorefresh.png,sha256=ebdKBfMtf7Chk7o-VfBc2jEL3w25niViq1bjvcP7Ruo,868
25
+ plotpy/images/autoscale.png,sha256=5Y-HRdzgfRLroBoGJJ-k89S4S4j_sJehSs8l8WNNTeI,1012
26
+ plotpy/images/axes.png,sha256=ovM_RXhvq21z8ukIMA9P3KD08hJHc6XLVmjpCnIcMks,513
27
+ plotpy/images/busy.png,sha256=68f7Q9L4mELlaGGHJ5YTQrdzqInsOf3ktuRDnkOirHY,474
28
+ plotpy/images/cell_edit.png,sha256=_5Igv562xsf-UTKjzkkyJvgCA6lU-sqGsXsg2kcEYRk,478
29
+ plotpy/images/center.png,sha256=MqNH5kWD9Bhs-3l-BdG4WTYGnrc95mxIdYp99h6nAz4,346
30
+ plotpy/images/contrast.png,sha256=3u2NBGqxd9HEXPsLWKj1bBI-CIrZ0806tLehouVMmzg,316
31
+ plotpy/images/copy.png,sha256=Oxxrv1U-EJ6gPFOZ-icPlGggayeF4NW3HNhYLSlDQRM,620
32
+ plotpy/images/copytoclipboard.png,sha256=b7dVzbcCFxxvd2h7ceuGMZcPZmVEsMu0dwqacO_5YUY,979
33
+ plotpy/images/csapplylut.png,sha256=-cf7s4-A__pVC5Xg8VmKwO_3xLgmi6y0tyb36iMR2zg,705
34
+ plotpy/images/csautoscale.png,sha256=gr0FDKNZRX2KMVORD9yCgIbeZmGHROkDF0Yhtlmutx4,178
35
+ plotpy/images/csection.png,sha256=__pLdNrjZBWCXCNU7VRkm4q_It48feF5BnWoUVOBTWI,346
36
+ plotpy/images/csection_a.png,sha256=cDO5cb_AgLzkrrRh4hcGOgGFHCQDyByaMVqgPE5YSmA,310
37
+ plotpy/images/csection_oblique.png,sha256=J9jYNXeisysjbrVrj9ZTkR7u6rlXfV5TRiVeZT3gnTM,711
38
+ plotpy/images/csperimage.png,sha256=F8oaPtkdNAM53genpGSTiSNMoATJHJ8Ejp2KG4yr8dI,160
39
+ plotpy/images/delete.png,sha256=YWcjT69WFbpYrNCRwWXIevPpuHbLD55dCNovG52WEBE,496
40
+ plotpy/images/edit.png,sha256=krQGbGHv77sqcUW11uDEtrsEz46wAWQylC7_mws6wi0,718
41
+ plotpy/images/eliminate_outliers.png,sha256=lCtSmFrVtf9wlz4ThpEvGPccg5uxv4Ri4xTcMSPjAiQ,183
42
+ plotpy/images/eraser.png,sha256=ar_brb7qFO9BO94IA6C0s_aGBsqL8tmUn_HluvprNws,671
43
+ plotpy/images/exit.png,sha256=ndNk16u1-G0L0VlRVu_QY5fKTVrEVgSbBiyxb6HDYrA,974
44
+ plotpy/images/expander_down.png,sha256=4GhjletyxIqAuYE1u--j_3WHZo7jXNauZ_XcmzLOmpE,191
45
+ plotpy/images/expander_right.png,sha256=STNeA-Eowx_UQ8dsHioSw5WOjRbR-hpX6hMVozAjOX8,184
46
+ plotpy/images/export.png,sha256=J9Vzsb1W13K6yYVHHI6gpYW6dMVtBrTFGGb0YOYtk6Q,861
47
+ plotpy/images/file.png,sha256=el-TjF2sNwqYJnNPEatH539zpjDzkQOMDsIs1iXN1Zg,304
48
+ plotpy/images/fileclose.png,sha256=dLNuDbXVw7Bs-tGZx8I6RnwoKp6wHbUsnT0elB2qSLE,1213
49
+ plotpy/images/fileimport.png,sha256=FbqohZUqzzmufSONqwXzf5bDe1rbQ6HvDoB9DVSuNN4,1383
50
+ plotpy/images/filenew.png,sha256=B8WHvi9N30lBgwg-2oo8xKsPhAgYw-o_6_-vMNUUzYw,271
51
+ plotpy/images/fileopen.png,sha256=IUmINO3NQNi711CgTjxnTPkbJ7vt3842pTy2rDVcaS0,1349
52
+ plotpy/images/filesave.png,sha256=2IFSj61WWSR8NdtE8vev9RifSfV1oAYoizZRK_CPMwE,970
53
+ plotpy/images/filesaveas.png,sha256=QeH1PPdY2QzthTiTEcjd334GuXkcoLjft_kJ-51ESxo,1264
54
+ plotpy/images/font.png,sha256=50KRFpmHdBT3bZRGHMDUG5ufGRw19Eik_q9TBCmpYp4,244
55
+ plotpy/images/full_range.png,sha256=4XWfR9IuLolBLxqMSV7kq9KTVrPf8wlXST5Enfu_eac,185
56
+ plotpy/images/funct.png,sha256=0PUREM6wdp7wDZHLDKaI65ZJAON6aTQTVjUieKwVrlE,922
57
+ plotpy/images/hcursor.png,sha256=TsWH6WTi2HkmdJaTXyTd4DwN6YXwsJMeUQhUuWt29ys,151
58
+ plotpy/images/hflip.png,sha256=_3G2CuT9nt-gvGkLPQLguSOKWhVpNKR1Hg2DmlbPC7s,433
59
+ plotpy/images/imagestats.png,sha256=dTka4oZEJTY8XBfGfIecDTj9AiPKxrIvnwmJ_j5fqK0,793
60
+ plotpy/images/item_list.png,sha256=LLUyAwvx-IhWTeIsxwOdKRKoxM4bjk71VU_-5S6cEYA,437
61
+ plotpy/images/magnifier.png,sha256=MbsVHj17fMjrO23gC_eTqGJOES2ZBGBJ0XpNFeMZYYo,673
62
+ plotpy/images/max.png,sha256=H3CFNMwyNYCxWxxTh0z1Y3DhoSipYnETT5MMPPuePOk,130
63
+ plotpy/images/min.png,sha256=Yri7Llfv6Lbn-dlOZNCONbFlo3UcGtRv7wKR7dlEpgg,125
64
+ plotpy/images/move.png,sha256=7wrmHanJhGuGceJlxuiox7Myod3FBA4y4TBrcuRTGJQ,132
65
+ plotpy/images/none.png,sha256=Cgqj82AbBl2rE_7SVGKRrRwQHTQLoRDQtdruIp1BP5s,83
66
+ plotpy/images/not_found.png,sha256=g7qQzL_-fM_KNYI1TKjSVTTJsf_k1oflZotMbjCZIX8,284
67
+ plotpy/images/on_curve.png,sha256=GLxOTF6bz8NeCBtGITpzVqE_CfUHmc3bEaqlMmZoXg8,397
68
+ plotpy/images/plotpy-banner.svg,sha256=oYt7FYZJXK4NNJ9G3xxsk1uh3jyJilAJQFy1CD5iouo,17636
69
+ plotpy/images/plotpy-vertical.svg,sha256=O4rhe8PH0lMVNei15inK37lzKV0ysWkor7U9j0cZQFQ,17614
70
+ plotpy/images/plotpy.svg,sha256=Buf_Wuj1IF9_g6dcnkG3zKtGVIiRZFfAbTY3YOJMo-0,16339
71
+ plotpy/images/point_selection.png,sha256=eOrJztOFlAK4OPpM_TeyIRee4E4CBeAV8m9VQPclq8M,216
72
+ plotpy/images/print.png,sha256=Y_nlMh61JNpCNCsOhLbtHtWczt7DxMtXSKwV40qAEUo,723
73
+ plotpy/images/python.png,sha256=2MtU1LL8JZQ0-pGPEkbUKoPwtS0u98Kof09OuBGSUoY,697
74
+ plotpy/images/quickview.png,sha256=lW6cZ2wxdQ2fjlLsbTKBgkRD4O_UoUnBnPc67fHigBA,677
75
+ plotpy/images/rectangular_select.png,sha256=7nZ8IoiqViVUsmrmnvNF88poUqk653GJGE6Oz5QVUGo,823
76
+ plotpy/images/refresh.png,sha256=1DvAqAgmUKted8gf0dNs9ZErEcAskYyKlA8RVJcqcr4,740
77
+ plotpy/images/save_all.png,sha256=5HAFB6Oa0t4ygwYZLkNfeUrU2KqIrIXTbfh6gwUEqu8,1428
78
+ plotpy/images/selection.png,sha256=qT3l9hsemoViXdRKUe6GFblsLGTF51d4LEX7pYoA3Qo,518
79
+ plotpy/images/settings.png,sha256=y9NqaBkXFOdtSFF8ibrlWEPwAZWxvDXpJltiFwP8zkU,851
80
+ plotpy/images/shape.png,sha256=8nybgbRnLnBW1LX7xCIuPD6_A-tR_LLRr8eDZ-NITBs,135
81
+ plotpy/images/snapshot.png,sha256=PhT4Rqfg-GIGfwmycfR21w8iKAWIfGRst010bfGxg4I,1150
82
+ plotpy/images/trash.png,sha256=KF1Cj9n8tX4LpTHLw4J-S-AYbyTZAha9RCOfbuxW1qs,236
83
+ plotpy/images/trimage_lock.png,sha256=f0favII9CYCvkDc3dDCxsK-x15YQWEkFs1yI2Zbb3xE,932
84
+ plotpy/images/trimage_unlock.png,sha256=l6zJbXnn4YqMsudg7-Xjy_vCWXgzcK2Dc1LpJUIRzgc,958
85
+ plotpy/images/vcursor.png,sha256=7t5hE0sjBc_4MVpkSu2nkCV6-w5toGwfBCbirpcvsuI,159
86
+ plotpy/images/vflip.png,sha256=kKc2Akz9p6bzf2KvnfzgiY1UsPaAB04e2aE24koqWCo,432
87
+ plotpy/images/xcursor.png,sha256=xTq-UlPmxoAYrVr_PEn4NDr5Ry6Q5MxbqZVgWOchNic,127
88
+ plotpy/images/xmax.png,sha256=G7b8ZIkZQc6SSRmuUEN3-rOZlsrK7eVBb5r6CxZ1VxE,128
89
+ plotpy/images/xmin.png,sha256=V7v_YIKfFbDQVbTbAH-KrocxqbWXJbM4vAgB59TGrwQ,127
90
+ plotpy/images/xrange.png,sha256=sJj8ff9unEH91PMWsHOIihVH_tgePVeqUmlEA_Ogj6o,170
91
+ plotpy/images/curvestyles/dots.png,sha256=gzb_OUbaNNbGc0wvKnDqXckMhAboJS89eNRUnm3t2bY,121
92
+ plotpy/images/curvestyles/lines.png,sha256=LqP0iKkLAujksYoGsPJTapUtqczQyLWm9UzstdnNwts,164
93
+ plotpy/images/curvestyles/steps.png,sha256=94jB1wlme8Vx_sYQsRdZjfCWpD29OC0k-pzlWp4atbw,136
94
+ plotpy/images/curvestyles/sticks.png,sha256=-RDt9x74Z20QupfcQ5FB4MhJxmviFO_tvy6vAF7WseE,187
95
+ plotpy/images/curvetypes/xfy.png,sha256=aamBsF0PcZz8MsWWe6bKer2UJOtJJG-mcDrAuRUjBsk,322
96
+ plotpy/images/curvetypes/yfx.png,sha256=Hvsbu9BVIUaLcvO5RASe8B87RZjHe8I7z8jWTgiTjPY,322
97
+ plotpy/images/editors/edit.png,sha256=krQGbGHv77sqcUW11uDEtrsEz46wAWQylC7_mws6wi0,718
98
+ plotpy/images/editors/edit_add.png,sha256=BLjb4DJUP4ZaOvE3_FZybGuQGj0nXXuT19pNwPkC77c,790
99
+ plotpy/images/editors/editcopy.png,sha256=160kEaf-B4tAMvPEnH3nowMdB4o-TQ3dmVRujctGjmk,837
100
+ plotpy/images/editors/editdelete.png,sha256=uE9UFrshAOQs5rKnUEr4rLuyKVXEqdYKRdyYvfbjg-0,1242
101
+ plotpy/images/editors/editpaste.png,sha256=IWmopB3LT8FitGi853e-xb79zcjb-VnKbgVfgQT2O0w,1084
102
+ plotpy/images/editors/fileimport.png,sha256=-KHt-6Ju_60n5DcAVwRtV8Mgz4JnYZILHJ_jrpZJ7-M,2065
103
+ plotpy/images/editors/filesave.png,sha256=2IFSj61WWSR8NdtE8vev9RifSfV1oAYoizZRK_CPMwE,970
104
+ plotpy/images/editors/imshow.png,sha256=STaFTU7fqVaCHTtRZizLaFismbdVGM5nOsNmHjYawbE,516
105
+ plotpy/images/editors/insert.png,sha256=auH_Bhgk_wcDRibteqqiCKfzIziveZAK4QQAayP-WFo,314
106
+ plotpy/images/editors/plot.png,sha256=9h6PKzddDPmG-pYqo2JDeu7GghT2mq1fVS3pbAeF4hs,304
107
+ plotpy/images/editors/rename.png,sha256=_5Igv562xsf-UTKjzkkyJvgCA6lU-sqGsXsg2kcEYRk,478
108
+ plotpy/images/filetypes/doc.png,sha256=5go8fT2ap6T24FNr_7-_Rl18esvkJGKc9ByieUI1K2w,1389
109
+ plotpy/images/filetypes/gif.png,sha256=ofBsyZSgLMMeuZ2-XOliLp36eJLpeJdNDwEuLYxUNxk,1319
110
+ plotpy/images/filetypes/html.png,sha256=1m9fTwTYolO_4cgXpNnNbUKaKAZUCXBxo8iFRN1Rzts,1658
111
+ plotpy/images/filetypes/jpg.png,sha256=ofBsyZSgLMMeuZ2-XOliLp36eJLpeJdNDwEuLYxUNxk,1319
112
+ plotpy/images/filetypes/pdf.png,sha256=clwmRNioGvo5ywUSLE4_0U_87hFgB4nOKAug27_AgwI,1352
113
+ plotpy/images/filetypes/png.png,sha256=ofBsyZSgLMMeuZ2-XOliLp36eJLpeJdNDwEuLYxUNxk,1319
114
+ plotpy/images/filetypes/pps.png,sha256=tMuIbcf3IHHszhzGIO0WDJ8VMvplsrTAj1d-_YHP-9A,1226
115
+ plotpy/images/filetypes/ps.png,sha256=EHiVtlydSNNYy8ETvxqsA3hok9gyd_ZBDhpWQjLD1WE,1217
116
+ plotpy/images/filetypes/tar.png,sha256=Y4EBRE8OCF2rOvZ_viR6XdzPbeJc5ZEs_IOY1C14Pvk,1385
117
+ plotpy/images/filetypes/tgz.png,sha256=Y4EBRE8OCF2rOvZ_viR6XdzPbeJc5ZEs_IOY1C14Pvk,1385
118
+ plotpy/images/filetypes/tif.png,sha256=ofBsyZSgLMMeuZ2-XOliLp36eJLpeJdNDwEuLYxUNxk,1319
119
+ plotpy/images/filetypes/txt.png,sha256=4hTW32cCe3HeeMynhKL8oGw5wbGLQG702looC6CQWNk,1609
120
+ plotpy/images/filetypes/xls.png,sha256=cAGdjtlnLcPdsY1tNPCYwrFjak-okJ-S8GRzcYqcHrw,1026
121
+ plotpy/images/filetypes/zip.png,sha256=Y4EBRE8OCF2rOvZ_viR6XdzPbeJc5ZEs_IOY1C14Pvk,1385
122
+ plotpy/images/items/annotation.png,sha256=SJ6boNxk-dC2mXVgEKZgu_XAGB1rkcHXbDnInH6sKrI,687
123
+ plotpy/images/items/curve.png,sha256=mOQxAxsKOgOM-kVuLyimUepEjGB_8H5XDAKWPfX4RQI,305
124
+ plotpy/images/items/errorbar.png,sha256=4-uuno6KcibEx-3OoGuq6ngLGiYeIZ1VSsSxMuPMMVc,172
125
+ plotpy/images/items/grid.png,sha256=QyVpRsxxZh9sKqgWqKWiVhWudO5seC3ekOKrm7fxmJQ,120
126
+ plotpy/images/items/histogram.png,sha256=WwNTyKtaYgJznKEHe7lETHe_uJr63D_hwwfjBPqOSEg,140
127
+ plotpy/images/items/histogram2d.png,sha256=t3awVxnWMp1fzrb6nweJvRxSza97hjLPWb-dc9hHCPk,857
128
+ plotpy/images/items/image.png,sha256=AJbOqW-xNkGMBEFCYMWFh0cylSjsqZsnlujKxFMbPn0,852
129
+ plotpy/images/items/label.png,sha256=at5xCek1yWbTk49yNWTQ_QJWbh21zdAjmIuU5niU9M4,531
130
+ plotpy/images/items/legend.png,sha256=6zFvXdZoL3f31jPNRBiFnbcI19r1uSVR6zv3kW8e-VE,317
131
+ plotpy/images/markers/cross.png,sha256=783tjFKmnvKdLEv6LK-vpQJWG26gqw3jkJBwsB-YE04,123
132
+ plotpy/images/markers/diamond.png,sha256=TUjl60SjjCw-BkJe1UlqAB0l18sNz8dVi60LVCYSZek,194
133
+ plotpy/images/markers/ellipse.png,sha256=uRCCl1TmYXjW2l_J61tRFYbGFTatnRmpHUedEFuWxaM,241
134
+ plotpy/images/markers/hexagon.png,sha256=FYtQu54wxajIIFhom93RVTQ78T8hHpc6zxhBFecMGW8,260
135
+ plotpy/images/markers/point.png,sha256=aP51hzBGr7qPid_wrLWS7ERVMZexwwJXeU77QWPhESc,105
136
+ plotpy/images/markers/square.png,sha256=bKhRGOWYVLfjuglcCvQcxWYUwtvFe_ys2gGWukIbTA8,137
137
+ plotpy/images/markers/star.png,sha256=ZMICD8wqx0FDkNlRnEvGgwJqY3YcApteNFrOOfKZYYc,160
138
+ plotpy/images/markers/triangle_d.png,sha256=IDQdLvY-5tLDsjQ8Wkch8VpycmlfVPfLSi8xOy8sZ08,223
139
+ plotpy/images/markers/triangle_l.png,sha256=YbRz39s1QGmcnzg5NMV_3EMhZH8E-rovxevHp4mEvQE,220
140
+ plotpy/images/markers/triangle_r.png,sha256=3LqFsHwLDKb08m1RL77rROfmzyZQGFI6Fwm1to6pZz0,212
141
+ plotpy/images/markers/triangle_u.png,sha256=AbKkGfDxuGF-9gsgVD4rhmc8Pda7t9wSNUhWthWiqHI,224
142
+ plotpy/images/markers/xcross.png,sha256=jf4Q_g_JJ40qChImFf8nrS3dhGyZjN1Q18Kz7EQS5_Y,145
143
+ plotpy/images/markerstyles/cross_marker.png,sha256=iLdcIvalubSRQVC3QV0X70avt347nHXo94x7aOKwSsc,96
144
+ plotpy/images/markerstyles/horiz_marker.png,sha256=luksZ7g8J5TGSnYcNr-B83v7nX3_EjW6B1115Pb886E,82
145
+ plotpy/images/markerstyles/vert_marker.png,sha256=1CSmvq1PnsNZ4mPnCHXFaQaPVgOWHLs09e8syAXHzW0,84
146
+ plotpy/images/mask/mask_circle.png,sha256=xKyy7K1xqr18jnJNj3rj5syeul_yoGfLfxR-vuj9ZvM,368
147
+ plotpy/images/mask/mask_circle_outside.png,sha256=L0QNKEtBbGN7fGbKnYVCwVy4EC7VfNHABNKHxlNJSBk,374
148
+ plotpy/images/mask/mask_rectangle.png,sha256=iA-aFum-EDHgj2zqHQeBxDUSDdedMIp4i-qT1aTkq7Y,199
149
+ plotpy/images/mask/mask_rectangle_outside.png,sha256=Gohmsizm0snxSvTn5sbWUa3rqXzBfuzl94zj33hqhdU,200
150
+ plotpy/images/mask/mask_tool.png,sha256=WYb_qUI_tbS1AkNHaQQrf3P9GKSZOZDcvi9KUc6yumw,164
151
+ plotpy/images/patterns/bdiagpattern.png,sha256=Jbj0LbMF9lDD3KRLK1Hn0GgysAIOtrNirZ_qulNV-OY,104
152
+ plotpy/images/patterns/crosspattern.png,sha256=ilQUpTBaTlclJOY8hUfLnGxh7v66sj7__GX00T1NAls,90
153
+ plotpy/images/patterns/dense1pattern.png,sha256=a2idCJKfTr0Cvzgr70L9skdZmnJALFPSWeQTF1fXrTI,76
154
+ plotpy/images/patterns/dense2pattern.png,sha256=xjSOQwFnbfY2ECsJhF1pwyN3Z7vYavjBjU1CPMVQYVI,78
155
+ plotpy/images/patterns/dense3pattern.png,sha256=GUVNtv8v1Jbv1qCz49ALTJFLvbErKRVbAk3-8C_LwWw,83
156
+ plotpy/images/patterns/dense4pattern.png,sha256=ptbD1VUIG-E2ptqzkrZ-SbQEVUBDNSlpBu11ow38sUE,73
157
+ plotpy/images/patterns/dense5pattern.png,sha256=QNW45_U6czmD_I_aUqCYOm-i_YiY9Ljeb9B-J-Fm-Sc,88
158
+ plotpy/images/patterns/dense6pattern.png,sha256=vCn5KGLpGDwQySWtpGkOEJalP4Qr3R02FZhMPxuSkrU,87
159
+ plotpy/images/patterns/dense7pattern.png,sha256=bd5VlgAJsaagF7j03dvhd5u6_xFRShTnCQm-yEybCDg,84
160
+ plotpy/images/patterns/diagcrosspattern.png,sha256=kmhYVixrwi992tJBb0RKGvsPeJdukkhY39_vE8vJbU8,114
161
+ plotpy/images/patterns/fdiagpattern.png,sha256=m9UQh4TalWey0U4DDRSWvqviPWhS8nhdMobIHmqiZ9w,112
162
+ plotpy/images/patterns/horpattern.png,sha256=ERsdpEJ78K_120hPLr6_tsh0uuENC41SKH2ZdbgCDYw,82
163
+ plotpy/images/patterns/nobrush.png,sha256=N9g8dw5Sa-S2zVquFuddJ_HZQN6gOJJyj_hoRekUVhw,74
164
+ plotpy/images/patterns/solidpattern.png,sha256=i08G9aa63W2OOy34PTg3DxgTGeHx7VjP4LHVEdO-tbg,69
165
+ plotpy/images/patterns/verpattern.png,sha256=1byjmu_qx2he1vhjbSbnATpE5uqUCIRlgx7CgA7lvsk,83
166
+ plotpy/images/scales/lin_lin.png,sha256=G8WuOnQ6EnagBT8u5wvySgerbzEoSqCme37WyS1M6gk,203
167
+ plotpy/images/scales/lin_log.png,sha256=K0AFalVEtB4DboPtILLllsyCtr7pruuxlvE9UrJ3pgM,208
168
+ plotpy/images/scales/log_lin.png,sha256=NaDUzvVKX_YZAXoTrQbz5g7un9xP6uHXp2wQiCyiyrY,219
169
+ plotpy/images/scales/log_log.png,sha256=hbg3GSCYSe-uz-rnSD--_829kil7JAF4wIeIPchK1co,222
170
+ plotpy/images/shapes/circle.png,sha256=I8nj_E-RsPaFQgAnCEE3E-0ST64FmcHJlw6VksH4F4A,530
171
+ plotpy/images/shapes/contour.png,sha256=ogKYWX4JcqGAw1XA6Cird0gHc6YZu2Uuf4qKBGOPndI,622
172
+ plotpy/images/shapes/ellipse_shape.png,sha256=wXoEb753mMpZC1Afd82mpLjzjPp_RzdsrtUtn6W0CG4,547
173
+ plotpy/images/shapes/freeform.png,sha256=B-srZbwqC-NbsbSLt2p-xiDp6OvWg-0xCbo0QrsGmuA,305
174
+ plotpy/images/shapes/gtaxes.png,sha256=M3J_5gHuhk_lBELLtC-m7qg94EwnLNdqAOgeAl1pFEU,321
175
+ plotpy/images/shapes/marker.png,sha256=GVNgld2HGkqV4pG-0GdMvvyy3iYRrECYG4bMSyE2_Q0,179
176
+ plotpy/images/shapes/oblique_rectangle.png,sha256=L2ZO6KrdvLh4Sw0eYrsOZuWgttwY1alWG7J9lNZDQBs,650
177
+ plotpy/images/shapes/point_shape.png,sha256=gt-EZwXI6Ry625E-9SYovfgzjzHqlCjrwVnesfnOHxc,118
178
+ plotpy/images/shapes/polyline.png,sha256=nILlfYZ1B_6kVtY-Gs0Qu3vVzFFF4P7fBBYfPJq6ra0,232
179
+ plotpy/images/shapes/rectangle.png,sha256=26hhQIZX8TE9vEcafsAXCfdctcfuys0ch-Yj3zfzaOo,179
180
+ plotpy/images/shapes/segment.png,sha256=1EI9YLTpMkeSJtXCzoPwhOOy3LM1o1oIyoy1UKuf9SY,220
181
+ plotpy/images/styles/dash.png,sha256=SjRUmPdNTIgh35PajP6Urcmpn-I3oJsBAeeo6lZFVtY,85
182
+ plotpy/images/styles/dashdot.png,sha256=eVdCO2bsaxVQjYlgM5_aP3VKo7cGMvwHJq6V_Rky1-g,90
183
+ plotpy/images/styles/dashdotdot.png,sha256=-fUq7fssElVOdUqJ--1PQNc0hvWop6lATEQSErYbjcg,84
184
+ plotpy/images/styles/dot.png,sha256=pcwKaYTra2fJeS9hZfdpJativaeXFxCOZqd1l9GZcwM,80
185
+ plotpy/images/styles/solid.png,sha256=cd6t9KBXt3VPfBMMXX1w1DQsDFCUuwCTRvDlYviKG3s,80
186
+ plotpy/interfaces/__init__.py,sha256=UhtU_Bd-iWTeb55Pa0-_ZXlEtyyobWYUQYe4LCQYEkY,499
187
+ plotpy/interfaces/items.py,sha256=mXsBJrGBpoFgII9wsRjjoxBaDxPIj2u1lPNCl7lc_go,14546
188
+ plotpy/interfaces/panel.py,sha256=sEkd2Agk1ntf2rs2EIh3igUDtJWwL3dqhMiD45sLnxg,461
189
+ plotpy/interfaces/plotmanager.py,sha256=SdugP3sVz2zqMGLvAgvY-LavRo9b4qpslgdoV5-8Wic,1049
190
+ plotpy/items/__init__.py,sha256=zYtDmkcbfkjgWAAhNw_jYUrGAfx9_zEgQal2szjCGfo,1496
191
+ plotpy/items/annotation.py,sha256=qYuQlyHBJOnjUjkobtugMAAo_Xzi8-A-fJgri9RFfMw,30076
192
+ plotpy/items/contour.py,sha256=ykcspgMoO3lfzr38TnN4joiNzBo12UGWOZ-7RWGffQQ,6355
193
+ plotpy/items/grid.py,sha256=FEIgCB2QS7u7IPRBU_am9sYbNJolLmKp3iWMLPrlixo,7652
194
+ plotpy/items/histogram.py,sha256=Lw6m2zbCthwQRwEk0-ZkMJFlQFPmAL-dqCKqLsimvOs,6294
195
+ plotpy/items/label.py,sha256=Gj8Jc6_fkgqCoWttO9qVss5obY5PJkJ_ZLcypMlLYLg,32870
196
+ plotpy/items/polygon.py,sha256=UlNoT6Zom54i2KdXdRJoBoDGeERj4UJ93ikWttN8O4Y,14895
197
+ plotpy/items/curve/__init__.py,sha256=2IUlkDyh85eFaexSwqGJmp8vta2_vqbwasDtz1BUoMU,158
198
+ plotpy/items/curve/base.py,sha256=tV0mARNQn8RhQB_YvWMy1lTl72ObKxEUyAE_DuTsROk,17839
199
+ plotpy/items/curve/errorbar.py,sha256=1TJEgsOUaHtCf12s4zp-AoWo5liXqkiWw7vgLZVJu30,12935
200
+ plotpy/items/image/__init__.py,sha256=QUq2fb0pI78X6LghuAfZrzD5n6QXl8enwPoZMNc_HKo,590
201
+ plotpy/items/image/base.py,sha256=Y3ku9v85kadtwIfcjE2RTK6M23BXMSEyYwlZEzU3h0k,43925
202
+ plotpy/items/image/filter.py,sha256=02ZHauQz0l1ppztPXJSam5eK0AQ2LKTNVoLfbCFib4U,11233
203
+ plotpy/items/image/image_items.py,sha256=ORFjwWLP8RZcQE_SZ09OpCGmKGcyzkJIZcSEhaczZvE,28400
204
+ plotpy/items/image/masked.py,sha256=XC9cN9UIcZCUtVpqSnCvPeFIGAOi5SyTRKgw048lPsA,25283
205
+ plotpy/items/image/misc.py,sha256=nfSfc3s6-gNOCH2QvEGadCSPpuH5vWJlQjHeFeUfP28,24935
206
+ plotpy/items/image/transform.py,sha256=0KlMdV9Q2MRLKp7xAij-w_UixHSNUuJvVja58hA99M4,23549
207
+ plotpy/items/shape/__init__.py,sha256=QX0Bg2gk0E7Vx2k28cB6dxgZiWK9E2Vv8Bw4rQAjbaI,439
208
+ plotpy/items/shape/axis.py,sha256=zAIu6gxlYaveUKsWGuPNcQTQBg35r4R2cz71P3ljTfU,10084
209
+ plotpy/items/shape/base.py,sha256=JrSSeMEpnN3mYV6OMa_CPM4OjLqagvC4VaG1tA8AuWs,8647
210
+ plotpy/items/shape/ellipse.py,sha256=62SX9PlcbSQ9Wb3Cvc3fEnkXi93R1lsG3BNzGQ4TVbM,11913
211
+ plotpy/items/shape/marker.py,sha256=t3cwAnguXuypptpCghYINUg3zu6dzX7Kb1h7YLWYjhw,16666
212
+ plotpy/items/shape/point.py,sha256=w_a1p_AFd79lYCunleIFgphrZdbJKvLmOw2xykRUN1o,2660
213
+ plotpy/items/shape/polygon.py,sha256=f4mQsh-fzG3J10tSo1jkxgyAnBo_J_yPiYWNMcQ4ogQ,14830
214
+ plotpy/items/shape/range.py,sha256=0J7ZJCiIRBPDLsIZCdpBU36I8SfJaXK-2frPPAxvQ6E,8122
215
+ plotpy/items/shape/rectangle.py,sha256=YP7D0PluUhhBwxD-dfrDzRk7lGLgJRkFGSWXNn4q7x0,11465
216
+ plotpy/items/shape/segment.py,sha256=NLt4ajpipMsVKYQiQ3thbcrR_4verdsWtOJ9k7x6a5U,4601
217
+ plotpy/items/shape/svg.py,sha256=Bh00snO81gw9vQR3hxug3ps6RzfrKRzOEjPO-GLJ1Ug,4619
218
+ plotpy/locale/fr/LC_MESSAGES/plotpy.mo,sha256=3kMu2UkYzx_LbtMk3flN2jJ55zkFn6FVguOOGNlCS2g,28229
219
+ plotpy/mathutils/__init__.py,sha256=lVL4VPz3c4kWCgjPtL4uuQLNmgwK92q1ffAsv5El02k,25
220
+ plotpy/mathutils/_cm.py,sha256=hDflQpfdBmFD36cPhcSt9SZ0YvpDjE8q2XsFtYsBiWg,421433
221
+ plotpy/mathutils/arrayfuncs.py,sha256=dhvaD6SaHpv3RdfBZECC0lQXR7juvIEuH2A4haOQuac,1739
222
+ plotpy/mathutils/colormap.py,sha256=icBJWrPxLqdaAxWUo-pY_avIR54Js6mbNnlSZioZm-g,5198
223
+ plotpy/mathutils/geometry.py,sha256=_xM7kitgPfzSgZiRKrtKpFQUDB7HX9iT6A0sNK-fmfY,6803
224
+ plotpy/mathutils/scaler.py,sha256=NZRTyg9DFZuIENWmCaMdumus_1PUzgamwJl-wYc3foc,1892
225
+ plotpy/panels/__init__.py,sha256=IGtulhFimvTODU8_urWTqb8uoF2iSQae5H4Vc61nIIg,252
226
+ plotpy/panels/base.py,sha256=bsuSiV7-ZUWgrvkCbiSrNGSD0uplKVC8eqgDYoq7kcs,2306
227
+ plotpy/panels/contrastadjustment.py,sha256=KoP4AL0ti3c-UfKtlglUI3DfY7xCoAO3CySDjiIshGw,19202
228
+ plotpy/panels/itemlist.py,sha256=9T1lgGRYJPfGOaCJxLCCqLCCumSIoYQyfQseMJJJ4tw,9425
229
+ plotpy/panels/csection/__init__.py,sha256=pTLigc_yzu60ONCmVlkKxmyzLfg40arfrSqYn0n4sms,462
230
+ plotpy/panels/csection/csitem.py,sha256=GEW-HlgEUruaiRM_1n10G9mtgz5T4KCvDDhZT7utWEU,15182
231
+ plotpy/panels/csection/csplot.py,sha256=Y6ZGTDXNj8zOhjqcP2xPPmBBn-L8J8mjLWPV_Mr73p0,13514
232
+ plotpy/panels/csection/cswidget.py,sha256=tbr8mWci9_Satgd9E4AqQYLsBlC6D0wByFGc6a-MwXE,12489
233
+ plotpy/plot/__init__.py,sha256=ofV75vLykycgCFy7pCvtN2kk3B62wd_5_v8BP2y5gYo,307
234
+ plotpy/plot/base.py,sha256=mEzbmKxbyfRhpuTLXisOcwSp-fzBgtk8SW1sbxy-nbk,83951
235
+ plotpy/plot/interactive.py,sha256=ccnjYSe0zSJmfQMLgvgyPjetNDmidmG_QxN2Le7ElNo,22005
236
+ plotpy/plot/manager.py,sha256=T1F8Jx7duECyDkwbyNBAvN2v0mMvB2vncI--SRyUSZE,25171
237
+ plotpy/plot/plotwidget.py,sha256=6WUUXY4Fp_c6xxAmZQ95E0-m9TGFhGE5zCgwTJGiVts,34536
238
+ plotpy/styles/__init__.py,sha256=vVkNizQxSHWTLDk-zPvccP941fdQYSdmxi9yfEinu1s,1651
239
+ plotpy/styles/axes.py,sha256=sigpEn7sif_RQQ_CMKlukcTGvuncM8X2aTHzihKPoLk,4155
240
+ plotpy/styles/base.py,sha256=d5h5DNeJUkJVbLWvbFI9wuUAHwOFEYdVKf1nRwGFpVo,19301
241
+ plotpy/styles/curve.py,sha256=ctBuDfBlMCCWzMXD3vioevx7u9TzAbUZReUEeFzwfII,2270
242
+ plotpy/styles/errorbar.py,sha256=d9em2Sdt5HQid_v-DghnrG2Cu1p61vnXuEIqH88T-s4,1552
243
+ plotpy/styles/histogram.py,sha256=frFCfwAaY1KC_Bh0MvTonCbjoHN3SALX3GkYbv3kEPQ,2907
244
+ plotpy/styles/image.py,sha256=3Iny-Qme58Zz6n_eCXMqeIrNmB2xLfu24S7pNDfVnrw,16323
245
+ plotpy/styles/label.py,sha256=Soky0hqxRsVQMJJHm5mPZH80dNx7YC2NRPj25f2EpHs,8365
246
+ plotpy/styles/shape.py,sha256=Puwks5M3EOOHlqy8KJ8yCl5eDGWMYI8jFNt5QONbhhA,13108
247
+ plotpy/tests/__init__.py,sha256=o5ey-sr4k_Sz0eIO0LZyT6GngRe_z9TaD0sjDy6ZqN4,698
248
+ plotpy/tests/conftest.py,sha256=e-mkIsJB1TspD4v3dk5uBQdTsuqsGldcoQYTWbLPgRE,162
249
+ plotpy/tests/data.py,sha256=wgoKBK5UWMo-XidBeKazH-BneMYx2xU19SRE7knv2J8,4363
250
+ plotpy/tests/vistools.py,sha256=v4XCwhuTCu5uSWZlnahU9hu6UXY8pa1uHzzeCKKK_Zg,1340
251
+ plotpy/tests/benchmarks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
+ plotpy/tests/benchmarks/test_benchmarks.py,sha256=TD1eVi-psJ4F01pPgQs9n2vvC-KS0GzsWcyZnpAqxsM,4226
253
+ plotpy/tests/benchmarks/test_bigimages.py,sha256=3Pk5GegzMInAlYz4S3Z4He_y47sLGZKfIdmC_so9ROY,836
254
+ plotpy/tests/benchmarks/test_loadtest.py,sha256=iMG0o3XQBbuPAg5PvblyK03n_mhE9-ByoK6aZfbVQaM,2847
255
+ plotpy/tests/data/brain.png,sha256=OenfKfXxysZnE7YW3jSVPZ1OOrLLTY_YXp45TcwinYI,39666
256
+ plotpy/tests/data/brain_cylinder.png,sha256=foh8NXjMc97LDft9eD6RQjS5OCxBnO713x2-H5A431w,35354
257
+ plotpy/tests/data/mr-brain.dcm,sha256=ee8mjA8Pkur6jeb-Jr4Sy8YyoF82bejiAVxuuiwsXRo,525620
258
+ plotpy/tests/data/svg_target.svg,sha256=h1Gwb-NHhd_55wzxU5f5SmrycyGbI3njVqN7OvHDQ-4,1991
259
+ plotpy/tests/data/svg_tool.svg,sha256=Xt1CNWU9peQ0jCWgbaykqFFX_gqO_wNU-4hfyXNGGos,1765
260
+ plotpy/tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
261
+ plotpy/tests/features/test_auto_curve_image.py,sha256=922BqSWGZGmydrJQlYkk4xsBb07sIMOMZkvg0_6XUnc,906
262
+ plotpy/tests/features/test_autoscale_shapes.py,sha256=utDtP4Tbf3TvP4_KLgld9J7kpZ5LV8T1EY3xDej5clg,2619
263
+ plotpy/tests/features/test_builder.py,sha256=eOuQ5MC6lHDIRFYI5Mh9gLaTt3Fvs7EdImMz53V6rhc,1660
264
+ plotpy/tests/features/test_computations.py,sha256=FCDalC6lFeTPwBoYEyjZO04yCi3K_8LLyaNZCCWflcc,1381
265
+ plotpy/tests/features/test_contrast.py,sha256=FRpIGVVOPiOBFhJygaRpkXeSInxYFAu3loN95IBvcFY,1275
266
+ plotpy/tests/features/test_cursors.py,sha256=6hqvmR1BQnSS8aSbxZtspsATnlVp_5ieEiCqABbXtBE,1064
267
+ plotpy/tests/features/test_dicom_image.py,sha256=W4myEr6V9JPGttXMjNtXS9KRuQQdYQ450qpwVMay5oU,1164
268
+ plotpy/tests/features/test_fit.py,sha256=3O2FBL_Av3nvYG8cmZCB_6rb1wnGZBnEIVV2qA4cc6M,798
269
+ plotpy/tests/features/test_image_coords.py,sha256=V1LAqAiSySxjuP6AtQxhBoIxsDN4wlu2CCDhNz6slS8,1483
270
+ plotpy/tests/features/test_imagefilter.py,sha256=EOsZxyC-r_PMk1hldfz5s4TNIr1HrXN-aWJc6l7wFhU,1587
271
+ plotpy/tests/features/test_imagesuperp.py,sha256=IV0HTDXY9ZKcMftWljlk2yaW-LjG_c6FdVmPVy2Sl1Q,1576
272
+ plotpy/tests/features/test_loadsaveitems_hdf5.py,sha256=lkBoQCn_L9pKlJCI_jjZ9k4STe6I-J03hdyc38882qE,1124
273
+ plotpy/tests/features/test_loadsaveitems_json.py,sha256=zyV8Xpyd4eqNc5vEQphqIYogIRKV76oI-1Iuknf6D84,1461
274
+ plotpy/tests/features/test_loadsaveitems_pickle.py,sha256=A7FHB_qGwqfzm7wQhgDHPJ7n-Xvd6IozqNikhRT80UI,6415
275
+ plotpy/tests/features/test_manager.py,sha256=Qstqx_WsfnaySwMAHRSFajO4FPLByGJSb_XkjPd9g80,2392
276
+ plotpy/tests/features/test_no_auto_tools.py,sha256=sRAAIAB9HZqirQ-VlVdBjtl9NnwaFS1b-W-H-cwi28U,718
277
+ plotpy/tests/features/test_plot_log.py,sha256=l-0uW_1lbGvBIHKw13jARQ4V1oV51C0fj-iiuBEy6PM,927
278
+ plotpy/tests/features/test_plot_types.py,sha256=PMx1nGYkR9-wCH7XPNw6FA_SzsSBCN6FhwMju1EGrks,1214
279
+ plotpy/tests/features/test_plot_yreverse.py,sha256=KdpdjXsX-KAJLOCmtDfRKIMXzS_9qawV-F34gSY1Ggo,846
280
+ plotpy/tests/features/test_pyplot.py,sha256=kCq6hiL4UFkzRZKkLRAd4iXvfjhw5L4auaME91o4SeU,2114
281
+ plotpy/tests/features/test_resize.py,sha256=BOKWzGnm0jBcGIODcRTbCkBPVNSwjIdDeIcjCY6YG84,694
282
+ plotpy/tests/items/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
+ plotpy/tests/items/test_annotations.py,sha256=yT42bnsE6duQpnY3b__m8n4BGIkc-_y6jC80ryP3m28,1159
284
+ plotpy/tests/items/test_curves.py,sha256=7mkC_FGthlceWnp5LuUh5cDWJqmHl3tbTNlNdo7RBr4,1493
285
+ plotpy/tests/items/test_hist2d.py,sha256=FL1tic6uy4O_1aWtqmhmKIlTUnBzku3ZgaMtsjmEQxo,2298
286
+ plotpy/tests/items/test_histogram.py,sha256=G4R2GQZEM43VDygaOPtGQrMW6Yb30AyWAg8i06ac4Fg,710
287
+ plotpy/tests/items/test_image.py,sha256=KdPLoT4nvc_aJ_SQi0IKKO7nkoRtC2MB1ngcET96liY,840
288
+ plotpy/tests/items/test_image_contour.py,sha256=v-sVCGZHG4mT17qAvx-jLip-KlTuVwVV0hOXYGq8CUg,989
289
+ plotpy/tests/items/test_image_masked.py,sha256=OELf-RD_aFRmNKhzEXHvNJbnEu6W-nT-bNZDCtria9g,1231
290
+ plotpy/tests/items/test_image_masked_xy.py,sha256=8HIsFAVMIkXQCJuO908ZMGGcVQUrAEbIKxoVNdXSDHw,1336
291
+ plotpy/tests/items/test_image_rgb.py,sha256=nS_Ql0d1O8tA0d-ccEOyEByAoUxIy91IXXj2C181kQo,759
292
+ plotpy/tests/items/test_image_xy.py,sha256=HTqwpoat61U4F_8dLG1q8_fLefcs3vvz0dbv6tPw7Xc,758
293
+ plotpy/tests/items/test_mandelbrot.py,sha256=aQZbnSjv7SF9RbjoSy0KUWGEP00crURLR68VLWTgOXs,2626
294
+ plotpy/tests/items/test_pcolor.py,sha256=6QQLAot3igUvjH4k5JQq5Pe9own-pe8b7vVxxgkHlDE,2340
295
+ plotpy/tests/items/test_polygons.py,sha256=BpotxeijJaB2jqUi4H5ELFAY3jCyoGn9gRszvE7kWiw,2245
296
+ plotpy/tests/items/test_svgshapes.py,sha256=bHft7BeGEdhotcp6BiwMmDZUc4jDNtG_HfmpQ1zBLxo,906
297
+ plotpy/tests/items/test_transform.py,sha256=rWoEf6kMNDWdLdL6pXrxFy2FDUv5UAWX2hM7DKgKi9Y,6217
298
+ plotpy/tests/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
+ plotpy/tests/tools/test_actiontool.py,sha256=GeQRlA4ShDDbJQZEAWLgfDuDNBwQtTY69aor5hHGYzk,1492
300
+ plotpy/tests/tools/test_cross_section.py,sha256=XvQm9ON6Fkaii5RKEQ-Kvu_XAtbO6J8VngVX29g5vxc,1151
301
+ plotpy/tests/tools/test_cross_section_oblique.py,sha256=E8KverVadMvToBjFmKe-3j9hgfqHI_733XL41-qcxoI,2147
302
+ plotpy/tests/tools/test_customize_shape_tool.py,sha256=8d9gDvJnxJ8BU8CN8OPm6tcoD9K7-RFMITbLPk9pbgg,1804
303
+ plotpy/tests/tools/test_get_point.py,sha256=Pq9T-atuLNoG5AAaI3P2QlFkH3rx1MdDSd5-soKJwu8,1604
304
+ plotpy/tests/tools/test_get_rectangle.py,sha256=OGmYPXruLxtrQGmuzz29-044k8ctKb7_08GsIkMht9Q,1118
305
+ plotpy/tests/tools/test_get_rectangle_with_svg.py,sha256=r_oS3kMxQhdmAtCkpORzmx2mMLaVDCClDrsI6NokxTo,1739
306
+ plotpy/tests/tools/test_get_segment.py,sha256=I-1h204Ap36Xz_fvB-gSkfVoZKh5PFSRL1Hf1z80XFU,1958
307
+ plotpy/tests/tools/test_image_plot_tools.py,sha256=ClMgu9yRzcFGkhxlIS0k0FIjKti5XofBMdFBZTP6Xvs,2155
308
+ plotpy/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
309
+ plotpy/tests/unit/test_baseplot.py,sha256=Gibm2LOTfOXujAcEniNiiZyD1DN-44pvQsEeg_Vm8eE,2053
310
+ plotpy/tests/unit/test_builder_annotation.py,sha256=MCf26-46IK16TGICWeglOYXsAkknodxttLGDJ36HslM,2742
311
+ plotpy/tests/unit/test_builder_curve.py,sha256=JrMui_WQ4pMj3EZcXUxRgq0EwOUUarV6N7o1L7s5ohk,5160
312
+ plotpy/tests/unit/test_builder_image.py,sha256=iVCu_KzSVbYBmt2ZjlLGkdk86DTvVJGx8uOojENv56g,3393
313
+ plotpy/tests/unit/test_builder_shape.py,sha256=2KmB0Nk5EbFVkxx5HpttBM7n2NS3Ig-tuiRoJLzuvtU,1738
314
+ plotpy/tests/unit/test_contour.py,sha256=CH1j5NFnx34IZOLoBva_xcbK12CvXw4DdGK5sQ0sEqQ,2352
315
+ plotpy/tests/unit/test_fontparam.py,sha256=kXqKI3m-yXqvK4MOLhURZy0KxOi6F9rVkMLIZm1QXEk,415
316
+ plotpy/tests/unit/test_geometry.py,sha256=1JZIoXwf939JXYd4mFfCvfhcZkTba0GzDHZdAlSqNqM,2840
317
+ plotpy/tests/unit/test_highprecisionxy.py,sha256=5dBmBnyZwyr09pmzM8MFyp4IXiaMIKwkSGA7nSLgWME,937
318
+ plotpy/tests/unit/test_io.py,sha256=DyFulXrXzK00bRHMO2hnUZsmlFqiSt9u7K1m2NlTHkk,3234
319
+ plotpy/tests/unit/test_line.py,sha256=5FNgBf4ROdXetDvvW6IM6awk4UBdt2GHV0yG1zxX6m4,1702
320
+ plotpy/tests/unit/test_plot_curve.py,sha256=0IXrtC9K8SveJDScQ_6ky1c-n4ZjEh-V4WLlfpAN_8U,2343
321
+ plotpy/tests/unit/test_plot_image.py,sha256=7JXUEgfOBtXT4-m7hCp77VwghkZoZGG6hBGM_J575fA,4114
322
+ plotpy/tests/unit/test_seg_dist.py,sha256=25mQGJYZrAZ7eXeMTBgEAa6QIV06uzeZIMA01GEU5W0,839
323
+ plotpy/tests/unit/test_styles.py,sha256=wwXsSKL1guGLYOcgb7Hr0f4taTVsi5l7zNdH1egOijU,3032
324
+ plotpy/tests/unit/test_tools_export.py,sha256=oxcEcpqW-Yw1oqNRacdjYdJl4u3Xyszvq4_5MW2x0ic,854
325
+ plotpy/tests/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
+ plotpy/tests/widgets/test_dotarraydemo.py,sha256=9adM-q6qg0TqrVnni5jDunbKoVnsEyHyADiveoDQhjw,6939
327
+ plotpy/tests/widgets/test_filtertest1.py,sha256=22PnhvdqkakU9rhAyXTwtX9cKNHWxIiHQWyUY1fNKu4,2711
328
+ plotpy/tests/widgets/test_filtertest2.py,sha256=Eh7XF-kjxqHL0KY_DTjbtJX86grCWRslGleyondkbrs,3517
329
+ plotpy/tests/widgets/test_fliprotate.py,sha256=bNZjmxyvICBVgbUSywL1Uw2_4useiGPTjDxN08EeG3E,2220
330
+ plotpy/tests/widgets/test_plot_timecurve.py,sha256=EaEfxFn9jGaZsSvbQY-RpvKZbIe--SrmYvEhyJzc4do,14422
331
+ plotpy/tests/widgets/test_qtdesigner.py,sha256=JkHp-bi-zn8JhU3v1Qe5ofFUOmyJhJiuj4h5DkmZing,1185
332
+ plotpy/tests/widgets/test_qtdesigner.ui,sha256=uXCFKWsKcOVuUnj6kdcfAAG44V7xf10-cH6LqQrZ4-M,763
333
+ plotpy/tests/widgets/test_resize_dialog.py,sha256=hjvrSKxUQ-f5mgto4QqKGRsaU1oIcqEpx4hfeaodOHc,2101
334
+ plotpy/tests/widgets/test_rotatecrop.py,sha256=Vuq8TEk88PT0Bm_6wyHniGpODvjawA9quPnP5Jp2FtM,2906
335
+ plotpy/tests/widgets/test_simple_dialog.py,sha256=HHp69p6W7Cquu2xlL3JP1Uin3VACvG-LqBrvAr0hfBI,3740
336
+ plotpy/tests/widgets/test_simple_window.py,sha256=vKLWONdBw_uyGcuy-HERYB2mBzLT9lNZ_-OZ6hpUWP8,8941
337
+ plotpy/tests/widgets/test_syncplot.py,sha256=JPRYO2YRPUwmY9HCJv34vMHT13W3rVG0WedRx8zPABs,2875
338
+ plotpy/tools/__init__.py,sha256=db8nd4tmgj3u5DpKzBRlgMOIX7U8_MXcMCob2KMRsZk,1832
339
+ plotpy/tools/annotation.py,sha256=DKA462o2WMQ3RqcqUxdeSSxwoW4WBOW6Ut9Sjl58ZOs,2124
340
+ plotpy/tools/axes.py,sha256=t19SJOAXsgo-kZauN_G0G157r5WqfCvpioHKVVIyz9g,3382
341
+ plotpy/tools/base.py,sha256=ilM6hBeIl4qbibrEoXM-EXQcK_WHYohWy6kXgGxuTcA,13186
342
+ plotpy/tools/cross_section.py,sha256=21u8hqYjJX99e11c1Hf8b3meUEhL29ii0VjjAmwT8TA,3749
343
+ plotpy/tools/cursor.py,sha256=gbOAQViBWmfwugBrTMpBqDmiA2urYpBqc9EuTC_uD6k,3447
344
+ plotpy/tools/curve.py,sha256=Xfy1XHngrtyKmwCudwPthvLwdiFi__ICJ9-7k7LJ8ZY,9573
345
+ plotpy/tools/image.py,sha256=QR9ZTkpebjwHkSPqPs2NcJLx2KChZUYw5c0kHFtgNQ8,29252
346
+ plotpy/tools/item.py,sha256=pnKB-x0Pu-VLTtqizBHqrVA2tPO8ErYcL4Y0ONnm9Qw,6460
347
+ plotpy/tools/label.py,sha256=tU5Pu2pp1-J87yqZNPQEt5wnTueLDZWZMGuCahrwSmI,3054
348
+ plotpy/tools/misc.py,sha256=JUCIGG34Y9PMPSbfDWBRSM_ifp-TrmRNHAUljLZXKTQ,11311
349
+ plotpy/tools/plot.py,sha256=ZEvpDVDXAtDtt9AqZpmbvFep3gahWpyV1kooN5tjoQ0,6113
350
+ plotpy/tools/selection.py,sha256=l1g1k_kiivq8Am-9rzyjUmEzPKhTjF3HLVjKUB_ijsE,5730
351
+ plotpy/tools/shape.py,sha256=DZzWGIcR9eMy3eReJ57xYMsnaoIkOkTyeolJUv8YUcc,9273
352
+ plotpy/widgets/__init__.py,sha256=lVL4VPz3c4kWCgjPtL4uuQLNmgwK92q1ffAsv5El02k,25
353
+ plotpy/widgets/about.py,sha256=viasC_QZFnIKUfMeJI8VzRi0CkuvOoz3jLevRk-buRA,1777
354
+ plotpy/widgets/basetransform.py,sha256=YNPhIZq9T0IIFjkvT1jVSnkIACQtpnKI4By4N2cuJd4,10096
355
+ plotpy/widgets/fit.py,sha256=m0Yw4cehiYXAyOvoho2tUdSrBcmMqwKvdsc6zLIDLPw,30909
356
+ plotpy/widgets/fliprotate.py,sha256=PHVLwdjmRCCA5ya4VckCMrFVqH4cZj09iW-tKVqDctw,8443
357
+ plotpy/widgets/imagefile.py,sha256=wD_1-3baor25raRuS5wKwNPEcGKI5MOOZm3Ytayy98U,6375
358
+ plotpy/widgets/qtdesigner.py,sha256=4q4O26pZb8ckkxswZe9hFf9j93mdllyFwlf_f5BKwU0,4120
359
+ plotpy/widgets/resizedialog.py,sha256=QuwqMnItQeDM_6Csx911BlkgxYXDSZC9HUSuOEW-uYY,4968
360
+ plotpy/widgets/rotatecrop.py,sha256=4i84daVBBxo1Ls489UdUmT9kCpTPIqOX0OC2YzSKRY0,7977
361
+ plotpy/widgets/selectdialog.py,sha256=h4gQBZK0KqhCZ6LL7jDCZiKtWAVyKxX59bavkjmUb4I,5702
362
+ PlotPy-2.0.0.dist-info/LICENSE,sha256=j6IeDhSlVJ5NLBJyLNH7e1dy7c3XQLGxaK5LMtlytFA,1563
363
+ PlotPy-2.0.0.dist-info/METADATA,sha256=0fcG8chlUCM57phHSZqQkjTWZEAFseY5QH4O8pPC0tA,8134
364
+ PlotPy-2.0.0.dist-info/WHEEL,sha256=yXMlTXjHPYBFmMOeF4b9ZM_ASRm_Q54GxZmxQGPAzx4,98
365
+ PlotPy-2.0.0.dist-info/entry_points.txt,sha256=zR3vv1D437e44sQfXnqXM658_UZNiH0Dwwu8VMpwzNU,46
366
+ PlotPy-2.0.0.dist-info/top_level.txt,sha256=8eRBtKBT54P3bPzKY9n29Y8UFI7HShkVXlz4fg3u4WA,7
367
+ PlotPy-2.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.40.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp310-cp310-win32
5
+
@@ -0,0 +1,2 @@
1
+ [gui_scripts]
2
+ plotpy-tests = plotpy.tests:run
@@ -0,0 +1 @@
1
+ plotpy
plotpy/__init__.py ADDED
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ plotpy
4
+ ======
5
+
6
+ Based on `PythonQwt` (plotting widgets for Qt graphical user interfaces) and
7
+ on the scientific modules NumPy and SciPy, :mod:`plotpy` is a Python library
8
+ providing efficient 2D data-plotting features (curve/image visualization
9
+ and related tools) for interactive computing and signal/image processing
10
+ application development.
11
+
12
+ .. image:: images/panorama.png
13
+
14
+
15
+ External resources:
16
+ * Python Package Index: `PyPI`_
17
+ * Bug reports and feature requests: `GitHub`_
18
+
19
+ .. _PyPI: https://pypi.python.org/pypi/plotpy
20
+ .. _GitHub: https://github.com/PierreRaybaut/plotpy
21
+ """
22
+
23
+ __version__ = "2.0.0"
24
+ __VERSION__ = tuple([int(number) for number in __version__.split(".")])
25
+
26
+ # --- Important note: DATAPATH and LOCALEPATH are used by guidata.configtools
27
+ # --- to retrieve data and translation files paths
28
+ #
29
+ # Dear (Debian, RPM, ...) package makers, please feel free to customize the
30
+ # following path to module's data (images) and translations:
31
+ DATAPATH = LOCALEPATH = ""
Binary file