[Insight-users] INSIGHT JOURNAL: managedITK (ITK 3.8 ?)

Dan Mueller dan.muel at gmail.com
Mon Jul 7 16:06:59 EDT 2008


Hi Luis,

I would very much like ManagedITK to become a part of ITK proper. Here
are my thoughts:

0. A word of warning: ManagedITK is *not* cross platform -- it is
targeted solely for Windows applications. I'm not sure if this will
play a role in deciding it's ultimate inclusion/location in the
toolkit...

1. ManagedITK is a wrapper generation project, so I think the best place is:
    Insight/Wrapping/ManagedITK
(this is where I put it in my local copy)

2. ManagedITK is a mangled version of WrapITK, altered for my specific
purposes. Most of the files can not be shared between these now
disparate projects, however there may be a few exceptions:

A. Modules/ComposeFilters/itkComposeRGBAImageFilter.h
This potentially useful filter could be moved to Code/Review (after a clean up).
I have previously submitted this filter in an IJ article:
    http://www.insight-journal.org/InsightJournalManager/view_reviews.php?pubid=153

B. Modules/IntensityFilters/itkVectorShiftScaleImageFilter.h
This potentially useful filter could be moved to Code/Review (after a clean up).

C. Modules/Interpolators/itkCosineWindowedSincInterpolateImageFunction.h
Modules/Interpolators/itkHammingWindowedSincInterpolateImageFunction.h
Modules/Interpolators/itkLanczosWindowedSincInterpolateImageFunction.h
Modules/Interpolators/itkWelchWindowedSincInterpolateImageFunction.h
These are convenience filters for wrapping; WrapITK may also benefit from them.
See a recent Insight-Users thread:
    http://www.itk.org/pipermail/insight-users/2008-June/026207.html

D. Modules/Paths
These set of classes could be moved to Code/Review (after a clean up).
I have previously submitted this filter an IJ article:
    http://www.insight-journal.org/InsightJournalManager/view_reviews.php?pubid=213

E. Modules/PixelMathFilters/itkNegateImageFilter.h
Modules/PixelMathFilters/itkPowerImageFilter.h
These potentially useful filters could be moved to Code/Review (after
a clean up).

3. ManagedITK currently requires a number of patches on the ITK source
to function.

The first set of patches (itkNumericTraitsRGBAPixel.h,
itkNumericTraitsRGBAPixel.cxx, and itkRGBAPixel.h.patch) provided
improved support for RGBA images. It appears the recent changes you
mentioned achieve this. These patches can be removed.

The second set of patches (itkShapedNeighborhoodIterator.h.patch and
itkConstShapedNeighborhoodIterator.h.patch) adjust the ITK source code
to prevent an Internal Compiler Error (ICE) in Visual Studio 7.0+.
ConstShapedNeighborhoodIterator privately inherits from
NeighborhoodIterator and exposes some of the methods from the private
subclass (via Superclass::GetImagePointer, Superclass::GetRadius,
etc.). It seems Visual Studio is unable to handle this when compiling
managed code.

Three possible solutions are:
  A. Leave the patches for the user to apply (not the best option in my opinion)
  B. Apply the patches as they are (some rework will be required as
the existing patches take some shortcuts)
  C. Make ConstShapeNeighborhoodIterator publicly inherit from
NeighborhoodIterator.

I'm not sure if B and/or C are backwards compatible... I will further
investigate the ICE over the coming days in an attempt to find a
minimal example clearly demonstrating the problem.

That is probably enough food for thought for now. Let me do some
investigation/cleaning up on my side, and I can discuss with you
further the next steps.

Regards, Dan Mueller


2008/7/7 Luis Ibanez <luis.ibanez at kitware.com>:
>
>
> Hi Dan,
>
>
> First of all,
>
> Thanks a lot for contributing "managedITK" to the Insight Journal.
>
> This is the kind of paper that we are very happy to see in the Journal.
>
>
> Given the demand for managedITK, it seems that it will be appropriate
> to include it in the upcoming release of ITK 3.8.
>
>
> Two distribution directories that come to mind as options are:
>
>
>     *  Insight/Wrapping/managedITK
>     *  InsightApplications/ManagedITK
>
>
> Could you please advice on what would be the most convenient
> place to introduce managedITK in the ITK distribution ?
>
>
> At first glance, it seems that the "managedITK/Source" directory
> contains the largest group of files. This is 3.2 Mbytes.
>
> Is there material that can be merged/shared with the other
> wrappings ?
>
>
> Also, we recently updated th NumericTraitsRGBPixel file.
> I'm not sure if that addresses the changes that you had
> to make in the patch, or maybe we still have to merge
> those too in the ITK CVS trunk.
>
>
>
>  Thanks for any advice,
>
>
>
>       Luis


More information about the Insight-users mailing list