Hack Week 3: MathMap

MathMap Screenshot

I’ve used this Hack Week, like the last one, to work on my long-time pet project MathMap, culminating in two releases, 1.3.3 and 1.3.4.

MathMap 1.3.3, released early in the week, features an optically much improved composer, implemented by Herbert Pötzl, as you can see in the screenshot above.

Also new is a Gaussian blur filter which can be used in the composer as well as in hand-written filters. What’s noteworthy about this filter is that it’s the first filter that is not implemented in the MathMap language, but rather in MathMap’s implementation language, C, which is why I call it a “native filter”. The reason for this is that the MathMap language, which is very similar in spirit to pixel shader languages (but more powerful), does not lend itself well to filters which cannot be efficiently calculated for each pixel separately. The only way to implement it would be for every pixel to be calculated to loop over its pixel region (the size of which depends on the blur radius) and sum up the pixels.

At the end of the week I released MathMap 1.3.4, which, apart from bug fixes and performance improvements, adds yet another native filter (three, actually), namely convolution. It doesn’t realize its full potential yet, because there’s no sane way of providing pixel-precise convolution kernels, but I’ll fix that sooner or later.

To give you a feel for the new features of MathMap I’ve put together a new screencast, despite grave technical difficulties. It focusses mostly on the composer and the new native filters. I’m also presenting an interesting way to make black and white images which you might find interesting independent of MathMap. Have fun!


MathMap Cocoa

A few years ago Herbert Pötzl and I have developed a native MacOS X version of MathMap we called “MathMap Cocoa”. We haven’t updated it since then and it has become quite dated. Until now, that is. In a few hacking sessions, the last one this weekend, we updated MathMap Cocoa to correspond to the latest stable MathMap release, 1.2.4. It even comes with an introductory video, showing off, among other things, movie creation. Give it a go and download MathMap Cocoa!

Hack Week 2: MathMap

This week at Novell we had another Hack Week, for which we are encouraged to work on some new or interesting project of our own choice. I decided to spend the week working on MathMap, which I’ve blogged about before. I’ve improved the composer to a point where it’s actually usable for doing real stuff. That work has made it into the new release 1.3.2.

As a bonus I’ve begun implementing a new feature which will greatly extend the range of image manipulations possible with MathMap. I will talk about this in detail when it is at a point where I can give an actual demonstration.

What I’ve also done is put together a new screencast. This time it’s not about a new feature but is an introduction to the small language that’s at the core of MathMap:

The MathMap Composer

I’ve just released version 1.3.1 of MathMap, which is a very generic image processing tool in the form of a GIMP plug-in (it can also be used as a command-line tool, though). This newest release sports a very exciting new feature, called “MathMap Composer”, which is similar in spirit to Quartz Composer for MacOS X, or, to pick a more well-known product, Yahoo! Pipes. Here’s a screencast presentation I put together today:

Thanks to the awesome openSUSE build service you can get pre-built MathMap packages for an impressive number of Linux distributions.