Difference between revisions of "2013 Project Week:ITKv4Default"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(9 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
==Key Investigators==
 
==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
 
* Kitware: Matt McCormick
* Kitware: Luis Ibanez
+
* Queen's: Csaba Pinter
 +
* NLM: Terry Yoo
  
 
==Project Description==
 
==Project Description==
Line 33: Line 41:
 
** Took advantage of ITKv4 modularization to use only Slicer needed modules form ITK.  
 
** 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.
 
** 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\user\src\Slicer43)
+
** 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
 
</div>
 
</div>
 
</div>
 
</div>
Line 52: Line 63:
  
 
* Using this branch: https://github.com/BRAINSia/Slicer43/tree/20130107-next-slicer43
 
* Using this branch: https://github.com/BRAINSia/Slicer43/tree/20130107-next-slicer43
* Migration Plan at Slicer Wiki: http://www.slicer.org/slicerWiki/index.php/ITKv4_Migration_plan
+
* Migration Plan at Slicer Wiki: https://www.slicer.org/wiki/ITKv4_Migration_plan
  
 
=== Windows 7, VS 2008, x64, Qt 8.2 Release build ===
 
=== Windows 7, VS 2008, x64, Qt 8.2 Release build ===
Line 81: Line 92:
 
  #ifdef OF_SHARED_PTR_NEED_MUTEX
 
  #ifdef OF_SHARED_PTR_NEED_MUTEX
 
</pre>
 
</pre>
 +
 +
 +
Patch for tclap issue with std::min
 +
 +
<pre>
 +
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 {
 +
 +
</pre>
 +
 
== Results ==
 
== Results ==

Latest revision as of 18:07, 10 July 2017

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

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

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