[vtkusers] VTK in a MultiTouch Environment
Christopher Denter
dennda at the-space-station.com
Fri Oct 16 12:06:55 EDT 2009
Hello,
my name is Christopher and I'm a CS student currently searching for a
topic for my bachelor's thesis. One topic that I'd find particularly
interesting is an application that visualizes rendered volumes and
allows the user(s) to explore the set of data by using multitouch
gestures.
For an example of how this may look in practice, please see this
remarkable video: http://www.vimeo.com/6866296
For the rendering part, I would like to use VTK so I don't need to
write the volume rendering myself.
The actual GUI and interaction would be made with PyMT [0], a python
library that allows you to write multitouch applications with ease.
There are two main problems here that I already see:
a) Is it possible to take the rendered volume and use it in my PyMT
application (which has an OpenGL context itself)? Of course, this
needs to be fast enough to allow for actual interaction with the user.
If yes, how would I do that?
b) What do I need to do in order to translate finger gestures into
VTK commands like 'rotate the volume' or 'show everything up to that
particular slice'? Is that even possible properly?
I understand that (as chapter 13 of the user's guide explains) you can
subclass vtkRenderWindowInteractor and friends, but those seem a bit
mouse and keyboard centric (because you need to override methods such
as onMiddleButtonDown()). However, both mouse and keyboard is
something you do not usually have in a multitouch environment (as you
can clearly see in the above video).
I would be really happy if it would be possible to realize the
application sketched above. Thoughts on achievability are also very
happily accepted. Keep in mind that this will be a bachelor's thesis
with 3-6 months (of non-exclusive working time spent) and not a
doctoral thesis.
In the hope that my questions can be answered and with best regards,
Christopher
[0] http://pymt.txzone.net
More information about the vtkusers
mailing list