Getting more out of Matplotlib with GRJosef Heinen
Python is well established in software development departments of research and industry, not least because of the proliferation of libraries such as SciPy and Matplotlib. However, when processing large amounts of data, in particular in combination with GUI toolkits (Qt) or three-dimensional visualizations (OpenGL), Python as an interpretative programming language seems to be reaching its limits. In particular, large amounts of data or the visualization of three-dimensional scenes may overwhelm the system.
This presentation shows how visualization applications with special performance requirements can be designed on the basis of Matplotlib and GR, a high-performance visualization library for Linux, OS X and Windows. The lecture focuses on the development of a new graphics backend for Matplotlib based on the GR framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of Matplotlib in real-time environments, for example in the area of signal processing.
Using concrete examples, the presentation will demonstrate the benefits of the GR framework as a companion module for Matplotlib, both in Python and Julia. Based on selected applications, the suitability of the GR framework will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the GR framework are emphasized in terms of interoperability with graphical user interfaces (Qt/PySide) and OpenGL, which opens up new possibilities for existing Matplotlib applications.
Getting more out of Matplotlib with GRJosef Heinen
Python is well established in software development departments of research and industry, not least because of the proliferation of libraries such as SciPy and Matplotlib. However, when processing large amounts of data, in particular in combination with GUI toolkits (Qt) or three-dimensional visualizations (OpenGL), Python as an interpretative programming language seems to be reaching its limits. In particular, large amounts of data or the visualization of three-dimensional scenes may overwhelm the system.
This presentation shows how visualization applications with special performance requirements can be designed on the basis of Matplotlib and GR, a high-performance visualization library for Linux, OS X and Windows. The lecture focuses on the development of a new graphics backend for Matplotlib based on the GR framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of Matplotlib in real-time environments, for example in the area of signal processing.
Using concrete examples, the presentation will demonstrate the benefits of the GR framework as a companion module for Matplotlib, both in Python and Julia. Based on selected applications, the suitability of the GR framework will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the GR framework are emphasized in terms of interoperability with graphical user interfaces (Qt/PySide) and OpenGL, which opens up new possibilities for existing Matplotlib applications.
GR.jl - Plotting for Julia based on GRJosef Heinen
Julia is steadily gaining popularity in the field of data science and visualization. Plotting capabilities are provided by packages such as Gadfly and PyPlot. They are the workhorse plotting utilities of the scientific Julia world. However, depending on the field of application, the software may be reaching its limits. This is the point where the GR framework will help. GR can be used as an alternative graphics module and significantly improve the performance and expand the capabilities of visualization applications.
Julia is an accepted high-level scripting language for scientific computing and visualization, not least because of the proliferation of libraries such as Gadfly and PyPlot. However, when processing large amounts of data, in particular in combination with three-dimensional plotting (OpenGL), the existing graphics packages are too application-specific or seem to be reaching their limits. In particular, large amounts of data or the visualization of three-dimensional scenes may overwhelm the system.
This presentation shows how visualization applications with special performance requirements can be designed on the basis of GR, a high-performance visualization library for Linux, OS X and Windows. The lecture also introduces a new graphics backend for PyPlot based on the GR framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of PyPlot in real-time environments, for example in the area of signal processing.
Using concrete examples, the presentation will demonstrate the benefits of the GR framework for high-performance graphics or as a companion module for PyPlot. Based on selected applications, the suitability of the GR framework will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the GR framework are emphasized in terms of interoperability with OpenGL, which opens up new possibilities for existing applications.
Python has long been established in software development departments of research and industry, not least because of the proliferation of libraries such as SciPy and Matplotlib. However, when processing large amounts of data, in particular in combination with GUI toolkits or three-dimensional visualizations, it seems that Python as an interpretative programming language may be reaching its limits.
This presentation shows how visualization applications with special performance requirements can be designed on the basis of the GR framework, a "lightweight" alternative to Matplotlib. It aims to show in detail how to implement real-time applications or compute-intensive simulations in Python by using current software technologies. The responsiveness of animated visualization applications and their resulting frame rates can be improved, for example, by the use of just-in-time compilation with Numba (Pro).
Using concrete examples, the presentation aims to demonstrate the benefits of the GR and GR3 frameworks in conjunction with C wrappers, JIT compilers, graphical user interfaces (GUIs) and OpenGL. Based on selected applications, the suitability of the GR framework especially in real-time environments will be highlighted and the system’s performance capabilities illustrated using demanding live applications. In addition, the special abilities of the GR and GR3 frameworks are emphasized in terms of interoperability with current web technologies.
Getting more out of Matplotlib with GRJosef Heinen
Matplotlib is the most popular graphics library for Python. It is the workhorse plotting utility of the scientific Python world. However, depending on the field of application, the software may be reaching its limits. This is the point where the GR framework will help. GR can be used as a backend for Matplotlib applications and significantly improve the performance and expand their capabilities.