[vtk-developers] Scope of VTK and it's potential as a common research language

David Doria daviddoria+vtk at gmail.com
Sun Jan 10 21:50:07 EST 2010


A recent discussion has raised, again, a point which has come up
several times - that is, how much math should VTK include? I agree
that it is very important to address. Here are my thoughts:

Although VTK is a visualization toolkit, I believe it can and should
act as much more than that. It serves as a common language for
scientists and engineers to share code (clearly within reason -
typically in the computer graphics/computer vision/image processing
fields). This is critically important as technology continues to
advance at an accelerating rate. While yes, we don't strive to provide
a full mathematics toolbox, I believe we should not hesitate to
provide things to make it easy for people to share code. If a few
simple matrix multiples force someone to include yet another 3rd party
library, it makes it significantly harder to give to a colleague. If
one says "here is my code, you'll need VXL, VTK, ITK, LAPACK, Boost,
etc. etc", that will discourage people from actually use the code, as
they will likely have to spend a week getting it to compile and link.
If one says "I have implemented all of my research as VTK filters",
the next researcher can simply use it as a building block for the next
year's research. I've never seen an actual survey, but I bet the
*majority* of most students (and probably professional's, too) time is
spent re-implementing things that have already been written at least
once (probably hundreds of times) and should already be
"plug-and-play". The problem is 100% that the code is not written in a
form that is compatible with the next guy's code base. If we strive to
setup an environment in which this problem is alleviated, it would be
a massive step in the right direction for the success of all future
scientists. The Insight/VTK journal's are already in place to then
make this work in a common environment/language easy to share and
find.

That said, there is still clearly a line that needs to be drawn. We
should probably not provide everything that is available in a
mathematics package such as Maple. However, again, we shouldn't
hesitate to provide things that are reasonably linked to the research
fields that people who use VTK are involved with. If the logic is "VTK
is only a visualization toolkit", then all of the readers and writers
do not fit the description, which we all know to be critically useful.
None of the mathematics functions should be exposed, which would make
things much harder. My point is, we have already taken a giant step
over the "only a visualization toolkit" line, so why restrain
continued development in reasonable directions?

I realize I'm the "new guy" to VTK, but I think this allows me to
bring a nice perspective to the table. Being a current PhD student,
I'm experiencing first hand the "state of the art" of code sharing
and, frankly, it is failing miserably.

I'd like to hear what some of you veteran VTK-ers and scientists think
about this.

David D.



More information about the vtk-developers mailing list