Commit Graph

225 Commits

Author SHA1 Message Date
Antony Lee
20b9d079ce Nicer range for value histogram of integer images.
When an ImageItem's data has an integer dtype, this patch ensures that
each bin of the LUT histogram contains the same number of integer
values, in order to avoid "spikes" in the histogram that are merely due
to some bins covering more integer values than others.

This commit needs testing (it was rebased from an old commit).
2014-01-14 01:33:52 -08:00
Luke Campagnola
33e4a9e213 Fix: prevent divide-by-zero in AxisItem 2014-01-05 14:40:56 -05:00
Luke Campagnola
eda59be46d corrected PolyLineROI.setPen() to modify individual segments as well. 2014-01-04 01:03:58 -05:00
Luke Campagnola
95dd56bdb6 Bugfixes:
- fixed PlotCurveItem generating exceptions when data has length=0
- fixed ImageView.setImage only working once
2014-01-01 20:22:13 -05:00
Luke Campagnola
21c1686221 Fixed AxisItem to support unicode in tick strings 2013-12-29 09:17:23 -05:00
Luke Campagnola
a199b75c66 Added Flowchart.sigChartChanged 2013-12-27 22:48:44 -05:00
Luke Campagnola
2aac1faa17 fixes for python3 2013-12-27 22:32:05 -05:00
Luke Campagnola
4886270b53 PlotNode control widget now displays combo box to let user select plots to connect to
Flowchart example updated to use this feature.
2013-12-27 21:07:03 -05:00
Luke Campagnola
2c2135a49f Major updates to ComboBox:
- Essentially a graphical interface to dict; all items have text and value
- Assigns previously-selected text after list is cleared and repopulated
- Get, set current value
2013-12-27 21:06:31 -05:00
Luke Campagnola
f4e0f091dc Fixes against relative-import reorganization 2013-12-23 18:42:02 -05:00
Luke Campagnola
f21e0b86a4 fixed circular import 2013-12-23 10:22:53 -05:00
Luke Campagnola
a069104c6b rebuild UI files 2013-12-23 10:11:20 -05:00
Luke Campagnola
7e907db557 .ui files 2013-12-23 10:08:26 -05:00
Luke Campagnola
50df2b2def dockarea, imageview, metaarray 2013-12-23 10:06:26 -05:00
Luke Campagnola
eaf29b5f07 flowchart, canvas 2013-12-23 10:01:20 -05:00
Luke Campagnola
7777240d89 exporters, multiprocess, opengl 2013-12-23 09:46:54 -05:00
Luke Campagnola
a2e8290d8e console, graphicsscene, and 2nd-level graphicsitems 2013-12-23 07:51:33 -05:00
Luke Campagnola
cf312e7bac updated widgets 2013-12-22 02:18:37 -05:00
Luke Campagnola
f630734453 Switching to relative imports to allow pyqtgraph to be imported under other names.
finished top-level files and graphicsItems
2013-12-22 02:08:39 -05:00
Luke Campagnola
90b6b5b501 python 3 fixes 2013-12-21 23:41:37 -05:00
Luke Campagnola
19be6959f3 Flowchart:
* Replaced dynamic imports with static
* Added NodeLibrary allowing multiple customized collections of Node types
2013-12-21 23:26:02 -05:00
Luke Campagnola
59f07a03ee python3 fix 2013-12-21 23:26:02 -05:00
Luke Campagnola
b50b94908f pyqtgraph, .exporters, and .opengl now use static imports 2013-12-21 23:26:02 -05:00
Luke Campagnola
03c01d3b32 Fixes related to CSV exporter:
- CSV headers include data names, if available
  - Exporter correctly handles items with no data
  - pg.plot() avoids creating empty data item
  - removed call to reduce() from exporter; not available in python 3
  - Gave .name() methods to PlotDataItem, PlotCurveItem, and ScatterPlotItem
2013-12-19 12:30:00 -05:00
Luke Campagnola
a0b7e5a61c Corrected mouse clicking on PlotCurveItem - now uses stroke outline instead of path shape
Added 'width' argument to PlotCurveItem.setClickable()
2013-12-19 09:56:58 -05:00
Luke Campagnola
4e9e75817f Added Qt.loadUiType function for PySide
Added example of simple Designer usage.
2013-12-17 21:23:37 -05:00
Luke Campagnola
768c2b3356 Merge branch 'version_strings' into develop
* __init__.py now contains latest release version string
* installing from git checkout that does not correspond to a release commit
  will result in a more descriptive version string
