As part of my computer science studies I needed to work on a research project which I finally finished not too long ago – the title: “Planning of 3-dimensional complex cutting trajectories for robot-assisted surgery”. I worked on a program for a robot-assisted laser surgery on bones (in particular the human skull). It’s written in C++ using Qt and VTK. My task was to work on the planning module. The surgeon can mark points on a model of the patient’s skull and then connect them either with straight lines on the skull or create more complex connections. This was then used in another module to calculate positions and movements of the robot that was handling the laser. Laser beams ZOMG! All this will hopefully help make skull surgeries safer and less invasive as well as allow surgeries currently not possible due to tool limitations.
Despite having contributed to KDE for a few years now pretty much all over the place this was my first really big C++/Qt coding experience. I’ve not really touched KDE code in all those years except a few small changes here and there. Unbelievable right? Not really. On the one hand I think that so far KDE was better served with me doing community work – and maybe always will? And on the other hand it was damn scary. Oh and of course there was no pressure to climb that rather huge imaginary mountain and learn all the stuff I’d need to actually be any useful in that area. This university project helped quite a bit with both now 😉 This is btw also one of the reasons why I think GSoC is so invaluable: It gives the needed pressure and incentive to not give up when things get tough that some people (including me) need.
The robot, laser head and a plastic skull:
Cut on a part of a pig’s bone:
And the actual planning program:
Thanks to Jessica, my advisor, for having patience and letting me screw up a few times. Thanks to everyone working on Qt and VTK for letting me do amazing stuff.
Guess it’s time now to find a good KDE project to get my hands dirty on. Be warned 😀
Oh and next time a new contributor vanishes: Nudge them a bit. They might just be standing in front of that huge imaginary mountain and need someone to tell them it’s not actually that huge or give a helping hand. And if you’re standing in front of it yourself right now: Don’t give up! Take it step by step. You’ll get up there.
Oh gods… I wouldn’t dare. This is _scary_.
Hehe yes. It definitely is at first. Especially if you imagine what it’ll be used for one day hopefully.
What’s next? Surgeons with friggin’ laser beams? Oh wait.
Thanks for conquering your fear, and fighting through to the end. Your example is inspiring.
Sounds fun, cool and a bit spooky I may add! I hope you did not have to spend nights coding with a skull next to you for company! 🙂 haha, I would have started hallucinating on the spot 😉
Haha I actually did a few times but not often.
Cool stuff. Do you have videos?
Unfortunately not. I should make some.
I am a medical student. And I am interested in taking part in open-source software related to the medical field.
Do you know of any similar open-source projects?
Can you provide links to these projects if they are available online?
esp. when they include Qt technologies 😉
Thank you 🙂
Very cool – glad you managed to get everything working. It is great to see the results of your work, and I am very pleased you get VTK to cooperate.
This is awesome! Can we have laser engraved KDE schwag at Desktop Summit?
How about an Orbital Laser Strike plugin for Marble? 😉
Oh and before the project totally wraps – you better not go away without a KDE logo zapped into a bone to go onto necklace or something.
Yeah, for that, the app just need a SVG importer and you already have a robotic tatoo/engraving maker 😉
@Ahmed: I don’t unfortunately. There are open source projects working on disaster relief however, like Sahana. Maybe that’s a place to start for you.
@Nikhil and Will: Too late for that already I fear 🙁 But I’ll try.
@Miquel: Not a bad idea actually 😉
I sense a disturbing lack of unicorns in your post…
but other than that – congrats! 😉
any chance of a link to the code?
Not at the moment no. Sorry. Probably later.