2013 Project Week:ITKv4Default

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

Key Investigators

  • Kitware: Matt McCormick
  • Kitware: Luis Ibanez

Project Description

Objective

  • Switch Slicer to use ITKv4 by default.

Approach, Plan

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

Progress

  • 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)

Work in Progress

Blockers

Windows

  • 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

https://dl.dropbox.com/u/1686930/itkv4builds/build1after%20update.txt

https://dl.dropbox.com/u/1686930/itkv4builds/build2after%20update.txt

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:
 
     private:
         /// The counter.
+#ifdef HAVE_INTERLOCKED_INCREMENT
+        volatile LONG m_Count;
+#else
         size_t m_Count;
+#endif
         /// The pointer to the managed object.
         T* const m_pT;
 #ifdef OF_SHARED_PTR_NEED_MUTEX


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
+#endif
+
+
 namespace TCLAP {

Results