[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