Commit Graph

136 Commits

Author SHA1 Message Date
Luke Campagnola
a157d9c4fa Added better API for controlling antialiasing in plots
PlotItem auto-range button is now hidden by default; only appears for plots that are not already auto-ranged and have mouse hover.
2012-12-23 00:51:28 -05:00
Luke Campagnola
4ceae9f1a1 Features:
- GLScatterPlotItem can work with arbitrarily-shaped vertex arrays
- added colorToAlpha function

Bugfixes:
- GraphicsScene emits sigMouseClicked for all clicks
- CanvasItem emits transformation change signal when mirrored
- GLViewWidget.pixelSize correctly handles position specified as array
- SRTTransform3D assumes Zscale=1 when converting from 2D transform
2012-12-22 17:04:07 -05:00
Luke Campagnola
b25e34f564 Features:
- Canvas: added per-item context menus
- Isocurve: 
     option to extend curves to array boundaries
     option to generate QPainterPath instead of vertex array
- Isosurface is a bajillion times faster
- ViewBox
     added clear() method
     added locate(item) method (shows where an item is for debugging)

Bugfixes:
- automated example testing working properly
- Exporter gets incorrect source rect when operating on PlotWidget
- Set correct DPI and size for SVG exporter
- GLMeshItem works properly with whole-mesh color specified as sequence
- bugfix in functions.transformCoordinates for rotated matrices
- reload library checks for modules that are imported multiple times
- GraphicsObject, UIGraphicsItem: added workaround for PyQt / itemChange bug
- ScatterPlotItem: disable cached render during export

Other:
- added documentation for several functions
- minor updates to setup.py
2012-12-22 16:51:25 -05:00
Luke Campagnola
ecca8855df - ScatterPlotItem disables render cache during export
- Fixes for SVG exporter
- functions.isosurface() is a bazillion times faster (API change: return value format has changed)
2012-12-22 15:16:38 -05:00
Luke Campagnola
3de5719011 Merged testing code from Kratz
Numerous fixes for python 3 compatibility
2012-12-05 00:25:45 -05:00
Luke Campagnola
80148920c9 Bugfixes:
- Image exporter detects GraphicsView background color
- Corrected exporter filename handling for SVG export
- ViewBox no longer attempts to deregister itself while python is exiting
- Speedup for conversion using np.array(MetaArray_instance)
- GLGraphicsItem updates immediately when its GL options have changed
- Corrected some GL shader program bugs for nVidia drivers
- Fixed coordinate mapping bug in functions.transformCoordinates
- Fixed PySide import error
2012-12-04 21:02:05 -05:00
Luke Campagnola
d800ab03aa Added graphics item for drawing filled space between two plots 2012-11-28 22:56:31 -05:00
Luke Campagnola
005160423e Converted all old-style classes to new-style for PySide compatibility. (thanks Chris) 2012-11-28 22:47:52 -05:00
Luke Campagnola
9b41c90034 New features for LegendItem:
- Can be anchored to parent item at any location
  - Support for filled plot styles
  - Automatically resizes to fit contents
  - PlotItem can auto-generate legend
2012-11-23 16:05:14 -05:00
Luke Campagnola
e5f383fbb5 Bugfixes and updates to functions.py:
- generalized makeARGB API: can now process arrays of arbitrary shape.
  - affineSlice automatically converts vector arguments to array
  - new function applyLookupTable taken from makeARGB
  - isosurface function returns array
Updated VideoSpeedTest example to follow new makeARGB API

LayoutWidget: row argument now accepts 'next' as value
ParameterTree bugfix: avoid infinite recursion when accessing non-existent attributes
ViewBox: avoid exit error caused when cleanup callback is invoked while python is shutting down
2012-11-23 16:01:25 -05:00
Luke Campagnola
eab1d75592 ROI updates:
- ROI.movePoint now expects parent coordinates by default
   - Added ROI.getHandles()
   - Renamed MultiLineROI to MultiRectROI
   - Reorganized MultiRectROI, added addSegment and removeSegment methods (thanks Martin!)
