Thursday, May 5, 2011

SVMT plugin for Stellarium

If you have been wondering what Diego and myself worked on for more than a year at ESO, here is a quick video answer realized by Diego:



And here is another video focusing on the GUI:



Seeing the videos, you may now think: it looks cool, but what the hell is that?


What is SVMT?
SVMT standing for "Survey Visualization and Monitoring Tool" is a plugin for Stellarium which allows astronomers at ESO to monitor the progression and completion of large sky surveys (realized by telescopes in Chile).

The main Stellarium screen (on the left) is used to display shapes in the sky representing the locations where pictures were taken by the telescopes. A special GUI allows to specify a set of contraints defining which data set we are interested in (by default all the data is displayed, yes that's millions of stuff!). For example, a typical query is "show me only the images taken by telescope X for survey Y between date d1 and d2". The results is then displayed graphically and some more contraints can be added in the GUI to continue refining the query.

There is also the possibility of comparing the result of several queries using a system of layers: one layer per query, and each layer has a different color. This allows to answer some questions such as "What is the percentage of completion of this survey in area?".

How does it works?
Technically, the whole GUI part (on the right) was coded in QML and is actually hosted on the server and downloaded by the client at startup. The queries themselves are computed on the server side and the result are returned as JSON files and displayed graphically on the sky and in the GUI.

One of the most challenging piece of code done for this project is a library for computing the intersection and union of spherical polygons. As far as I know Stellarium's code contains the only spherical geometry library capable of managing spherical polygons which are non-convex (i.e. with holes or strange shapes) and potentially larger than 180° (i.e. larger than a half sphere). It is on my TODO list to write another post about that.


What's next?
Now that me and Diego left ESO, there is currently no maintainer for SVMT. However, the code is entirely open source (GPL license) and its design was done keeping in mind that it should be re-used for other data sets. Please contact me if you have any interest of re-using the code for other purpose.

For more info
Try a demo version (with public data sets only)
See the project Launchpad page.
Have a look at the Developers Documentation

Looking for a job

After spending some months playing with small personal projects, it's now time for me to look for a proper job! For those interested, I just updated my CV [html|pdf].

Note that I am also available for specific consulting regarding Stellarium or other programming tasks!