Commit Graph

38 Commits

Author SHA1 Message Date
Luke Campagnola
ab0729bb04 Add check for even array length when using arrayToQPath(connect='pairs') 2014-02-28 08:55:30 -05:00
Luke Campagnola
7d32ef85be Added automatic image downsampling (disabled by default)
- Reduces aliasing when zoomed out
  - Improves performance and memory usage for large images
Merge branch 'image_downsampling' into develop

Conflicts:
	pyqtgraph/graphicsItems/ImageItem.py
2014-02-17 20:48:22 -05:00
Luke Campagnola
d67464af72 Update imageToArray to support Py2.6 + Qt 4.10 2014-02-17 20:02:03 -05:00
Luke Campagnola
bccbc29940 Bugfixes:
- isosurface works for arrays with shapes > 255
 - Fixed ImageItem exception building histogram when image has only one value
 - Fixed MeshData exception caused when vertexes have no matching faces
 - Fixed GLViewWidget exception handler
2014-02-03 22:24:45 -05:00
Luke Campagnola
6e5e35691c cleanups 2014-01-16 20:34:05 -05:00
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
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
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
0a5cb62a6f ImageItem now has auto downsampling; seems to be working properly.
Still need auto clipping as well.
2013-11-20 13:51:39 -05:00
Luke Campagnola
f8772d179f removed unused variable 2013-11-14 12:16:31 -05:00
Guillaume Poulin
63bf2b3270 optimize ScatterPlotItem with pxMode=True 2013-09-20 15:46:10 +08:00
Luke Campagnola
58048a703c - Removed inf/nan checking from PlotDataItem and PlotCurveItem; improved performance
- Added 'connect' option to PlotDataItem and PlotCurveItem to affect which line segments are drawn
- arrayToQPath() added 'finite' connection mode which omits non-finite values from connections
2013-09-13 03:27:26 -04:00
Guillaume Poulin
a290a39779 merge with inp 2013-07-05 00:09:30 +08:00
Luke Campagnola
934e50ad55 Added python3 support for efficient method in arrayToQPath 2013-07-04 08:34:18 -04:00
Guillaume Poulin
f2d0991102 Minor fixes for py3k 2013-07-04 05:52:16 +08:00
Luke Campagnola
6e253e409b merge from acq4:
- Support for dynamic downsampling and view clipping in PlotDataItem / PlotItem
  - fixed __truediv__ handling
  - ViewBox updates to fix aspect locking (still broken)
  - AxisItem tries to be more clever about when to display tick text
  - Fix segmentation fault caused by exception inside GraphicsItem.paint()
  - Added 'x' scatter plot symbol
  - pg.mkPen supports dashes
2013-07-03 11:36:07 -04:00
Luke Campagnola
8c13a3e7e3 copy from acq4 2013-07-03 11:20:49 -04:00
Luke Campagnola
adda8ae24d New methods in use for converting array -> QImage.
This fixes memory leaks with PyQt 4.10 _except_ when using makeQImage(copy=False).
Tested on 4.9.3 and 4.10.2; need to be tested against other versions.
2013-06-19 19:36:46 -04:00
Luke Campagnola
a55d58024d Added Dock.close()
Fixed bugs in functions weave usage
Documented ROI signals
Fixed 3D view updating after every scene change
2013-05-22 14:09:56 -04:00
Luke Campagnola
720c5c0242 Fixed handling of non-native dtypes when optimizing with weave 2013-05-13 14:46:53 -04:00
Luke Campagnola
8828892e55 merged many changes from acq4 2013-03-26 13:46:26 -04:00
Luke Campagnola
83812ad5b8 Bugfixes:
- AxisItem did not update grid line length when plot stretches
  - Workaround for PySide/QByteArray memory leak
2013-02-26 21:54:56 -05:00
Luke Campagnola
a80f150b86 merge with inp 2013-02-11 21:47:00 -05:00
Luke Campagnola
c80bfb334c Fix for new QImage API in PyQt 4.9.6 2013-02-11 16:38:13 -05:00
Luke Campagnola
6e5c5e402b merged many new features from ACQ4 2013-02-10 17:45:16 -05:00
Luke Campagnola
97da32c4ec minor edit 2013-02-10 14:16:21 -05:00
Luke Campagnola
ee21e2d054 fixed scatterplotitem segfault
added graphitem
2013-01-30 15:56:08 -05:00
Luke Campagnola
4dc9b83816 Fixes for Python3, PySide 2013-01-12 18:07:35 -05:00
Luke Campagnola
c5dd0f4f63 Fixed print statements for python 3 2013-01-12 14:35:32 -05:00
Luke Campagnola
9a9fc15873 Bugfixes:
- GraphicsItem.pixelVectors copies cached results before returning
  - Multiprocess fixes for Windows:
      - mmap/shm uses anonymous maps rather than tempfiles
      - avoid use of getppid and setpgrp
      - work around hmac authentication bug (use os.urandom to generate key)
2013-01-12 14:31:49 -05:00
Luke Campagnola
af59296231 Reorganized directory structure to be more standard
Started new SVG exporter
Merged updates from ACQ4
2012-12-25 00:43:31 -05:00