2013 Project Week:ITKv4Default

From NAMIC Wiki
Jump to: navigation, search
Home < 2013 Project Week:ITKv4Default

Key Investigators

  • Kitware: Jean-Christophe Fillion-Robin
  • Kitware: Luis Ibanez
  • U of Iowa: Hans Johnson
  • BWH: Ron Kikinis
  • Bill's Basement: Bill Lorensen
  • Isomics: Steve Pieper
  • NLM: Bradley Lowekamp
  • Kitware: Matt McCormick
  • Queen's: Csaba Pinter
  • NLM: Terry Yoo

Project Description


  • Switch Slicer to use ITKv4 by default.

Approach, Plan

  • Get Slicer-ITKv4 dashboard build working.
  • Test packaging on all platforms.
  • Address the Issue #2813


  • DCMTK updated to latest version to fix link errors
  • Linking errors fixed
  • Verified Windows Runs/Loads Files/Number of ImageIO factories registered: 20
  • (Wednesday Jan 9th) Built, Packed and Installed in Windows 64bits and 32bits using Visual Studio 2008
    • Took advantage of ITKv4 modularization to use only Slicer needed modules form ITK.
    • Patched tclap lib for std::min due to Visual Studio min macro.
    • Using top directory of 4 characters (e.g. Binary Dir = C:\S43R, Source Dir = C:\Users\abcdef\src\Slicer43)
  • CLI ImageIO factory registration fixed on Windows
  • DWIConvert working on Windows
  • ITKv4 related commits have been squashed, tweaked and reviewed so that they could be integrated into Slicer trunk. See https://github.com/jcfr/Slicer/compare/next-itkv4-20130110

Work in Progress



  • IO Factory registration
    • In CLIs
    • In main Slicer
  • Packaging

Git Branch to Use

Windows 7, VS 2008, x64, Qt 8.2 Release build

git checkout origin/20130107-next-slicer43



Patch for InterlockedIncrement build error:

diff --git a/ofstd/include/dcmtk/ofstd/ofmem.h b/ofstd/include/dcmtk/ofstd/ofmem.h
index 473b9c8..94bb937 100644
--- a/ofstd/include/dcmtk/ofstd/ofmem.h
+++ b/ofstd/include/dcmtk/ofstd/ofmem.h
@@ -226,7 +226,11 @@ private:
         /// The counter.
+        volatile LONG m_Count;
         size_t m_Count;
         /// The pointer to the managed object.
         T* const m_pT;

Patch for tclap issue with std::min

diff --git a/tclap/include/tclap/StdOutput.h b/tclap/include/tclap/StdOutput.h
index 2748b9e..229b934 100644
--- a/tclap/include/tclap/StdOutput.h
+++ b/tclap/include/tclap/StdOutput.h
@@ -33,6 +33,12 @@
 #include <tclap/XorHandler.h>
 #include <tclap/Arg.h>
+// Conditionally undefine the min macro that Visual Studio defines.
+#ifdef min
+#undef min
 namespace TCLAP {