Gravitational Waves with GStreamer Workshop
Canadian Institute for Theoretical Astrophysics
November 8–11, 2010
Since the workshop completed, most codes in question have evolved and the material presented here no longer applies in its entirety. The introduction material and the documentation tour remains the most relevant. The code examples should now be taken as illustrative.
The objective of the workshop is to assist people who wish to use gstreamer technology for GW data analysis to get started. The workshop is to be focused on the interests of the attendees, and so the content will solidify as the attendee list does. The objective is not to make you an expert GStreamer developer, but to help you become familiar enough with the library that you can continue learning on your own after you leave the workshop.
The attendee is expected to be familiar with C and Python, as well as LAL and related libraries, and is expected to have zero experience with GStreamer.
The attendee will be required to provide his/her own computer/laptop.
The workshop will proceed in three phases.
The afternoon of the final day will be kept clear of any formal presentations
so that people who wish to catch early flights can do so.
- We will begin with an introduction and setup to make sure all attendees have acess to a working development environment. We'll try to get people going on their laptops or an LSC cluster.
- Next we will present a tutorial in which we walk all attendees through the creation of a basic gstreamer element.
- The bulk of the workshop will be a hackathon style event in which attendees work independently or in small groups on individual projects. We will work with attendees in advance of the workshop to identify projects suitable for the scale of the workshop. Experts will be in attendance to answer questions, provide suggestions, help find and interpret documentation, and so on.
Hackathon Project Suggestions
- Write a ping search to veto glitches in the CBC pipeline
- Write an element to add an NR injection to an h(t) stream. Bonus marks: use it together with existing elements to feed a simulated Advanced LIGO noise stream containing NR injections to an icecast server.
- Write an element to add a pulsar injection to an h(t) stream. Bonus marks: use it together with existing elements to feed a simulated Advanced LIGO noise stream containing the pulsar injection to an icecast server.
- Write an element to construct an H1-H2 null stream. Bonus marks: use it together with existing elements to bulk process LHO data into H1-H2 frame files.
- (HARD) Write an element to construct an H1+H2 coherent stream.
- Write a sngl_burst XML trigger-generator element. Bonus marks: use it together with existing elements to construct a sine-Gaussian or string cusp burst trigger generator application.
- Given access to CITA's GPU box, write a GPU version of a gstreamer or
- Add gap re-normalization support to firbank.