[Insight-users] Compatibility with VTK

Will Schroeder will.schroeder@kitware.com
Mon, 20 Jan 2003 21:29:19 -0500


Hi Neil-

Thanks for your feedback. A few comments.

At 12:18 PM 1/21/2003 +1100, Neil Killeen wrote:

>I find it frustrating that I cannot build the VTK examples with the
>current official releases of ITK and VTK.

VTK version 4.2 will be released sometime in the next month. We will also 
release an interim version of ITK the next couple of weeks. We are also 
having a developer meeting in early February. What all this means is that 
we are in a position to start putting controls in place regarding versions, 
etc. so your feedback is timely.


>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').

The new Examples directory (which the SoftwareGuide refers to) in the 
current ITK software base does not depend on VTK....Examples are now 
completely independent of outside packages. The old Examples directory was 
renamed to Applications. There is a good chance this will be made a 
separate checkout from Insight (InsightApplications) because of the 
problems that you and other folks have had trying to build the applications.


>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 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).

The VTK changes are not really due to changes in interfaces, they are due 
to the fact that include files are being cleaned up, meaning that 
previously a header file for a class might have included several other 
headers (i.e., other than its superclass). Application writers got used to 
this and did not include all the headers corresponding to the classes used 
in application. The problems is that some compilers started breaking 
because of the large number of includes, compile times got slow, etc. So 
this had to be cleaned up....

Moral of the story: We will do a better job of controlling the versioning 
in the future.

Will