-
Notifications
You must be signed in to change notification settings - Fork 0
Trash. UseCases
For whom are we coding?
There are many uses for a 3D and/or OpenGl-based plotting library. No one library will likely be able to satisfy them all. We need to consider whom we will serve, and whom we won't.
Plotting 2D points, lines, and images.
Currently uses: matplotlib, which does these things well, Pyqtgraph, visvis.
The same things as 2D, but in 3D: points, lines, and now surfaces. Other than putting the camera in the right place, visualization is not difficult.
Currently uses: matplotlib, which is slow; Mayavi, which is overkill; Visvis, which is id iosyncratic; pyqtgraph (works; would be little effort to make this code Qt-free).
Plotting things that fill space: volumes and vector fields. Need to be clever with cross-sections and transparency to make meaningful visualizations.
Currently uses: Mayavi, Visvis, pyqtgraph (but volume rendering is very rudimentary).
Using the GPU to handle large data sets, or just plotting data that's already calculated on the GPU.
Currently uses: Glumpy, Galry
All visualizations should be able to update smoothly in realtime (within reasonable limits) and impose minimal load on the CPU. Example: multi-channel oscilloscope display where visualization cannot be allowed to interfere with data acquisition.
Currently uses: Visvis, Pyqtgraph (works, but 2D graphics are slow-ish)
Need either high-resolution bitmap or, preferably, vector images for publication. Nice looking text and LaTeX typesetting would be nice. Plots of various types, 2D and 3D.
Currently uses: matplotlib, if possible, otherwise trying to make high-res images with others.