As I mentioned a while back, I wrote up a few MSc project proposals in the hope of getting some teaching experience and help with some of the stranger side projects I’d like to get going. Of those projects I’ve heard back about one and as of now-ish I am supervising a student on my project “Spectral processing for RaspberryPi”.
Ages ago I released some code as open source, that was a very rough and ready way of processing data and tracking specific features. This tracker is invaluable to us in our work and I know that at least one other person has found it very helpful in theirs. So to build on this I wanted a MSc project to do two things.
Firstly, I wanted to change the program I wrote from Labview, which can be slow and comes with the bonus of needing to own £1000 worth of software to run it, to Python an open language that anyone can get to grips with.
Secondly, I wanted to move the spectral tracking system away from needing big computers and start using smaller processing systems, so that we can build it in to a more portable sensor system. Specifically, I wanted to get this kind of high-end processing running on a RaspberryPi.
These two goals are at best ‘busy work’. The can be summarised as “Do the thing I made in python” which is hardly a good project for a good MSc student. However, I hope that they are starting points for the student to actually write their own tracking system. The two goals above could be considered the bare minimum – what I’d really like is to see the student run with the project and work towards giving it their own twist.
For example, when I wrote the original program, I used what ever pre-baked peak tracking was available at the time. I didn’t even fully understand how it worked (I do now). While I now understand it a little more I am not in a position to radically redesign the algorithm. What I’m hoping to see in the project is the MSc student exploring new feature detection methods – and there are plenty available.
Even the logic-based peak tracking system was designed out of necessity for a particular data set. I’d love to see that re-egnineered to accommodate more variations in data and different ways of tracking features.
Essentially, what I have prepared is a simple project that I hope has a lot of scope for the student to really expand as much or as little as they want. The more they put into the project, the more they gain from it in terms of the quality of their thesis and the ability to publicise their work (more on that in a second).
For anyone interested in what the original MSc advert looks like then you can grab it here.
As the project goes on I’ll post the odd update if there’s something intresting to talk about, but in the main I won’t put too much up. If I can I’ll try to persuade the student to do a guest post on the project too but not everyone enjoys blogging as much as I do so it’s entirely up to them.
I have asked that the code of the project be hosted on Github like some of my other projects. But again I feel this is up to the student and how they want to manage their own code. Github is not for everyone (although it should be as it’s awesome).
One thing I have insisted on is that as the project is based on my software, which I open sourced, any software they produce must also be made open source at the end of the project. Python is a language that wouldn’t exist without the broad sharing of methods and I am very keen that where possible anything we produce is made available for others.