WaveMe: When software meets optics

For some, optics is a collection of glass, preferably all in the same relative places from now to eternity. For me, that has never been the case. Optics was always part of a larger system, always connected to software and moving parts.

So when the need to align an unusual optical system came up, what could be more natural than write a program that could help me solve the problem. As you might have guessed, programs that you needed yesterday never turn out the way one would like. That program was no exception.

The good, the bad and the ugly

Nevertheless, it turned out to be a very useful program, even though nothing reveals the good, the bad and the ugly like a bout with reality. Re-thinking the things that didn’t work and improving on the good, that’s WaveMe. It won’t make you coffee, yet, but it is a very flexible program.

Do one thing and do it well – The Unix way

In a way, WaveMe is influenced by Unix, which is to do one thing and do it well. And there is a pipeline. The difference from the Unix pipeline is that with WaveMe, you tell your app (or module) what it needs and WaveMe puts it in the pipeline where that data exists, and it will do it without interrupting the pipeline.

Or Use as Is

Perhaps most important is that one does not have to program anything with WaveMe. It includes a few top-notch modules that you can use right out of the box. We have focused so much on usability that if you want the program to start in a configuration of your choice, we can do it. We didn’t develop this feature for this particular use case, but it’s nice when it works out like that.