[Insight-developers] ITKv4 Modularization Plan

Xiaoxiao Liu xiaoxiao.liu at kitware.com
Tue Feb 8 10:25:24 EST 2011


Hi Bill,
Besides the package management concerns that Bill (H) elaborated, having the
flat directory structure of the modules also  provides grouping
flexibilities.

You might not have noticed that we created a "ITKGroups.cmake" file in which
the groupings of the modules are listed. And from the cmake gui, users could
select modules group by group.   Right now, the default grouping in
ITKGroups.cmake is similar to the old directory structure. The group
"filtering" contains the basic filters modules, the group "numerics"
contains optimizers and statistics  etc.   We could provide other customized
module  groupings  according to  their usage of ITK.  For example, we could
create specific groupings for Slicer,  ITK-Snap, for radiologists and
biologists etc.

Yes, for those who get used to the v3 directory structure over the years, it
will  take some time to adapt to the new structures.  Modularized ITK
provides the grouping support from the cmake gui level. And the flat
directory structure should not increase (if not decrease)  the difficulty in
finding a certain class than it used to be. Finally there is the Manifest
file available for indexing out the itk classes if you need to.

-Xiaoxiao


On Tue, Feb 8, 2011 at 8:49 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:

> On Tue, Feb 8, 2011 at 8:38 AM, Bill Hoffman <bill.hoffman at kitware.com>
> wrote:
> > On 2/7/2011 11:31 PM, Bill Lorensen wrote:
> >>
> >> I still do not like the directory names. I do not understand the
> >> justification. To me,
> >>
> >> itk-foo-bar could just as well be ITK/Foo/Bar which is mode familiar
> >> to ITK users and developers.
> >> and
> >> ITK/AnistropicSmoothing seems much better than itk-anisotropic-smoothing
> >
> > The thought is that you could mix the modules with something that is not
> > itk.  In the future there might also be a cross platform package
> management
> > system, and the itk packages might live by themselves with the correct
> > depends of course.  In fact some linux distributions might choose to do
> that
> > now.  So, you would install "itk-anisotropic-smoothing" as a package, and
> it
> > would pull in all of the modules that it depends on.  Even without a
> package
> > system, the CMake files are setup to be able to have additional packages
> > added to the tree.  You might have kitware-anisotropic-smoothing in the
> > tree.  It is much easier to put a namespace on it now and avoid changing
> > names again in the future if there are conflicts.
> >
> > -Bill
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://kitware.com/products/protraining.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-developers
> >
> You might also have
> ITK/AnistropicSmoothing
> Kitware/AnistropicSmoothing
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>



-- 
---------------------------------------------
*Xiaoxiao Liu*, Ph.D.
R & D Engineer
Kitware Inc <http://www.kitware.com/>.
Clifton Park, NY
Phone: (518) 881-4924  or  (518) 371-3971 x124
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110208/2f562888/attachment.htm>


More information about the Insight-developers mailing list