Commit Graph

589 Commits

Author SHA1 Message Date
Luke Campagnola
704f2f2048 Merge remote-tracking branch 'gpoulin/scatter_optim' into scatter-optim
Conflicts:
	pyqtgraph/functions.py
	pyqtgraph/graphicsItems/AxisItem.py
2014-01-15 00:11:05 -05:00
Luke Campagnola
19293d5b67 fixed division by zero 2014-01-14 22:29:46 -05:00
Luke Campagnola
a51c30d02f Merge branch 'integer-image-histogram-range' into develop
ImageItem.getHistogram is more clever about constructing histograms:
  - integer dtype images now have integer-aligned bins, with bin number
    determined by a target value
  - step size is automatically chosen based on a target image size
  - bins and step arguments have default values 'auto'
2014-01-14 22:28:54 -05:00
Luke Campagnola
e8dd3e6e57 ImageItem.getHistogram is more clever about constructing histograms:
- integer dtype images now have integer-aligned bins, with bin number
    determined by a target value
  - step size is automatically chosen based on a target image size
  - bins and step arguments have default values 'auto'
2014-01-14 22:22:50 -05:00
Luke Campagnola
12149b1dc4 Merge remote-tracking branch 'anntzer/integer-image-histogram-range' into integer-image-histogram-range 2014-01-14 21:06:48 -05:00
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
e62c833a0c Merge branch 'flowchart_plotnode_menu' into develop 2013-12-27 22:36:00 -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
9de3011556 minor setup corrections 2013-12-27 12:05:27 -05:00
Luke Campagnola
f4e0f091dc Fixes against relative-import reorganization 2013-12-23 18:42:02 -05:00
Luke Campagnola
9ffc172bf7 Added documentation on using pyqtgraph as a subpackage. 2013-12-23 15:20:56 -05:00
Luke Campagnola
a61b37598b Merge branch 'relative_imports' into develop
This merge converts all absolute imports into relative imports throughout pyqtgraph.
This allows pyqtgraph to be embedded as a sub-package of larger packages.
2013-12-23 10:30:50 -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
3488910810 Merge branch 'static_imports' into develop
No more dynamic imports; pg uses static imports throughout.
Flowcharts and exporters use plugin systems
2013-12-21 23:53:30 -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
63f3b0ab6e Fix examples/hdf5.py to work properly with --test 2013-12-19 12:44:03 -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
3b94b0d93b Merge branch 'plot_curve_picking' into develop 2013-12-19 09:58:20 -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
a6aca65785 Merge pull request #21 from anntzer/py3fixes
Some Python3 related fixes.
2013-12-16 15:37:53 -08:00
Antony Lee
a9b1fd9079 Some Python3 related fixes. 2013-12-16 15:02:26 -08: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
0f73e89ec6 make setup.py more robust to possible errors during version string modification 2013-12-15 13:17:26 -05:00
Luke Campagnola
09e0bf73c3 setup.py now modifies __init__.py on build to include a more descriptive version string if .git is present. 2013-12-15 13:01:37 -05:00
Luke Campagnola
44ce6f5646 Updated contributors list 2013-12-15 11:38:44 -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
bc7bc29740 Added HDF5 file to demonstrate dynamically plotting a subset of a very large dataset
* Loads only data that is currently visible
 * Downsamples to avoid plotting too many samples
 * Loads data in chunks to limit memory usage during downsampling
2013-12-08 12:47:04 -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