ITK/Release 4/Refactor Numerical Libraries/Inventory: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 58: Line 58:


This call for a code revision of the Increment() method in the ImageRegionIterator.
This call for a code revision of the Increment() method in the ImageRegionIterator.
== ResampleImageFilter ==
* The computation of the ResampleImageFilter is taking a disproportionate amount of time. Actually more that the computation of the registration. This class needs a profiling urgently.


= Portability =
= Portability =

Revision as of 19:43, 14 September 2011

In this page we collect an inventory of numerical libraries in ITK base on the state of the code at the ITKv4-Alpha09 Git tag.


ITK Numerical Needs

ITK needs for numerical libraries fall in the following broad categories


Architecture

  • ITK is focused on shared memory systems
    • Multi-Core machines
    • Exploits Multi-threaded implementations


Profiling Targets

The following problems have been selected as interesting targets for profiling performance.

3D Registration

Demons Registration

  • ITK/Examples/Registration/DeformableRegistration10.cxx

BSpline Registration

  • ITK/Examples/Registration/DeformableRegistration15.cxx

Level Sets

  • ITK/Examples/Registration/GeodesicActiveContourImageFilter.cxx

ImageRegionIterator

The profiling exercise of the DeformableRegistration15 revealed that the ImageRegionIterator is performing about 20% slower than the ImageRegionIteratorWithIndex, which shouldn't be the case, given that the ImageRegionIterator was designed to be faster and take advantage of the fact that it doesn't maintain an internal cached Index value that need continuous updating.

This call for a code revision of the Increment() method in the ImageRegionIterator.

ResampleImageFilter

  • The computation of the ResampleImageFilter is taking a disproportionate amount of time. Actually more that the computation of the registration. This class needs a profiling urgently.

Portability

ITK is intended to work in the most popular platforms.

More specifically

  • Windows
  • Linux
  • Macs

With commonly used compilers

  • Visual Studio 7.1 to 10
  • GCC 3.4 to 4.6
  • Intel Compiler
  • Sun CC compiler

A more detailed list of supported compiles can be found here:

Libraries Used

  • Work in progress...