Contribute Media
A thank you to everyone who makes this possible: Read More

Scientific Visualization with GR

By Josef


Python developers often get frustrated when managing visualization packages that cover the specific needs in scientific or engineering environments. The *GR* framework could help. GR is a library for visualization applications ranging from publication-quality 2D graphs to the creation of complex 3D scenes and can easily be integrated into existing Python environments or distributions like Anaconda.


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 (Qt) or three-dimensional visualizations (OpenGL), it seems that Python as an interpretative programming language may be reaching its limits.


  • Introduction (1 min)
    • motivation
  • GR framework (2 mins)
    • layer structure
    • output devices and capabilities
  • GR3 framework (1 min)
    • layer structure
    • output capabilities (3 mins)
      • high-resolution images
      • POV-Ray scenes
      • OpenGL drawables
      • HTML5 / WebGL
  • Simple 2D / 3D examples (2 min)
  • Interoperability (PyQt/PySide, 3 min)
  • How to speed up Python scripts (4 mins)
    • Numpy
    • Numba (Pro)
  • Animated visualization examples (live demos, 6 mins)
    • physics simulations
    • surfaces / meshes
    • molecule viewer
    • MRI voxel data
  • Outlook (1 min)


Links to similar talks, tutorials or presentations can be found here. Unfortunately, most of them are in German language.

The GR framework has already been presented in a talk at PyCon DE 2012 and 2013, during a poster session at PyCon US 2013, and at PythonCamps 2013 in Cologne. The slides for the PyCon.DE 2013 talk can be found here.

As part of a collaboration the GR framework has been integrated into NICOS (a network-based control system completely written in Python) as a replacement for PyQwt.

Improve this page