[Insight-developers] ITKv4 Modularization Plan

Xiaoxiao Liu xiaoxiao.liu at kitware.com
Mon Feb 7 20:06:13 EST 2011


Hi Bill,
Thanks for the questions.
Here are some of my understanding:



Is there a summary of the meeting notes (or slides?). Will the names
> still be the unusual itk-foo-bar?
>       *   *

*    >>>> You can find the slides from the winter meeting wiki page or
> http://www.itk.org/Wiki/images/4/4b/ITKBostonModularization.pptx.  Having
>  "itk-"  as a prefix of all module names is to distinguish itk modules when
> they are mix-used with other toolkits or applications  in various
> development environments.*

* *


> Was the present approach approved by the ITK contractors? I hope the
> discussion included a cost/benefit for this massive change.
>    *>>>> Wrapping ITK probably probably will undergo the biggest change
> among all contractors as a result of the modularization (they had their own
> modularization earlier), but they are willing to take advantage of the new
> fine-segmented  lay-out of the modules. Other ITK contractors should be able
> to directly contribute their codes to specific modules, for instance
> itk-level-set modules for level-set refactorization,
> itk-registration modules for registration refactorization etc. *




> How will our customers handle this transition? Especially if they have
> a code base that must compile with both itkv3 and itkv4. In
> particular, how will this affect one of our largest customers,
> Slicer4?
>
> I am concerned, for example, that ITK3 did not provide a good
> mechanism for specifying libraries. Will the new solution include a
> patch to ITK3 that will be compatible with itkv4?
>

 *>>>> The v3-to-v4 migration efforts  is  mostly replacing the library
names in the CMake files, and it also  depends on how the customers use
ITK libraries in their code bases.  If a code base defines all
ITK libraries from a single entry cmake file, say their top level
CMakeLists.txt, we just need to redefine all the ITK library names in that
single file to be able to use v4.    Otherwise, if the usage of the
ITK libraries is rather sparse,  the customers need to **figure out the
locations of the ITK classes used in their code and fill in with the right
modules to use.  The Manifest file can be used for checking which class goes
to which module.   *
*          In modularized ITK, each **<itk-foo-bar> **module has a CMake
variable "<itk-foo-bar>_LIBRARIES", which lists all the libraries that
<itk-foo-bar> needs to be linked with. *
*          Furthermore,  Bill (H)  mentioned that it is possible for v4 to
provide backward compatibility  by mapping/defining  old v3 libraries to new
 v4 libraries in its cmake files.  It will introduce some code overlap
between those defined v3 libraries but it is the price to pay for the
compatibility.*
* *
*
*
-xiaoxiao
*
*

>
>
> On Mon, Feb 7, 2011 at 3:51 PM, Xiaoxiao Liu <xiaoxiao.liu at kitware.com>
> wrote:
> > Dear All,
> >
> > During the ITKv4 Boston meeting, we presented the modularization progress
> > and planned to push the modularized ITK into the main ITK git repository
> on
> > Feb, 28th.   To make this transition easier for all of us, please let us
> > know if you have any suggested improvements as soon as possible. We would
> > like to get more feedback especially on the granularity of the
> segmentation
> > of the modules and the naming of the modules, since it will be harder to
> > move things around once everyone starts to contribute to
> > the modularized ITK.
> >
> >
> >
> > So far we have created 90 modules out of the monolithic ITK (not
> including
> > Examples and Reviews). Among the 90 modules, there are 14 utility modules
> > (such as  itk-tiff and itk-xml) ,  and  21 I/O modules (such as
> > itk-io-tiff).  The   Manifest (located ITK/Modularization/Manifest.txt)
> >  lists 2352 source code files and their  locations in
> the modularized ITK.
> >  Here is a spreadsheet version of the Manifest for your convinence to
> > explore: Manifest.xlsx.  You can also get a copy of a modularized ITK
> > (produced at Feb. 2nd) from  http://itk.org/gitweb?p=tmp/modularITK.git
>  to
> > investigate.
> >
> >
> >
> > The current modularization process involves manually editing the Manifest
> > file, adding tests for each module and running dashboards
> > for modularized ITK every day.  This process is done for the majority of
> ITK
> > now and will be done for the entire toolkit by Feb 28th. Moreover, this
> > process will continue to be carried out for any new contributions into
> > ITKv4. Therefore, it will be extremely helpful for developers to
> > get familiar with the new lay-out of the toolkit and get ready for the
> > changes.
> >
> >
> >
> > We are working on detailed documentations to help both developers and
> users
> > to adapt to the modularized version of ITK. More details about the
> > modularization can be found at this wiki
> > page: http://www.itk.org/Wiki/ITK_Release_4/Modularization.
> >
> >
> >
> > Thank you for your attention!
> >
> >
> >
> > - Best,
> >
> >   Modularization Team  (Luis, Bill, Brad, Xiaoxiao)
> >
> >
> >
> > ---------------------------------------------
> > Xiaoxiao Liu, Ph.D.
> > R & D Engineer
> > Kitware Inc.
> > Clifton Park, NY
> > Phone: (518) 881-4924  or  (518) 371-3971 x124
> >
> >
> > _______________________________________________
> > 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/20110207/181809ab/attachment.htm>


More information about the Insight-developers mailing list