2012-10-31 02:01:55 -04:00
Luke Campagnola
2c679dfbcc ViewBox will now correctly auto-range when an item's position or transform changes. 2012-10-31 01:57:00 -04:00
Luke Campagnola
679de86509 Minor changes and fixes:
- documentation updates
   - PlotItem informs all items when switching to log mode
   - GradientEditorItem has sigGradientChangeFinished
   - ParameterTree list types check linits on initialization
   - Fixed RuntimeError in TreeWidget.clear()
2012-10-31 01:53:16 -04:00
Luke Campagnola
450626a3bb Fixes for PySide compatibility 2012-10-26 08:55:53 -04:00
Luke Campagnola
8551a990c6 Merged ViewBox bugfix from Kratz 2012-10-25 00:22:18 -04:00
Luke Campagnola
15d9c1b351 PlotCurveItem now has 'step' mode for drawing histograms
Added function for generating pseudo-scatter plots (points stack in a histogram-like manner)
2012-10-22 13:35:58 -04:00
Luke Campagnola
16434272c2 Bugfix: ScatterPlotItem not updating correctly when view is resized
Documentation updates (linked GLImageItem and Legend item to indexes)
2012-10-22 13:34:03 -04:00
Luke Campagnola
65ed889a77 Added very basic LegendItem. Functional, but still missing some basic features.
Added GLImageItem and example.
2012-10-18 23:18:20 -04:00
Luke Campagnola
1c8579d4b4 - Bugfixes:
Fixed exporters to automatically add filename extension.
    Fixed ViewBox 'auto pan' option.
- Other minor edits.
2012-10-18 22:51:46 -04:00
Luke Campagnola
c4019b900d Overhaul of ScatterPlotItem to improve performance. (API should be mostly unchanged)
Much more efficient at rapid updates.
2012-10-18 22:48:36 -04:00
Megan Kratz
c039074e79 bugfix for ViewBox.childrenBounds -- vertical infiniteLines were not being included in autoscale range 2012-10-15 15:41:11 -04:00
Luke Campagnola
64be9c8b1f converted all png files to compiled .py file; this allows easier packaging with py2exe 2012-10-11 11:14:35 -04:00
Luke Campagnola
5081c97ac5 Better support for frozen environments:
- built in Christian Gavin's os.listdir replacement
  - added os.isdir replacement
Fixed ViewBox causing errors at shutdown
2012-10-11 00:57:24 -04:00
Luke Campagnola
1d05656a73 - Fixed issue with numpy.concatenate wrapper
- ConsoleWidget now correctly catches its own exceptions
- Fixed ViewBox auto-scaling bug
- Fixed functions.siEval not parsing units correctly
- Fixed bug caused when opengl GL_VERSION_STR is None
2012-10-09 20:40:48 -04:00
Luke Campagnola
844dbb20a5 Fixed error message in Qt.py
Made scipy optional in functions and ImageItem
2012-10-06 16:58:35 -04:00
Luke Campagnola
c2f0bebe09 Added functions.transformCoordinates() for mapping numpy arrays of coordinates from QTransform and QMatrix4x4
Minor updates:
- fixed SRTTransform3D.matrix()
- ViewBox fix: updateAutoRange leaves unused axes completely unchanged
- documentation updates
2012-10-06 16:56:53 -04:00
Luke Campagnola
ced5583ae1 fixed error message in Qt.py
made scipy optional in functions and ImageItem
2012-10-06 02:23:23 -04:00
Luke Campagnola
27c90c5dd5 Many minor updates:
- added ability for ScatterPlotItem to use arbitrary symbol shapes
- added scatter plot speed test for evaluating new methods
- added butterworth notch filter to flowchart library
- fixed bugs with ViewBox trying to close itself after python has started cleaning up
- fixed python 2.6 compatibility bug in PlotCurveItem
- fixed support for list-of-dicts and dict-of-lists input for PlotDataItem
- check to ensure Qt version is >= 4.7
- workaround for numpy segmentation fault
- several other minor updates and documentation changes
2012-10-02 21:23:59 -04:00
Luke Campagnola
ca9d0ed147 Added preliminary support for python 2.6
Fixed setup.py to automatically search for all sub-packages
2012-09-13 10:12:59 -04:00
Luke Campagnola
c022f3a10f Bugfixes:
- initialize ImageItem.menu
 - fixed default argument for ROI.getAffineSliceParams(axes)
