My Medical Visualization Software Development Setup and Tech Stack

Right, I’ll be the first to admit I’m kind of a lazy software developer. Sure, if I really need to, I’ll build something myself, but I’ll take no pleasure in it. At all! I use Windows and am no longer ashamed to admit it. I’m always a happy camper when other people decide to make binaries available (thank you other people!). In this post I’ll summarize my current setup including the links to the binaries. This is mainly a reference for future me, in case I need to re-install somewhere, but hopefully other people will find it helpful as well. So here is a list of the things I can’t develop without:

  • Python. I’ve tried many languages in my time as a Computer Science student (Java, C, C#, C++ and Haskell, to name a few), but none of them ever captured my heart like Python did. I currently use Python 2.7.
  • PyQt/PySide. I really like PyQt for GUI design and event handling. I currently use PySide (almost the same, but has more permissive licensing) for all my GUI stuff. Contrary to what that page would have you believe, they do have 64-bit binaries. Here‘s the one I use.
  • VTK. The Visualization Toolkit. Indispensable for the type of applications I create, this handles many basic visualization tasks, so I can focus on the cool stuff. I currently use VTK 5.8.
  • MongoDB. Agile and scalable schemaless database technology: what’s not to like? The Python driver PyMongo is awesome and intuitive, you’ll have it running in no time. Get yours here.
  • PyCharm. I used to be Eclipse+PyDev all the way, but there’s only so much time I can spend staring at that splash-screen in a lifetime. PyCharm is a snappy little Python IDE that works like a charm (see what I did there?).
  • Console2. I love you Windows, but why does the cmd shell still have to suck so much after all these years? Console2 allows you to set hotkeys and tabs up the way you want to. What a lifesaver! This guy talks you through setting it up nicely.
  • DeVIDE. Just received some new data and need to convert it to another format or just quickly try out some stuff on it? DeVIDE is the rapid prototyping tool you need! I might be slightly influenced by my PhD supervisor though, he’s the brains behind this dataflow application builder.
  • Mercurial. SVN is so last season, people… Tired of all those random/hard to solve SVN conflicts and ready for a fresh version control system? Give Mercurial a try! Check out this cool tutorial and you’re good to go. Even as an ex-SVN-user.

I do hope this was helpful to someone other than me and I also hope you’ll set the flamewar phasers to kill for some good old-fashioned nerdrage in the comments section 😉

4 comments

  1. It is missing (at least) two other entries:
    gDEBugger: I don’t know if it works with uncompiled Python scripts, but it is a free, awesome program to debug OpenGL graphics
    the other
    Notepad++: The versatility of a Unix editor with the usability (i.e., there is one) of Windows

    1. Well, I skipped the obvious stuff like notepad++, because I figured everyone knows about that ;). I haven’t had a use for gDEBugger yet, but that probably depends on the type of applications I’ve been developing so far. Thanks for the tips though!

  2. Console2 looks interesting. Thanks for the tip 🙂 I’m used to the standard Windows console, with some minor adjustments, but I have to say that it can really suck every now and then…

    To my eternal embarrassment, I haven’t coded in Python yet, but I plan to learn it someday (perhaps with the aid of a coursera.org class).

    1. You’re welcome. Now that I’m used to that, it’s really hard to go back to the standard Windows console 🙂

      Wow, does coursera have a course on that? Pretty cool! Python is so easy though, you’ll be rocking it in no time ^^

Leave a comment, why don't you?