Public Lab and Google Summer of Code: Sky Camera,, and spectral database matching

Friday, February 14, 2014

Over the last few months, we have been featuring wrap up posts from veteran Google Summer of Code 2013 organizations. We’d now like to spend the next few weeks highlighting some of the orgs who participated in their first GSoC. Today’s wrap up comes from the org admin at Public Lab, a community where you can “learn how to investigate environmental concerns.”


Our first year in the GSoC program went well; with three students, we finished the summer with three exciting new projects, and our user community is already diving in and starting to use them.

Sky Camera

Mohit Meena (mentor: Chris Fastie) tackled a project to develop a new Android app which turns a cheap Android phone into a timelapse camera for use in turbulent conditions. For example, while suspended from a balloon or kite and taking aerial photographs. This app is designed to support the open source mapmaking toolchain of the Public Lab Balloon Mapping Kit and the online mapmaking tool Mohit developed two versions for newer 4.x devices and older 2.3.x phones (which are probably more likely to end up tied to a balloon at 1500 feet). The app also sends a small preview image and a set of GPS coordinates to an email address you specify.  Find out more and install the app here:  

Our second student, Bharat Bhustan (mentor: Don Blair) contributed to a highly collaborative effort to develop post-processing image compositing tools for Public Lab's open hardware project called the Infragram — a multispectral camera. The basic web-based conversion software fell into place quite quickly, but an exploratory branch of the project called Infragram Sandbox yielded some really interesting results. The Sandbox tool allows for compositing infrared/visible images with simple math expressions (which we're calling "infragrammar") which let you mix new images using terms for red, green, and blue (R,G,B) input channels. It's already become a powerful new way to do image manipulations for plant analysis, all in the browser. You can read more about this interface and watch an intro video here.

                       Spectral Database Matching

Our third student, Sreyanth Chary (mentor: Jeff Warren), tackled one of the hardest projects this summer — that of finding the most similar spectrum to any given spectrum in Public Lab's open spectral library at We wanted an optimized way to find the best matches from amongst the 10,000+ (and growing) open source spectra. While there were many ways to approach the problem, after seeking input from our open spectrometry discussion list, Sreyanth committed to one approach and did a great job, developing a technique that returns a ranked list of similar data in less than a second of database searching. He then ported the code from Python to Ruby once he'd proved his technique. Sreyanth’s documentation was extremely clear and well illustrated. 

Our students faced some unique challenges in integrating open source code with prototype DIY open hardware, and engaging with a community with perhaps more hardware hackers than software hackers. We're very happy with the results and hope to have the opportunity again! Thanks to all our super students and mentors!

By Jeffrey Warren,