[Insight-developers] ITKv4 Modularization Plan

Bill Lorensen bill.lorensen at gmail.com
Mon Feb 7 23:31:43 EST 2011


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

However, if I'm the only one with concerns about modularization, then
I guess I'll have to accept it.

On Mon, Feb 7, 2011 at 8:06 PM, Xiaoxiao Liu <xiaoxiao.liu at kitware.com> wrote:
> 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.
> Clifton Park, NY
> Phone: (518) 881-4924  or  (518) 371-3971 x124
>
>


More information about the Insight-developers mailing list