Skip to content

Vispy code camp @ESRF

Almar Klein edited this page Feb 11, 2014 · 29 revisions

Overview

  • Dates: 19 February (morning) - 21 February (evening) 2014
  • Location: ESRF, Grenoble, France. CTRM Meeting room.
  • Participants:
    • Core developers (AK, CR, NR, LC)
    • ESRF staff
    • Potential users

Goals

We set a few goals that we hope to achieve during this code camp. We distinguish between implementation, design, and discussion.

  • visuals (design & implementation)
  • Scene layer (design & implementation) When this layer is established, it becomes much easier for other people to use vispy.
  • How to integrate collections into the scene layer (design & implementation)
  • webgl interface (discussing & design, maybe implementation)
  • out-of-core plotting (discussion & design)
  • discussing dependencies for fast code (like isosurface extraction)

Further, there are some goals that do not have our priority, but which may be nice for participants to work on:

  • More GUI backends: wx, gtk, ... - a template is provided.
  • Increase test coverage - let's aim for 100%!
  • Functionality to test a rendered image with a reference. Some image processing required. Also incorporate this in Travis CI. See issue #89.
  • Add visuals, i.e. encapsulate existing code (e.g. antialiased lines) in Visual classes.
  • OpenCL interoperability
  • More examples/use-cases (with issue #89, these can become tests as well).
  • Make vispy.gloo standalone (issue #52)
  • webgl backend implementation (but needs design first, see above)
  • Pick one of the issues, e.g. #97.
  • ... Whatever you think is useful :)

Technical notes to be aware of

Program

Wednesday 19

Session 1: Individual presentations (9h-10h30)

Presentation of the developers and the ESRF (field, interest to scientific graphics, previous work in graphics, interest in vispy). (15-20 min each)

  1. AK
  2. LC
  3. CR
  4. NR
  5. ESRF

Coffee break (10h30-11h)

Session 2: Introduction to Vispy (11h-12h45)

  1. What is Vispy? (AK, 15 min)
  • Why?
  • What users are we targeting? (scientists, engineers, game developers...)
  • Possibilities and use cases? (scientific plotting, computer art/demo scene, data visualization, games...)
  • Rough overview of the different layers (which ones have been done, which ones remain to be done?)
  1. Introduction to modern OpenGL (AK)
  • shaders, GLSL, VBOs, PyOpenGL, importance of batch calls
  1. GLOO. (NR)
  2. Visuals, GUIs, and MVC. (CR, 20 min)
  3. Transforms, shader chaining, scenegraphs, Qt GraphicsView. (LC, 20 min)
  4. High-level interfaces. (CR, 15 min)

Lunch

Session 3: Advanced topics (1h30)

  1. gl-agg, antialiasing. (NR, 15 min)
  2. MPL backend. (NR, 15 min)
  3. WebGL backend. (CR, 20 min)
  4. Visualization of HDF5 files. (CR, 10 min)
  5. ...

Session 4: Use cases (30+ min)

Any participant can come and expose its use case in 10 min.

  1. Visualization and manipulation of electrophysiological recordings. (CR, 10 min)
  2. ESRF staff?
  3. ...

Thursday 20

  • Design, discussions, coding.

Friday 21

  • Design, discussions, coding.