Discrete Geometry Viewer - Quantum fun!

Updated: April 19, 2011

If you happen to be a person who studied physics at the university and were molested with solid state physics, you might have seen images of quantum wells and whatnot shot up from really close, resembling an expensive digital embroidery. You thought the images looked kind of cool, with color heat spectrum and 3D topography full of Bessel rings and curious mound-like shapes and ripples. Now, what if I told you this kind of fun is not limited to super-cooled matter irradiated with lasers. You can enjoy your bit of quantum shenanigans without worrying about lattices and Fermi-Dirac statistics.

Discrete Geometry Viewer (DGV) is a powerful, nifty program that lets you visualize and post-process images one pixel at a time. Basically, a PhD project, the program has a simple GUI that lets you work magic on your pictures. Forget GIMP. This is deep mathematics and fancy effects with Fourier and Radon, allowing you to take image manipulation to a whole you level. We're talking quantum science of image visualization. Let's take a look.


DGV demo

DGV is available both for Windows and Linux. You can also compile from source, but it takes a while, as you will need a handful of extra libraries. On the other hand, Ubuntu users have precompiled binaries ready. Although, things are not that rosy, since you will need to install a dozen missing libraries, including a pair that does not exist in the default repositories.

The program features a very simple, basic GUI. Load your image, right-click and choose whatever you like. Histogram, Fourier transformation, Radon transformation, Image stacks, and more.


Main options

Among the most impressive features is the Merged Surface Plot. Take any picture and transform it into a topographic map of color values. Essentially, this is nothing special, as pictures are collections of individual pixels. But if you take the matrix of color indices and turn each value into a tiny quantum bump, you get a stunning effect.

Here's an example:

Linux, example 1

Linux, example 2

A close up:

Cool effect 1

Cool effect 2

Looks cool, doesn't it? Now, a few more great examples:

Cool effect 3

Cool effect 4

Cool effect 5

Cool effect 6

Cool effect 7

Why am I showing you this?

Well, this looks cool, plain and simple. And if you're a scientist, I'm sure you'll find a way to put this tool into practice. Lastly, if you've followed my latest torrent of articles on 3D art, this one can also classify as art, too. There's Kerkythea and POV-Ray, so quantum geometry only seems sensible.

More good stuff

Let's see what else the program can do. Apart from showing off, you can try doing some of the things it's actually meant to do. For instance, take two pictures of different persons, performs some basic operations, like Fourier transform and convolution and observe the end result. There might also be an education aspect, as you teach people about the non-intuitive nature of advanced physics.

Before I show you my avant-guarde project, there's a simple exercise in Fourier: Take any image, perform a Fourier transform and then once more. You will see the picture is reconstructed upside down and with color loss. You may wonder why. Well, if you don't know anything about Fourier transforms, you could think the program is buggy or somewhat along those lines, but this is a perfectly expectable result. Fiddling with phases has never been so fun.

Fourier transform

Inverse image

Now, cream of the crop. If you're a hardcore Linux user and don't like Mark Shuttleworth, you may want to create a would-be witty poster depicting him as Stalin. You could go for cheesy GIMP effects using a Soviet flag, like I did in my Digital Armageddon article, or you could stop playing with boys' toys and go for the real deal. Fourier, here we go. Paste one's phases onto another face.

Combining images

Combining, final

Now the finest result, but you get the idea. Fourier transform, combine the phases, reconstruct back to original. You lose some of the information, as imaginary values can't be really shown, but the overall effect is neat. Now, you probably need to use mugshots of similar shape and size so that you don't end up with a world-class fail like I did, but it's the essence of the exercise that matters.

Small problems

DGV is not without fault. It's not a commercial grade software and with version increment at 0.30, you are bound to hit bugs and problems. For instance, the main interface does not respect the default desktop theme in Windows, displaying the images with the basic theme instead. You can't close images once you open them and the program sometimes stops responding when you try an operation that seems a bit tricky, like Radon transform or maybe combining images of different sizes.

More reading

A few more resources worth taking a look:

Discrete Geometry Viewer at linuxjournal.com

Author's homepage


Discrete Geometry Viewer may not be useful to everyone, but it will surely delight geeks and geek artists, who have gained a powerful new tool for image manipulation. Apart from its immediate scientific value, DGV also has educational aspects and can be used for stunning visualization effects that are otherwise virtually impossible to achieve.

Personally, I think DGV is a great project. Whether it's ever going to hatch from its infant phase depends mainly on the interest of the author, who could be pursuing other ideas once he completes his PhD. One thing is sure, this can be a smart ice breaker for all those terrified physics students, expecting years of boredom at the university. Lure them in, make them feel safe and comfy, thinking they are going to enjoy themselves. Well, they might actually get amused pasting pictures of Stalin and Mark together, even if they fail at the solid state physics exams.


You may also like: