[Insight-developers] ITK Modular: Kick the tires

Bill Lorensen bill.lorensen at gmail.com
Wed Mar 16 19:57:06 EDT 2011


Folks,

I am sending this email because there will be a discussion of the ITK
modularization on this Friday's t-con (and I cannot attend).

First, the ITK modularization team has done a fantastic job
reorganizing ITK. And they have been very responsive to constructive
criticism.

There are still dashboard issues, but these problems are being
addressed quickly.

These are still shared lib issues on some platforms but these will be fixed.

The reorganization of ITK will be with us for many years. It is
important that the ITK developer community accept and endorse this
reorganization. We will need to sell this reorg to our customers.

For example, there has been discussion regarding the organization of
the ITK source tree. In particular the use of ITK/ITK seems awkward to
some of us.

Summary (my take):

137 libs versus 39 before

There are 10 high level directories: ITK/ITK/Core, Filtering, Segmentation, ...
These are similar to the old ITK/Code/Common,BasicFilters,Algorithms...

Now there are about 80 subdirectories:
ITK/ITK/Core/Common
ITK/ITK/Core/FiniteDifference
ITK/ITK/Core/ImageAdaptors
ITK/ITK/Core/ImageFunction
ITK/ITK/Core/Mesh
ITK/ITK/Core/QuadEdgeMesh
ITK/ITK/Core/SpatialObjects
ITK/ITK/Core/Transform
ITK/ITK/Registration/Common
ITK/ITK/Registration/FEM
ITK/ITK/Registration/PDEDeformable
ITK/ITK/Segmentation/BioCell
ITK/ITK/Segmentation/Blox
ITK/ITK/Segmentation/Classifiers
ITK/ITK/Segmentation/ConnectedComponents
...

The test directories reside within the modules:
ITK/ITK/Segmentation/ConnectedComponents/test

PLEASE, pull and build the current ITK source tree and
experiment with it.
1) Make sure your platform can build the current
tree.
2) Duplicate your typical workflow and see how the new layout feels.
3) If you have apps, try to build your apps with the new layout.

My experience has been positive. I have built ITKApps and the ITK Wiki
Examples against the new tree. I had to make some changes, but these
are backward compatible with ITK before modularization. I do have some
issues with mingw (command lines too long), but I have submitted a
patch to the cmake gurus and they are working on a general solution. I
also have issues with the source tree layout.

We will live with whatever we accept for many years to come.

Speak now (or forever hold your peace),

Bill


More information about the Insight-developers mailing list