2012-09-11 10:26:34 -04:00
Luke Campagnola
32311351f1 Now detects and switches between PyQt / PySide automatically; no need to distribute different versions of the library anymore. 2012-09-09 19:07:36 -04:00
Luke Campagnola
f9a7dad5dc Minor changes:
- ROI.getArrayRegion makes sure the ROI and image share the same scene
  - Added a few binary operator methods to metaarray 
  - Fixed flowchart/eq.py handling of metaarray objects
2012-09-09 18:56:48 -04:00
Luke Campagnola
5a4fd82cd9 merge with dev branch repository 2012-08-31 17:23:19 -04:00
Luke Campagnola
0402d08604 Minor updates and bug fixes:
- fixed handling of foreground colors in AxisItem
  - fixed rare crash caused in AxisItem 
  - fixed improper propagation of key events from SpinBox
  - many others
2012-08-31 17:18:06 -04:00
Luke Campagnola
c71ee6ed6f Minor documentation fixes 2012-08-23 11:17:40 -04:00
Luke Campagnola
b88f0a22a2 ImageView can now be initialized with custom view and image objects 2012-08-03 00:29:05 -04:00
Luke Campagnola
c686395ebe ImageView fix: display correct coordinates in ROI plot for scaled, single-frame images
Minor documentation updates
2012-08-02 22:46:08 -04:00
Luke Campagnola
a41d330c29 Bugfixes:
- Fixed some floating-point precision issues. (Added a workaround for QTransform.inverted() bug)
  - No longer putting asUnicode inside __builtin__ since this causes problems in some rare circumstances
    (pyshell, lazy import recipe)
  - Minor docstring updates
2012-07-12 15:35:58 -04:00
Luke Campagnola
2213dea9d8 Bugfixes
- AxisItem.setScale(1) works properly to disable auto-value-scaling
- OpenGL fixes (stack overflow when drawing items, improper call to glPopAttrib)
2012-07-09 14:41:10 -04:00
Luke Campagnola
662b319d7b - PlotItem can now be constructed with customized ViewBox and AxisItems
- Text spacing fix for AxisItem
2012-07-09 08:38:30 -04:00
Luke Campagnola
f178919bee Python3 compatibility updates 2012-07-09 08:36:59 -04:00
Luke Campagnola
6d01aa2b09 Bugfixes:
- workaround for PySide exit crash
- fixed alpha of major/minor grid lines
2012-07-03 14:44:07 -04:00
Luke Campagnola
73e94f543c Parallelize now reseeds random number generators after fork()
Bugfix -- AxisItem enforces tick boundaries more strictly
2012-06-30 23:32:26 -04:00
Luke Campagnola
3d71a1f555 Documentation updates
minor code edits
2012-06-30 23:30:35 -04:00
Luke Campagnola
ad7b5f0aad - Default foreground / background colors can now be set using pyqtgraph.setConfigOption()
- Added pyqtgraph.systemInfo() for bug reporting
- GraphicsLayout does a better job of avoiding occupied cells when using automatic placement
- Fixed sizing issues with LabelItem
- Updated GraphicsLayout example
2012-06-29 14:39:27 -04:00
Luke Campagnola
cc93c7ba43 Minor edits and fixes 2012-06-21 21:52:34 -04:00
Luke Campagnola
acb3230b78 bugfix -- GraphicsItem automatically determines qt base class. 2012-06-18 19:51:18 -04:00
Luke Campagnola
3f486d9a65 minor code cleanup
bugfixes for pyside-specific issues
2012-06-18 19:40:15 -04:00
Luke Campagnola
16c4e2929f fix for ScatterPlotItem / pyside 2012-06-18 17:47:56 -04:00
Luke Campagnola
f9310d64c7 Imported code for disabling ViewBox menus from Ingo 2012-06-18 15:03:41 -04:00