[Insight-users] Compatibility with VTK

Neil Killeen Neil.Killeen@atnf.csiro.au
Tue, 21 Jan 2003 12:18:36 +1100 (EST)


Hi all

A topic I have visited before is compatibility of itk
with other packages such as vtk.  I did post something on
this a couple of weeks back, but I think it was lost in
a deluge of other matters.  So here is the post again
in slightly different form

cheers
Neil





I find it frustrating that I cannot build the VTK examples with the
current official releases of ITK and VTK.  The only solution that
I have been offerend is to try different versions of VTK until one
works.   My one attempt (last week) to do this failed.  I installed
an arbitrary  nightly release of VTK and attempted again to
build ITK's Examples with this.  This failed also, again
in the vtk interfacing layer.   It's a very expensive way to
try to solve this problem !

Although it is stated that ITK does not depend upon  VTK and that the
Auxilliary and the Examples directories are  not parts of the core of ITK,
I think that sidesteps what the real  question is.


1) The Examples directory is distributed with ITK and the examples are
   an  important  part of the learning process for others to work out how to
   do things (and they are also now referred to by the 'SoftwareGuide').

2) Regardless  of what is or isn't in examples, I (and presumbaly many
   others ??) will want to use both ITK and VTK together and so they need
   them to be compatible.


I am not entirely certain of why thinsg in the Examples layer fail,
whereas the Auxilliary/vtk filter worked for me. Perhaps it could have
been the other way around, but I don't think it really matters.


I think the real question is:

How can we ensure versions of itk and vtk which are compatible -
I think this is something that is worthy of trying to do.

This means that the Examples that depend upon vtk, and  the
Auxilliary/vtk interface layer will function.

I think that for EACH release version of ITK, the version
of VTK that you should be able guarentee it works with, would be the
released version of VTK at that time.  As new releases of VTK come out
after that point in time, you could then offer patches to the  released
version of ITK as need be, so that it is guarenteed the released versions
of ITK and VTK are compatible.  I think that is the best you can do.

Perhaps this will become a non-issue as interfaces stabilize (but
I am doubtful as vtk is a relatively mature product and I am surprised it
is still experiencing interface drift).

You could apply the same approach to other third party s/w
if there are other unstable interface dependencies.

regards
Neil