2013-12-15 13:19:00 -05:00
Luke Campagnola
6d57792dc6 Merge branch 'profilers' into develop
New Profiler class from Antony Lee:
* Simpler API (with backward compatibility)
* Individual Profilers can be enabled by environmental variable PYQTGRAPHPROFILE
2013-12-15 09:17:24 -05:00
Luke Campagnola
5b7f4124d9 * Made new profilers compatible with old API
* Adjusted output formatting for clearer representation of nested profilers
* Message string formatting deferred until finish to reduce overhead
2013-12-15 09:07:09 -05:00
Luke Campagnola
e4ca62448b Added Dock.raiseDock() method 2013-12-11 14:28:56 -05:00
Luke Campagnola
6ae0892ea0 Set version strings to 0.9.8 in source; these will be updated with major releases.
Added tools/setVersion script
setup.py now auto-generates version string based on pyqtgraph/__init__ and git info, if available
2013-12-01 10:23:45 -05:00
Antony Lee
f136b33033 Profilers controllable via PYQTGRAPHPROFILE.
A new function profiling system is implemented.  Most importantly, this
allows one to profile various internal functions directly by setting the
`PYQTGRAPHPROFILE` environment variable to a comma separated list of
function and method names, e.g.

    PYQTGRAPHPROFILE=functions.makeARGB,ImageItem.render \
        python -mexamples

Specifically, items in `PYQTGRAPHPROFILE` must be of the form
`classname.methodname` or `dotted_module_name.functionname`, with the
initial "pyqtgraph." stripped from the dotted module name.

Moreover, the overhead of inactive profilers has been kept minimal: an
introspective check of the caller's name (only if `PYQTGRAPHPROFILE` is
set) and a trivial function (not method) call per profiler call.

The new profilers rely on `sys._getframe` to find the caller's name,
although the previous system (passing the caller's name explicitely)
could certainly have been kept instead.

Finally the API of profilers has been changed: register a
profiling point simply by calling the profiler, and profilers are
automatically flushed on garbage collection.  See the docstring of
`pyqtgraph.debug.Profiler` for more details.
2013-11-27 09:57:46 -08:00
Luke Campagnola
c1f72b29c6 Merge branch 'faster-make-argb' into develop
- Speed improvements in functions.makeARGB
- ImageItem is faster by avoiding makeQImage(transpose=True)
2013-11-24 21:11:21 -05:00
Luke Campagnola
71ee4deb84 - fixed ImageItem handling of rgb images
- fixed makeARGB re-ordering of color channels
2013-11-24 21:10:06 -05:00
Luke Campagnola
bd2330af9f ImageItem performance boost by avoiding makeQImage(transpose=True) 2013-11-24 20:45:10 -05:00
blink1073
a08b28c958 Simplify to take transpose logic out of makeARGB function 2013-11-24 15:50:28 -06:00
blink1073
ddce17dc62 Undo remove trailing whitespace 2013-11-23 23:08:18 -06:00
blink1073
85d7116482 Speedups for making ARGB arrays 2013-11-23 23:02:19 -06:00
Luke Campagnola
d34bdb1be7 corrected GradientWidget.__all__ 2013-11-22 09:33:02 -05:00
Luke Campagnola
6e74df28a0 Merge branch 'dont-copy-context-menu' into develop
This allows ViewBox context menus to be modified by directly manipulating ViewBox.menu
2013-11-21 23:38:44 -05:00
Luke Campagnola
19cf49bc7d fixed context menu handling for non-GraphicsItems 2013-11-21 23:29:03 -05:00
Luke Campagnola
8deaf0866f avoid division by zero when ViewBox has size or aspect = 0 2013-11-21 13:37:01 -05:00
Luke Campagnola
f05c10a80f removed unnecessary scipy import 2013-11-21 09:57:56 -05:00
Luke Campagnola
a972114b4f Fixed ViewBox not updating immediately after call to setAspectLocked 2013-11-21 07:56:30 -05:00
Antony Lee
23a0d6d7c0 Use actions of ViewBox's contextMenu in full menu.
The main change is on `ViewBox.getContextMenus`, which now returns an
up-to-date of actions that `GraphicsScene.addParentContextMenus` can use.

Also, `getContextMenus` was given a default implementation in the base
class (falling back on `getMenu` if defined), and some cleanup was done.
2013-11-20 12:23:07 -08:00
Luke Campagnola
193b1097b2 Merge branch 'axis_unicode_fix' into develop 2013-11-19 14:47:03 -05:00
Luke Campagnola
901e8ae596 Fixed unicode handling in AxisItem label 2013-11-19 14:45:57 -05:00
Luke Campagnola
5b905cde8b Override ViewBox.popup() to update menu before showing
Extend ViewBox menu in examples/contextMenu
2013-11-19 07:46:17 -05:00
Luke Campagnola
5b156cd3d3 Fixes for multiprocess / RemoteGraphicsView:
- Process now optionally wraps stdout/stderr from child process to
  circumvent a python bug
- Added windows error number for port-in-use check
- fixed segv caused by lost QImage input in pyside
2013-11-17 22:32:15 -05:00
Antony Lee
2e61be739f Don't copy the context menu of ViewBoxes.
This allows customization of the context menu of a ViewBox simply by
calling viewbox.menu.addAction(...).  See issue #13.  Also some cleanup.
2013-11-17 14:21:13 -08:00