* Added HDF5 exporter
* CSV exporter gets (x,y,y,y) export mode
* Updates to SVG, Matplotlib exporter
* Console can filter exceptions by string
* Added tick context menu to GradientEditorItem
* Added export feature to imageview
* Parameter trees:
- Option to save only user-editable values
- Option to set visible title of parameters separately from name
- Added experimental ParameterSystem for handling large systems of
interdependent parameters
- Auto-select editable portion of spinbox when editing
* Added Vector.__abs__
* Added replacement garbage collector for avoiding crashes on multithreaded Qt
* Fixed "illegal instruction" caused by closing file handle 7 on OSX
* configfile now reloads QtCore objects, Point, ColorMap, numpy arrays
* Avoid triggering recursion issues in exception handler
* Various bugfies and performance enhancements
- 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)
- fixed example testing script
- Added finer axis ticks back in some instances
- fixed improper bounds caching in log/fft mode
- fixed exception handling in remoteproxy
- avoid sending keyboard interrupt signals to child processes
- parallelizer keeps better track of processes that die unexpectedly
- added ability to specify a different executable when starting new processes
- ForkedProcess is much more careful with inherited state -- closes file handles, removes atexit and excepthook callbacks
- Remote processes copy sys.path from parent
- Parallelizer has ProgressDialog support
- Many docstring updates
- Added some test code for remote GraphicsView rendering
- allows starting new processes and controlling them remotely from the parent process
- remote processes can run their own GUI, Qt signals can be connected between processes
(in general this is not possible with the built-in multiprocessing module due to
the use of fork() ).
- Control works by a system of proxy-objects such that controlling a remote process
looks almost exactly like working with local objects.
- Uses sockets to communicate between processes (so in theory could be made to
work over a network), but also includes a mode that uses fork() to allow fast
parallelization.
- Wicked-easy inline parallelization by adding only one line of code to break up work between
processes (requires fork; sorry windows users)