<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aylward</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aylward"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Aylward"/>
	<updated>2026-06-03T12:27:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44659</id>
		<title>Documentation/Nightly/Developers/Build Instructions/Prerequisites/Qt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44659"/>
		<updated>2016-01-17T19:05:44Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Qt 4.8.6 / VS2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
= Binary vs build-from-source ? =&lt;br /&gt;
&lt;br /&gt;
If you build Slicer on ...&lt;br /&gt;
&lt;br /&gt;
== Linux  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
* To use QtCreator and the Slicer designer plugins, a possible option is to build QtCreator against the installed Qt libraries. See [http://slicer-devel.65872.n3.nabble.com/Using-Qt-Creator-with-Slicer4-On-Mac-OS-X-Multiple-Qt-libs-loaded-tp4026660p4026690.html discussion on the mailing list].&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
=== Debug (32 and 64-bit) or Release (64-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Normally you should plan to build Qt from source to have complete control over the process. See [https://github.com/jcfr/qt-easy-build one-liner build command] or more detailed [[#Build_instructions]]&lt;br /&gt;
&lt;br /&gt;
* You may find that the '''unsigned''' binary downloads from this site are usable: http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2008/&lt;br /&gt;
&lt;br /&gt;
* '''Details''': Using the Qt Designer on Windows requires that the Slicer plugins are [http://doc.trolltech.com/4.6/deployment-plugins.html#debugging-plugins|compiled in the same mode as Qt]. If Qt was compiled in Release mode (default), Slicer would have to be compiled in Release mode as well. However if Qt is compiled in Debug mode only, Slicer has to be compiled in Debug too. When Qt is in &amp;quot;Release and Debug&amp;quot; mode only the Release version of Designer.exe is generated, Slicer would have to be compiled in Release. So for developers, the &amp;lt;b&amp;gt;Debug mode is recommended&amp;lt;/b&amp;gt;, this is why we detail the compilation of Qt below.&lt;br /&gt;
&lt;br /&gt;
=== Release (32-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for 32-bit Release build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Download Qt: Source and Binaries =&lt;br /&gt;
&lt;br /&gt;
== Download links ==&lt;br /&gt;
&lt;br /&gt;
The following table list the link allowing to download either the '''recommended''' source code or binary of Qt.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;2&amp;quot;|Linux&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Mac&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Windows&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|SnowLeopard&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|Lion, Mountain Lion&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2008&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2010&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt source link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/archive/qt/4.7/qt-everywhere-opensource-src-4.7.4.tar.gz  4.7.4]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt binary link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| (src or apt-get package) &amp;lt;!-- [http://packages.kitware.com/download/item/3733/QtSdk-offline-linux-x86_64-v1.2.1.run SDK-1.2] --&amp;gt;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://packages.kitware.com/download/item/3736/qt-mac-opensource-4.7.4.dmg 4.7.4] &amp;lt;br&amp;gt; [http://packages.kitware.com/download/item/3739/qt-mac-opensource-4.7.4-debug-libs.dmg 4.7.4 (optional: debug libs)] &lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1.dmg 4.8.6] &amp;lt;br&amp;gt; [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1-debug-libs.dmg 4.8.6 (optional: debug libs)] &lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2008/qt-4.8.6-x64-msvc2008.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2010/qt-4.8.6-x64-msvc2010.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Installation instruction ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt/Instal_QtSDK1.2_Offline_Linux_64|Qt installation guide (4.7.4, Linux, 64-bit, Offline)]]&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qt version specific issues ==&lt;br /&gt;
&lt;br /&gt;
* Issues for Qt &amp;lt; 4.7.4 are not reported&lt;br /&gt;
&lt;br /&gt;
=== All ===&lt;br /&gt;
* NA&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6.x''' on windows (and possibly in linux/mac): No image base64 support in QLabel/QTooltips (work around exists though)&lt;br /&gt;
* '''Qt 4.8''' does not work with PythonQt in slicer4 - suggested version is 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
* Problem building Qt on MacOSX 10.9. See https://bugreports.qt-project.org/browse/QTBUG-32237&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6''': hard to compile - TBD: Be more specific&lt;br /&gt;
* '''Qt 4.7''': click outside of popup (http://na-mic.org/Mantis/view.php?id=1241) - Is it fixed in Qt 4.8 ?&lt;br /&gt;
* '''Qt 4.7.3''': http://na-mic.org/Mantis/view.php?id=1388 - Fixed in Qt 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
== How to change the minimum required version ? ==&lt;br /&gt;
&lt;br /&gt;
* This applied only for Slicer &amp;lt; [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22466 r22466].&lt;br /&gt;
&lt;br /&gt;
* It's indeed possible to use a different version, just be aware that moving forward in time, things may not work as expected. Even worse Slicer may simply fail to compile.&lt;br /&gt;
&lt;br /&gt;
* By configuring Slicer using &amp;lt;code&amp;gt;-DSlicer_REQUIRED_QT_VERSION:STRING=4.7.0&amp;lt;/code&amp;gt;, you will be able to change the minimum required version.&lt;br /&gt;
&lt;br /&gt;
* See [https://github.com/Slicer/Slicer/commit/898bb14e 898bb14e], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=19698 r19698], [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2012/008130.html Mailing list]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Build instructions =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{mbox&lt;br /&gt;
| text = Please, make sure that your IDE/compiler is '''properly installed''' and that all associated '''ServicePack''' are also installed. See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites|Prerequisites]].&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/Nightly/Developers/Build_Instructions#Linux]]&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
TODO: Add a section specific to debian based platform.&lt;br /&gt;
*Downloading the binaries of Qt works fine with Linux, you do not have to compile Qt manually. &lt;br /&gt;
** Note: You need to install the libQtWebkit-devel package too.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Consider installing the following optional packages (&amp;lt;code&amp;gt;libxt-dev libxrender-dev libxrandr-dev libxinerama-dev libxcursor-dev libfontconfig-dev libglib2.0-dev&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug -opensource -confirm-license -no-qt3support -webkit -nomake examples -nomake demos&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Note: On a 64 bit system, you may have to add &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; to the Qt configure command line (?) --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Note: Adapt &amp;lt;code&amp;gt;-j8&amp;lt;/code&amp;gt; with the number of core on your machine, a dual core should probably not do more than &amp;lt;code&amp;gt;-j3&amp;lt;/code&amp;gt;, an 8 core machine can resonably go as much as &amp;lt;code&amp;gt;-j12&amp;lt;/code&amp;gt;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
Similar to Linux configuration. Note that &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; has been added.&lt;br /&gt;
&lt;br /&gt;
For earlier versions of Xcode and Mac OS X&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -webkit -arch x86_64 -nomake examples -nomake demos -sdk /Developer/SDKs/MacOSX10.5.sdk&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
On the latest Xcode versions (4.3) and Lion (10.7) the Developer directories have moved.  The command is now:&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -arch x86_64 -nomake examples -nomake demos -webkit -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Consider reading: http://doc.qt.nokia.com/4.7/developing-on-mac.html)&lt;br /&gt;
&lt;br /&gt;
* Note:&lt;br /&gt;
** If building against SDK 10.6 or 10.7, you will probably get link errors similar to what's described in [https://trac.macports.org/ticket/30346] and [http://qt-project.org/forums/viewthread/15933]. Solution is provided here [https://bugreports.qt-project.org/browse/QTBUG-24361 here].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
* Use a windows extracter to unzip the [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt#Download_links|Qt archive]], don't use cygwin unzip it.&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.7.4 / VS2008 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.7.4-64-vs2008-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.7.4-32-vs2008-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2008 command prompt &amp;lt;!-- (MSVC08-&amp;gt;Tools-&amp;gt;Visual Studio 2008 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -debug -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -release -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2008&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
** Note: According to [http://qt.nokia.com/doc/4.7/supported-platforms.html] Qt does not support msvc2008 on windows xp.  However, running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument seems to work. If you run configure with the &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument first by mistake, and if &amp;lt;code&amp;gt;configure -clean&amp;lt;/code&amp;gt; doesn't work, then you may need to start from a fresh extraction from the .zip archive before running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; again with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt;, unless you can run &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt; with the config clean target.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart nmake. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.5 / VS2010 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.5-64-vs2010-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.5-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2010 command prompt &amp;lt;!-- (MSVC10-&amp;gt;Tools-&amp;gt;Visual Studio 2010 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download pearl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
**Add this new folder into the path (system properties)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2010&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**Note: n is the number of cores of your CPU, so adapt it.&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart jom. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.6 / VS2012 ===&lt;br /&gt;
&lt;br /&gt;
* Make sure your Visual Studio 2012 is patched with the latest patch (e.g. [http://www.microsoft.com/en-us/download/confirmation.aspx?id=39305 patch 4]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip source archive], extract and rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.6-64-vs2012-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.6-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace the webkit &amp;lt;i&amp;gt;src\3rdparty\webkit\Source\JavaScriptCore\wtf\hashset.h&amp;lt;/i&amp;gt; file with this [https://bitbucket.org/Vertexwahn/bluego/src/56dbe84212222ec6954d8d327a5e443106bcc447/deploy/BlueGo0.0.4/qt4.8.3vs2012patch/HashSet.h?at=default file]&lt;br /&gt;
* For VS2013, replace the MathExtras.h file [http://code.qt.io/cgit/qt/qt.git/commit/src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h?id=b05d05fd9ce2aeedfaf805a7ed9007a93c902bc9]&lt;br /&gt;
* For VS2015, use the 4.8.7 source [http://download.qt.io/official_releases/qt/4.8/4.8.7/] and apply the patch [https://fami.codefreak.ru/mirrors/qt/unofficial_builds/qt4.8.7-msvc2015/02-fix_build_with_msvc2015-45e8f4ee.diff] &lt;br /&gt;
* Launch the msvc2012 command prompt &amp;lt;!-- (MSVC12-&amp;gt;Tools-&amp;gt;Visual Studio 2012 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x86 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you want openssl support (optional):&lt;br /&gt;
** Download perl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2012&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Alternatively you can use jom (much faster)&lt;br /&gt;
*** Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
*** Add this new folder into the path (system properties)&lt;br /&gt;
*** Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**** Note: n is the number of cores of your CPU, so adapt it.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44658</id>
		<title>Documentation/Nightly/Developers/Build Instructions/Prerequisites/Qt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44658"/>
		<updated>2016-01-17T18:59:16Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Qt 4.8.6 / VS2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
= Binary vs build-from-source ? =&lt;br /&gt;
&lt;br /&gt;
If you build Slicer on ...&lt;br /&gt;
&lt;br /&gt;
== Linux  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
* To use QtCreator and the Slicer designer plugins, a possible option is to build QtCreator against the installed Qt libraries. See [http://slicer-devel.65872.n3.nabble.com/Using-Qt-Creator-with-Slicer4-On-Mac-OS-X-Multiple-Qt-libs-loaded-tp4026660p4026690.html discussion on the mailing list].&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
=== Debug (32 and 64-bit) or Release (64-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Normally you should plan to build Qt from source to have complete control over the process. See [https://github.com/jcfr/qt-easy-build one-liner build command] or more detailed [[#Build_instructions]]&lt;br /&gt;
&lt;br /&gt;
* You may find that the '''unsigned''' binary downloads from this site are usable: http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2008/&lt;br /&gt;
&lt;br /&gt;
* '''Details''': Using the Qt Designer on Windows requires that the Slicer plugins are [http://doc.trolltech.com/4.6/deployment-plugins.html#debugging-plugins|compiled in the same mode as Qt]. If Qt was compiled in Release mode (default), Slicer would have to be compiled in Release mode as well. However if Qt is compiled in Debug mode only, Slicer has to be compiled in Debug too. When Qt is in &amp;quot;Release and Debug&amp;quot; mode only the Release version of Designer.exe is generated, Slicer would have to be compiled in Release. So for developers, the &amp;lt;b&amp;gt;Debug mode is recommended&amp;lt;/b&amp;gt;, this is why we detail the compilation of Qt below.&lt;br /&gt;
&lt;br /&gt;
=== Release (32-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for 32-bit Release build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Download Qt: Source and Binaries =&lt;br /&gt;
&lt;br /&gt;
== Download links ==&lt;br /&gt;
&lt;br /&gt;
The following table list the link allowing to download either the '''recommended''' source code or binary of Qt.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;2&amp;quot;|Linux&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Mac&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Windows&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|SnowLeopard&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|Lion, Mountain Lion&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2008&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2010&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt source link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/archive/qt/4.7/qt-everywhere-opensource-src-4.7.4.tar.gz  4.7.4]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt binary link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| (src or apt-get package) &amp;lt;!-- [http://packages.kitware.com/download/item/3733/QtSdk-offline-linux-x86_64-v1.2.1.run SDK-1.2] --&amp;gt;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://packages.kitware.com/download/item/3736/qt-mac-opensource-4.7.4.dmg 4.7.4] &amp;lt;br&amp;gt; [http://packages.kitware.com/download/item/3739/qt-mac-opensource-4.7.4-debug-libs.dmg 4.7.4 (optional: debug libs)] &lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1.dmg 4.8.6] &amp;lt;br&amp;gt; [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1-debug-libs.dmg 4.8.6 (optional: debug libs)] &lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2008/qt-4.8.6-x64-msvc2008.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2010/qt-4.8.6-x64-msvc2010.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Installation instruction ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt/Instal_QtSDK1.2_Offline_Linux_64|Qt installation guide (4.7.4, Linux, 64-bit, Offline)]]&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qt version specific issues ==&lt;br /&gt;
&lt;br /&gt;
* Issues for Qt &amp;lt; 4.7.4 are not reported&lt;br /&gt;
&lt;br /&gt;
=== All ===&lt;br /&gt;
* NA&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6.x''' on windows (and possibly in linux/mac): No image base64 support in QLabel/QTooltips (work around exists though)&lt;br /&gt;
* '''Qt 4.8''' does not work with PythonQt in slicer4 - suggested version is 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
* Problem building Qt on MacOSX 10.9. See https://bugreports.qt-project.org/browse/QTBUG-32237&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6''': hard to compile - TBD: Be more specific&lt;br /&gt;
* '''Qt 4.7''': click outside of popup (http://na-mic.org/Mantis/view.php?id=1241) - Is it fixed in Qt 4.8 ?&lt;br /&gt;
* '''Qt 4.7.3''': http://na-mic.org/Mantis/view.php?id=1388 - Fixed in Qt 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
== How to change the minimum required version ? ==&lt;br /&gt;
&lt;br /&gt;
* This applied only for Slicer &amp;lt; [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22466 r22466].&lt;br /&gt;
&lt;br /&gt;
* It's indeed possible to use a different version, just be aware that moving forward in time, things may not work as expected. Even worse Slicer may simply fail to compile.&lt;br /&gt;
&lt;br /&gt;
* By configuring Slicer using &amp;lt;code&amp;gt;-DSlicer_REQUIRED_QT_VERSION:STRING=4.7.0&amp;lt;/code&amp;gt;, you will be able to change the minimum required version.&lt;br /&gt;
&lt;br /&gt;
* See [https://github.com/Slicer/Slicer/commit/898bb14e 898bb14e], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=19698 r19698], [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2012/008130.html Mailing list]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Build instructions =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{mbox&lt;br /&gt;
| text = Please, make sure that your IDE/compiler is '''properly installed''' and that all associated '''ServicePack''' are also installed. See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites|Prerequisites]].&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/Nightly/Developers/Build_Instructions#Linux]]&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
TODO: Add a section specific to debian based platform.&lt;br /&gt;
*Downloading the binaries of Qt works fine with Linux, you do not have to compile Qt manually. &lt;br /&gt;
** Note: You need to install the libQtWebkit-devel package too.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Consider installing the following optional packages (&amp;lt;code&amp;gt;libxt-dev libxrender-dev libxrandr-dev libxinerama-dev libxcursor-dev libfontconfig-dev libglib2.0-dev&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug -opensource -confirm-license -no-qt3support -webkit -nomake examples -nomake demos&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Note: On a 64 bit system, you may have to add &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; to the Qt configure command line (?) --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Note: Adapt &amp;lt;code&amp;gt;-j8&amp;lt;/code&amp;gt; with the number of core on your machine, a dual core should probably not do more than &amp;lt;code&amp;gt;-j3&amp;lt;/code&amp;gt;, an 8 core machine can resonably go as much as &amp;lt;code&amp;gt;-j12&amp;lt;/code&amp;gt;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
Similar to Linux configuration. Note that &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; has been added.&lt;br /&gt;
&lt;br /&gt;
For earlier versions of Xcode and Mac OS X&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -webkit -arch x86_64 -nomake examples -nomake demos -sdk /Developer/SDKs/MacOSX10.5.sdk&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
On the latest Xcode versions (4.3) and Lion (10.7) the Developer directories have moved.  The command is now:&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -arch x86_64 -nomake examples -nomake demos -webkit -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Consider reading: http://doc.qt.nokia.com/4.7/developing-on-mac.html)&lt;br /&gt;
&lt;br /&gt;
* Note:&lt;br /&gt;
** If building against SDK 10.6 or 10.7, you will probably get link errors similar to what's described in [https://trac.macports.org/ticket/30346] and [http://qt-project.org/forums/viewthread/15933]. Solution is provided here [https://bugreports.qt-project.org/browse/QTBUG-24361 here].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
* Use a windows extracter to unzip the [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt#Download_links|Qt archive]], don't use cygwin unzip it.&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.7.4 / VS2008 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.7.4-64-vs2008-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.7.4-32-vs2008-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2008 command prompt &amp;lt;!-- (MSVC08-&amp;gt;Tools-&amp;gt;Visual Studio 2008 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -debug -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -release -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2008&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
** Note: According to [http://qt.nokia.com/doc/4.7/supported-platforms.html] Qt does not support msvc2008 on windows xp.  However, running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument seems to work. If you run configure with the &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument first by mistake, and if &amp;lt;code&amp;gt;configure -clean&amp;lt;/code&amp;gt; doesn't work, then you may need to start from a fresh extraction from the .zip archive before running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; again with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt;, unless you can run &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt; with the config clean target.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart nmake. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.5 / VS2010 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.5-64-vs2010-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.5-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2010 command prompt &amp;lt;!-- (MSVC10-&amp;gt;Tools-&amp;gt;Visual Studio 2010 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download pearl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
**Add this new folder into the path (system properties)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2010&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**Note: n is the number of cores of your CPU, so adapt it.&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart jom. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.6 / VS2012 ===&lt;br /&gt;
&lt;br /&gt;
* Make sure your Visual Studio 2012 is patched with the latest patch (e.g. [http://www.microsoft.com/en-us/download/confirmation.aspx?id=39305 patch 4]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip source archive], extract and rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.6-64-vs2012-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.6-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace the webkit &amp;lt;i&amp;gt;src\3rdparty\webkit\Source\JavaScriptCore\wtf\hashset.h&amp;lt;/i&amp;gt; file with this [https://bitbucket.org/Vertexwahn/bluego/src/56dbe84212222ec6954d8d327a5e443106bcc447/deploy/BlueGo0.0.4/qt4.8.3vs2012patch/HashSet.h?at=default file]&lt;br /&gt;
* For VS2013, replace the MathExtras.h file [http://code.qt.io/cgit/qt/qt.git/commit/src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h?id=b05d05fd9ce2aeedfaf805a7ed9007a93c902bc9]&lt;br /&gt;
* For VS2015, apply the patch https://fami.codefreak.ru/mirrors/qt/unofficial_builds/qt4.8.7-msvc2015/02-fix_build_with_msvc2015-45e8f4ee.diff &lt;br /&gt;
* Launch the msvc2012 command prompt &amp;lt;!-- (MSVC12-&amp;gt;Tools-&amp;gt;Visual Studio 2012 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x86 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you want openssl support (optional):&lt;br /&gt;
** Download perl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2012&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Alternatively you can use jom (much faster)&lt;br /&gt;
*** Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
*** Add this new folder into the path (system properties)&lt;br /&gt;
*** Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**** Note: n is the number of cores of your CPU, so adapt it.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44657</id>
		<title>Documentation/Nightly/Developers/Build Instructions/Prerequisites/Qt</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=44657"/>
		<updated>2016-01-17T18:49:50Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Qt 4.8.6 / VS2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
= Binary vs build-from-source ? =&lt;br /&gt;
&lt;br /&gt;
If you build Slicer on ...&lt;br /&gt;
&lt;br /&gt;
== Linux  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for both '''Debug''' and '''Release''' build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
* To use QtCreator and the Slicer designer plugins, a possible option is to build QtCreator against the installed Qt libraries. See [http://slicer-devel.65872.n3.nabble.com/Using-Qt-Creator-with-Slicer4-On-Mac-OS-X-Multiple-Qt-libs-loaded-tp4026660p4026690.html discussion on the mailing list].&lt;br /&gt;
&lt;br /&gt;
== Windows  ==&lt;br /&gt;
&lt;br /&gt;
=== Debug (32 and 64-bit) or Release (64-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Normally you should plan to build Qt from source to have complete control over the process. See [https://github.com/jcfr/qt-easy-build one-liner build command] or more detailed [[#Build_instructions]]&lt;br /&gt;
&lt;br /&gt;
* You may find that the '''unsigned''' binary downloads from this site are usable: http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2008/&lt;br /&gt;
&lt;br /&gt;
* '''Details''': Using the Qt Designer on Windows requires that the Slicer plugins are [http://doc.trolltech.com/4.6/deployment-plugins.html#debugging-plugins|compiled in the same mode as Qt]. If Qt was compiled in Release mode (default), Slicer would have to be compiled in Release mode as well. However if Qt is compiled in Debug mode only, Slicer has to be compiled in Debug too. When Qt is in &amp;quot;Release and Debug&amp;quot; mode only the Release version of Designer.exe is generated, Slicer would have to be compiled in Release. So for developers, the &amp;lt;b&amp;gt;Debug mode is recommended&amp;lt;/b&amp;gt;, this is why we detail the compilation of Qt below.&lt;br /&gt;
&lt;br /&gt;
=== Release (32-bit) ===&lt;br /&gt;
&lt;br /&gt;
* Using [[#Download_links|binary]] works great for 32-bit Release build of Slicer. See [[#Download_links]] and [[#Installation_instruction]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Download Qt: Source and Binaries =&lt;br /&gt;
&lt;br /&gt;
== Download links ==&lt;br /&gt;
&lt;br /&gt;
The following table list the link allowing to download either the '''recommended''' source code or binary of Qt.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;2&amp;quot;|Linux&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Mac&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Windows&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|SnowLeopard&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|Lion, Mountain Lion&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2008&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|VS2010&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|64bits&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt source link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/archive/qt/4.7/qt-everywhere-opensource-src-4.7.4.tar.gz  4.7.4]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 4.8.6]&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | Qt binary link&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| (src or apt-get package) &amp;lt;!-- [http://packages.kitware.com/download/item/3733/QtSdk-offline-linux-x86_64-v1.2.1.run SDK-1.2] --&amp;gt;&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://packages.kitware.com/download/item/3736/qt-mac-opensource-4.7.4.dmg 4.7.4] &amp;lt;br&amp;gt; [http://packages.kitware.com/download/item/3739/qt-mac-opensource-4.7.4-debug-libs.dmg 4.7.4 (optional: debug libs)] &lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1.dmg 4.8.6] &amp;lt;br&amp;gt; [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1-debug-libs.dmg 4.8.6 (optional: debug libs)] &lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2008/qt-4.8.6-x64-msvc2008.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qt64ng/files/qt/x86-64/4.8.6/msvc2010/qt-4.8.6-x64-msvc2010.exe/download 4.8.6 (unsigned installer)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Installation instruction ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt/Instal_QtSDK1.2_Offline_Linux_64|Qt installation guide (4.7.4, Linux, 64-bit, Offline)]]&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qt version specific issues ==&lt;br /&gt;
&lt;br /&gt;
* Issues for Qt &amp;lt; 4.7.4 are not reported&lt;br /&gt;
&lt;br /&gt;
=== All ===&lt;br /&gt;
* NA&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6.x''' on windows (and possibly in linux/mac): No image base64 support in QLabel/QTooltips (work around exists though)&lt;br /&gt;
* '''Qt 4.8''' does not work with PythonQt in slicer4 - suggested version is 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
=== Mac ===&lt;br /&gt;
* Problem building Qt on MacOSX 10.9. See https://bugreports.qt-project.org/browse/QTBUG-32237&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''Qt 4.6''': hard to compile - TBD: Be more specific&lt;br /&gt;
* '''Qt 4.7''': click outside of popup (http://na-mic.org/Mantis/view.php?id=1241) - Is it fixed in Qt 4.8 ?&lt;br /&gt;
* '''Qt 4.7.3''': http://na-mic.org/Mantis/view.php?id=1388 - Fixed in Qt 4.7.4&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
== How to change the minimum required version ? ==&lt;br /&gt;
&lt;br /&gt;
* This applied only for Slicer &amp;lt; [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22466 r22466].&lt;br /&gt;
&lt;br /&gt;
* It's indeed possible to use a different version, just be aware that moving forward in time, things may not work as expected. Even worse Slicer may simply fail to compile.&lt;br /&gt;
&lt;br /&gt;
* By configuring Slicer using &amp;lt;code&amp;gt;-DSlicer_REQUIRED_QT_VERSION:STRING=4.7.0&amp;lt;/code&amp;gt;, you will be able to change the minimum required version.&lt;br /&gt;
&lt;br /&gt;
* See [https://github.com/Slicer/Slicer/commit/898bb14e 898bb14e], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=19698 r19698], [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2012/008130.html Mailing list]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Build instructions =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{mbox&lt;br /&gt;
| text = Please, make sure that your IDE/compiler is '''properly installed''' and that all associated '''ServicePack''' are also installed. See [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites|Prerequisites]].&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/Nightly/Developers/Build_Instructions#Linux]]&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
TODO: Add a section specific to debian based platform.&lt;br /&gt;
*Downloading the binaries of Qt works fine with Linux, you do not have to compile Qt manually. &lt;br /&gt;
** Note: You need to install the libQtWebkit-devel package too.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Consider installing the following optional packages (&amp;lt;code&amp;gt;libxt-dev libxrender-dev libxrandr-dev libxinerama-dev libxcursor-dev libfontconfig-dev libglib2.0-dev&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug -opensource -confirm-license -no-qt3support -webkit -nomake examples -nomake demos&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Note: On a 64 bit system, you may have to add &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; to the Qt configure command line (?) --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Note: Adapt &amp;lt;code&amp;gt;-j8&amp;lt;/code&amp;gt; with the number of core on your machine, a dual core should probably not do more than &amp;lt;code&amp;gt;-j3&amp;lt;/code&amp;gt;, an 8 core machine can resonably go as much as &amp;lt;code&amp;gt;-j12&amp;lt;/code&amp;gt;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mac  ==&lt;br /&gt;
&lt;br /&gt;
Similar to Linux configuration. Note that &amp;lt;code&amp;gt;-arch x86_64&amp;lt;/code&amp;gt; has been added.&lt;br /&gt;
&lt;br /&gt;
For earlier versions of Xcode and Mac OS X&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
mkdir qt-everywhere-opensource-build-4.7.4&lt;br /&gt;
tar xvfz qt-everywhere-opensource-src-4.7.4.tar.gz&lt;br /&gt;
cd qt-everywhere-opensource-src-4.7.4&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -webkit -arch x86_64 -nomake examples -nomake demos -sdk /Developer/SDKs/MacOSX10.5.sdk&lt;br /&gt;
make -j8&lt;br /&gt;
make install&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
On the latest Xcode versions (4.3) and Lion (10.7) the Developer directories have moved.  The command is now:&lt;br /&gt;
&lt;br /&gt;
{{pre2|scroll|&lt;br /&gt;
./configure -prefix ../qt-everywhere-opensource-build-4.7.4 -debug-and-release -opensource -confirm-license -no-qt3support -arch x86_64 -nomake examples -nomake demos -webkit -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Consider reading: http://doc.qt.nokia.com/4.7/developing-on-mac.html)&lt;br /&gt;
&lt;br /&gt;
* Note:&lt;br /&gt;
** If building against SDK 10.6 or 10.7, you will probably get link errors similar to what's described in [https://trac.macports.org/ticket/30346] and [http://qt-project.org/forums/viewthread/15933]. Solution is provided here [https://bugreports.qt-project.org/browse/QTBUG-24361 here].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
* Use a windows extracter to unzip the [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt#Download_links|Qt archive]], don't use cygwin unzip it.&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.7.4 / VS2008 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.7.4-64-vs2008-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.7.4-32-vs2008-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2008 command prompt &amp;lt;!-- (MSVC08-&amp;gt;Tools-&amp;gt;Visual Studio 2008 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC08-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2008 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -debug -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2008 -opensource -confirm-license -release -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2008&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
** Note: According to [http://qt.nokia.com/doc/4.7/supported-platforms.html] Qt does not support msvc2008 on windows xp.  However, running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument seems to work. If you run configure with the &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt; argument first by mistake, and if &amp;lt;code&amp;gt;configure -clean&amp;lt;/code&amp;gt; doesn't work, then you may need to start from a fresh extraction from the .zip archive before running &amp;lt;code&amp;gt;configure.exe&amp;lt;/code&amp;gt; again with no &amp;lt;code&amp;gt;-platform&amp;lt;/code&amp;gt;, unless you can run &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt; with the config clean target.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart nmake. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.5 / VS2010 ===&lt;br /&gt;
&lt;br /&gt;
* Rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.5-64-vs2010-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.5-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Launch the msvc2010 command prompt &amp;lt;!-- (MSVC10-&amp;gt;Tools-&amp;gt;Visual Studio 2010 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC10-&amp;gt;Tools -&amp;gt; &amp;quot;Visual Studio 2010 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download pearl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
**Add this new folder into the path (system properties)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2010 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2010&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**Note: n is the number of cores of your CPU, so adapt it.&lt;br /&gt;
** Note: building with webkit support requires that &amp;lt;i&amp;gt;src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp&amp;lt;/i&amp;gt; be removed. else you will get linker errors like &amp;lt;code&amp;gt;QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol &amp;quot;public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: If you encounter the following error &amp;lt;code&amp;gt;api\qscriptextensionplugin.h(43): Error: Undefined interface,&amp;lt;/code&amp;gt;, delete the files &amp;lt;i&amp;gt;\src\script\tmp\moc\debug_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;\src\script\tmp\moc\release_shared\mocinclude.tmp&amp;lt;/i&amp;gt; and restart jom. For more info, please see [http://bugreports.qt.nokia.com/browse/QTBUG-6470 QTBug 6470]].&lt;br /&gt;
&lt;br /&gt;
=== Qt 4.8.6 / VS2012 ===&lt;br /&gt;
&lt;br /&gt;
* Make sure your Visual Studio 2012 is patched with the latest patch (e.g. [http://www.microsoft.com/en-us/download/confirmation.aspx?id=39305 patch 4]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Download the [http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip source archive], extract and rename the folder into for example &amp;lt;code&amp;gt;qt-4.8.6-64-vs2012-rel&amp;lt;/code&amp;gt;. &lt;br /&gt;
** Note: Each build of Qt should be done it its own folder !&lt;br /&gt;
** Note: A 32 bit debug build would be done in a folder named &amp;lt;code&amp;gt;qt-4.8.6-32-vs2010-deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace the webkit &amp;lt;i&amp;gt;src\3rdparty\webkit\Source\JavaScriptCore\wtf\hashset.h&amp;lt;/i&amp;gt; file with this [https://bitbucket.org/Vertexwahn/bluego/src/56dbe84212222ec6954d8d327a5e443106bcc447/deploy/BlueGo0.0.4/qt4.8.3vs2012patch/HashSet.h?at=default file]&lt;br /&gt;
* For VS2013, replace the MathExtras.h file&lt;br /&gt;
* For VS2015, apply the patch https://fami.codefreak.ru/mirrors/qt/unofficial_builds/qt4.8.7-msvc2015/02-fix_build_with_msvc2015-45e8f4ee.diff &lt;br /&gt;
[http://code.qt.io/cgit/qt/qt.git/commit/src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h?id=b05d05fd9ce2aeedfaf805a7ed9007a93c902bc9]&lt;br /&gt;
* Launch the msvc2012 command prompt &amp;lt;!-- (MSVC12-&amp;gt;Tools-&amp;gt;Visual Studio 2012 CommandPrompt) (or: launch cmd.exe and run &amp;lt;code&amp;gt;vcvars32.bat&amp;lt;/code&amp;gt;) --&amp;gt;&lt;br /&gt;
** 32-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x86 Command Prompt&amp;quot;&lt;br /&gt;
** 64-bit build: Start menu -&amp;gt; MSVC12-&amp;gt;Visual Studio Tools -&amp;gt; &amp;quot;VS2012 x64 Win64 Command Prompt&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Note: Don't start prompt from inside visual studio or it will be an x86 32 bit shell.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If you want openssl support (optional):&lt;br /&gt;
** Download perl http://strawberryperl.com/ and create a new folder into for example &amp;lt;code&amp;gt;strawberry&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Configure&lt;br /&gt;
** For debug: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -debug -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** For release: &amp;lt;code&amp;gt;configure.exe -platform win32-msvc2012 -release -opensource -confirm-license -webkit -nomake examples -nomake demos&amp;lt;/code&amp;gt;&lt;br /&gt;
** Note: &amp;lt;code&amp;gt;win32-msvc2012&amp;lt;/code&amp;gt; is used for both 32 and 64-bit.&lt;br /&gt;
** Note: The option &amp;lt;code&amp;gt;-prefix&amp;lt;/code&amp;gt; doesn't work on Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build using &amp;lt;code&amp;gt;nmake&amp;lt;/code&amp;gt;&lt;br /&gt;
** Alternatively you can use jom (much faster)&lt;br /&gt;
*** Download jom and create a new folder into for example &amp;lt;code&amp;gt;jom&amp;lt;/code&amp;gt;.&lt;br /&gt;
*** Add this new folder into the path (system properties)&lt;br /&gt;
*** Build using &amp;lt;code&amp;gt;jom -jn&amp;lt;/code&amp;gt;&lt;br /&gt;
**** Note: n is the number of cores of your CPU, so adapt it.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft5-PlusSupporter.docx&amp;diff=40758</id>
		<title>File:2015.02.01-Draft5-PlusSupporter.docx</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft5-PlusSupporter.docx&amp;diff=40758"/>
		<updated>2015-01-20T23:50:31Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft4-LowCostUltrasoundSupporter.docx&amp;diff=40757</id>
		<title>File:2015.02.01-Draft4-LowCostUltrasoundSupporter.docx</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft4-LowCostUltrasoundSupporter.docx&amp;diff=40757"/>
		<updated>2015-01-20T23:50:20Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft3-SlicerAndPLUSSupporter.docx&amp;diff=40756</id>
		<title>File:2015.02.01-Draft3-SlicerAndPLUSSupporter.docx</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft3-SlicerAndPLUSSupporter.docx&amp;diff=40756"/>
		<updated>2015-01-20T23:50:06Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft2-SlicerSupporter_short.docx&amp;diff=40755</id>
		<title>File:2015.02.01-Draft2-SlicerSupporter short.docx</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft2-SlicerSupporter_short.docx&amp;diff=40755"/>
		<updated>2015-01-20T23:49:51Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft1-SlicerSupporter.docx&amp;diff=40754</id>
		<title>File:2015.02.01-Draft1-SlicerSupporter.docx</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:2015.02.01-Draft1-SlicerSupporter.docx&amp;diff=40754"/>
		<updated>2015-01-20T23:49:38Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40753</id>
		<title>2015.02.01 SlicerMaintenance LettersOfSupport</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40753"/>
		<updated>2015-01-20T23:49:12Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dear Slicer and PLUS community,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Gabor Fichtinger and I are writing a grant proposal that is requesting NIH funding to support the continued development, maintenance, and distribution of 3D Slicer and the PLUS toolkit.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The title of our proposal is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;&amp;quot;Slicer+PLUS: Collaborative, open-source software for ultrasound analysis.&amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the funding going to Kitware (me and JC), Queen's University (Gabor Fichtinger, Tamas, and Andras), Isomics (Steve Pieper), BWH, and many others, this proposal is meant to keep not only the software, but also the outstanding communities of Slicer and PLUS thriving for the next four years.  The proposal uses the goal of adding real-time ultrasound RF signal processing into Slicer as its &amp;quot;moon shot.&amp;quot;  In general, it seeks to improve our support of GPU-based methods, custom workflows, and third party software integration.  Our goal is to make certain that Slicer and PLUS continue to evolve as our community's research needs evolve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;To make our proposal a success, we need your help!&amp;lt;/b&amp;gt;  Please take a few minutes to send us a letter of support for our proposal!  To make it easy for you to show your support, we have drafted five sample letters:&lt;br /&gt;
# [[file:2015.02.01-Draft1-SlicerSupporter.docx]]&lt;br /&gt;
# [[file:2015.02.01-Draft2-SlicerSupporter_short.docx]]&lt;br /&gt;
# [[file:2015.02.01-Draft3-SlicerAndPLUSSupporter.docx]]&lt;br /&gt;
# [[file:2015.02.01-Draft4-LowCostUltrasoundSupporter.docx]]&lt;br /&gt;
# [[file:2015.02.01-Draft5-PlusSupporter.docx]]&lt;br /&gt;
&amp;lt;b&amp;gt;We need your letters of support by February 1, 2015!&amp;lt;/b&amp;gt;  You can send your letter to me as a PDF document or simply as text in an email.  My email address is&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;stephen.aylward@kitware.com&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions or suggestions, please do not hesitate to contact me or Gabor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best regards,&lt;br /&gt;
&lt;br /&gt;
Stephen Aylward&amp;lt;br&amp;gt;&lt;br /&gt;
Kitware, Inc.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40752</id>
		<title>2015.02.01 SlicerMaintenance LettersOfSupport</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40752"/>
		<updated>2015-01-20T23:48:32Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dear Slicer and PLUS community,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Gabor Fichtinger and I are writing a grant proposal that is requesting NIH funding to support the continued development, maintenance, and distribution of 3D Slicer and the PLUS toolkit.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The title of our proposal is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;&amp;quot;Slicer+PLUS: Collaborative, open-source software for ultrasound analysis.&amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the funding going to Kitware (me and JC), Queen's University (Gabor Fichtinger, Tamas, and Andras), Isomics (Steve Pieper), BWH, and many others, this proposal is meant to keep not only the software, but also the outstanding communities of Slicer and PLUS thriving for the next four years.  The proposal uses the goal of adding real-time ultrasound RF signal processing into Slicer as its &amp;quot;moon shot.&amp;quot;  In general, it seeks to improve our support of GPU-based methods, custom workflows, and third party software integration.  Our goal is to make certain that Slicer and PLUS continue to evolve as our community's research needs evolve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;To make our proposal a success, we need your help!&amp;lt;/b&amp;gt;  Please take a few minutes to send us a letter of support for our proposal!  To make it easy for you to show your support, we have drafted five sample letters:&lt;br /&gt;
# [[2015.02.01-Draft1-SlicerSupporter.docx]]&lt;br /&gt;
# [[2015.02.01-Draft2-SlicerSupporter_short.docx]]&lt;br /&gt;
# [[2015.02.01-Draft3-SlicerAndPLUSSupporter.docx]]&lt;br /&gt;
# [[2015.02.01-Draft4-LowCostUltrasoundSupporter.docx]]&lt;br /&gt;
# [[2015.02.01-Draft5-PlusSupporter.docx]]&lt;br /&gt;
&amp;lt;b&amp;gt;We need your letters of support by February 1, 2015!&amp;lt;/b&amp;gt;  You can send your letter to me as a PDF document or simply as text in an email.  My email address is&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;stephen.aylward@kitware.com&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions or suggestions, please do not hesitate to contact me or Gabor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best regards,&lt;br /&gt;
&lt;br /&gt;
Stephen Aylward&amp;lt;br&amp;gt;&lt;br /&gt;
Kitware, Inc.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40751</id>
		<title>2015.02.01 SlicerMaintenance LettersOfSupport</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=2015.02.01_SlicerMaintenance_LettersOfSupport&amp;diff=40751"/>
		<updated>2015-01-20T23:30:30Z</updated>

		<summary type="html">&lt;p&gt;Aylward: Created page with 'Dear Slicer and PLUS community,  Gabor Fichtinger and I (Stephen Aylward) are writing a grant proposal to get NIH funding to support the continued development, maintenance, and d…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dear Slicer and PLUS community,&lt;br /&gt;
&lt;br /&gt;
Gabor Fichtinger and I (Stephen Aylward) are writing a grant proposal to get NIH funding to support the continued development, maintenance, and distribution of [[http://www.slicer.org 3D Slicer]] and the [[https://www.assembla.com/spaces/plus/wiki PLUS toolkit.]]&lt;br /&gt;
&lt;br /&gt;
Joining with Steve Pieper, Sonia Pujol, and many others; this proposal is meant to keep not only the software, but also the outstanding communities, of Slicer and PLUS thriving.  The proposal uses the challenge of adding real-time ultrasound RF signal processing into Slicer as its &amp;quot;moon shot.&amp;quot;  In general, it seeks to spur the development of broader support for GPU-based methods, custom workflows, and third party software integration.  Our goal is to make certain that Slicer and PLUS continue to evolve as our community's research needs evolve.&lt;br /&gt;
&lt;br /&gt;
To make our proposal a huge success on first submission, we need your help!&lt;br /&gt;
&lt;br /&gt;
Please consider writing a letter of support for our proposal and sending it to me at&lt;br /&gt;
stephen.aylward@kitware.com&lt;br /&gt;
You can send me a PDF document or simply as an email.&lt;br /&gt;
&lt;br /&gt;
We need the letters by February 1, 2015!!&lt;br /&gt;
&lt;br /&gt;
The title of our proposal is&lt;br /&gt;
   &amp;quot;Slicer+PLUS: Collaborative, open-source software for ultrasound analysis.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To make your support easy to give, we have drafted five sample letters:&lt;br /&gt;
# [2015.02.01-Draft1-SlicerSupporter.docx]&lt;br /&gt;
# [2015.02.01-Draft2-SlicerSupporter_short.docx]&lt;br /&gt;
# [2015.02.01-Draft3-SlicerAndPLUSSupporter.docx]&lt;br /&gt;
# [2015.02.01-Draft4-LowCostUltrasoundSupporter.docx]&lt;br /&gt;
# [2015.02.01-Draft5-PlusSupporter.docx]&lt;br /&gt;
&lt;br /&gt;
If you have any questions or suggestions, please do not hesitate to contact me or Gabor.&lt;br /&gt;
&lt;br /&gt;
Best regards,&lt;br /&gt;
Stephen Aylward&lt;br /&gt;
Kitware, Inc.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22417</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22417"/>
		<updated>2011-11-01T10:00:27Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*[http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol]&lt;br /&gt;
*[http://www.kitware.com/company/team/pace.html Danielle Pace]&lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: [mailto:julien.finet@kitware.com Julien Finet], Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, [mailto:stephen.aylward@kitware.com Stephen Aylward]&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22416</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22416"/>
		<updated>2011-11-01T09:59:37Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* People And Their Roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*[http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol]&lt;br /&gt;
*[http://www.kitware.com/company/team/pace.html Danielle Pace]&lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: [mailto:julien.finet@kitware.com Julien Finet (contact)], Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, [mailto:stephen.aylward@kitware.com Stephen Aylward]&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22415</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22415"/>
		<updated>2011-11-01T09:59:03Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* People And Their Roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*[http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol]&lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: [mailto:julien.finet@kitware.com Julien Finet (contact)], Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, [mailto:stephen.aylward@kitware.com Stephen Aylward]&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22414</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22414"/>
		<updated>2011-11-01T09:54:30Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol] &lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: [mailto:julien.finet@kitware.com Julien Finet (contact)], Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, [mailto:stephen.aylward@kitware.com Stephen Aylward]&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22413</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22413"/>
		<updated>2011-11-01T09:53:49Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol] &lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: [mail-to:julien.finet@kitware.com Julien Finet (contact)], Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, [mail-to:stephen.aylward@kitware.com Stephen Aylward]&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22412</id>
		<title>Documentation/4.0/Acknowledgment Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Acknowledgment_Team&amp;diff=22412"/>
		<updated>2011-11-01T09:52:41Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* List of Contributors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a place holder&lt;br /&gt;
=Introduction=&lt;br /&gt;
Sincere thanks go to members of the Slicer Community for their contributions to the design, functionality and usability of 3D Slicer.&lt;br /&gt;
&lt;br /&gt;
Major funding for the 3D Slicer software package was provided by the NIH through a number of grants. Additional contributions came from a number of sources, nationally and internationally.&lt;br /&gt;
&lt;br /&gt;
=List of Contributors=&lt;br /&gt;
==People And Their Roles==&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/kikinis Ron Kikinis]: Principal Investigator&lt;br /&gt;
*Steve Pieper&lt;br /&gt;
*[http://www.kitware.com/company/team/finet.html Julien Finet]&lt;br /&gt;
*[http://www.kitware.com/company/team/fillion.html Jean-Christophe Fillion-Robin]&lt;br /&gt;
*[http://www.kitware.com/company/team/aylward.html Stephen Aylward]&lt;br /&gt;
*Nicole Aucoin&lt;br /&gt;
*Alex Yarmarkovich&lt;br /&gt;
*Hans Johnson&lt;br /&gt;
*Daniel Haehn&lt;br /&gt;
*Kilian Pohl&lt;br /&gt;
*http://www.kitware.com/company/team/schroeder.html Will Schroeder]&lt;br /&gt;
*Jim Miller&lt;br /&gt;
*Junichi Tokuda&lt;br /&gt;
*Noby Hata&lt;br /&gt;
*Andrey Fedorov&lt;br /&gt;
*[http://www.spl.harvard.edu/pages/People/spujol Sonia Pujol] &lt;br /&gt;
&lt;br /&gt;
==Groups==&lt;br /&gt;
*[http://www.spl.harvard.edu/ SPL]: Ron Kikinis, Nicole Aucoin, Wendy Plesniak, Demian Wassermann, Isaiah Norton, Sonia Pujol&lt;br /&gt;
*Isomics: Steve Pieper, Alex Yarmarkovich&lt;br /&gt;
*[http://www.kitware.com Kitware]: Julien Finet (contact), Jean-Christophe Fillion-Robin, Danielle Pace, Will Schroeder, Stephen Aylward&lt;br /&gt;
*U Iowa&lt;br /&gt;
*U Penn&lt;br /&gt;
*GE: Jim Miller&lt;br /&gt;
&lt;br /&gt;
==Funding Sources==&lt;br /&gt;
*ARRA supplement to NAC: [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Qt port], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerEM EM Segmenter], [http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:miAnnotation Annotations]&lt;br /&gt;
*[http://nac.spl.harvard.edu/ NAC]&lt;br /&gt;
*[http://na-mic.org NA-MIC]&lt;br /&gt;
*[http://ncigt.org NCIGT]&lt;br /&gt;
* 1U01CA151261-01 (PI Fennessy)&lt;br /&gt;
* [http://public.kitware.com/Wiki/NeuralNav  1R01CA138419-01 (PI: Wells and Aylward), NCI academia-industry partnership]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.0/Developers/Build_Instructions&amp;diff=20655</id>
		<title>Documentation/4.0/Developers/Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.0/Developers/Build_Instructions&amp;diff=20655"/>
		<updated>2011-08-10T20:13:29Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer4| Back to Slicer 4]]&lt;br /&gt;
&lt;br /&gt;
The goal of the Super-Build is to provide a cross-platform build system that allows developers to quickly install and configure the multiple packages.&lt;br /&gt;
&lt;br /&gt;
Where [[Slicer3:Build_Instructions|Slicer3's build system]] relied on a [[Slicer3:getbuildtest|custom build script called getbuildtest]], new features added to [http://www.cmake.org CMake], partly driven by slicer's requirements, allow porting of the scripts to rely more on native CMake functionality with the benefit that build script is more modular and general purpose.&lt;br /&gt;
&lt;br /&gt;
== STEP 0: Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Please check that the following tools are installed on your machine.&lt;br /&gt;
&lt;br /&gt;
*Debian Squeeze user type:&lt;br /&gt;
 sudo apt-get install gcc libX11-dev libXt-dev libgl1-mesa-dev libosmesa6-dev libglu1-mesa-dev git cmake cmake-curses-gui libqt4-dev subversion make g++&lt;br /&gt;
*Ubuntu users, just type the following line in a terminal&lt;br /&gt;
 sudo apt-get install gcc libX11-dev libXt-dev libgl1-mesa-dev libosmesa6-dev libglu1-mesa-dev git cmake cmake-curses-gui&lt;br /&gt;
*CentOS user type:&lt;br /&gt;
 yum install gcc-c++ libX11-devel libXt-devel make&lt;br /&gt;
&lt;br /&gt;
*Mac&lt;br /&gt;
** git version &amp;gt;= 1.6.5&lt;br /&gt;
*** [http://git-scm.com/download Download and install Git]&lt;br /&gt;
**[http://www.cmake.org/cmake/resources/software.html CMake] version &amp;gt;= 2.8.2&lt;br /&gt;
&lt;br /&gt;
* Linux prerequisites (''need to confirm'')&lt;br /&gt;
** ''An easy way to get all of the packages needed to build Slicer is to install all of the packages needed to build paraview (another vtk-based program)&lt;br /&gt;
*** sudo apt-get install aptitude&lt;br /&gt;
*** sudo aptitude build-dep paraview&lt;br /&gt;
** gcc&lt;br /&gt;
** gcc-c++&lt;br /&gt;
** libX11 &lt;br /&gt;
** libX11-devel (libX11-dev  on Ubuntu 7.04)&lt;br /&gt;
** libXt-devel (libXt-dev on Ubuntu)&lt;br /&gt;
** opengl/mesa (libgl1-mesa-dev on Ubuntu) (and libosmesa6-dev on Ubuntu)&lt;br /&gt;
** glu (libglu1-mesa-dev on Ubuntu)&lt;br /&gt;
** git version &amp;gt;= 1.6.5&lt;br /&gt;
*** [http://git-scm.com/download Download Git]&lt;br /&gt;
*** install git: &amp;lt;code&amp;gt;sudo apt-get install git&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;git --version&amp;lt;/code&amp;gt; is inferior to 1.6.5, then:&amp;lt;code&amp;gt;sudo dpkg --install git-core_1.6.5-1~bpo50+1_amd64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
**[http://www.cmake.org/cmake/resources/software.html CMake] version &amp;gt;= 2.8.2&lt;br /&gt;
&lt;br /&gt;
* Windows prerequisites&lt;br /&gt;
** IDE:&lt;br /&gt;
*** Prefered: Microsoft Visual Studio 2008 or 2010 (including [http://www.microsoft.com/express/Downloads/#2010-Visual-CPP Express Edition])&lt;br /&gt;
*** Cygwin suite&lt;br /&gt;
**[http://www.cmake.org/cmake/resources/software.html CMake] version &amp;gt;= 2.8.2&lt;br /&gt;
** SVN&lt;br /&gt;
** CVS&lt;br /&gt;
** git version &amp;gt;= 1.6.5. [http://code.google.com/p/msysgit/ msysgit] is recommended. Using [http://code.google.com/p/tortoisegit/ TortoiseGit] is a plus.&lt;br /&gt;
* '''All Platforms: Qt.'''{{note}} Use one of the links provided in the table below to download the source code or binary of Qt. If required, you can download the source code and compile Qt using the instructions in [[Slicer4:Build_Instructions_for_QT|Slicer4: Build Instructions for Qt]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot;|&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;|Linux&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Mac&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;|Windows&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|Tiger&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|Leopard, SnowLeopard&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFFCC&amp;quot;&lt;br /&gt;
!|32bits&lt;br /&gt;
!|64bits&lt;br /&gt;
!|32bits&lt;br /&gt;
!colspan=&amp;quot;1&amp;quot;|64bits&lt;br /&gt;
!|32bits&lt;br /&gt;
!|64bits&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | [http://get.qt.nokia.com/qt/source/ Qt source link]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;4&amp;quot;| [http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz 4.6.3]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;| [http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.zip 4.6.3 (vs2008)] &amp;lt;br /&amp;gt;[http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.3.zip 4.7.3 (vs2010)]&lt;br /&gt;
|-&lt;br /&gt;
! bgcolor=&amp;quot;#FFFFCC&amp;quot; | [http://get.qt.nokia.com/qt/source/  Qt binary link]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2010.05.bin x86_2010.05]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86_64-opensource-2010.05.bin x86_64_2010.05]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://get.qt.nokia.com/qt/source/qt-mac-carbon-opensource-4.7.0.dmg carbon_4.7.0]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://get.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2010.05.dmg cocoa_4.7.0] &lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.3-vs2008.exe 4.6.3 (vs2008)] &amp;lt;br /&amp;gt;[http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.3-vs2008.exe 4.7.3 (vs2010)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Step1: Checkout slicer source files using subversion  ==&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd MyProjects&lt;br /&gt;
svn co http://svn.slicer.org/Slicer4/trunk Slicer4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step2: Configure and generate Slicer solution files ==&lt;br /&gt;
You can configure and generate Slicer solution files using either ccmake or cmake-gui. &lt;br /&gt;
*cmake-gui (Recommended): Configure using default options.&lt;br /&gt;
{{note}}&lt;br /&gt;
#If you downloaded the Qt binary then qmake will be detected and all paths will be set automatically.  &lt;br /&gt;
#If you built your own Qt (e.g. in Debug mode for use with the designer) set the QT_QMAKE_EXECUTABLE in cmake-gui.QT_QMAKE_EXECUTABLE should be set to the path of the qmake.exe file, which is inside the bin directory (for example, ./QT/qt-everywhere-opensource-src-4.7.3/bin/qmake.exe). &lt;br /&gt;
&lt;br /&gt;
*ccmake (for linux/mac): Configure using the following commands. For developers, set the '''CMAKE_BUILD_TYPE''' to '''Debug'''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir Slicer4-SuperBuild&lt;br /&gt;
cd Slicer4-SuperBuild&lt;br /&gt;
ccmake ../Slicer4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you build your own Qt, then the ccmake command in the sequence above should also specify the path to that Qt installation.  For example,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ccmake -DQT_QMAKE_EXECUTABLE:FILEPATH=&amp;lt;path_to_my_installation_of_qt&amp;gt;/qt-everywhere-opensource-src-4.7.3/bin/qmake ../Slicer4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Two projects are generated by ccmake/cmake-gui. One of them is in the top-level bin directory Slicer4-Superbuild and the other one is in the subdirectory Slicer4-Superbuild/Slicer-build:&lt;br /&gt;
&lt;br /&gt;
#The first project in Slicer4-Superbuild manages all the external dependencies of Slicer (VTK, ITK, Python, ...). To build Slicer for the first time, run make (or build the solution file in Visual Studio) in Slicer4-Superbuild, which will update and build the external libraries and if successful will then build the subproject Slicer-build.&amp;lt;br&amp;gt;&lt;br /&gt;
#The second project in Slicer4-Superbuild/Slicer-build is the &amp;quot;traditional&amp;quot; build directory of Slicer.  After local changes in Slicer (or after an svn update on the source directory of Slicer), only running make (or building the solution file in Visual Studio) in Slicer4-Superuild/Slicer-build is necessary (the external libraries are considered built and up to date). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning}}&lt;br /&gt;
#For Windows users:Windows doesn't support path longer than 260 characters, please make sure that the total path name of your Slicer-build directory is no longer than 75 characters ( for example &amp;quot;c:\work\Slicer\Slicer-Superbuild&amp;quot; (32 characters) is fine)&lt;br /&gt;
#Warning: a lot of space disk is necessary to compile Slicer (&amp;gt;10GB on Windows)&lt;br /&gt;
&lt;br /&gt;
== Step3: Build Slicer4 ==&lt;br /&gt;
After configuration, start the build process in the  Slicer4-SuperBuild directory&lt;br /&gt;
*Linux / Mac: Run the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make -j&amp;lt;NUMBEROFCORES&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Windows: Open Slicer4-SuperBuild\Slicer.sln  (or Slicer-4.0\Slicer4-SuperBuild\Slicer-build\Slicer.sln) in Visual Studio and build the ALL_BUILD project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning}}&lt;br /&gt;
# As it is indicated in Step2, if you make local changes in Slicer4, run make (or build the solution file in Visual Studio) in the directory Slicer4-Superuild/Slicer-build.&lt;br /&gt;
# If you would like to make local changes and debug your code in Debug mode in Visual Studio, use the Visual Studio Command Prompt to open the solution file in Slicer4-Superuild/Slicer-build:&lt;br /&gt;
#* Open Visual Studio Command Prompt&lt;br /&gt;
#* Go to the directory  Slicer4-Superuild/Slicer-build&lt;br /&gt;
#* Write Slicer.exe --VisualStudio Slicer.sln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step4: Run Slicer4 ==&lt;br /&gt;
Run the launcher in Slicer4-SuperBuild/Slicer-build/Slicer (Slicer.exe on windows)&lt;br /&gt;
&lt;br /&gt;
==Platform Notes==&lt;br /&gt;
&lt;br /&gt;
* Linux Ubuntu: if you have odd rendering artifacts, try disabling visual effects (System/Appearance/Visual Effects)&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20107</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20107"/>
		<updated>2011-06-09T20:00:57Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Developers Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Slicer 4 is now at the stage where developers can begin to port their modules from Slicer3 to Slicer4. If you are working on extensions, you should continue to use Slicer 3 as your target platform. If you are not sure, ask us.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Developers Documentation=&lt;br /&gt;
&lt;br /&gt;
*[[Slicer4:QtPort/Tutorials|Tutorial on how to write code with Slicer 4 Qt on your computer]]   ('''Julien Finet''', Jean-Christophe Fillion-Robin)&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:ArchitectureDesign|Architecture design (CTK,MRML,Logic,Qt)]]&lt;br /&gt;
||'''Steve Pieper''', Julien Finet, Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Julien Finet&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:MultiVolumeContainer|Infrastructure for DCE, Recist, &amp;quot;What changed&amp;quot;]]&lt;br /&gt;
||'''Ron Kikinis'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:VectorImageVisualization|Infrastructure for multi-volumes]]&lt;br /&gt;
||'''Demian Wassermann''', Lauren Odonnell, CF Westin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:WikipediaNotes|Updating the Wikipedia pages for Slicer]]&lt;br /&gt;
||'''Ann Adams''', Ron Kikinis, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Diffusion|Porting Diffusion from Slicer 3 to 4]]&lt;br /&gt;
||'''Demian Wassermann''', Alex Yarmanovich, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DownloadPackage|Slicer 4 download package]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VolumeRenderingPorting|Porting Volume Rendering from Slicer 3 to 4]]&lt;br /&gt;
||'''Julien Finet''', Alex Yarmanovich, Curtis Lisle&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Zach Mullen, Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''Wendy Plesniak''', Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:SceneViewsModule|Slicer 4 SceneViews Module]]&lt;br /&gt;
||'''Daniel Haehn''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Extensions'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VMTK|VMTK]]&lt;br /&gt;
||'''Daniel Haehn'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DTI-EM-Clustering|DTI EM Clustering]]&lt;br /&gt;
||'''Mahnaz Maddah''', Jim Miller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer4 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[http://slicer.org/doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort/Tutorials|QtPort Tutorials]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer 3 and Slicer 4 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20106</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20106"/>
		<updated>2011-06-09T19:58:42Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Slicer 4 is now at the stage where developers can begin to port their modules from Slicer3 to Slicer4. If you are working on extensions, you should continue to use Slicer 3 as your target platform. If you are not sure, ask us.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Developers Documentation=&lt;br /&gt;
&lt;br /&gt;
*[[Slicer4:QtPort/Tutorials|Tutorial on how to write code with Slicer 4 Qt on your computer]]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:ArchitectureDesign|Architecture design (CTK,MRML,Logic,Qt)]]&lt;br /&gt;
||'''Steve Pieper''', Julien Finet, Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Julien Finet&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:MultiVolumeContainer|Infrastructure for DCE, Recist, &amp;quot;What changed&amp;quot;]]&lt;br /&gt;
||'''Ron Kikinis'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:VectorImageVisualization|Infrastructure for multi-volumes]]&lt;br /&gt;
||'''Demian Wassermann''', Lauren Odonnell, CF Westin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:WikipediaNotes|Updating the Wikipedia pages for Slicer]]&lt;br /&gt;
||'''Ann Adams''', Ron Kikinis, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Diffusion|Porting Diffusion from Slicer 3 to 4]]&lt;br /&gt;
||'''Demian Wassermann''', Alex Yarmanovich, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DownloadPackage|Slicer 4 download package]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VolumeRenderingPorting|Porting Volume Rendering from Slicer 3 to 4]]&lt;br /&gt;
||'''Julien Finet''', Alex Yarmanovich, Curtis Lisle&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Zach Mullen, Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''Wendy Plesniak''', Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:SceneViewsModule|Slicer 4 SceneViews Module]]&lt;br /&gt;
||'''Daniel Haehn''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Extensions'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VMTK|VMTK]]&lt;br /&gt;
||'''Daniel Haehn'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DTI-EM-Clustering|DTI EM Clustering]]&lt;br /&gt;
||'''Mahnaz Maddah''', Jim Miller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer4 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[http://slicer.org/doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort/Tutorials|QtPort Tutorials]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer 3 and Slicer 4 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20105</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20105"/>
		<updated>2011-06-09T19:58:24Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Slicer 4 is now at the stage where developers can begin to port their modules from Slicer3 to Slicer4. If you are working on extensions, you should continue to use Slicer 3 as your target platform. If you are not sure, ask us.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Developers Documentation=&lt;br /&gt;
&lt;br /&gt;
*[[Slicer4:QtPort/Tutorials|Tutorial on how to write code with Slicer 4 Qt on your computer]]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:ArchitectureDesign|Architecture design (CTK,MRML,Logic,Qt)]]&lt;br /&gt;
||'''Steve Pieper''', Julien Finet, Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin, Julien Finet&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:MultiVolumeContainer|Infrastructure for DCE, Recist, &amp;quot;What changed&amp;quot;]]&lt;br /&gt;
||'''Ron Kikinis'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:VectorImageVisualization|Infrastructure for multi-volumes]]&lt;br /&gt;
||'''Demian Wassermann''', Lauren Odonnell, CF Westin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:WikipediaNotes|Updating the Wikipedia pages for Slicer]]&lt;br /&gt;
||'''Ann Adams''', Ron Kikinis, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Diffusion|Porting Diffusion from Slicer 3 to 4]]&lt;br /&gt;
||'''Demian Wassermann''', Alex Yarmanovich, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DownloadPackage|Slicer 4 download package]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VolumeRenderingPorting|Porting Volume Rendering from Slicer 3 to 4]]&lt;br /&gt;
||'''Julien Finet''', Alex Yarmanovich, Curtis Lisle&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Zach Mullen, Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''Wendy Plesniak''', Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:SceneViewsModule|Slicer 4 SceneViews Module]]&lt;br /&gt;
||'''Daniel Haehn''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Extensions'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VMTK|VMTK]]&lt;br /&gt;
||'''Daniel Haehn'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DTI-EM-Clustering|DTI EM Clustering]]&lt;br /&gt;
||'''Mahnaz Maddah''', Jim Miller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer4 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[http://slicer.org/doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort/Tutorials|QtPort Tutorials]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer 3 and Slicer 4 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20104</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20104"/>
		<updated>2011-06-09T19:55:34Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Slicer 4 is now at the stage where developers can begin to port their modules from Slicer3 to Slicer4. If you are working on extensions, you should continue to use Slicer 3 as your target platform. If you are not sure, ask us.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Developers Documentation=&lt;br /&gt;
&lt;br /&gt;
*[[Slicer4:QtPort/Tutorials|Tutorial on how to write code with Slicer 4 Qt on your computer]]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:ArchitectureDesign|Architecture design (CTK,MRML,Logic,Qt)]]&lt;br /&gt;
||'''Steve Pieper''', Julien Finet, Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:MultiVolumeContainer|Infrastructure for DCE, Recist, &amp;quot;What changed&amp;quot;]]&lt;br /&gt;
||'''Ron Kikinis'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:VectorImageVisualization|Infrastructure for multi-volumes]]&lt;br /&gt;
||'''Demian Wassermann''', Lauren Odonnell, CF Westin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:WikipediaNotes|Updating the Wikipedia pages for Slicer]]&lt;br /&gt;
||'''Ann Adams''', Ron Kikinis, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Diffusion|Porting Diffusion from Slicer 3 to 4]]&lt;br /&gt;
||'''Demian Wassermann''', Alex Yarmanovich, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DownloadPackage|Slicer 4 download package]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VolumeRenderingPorting|Porting Volume Rendering from Slicer 3 to 4]]&lt;br /&gt;
||'''Julien Finet''', Alex Yarmanovich, Curtis Lisle&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Zach Mullen, Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''Wendy Plesniak''', Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:SceneViewsModule|Slicer 4 SceneViews Module]]&lt;br /&gt;
||'''Daniel Haehn''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Extensions'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VMTK|VMTK]]&lt;br /&gt;
||'''Daniel Haehn'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DTI-EM-Clustering|DTI EM Clustering]]&lt;br /&gt;
||'''Mahnaz Maddah''', Jim Miller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer4 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[http://slicer.org/doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort/Tutorials|QtPort Tutorials]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer 3 and Slicer 4 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20103</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=20103"/>
		<updated>2011-06-09T19:54:37Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Slicer 4 is now at the stage where developers can begin to port their modules from Slicer3 to Slicer4. If you are working on extensions, you should continue to use Slicer 3 as your target platform. If you are not sure, ask us.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Developers Documentation=&lt;br /&gt;
&lt;br /&gt;
*[[Slicer4:QtPort/Tutorials|Tutorial on how to write code with Slicer 4 Qt on your computer]]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:ArchitectureDesign|Architecture design (CTK,MRML,Logic,Qt)]]&lt;br /&gt;
||'''Steve Pieper''', Julien Finet, Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:MultiVolumeContainer|Infrastructure for DCE, Recist, &amp;quot;What changed&amp;quot;]]&lt;br /&gt;
||'''Ron Kikinis'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:VectorImageVisualization|Infrastructure for multi-volumes]]&lt;br /&gt;
||'''Demian Wassermann''', Lauren Odonnell, CF Westin&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:WikipediaNotes|Updating the Wikipedia pages for Slicer]]&lt;br /&gt;
||'''Ann Adams''', Ron Kikinis, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
|[[Slicer4:Diffusion|Porting Diffusion from Slicer 3 to 4]]&lt;br /&gt;
||'''Demian Wassermann''', Alex Yarmanovich, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DownloadPackage|Feature requests for the Slicer 4 download package]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward, Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VolumeRenderingPorting|Porting Volume Rendering from Slicer 3 to 4]]&lt;br /&gt;
||'''Julien Finet''', Alex Yarmanovich, Curtis Lisle&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Jean-Christophe Fillion-Robin''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Zach Mullen, Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''Wendy Plesniak''', Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:SceneViewsModule|Slicer 4 SceneViews Module]]&lt;br /&gt;
||'''Daniel Haehn''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Extensions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Extensions'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VMTK|VMTK]]&lt;br /&gt;
||'''Daniel Haehn'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DTI-EM-Clustering|DTI EM Clustering]]&lt;br /&gt;
||'''Mahnaz Maddah''', Jim Miller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer4 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[http://slicer.org/doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort/Tutorials|QtPort Tutorials]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer 3 and Slicer 4 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort&amp;diff=18742</id>
		<title>Slicer4:QtPort</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort&amp;diff=18742"/>
		<updated>2010-12-21T16:12:31Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[Slicer4:Developers#Projects|Back to Slicer 4 Developer Projects]]&lt;br /&gt;
&lt;br /&gt;
= Goals =&lt;br /&gt;
The basic goal of the project is to replace the current KWWidgets-based GUI with Qt. It is anticipated that the following benefits will result:&lt;br /&gt;
&lt;br /&gt;
# Better support for Qt versus KWWidgets. This includes:&lt;br /&gt;
## Community support (more developers and users)&lt;br /&gt;
## Programming reference and training materials&lt;br /&gt;
## Design tools (e.g., Qt Designer)&lt;br /&gt;
# Qt has advanced programming constructs (e.g., signals and slots)&lt;br /&gt;
# Qt has advanced capabilities (e.g., charting, widgets, SQL interface, etc.)&lt;br /&gt;
# Increased (Slicer) application modularity&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* Refer to [http://www.slicer.org/slicerWiki/index.php/Qt_in_Slicer3 preliminary study] done by Sebastien Barre for background technical information.&lt;br /&gt;
* Refer to the [[http://wiki.na-mic.org/Wiki/index.php/Projects:ARRA:SlicerUI Slicer-Qt ARRA pages]] for background and official reporting of the project.&lt;br /&gt;
* Refer to [[Slicer3:Developers:Projects:QtSlicer|QtSlicer in Slicer3]] for the work done in Slicer3.6&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
* Julien Finet aka J2 (Kitware)&lt;br /&gt;
* Jean-Christophe Fillon-Robin aka JC (Kitware)&lt;br /&gt;
* Stephen Aylward aka Muscles (Kitware)&lt;br /&gt;
* Will Schroeder aka Elvis (Kitware)&lt;br /&gt;
* Steve Pieper (Isomics)&lt;br /&gt;
* Wendy Plesniak (Harvard)&lt;br /&gt;
* Sebastien Barre aka Seb (Kitware)&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
The following lists notes, presentations and pointers to source code and other materials relevant to this effort.&lt;br /&gt;
&lt;br /&gt;
'''[[Slicer4:QtPort/OpenDiscussions|Open Discussions]]'''&lt;br /&gt;
A list of points to discuss.&lt;br /&gt;
&lt;br /&gt;
'''[[Slicer4:QtPort/MeetingNotes|Meeting Notes]]'''&lt;br /&gt;
A running summary of meeting notes.&lt;br /&gt;
&lt;br /&gt;
'''[[Slicer4:QtPort/Documents|Presentation Materials]]'''&lt;br /&gt;
A collection of presentation materials such as PowerPoint, PDF and other documents.&lt;br /&gt;
&lt;br /&gt;
'''[[Slicer4:QtPort/Gallery|Image Gallery]]'''&lt;br /&gt;
A collection of screenshots.&lt;br /&gt;
&lt;br /&gt;
'''[[Slicer4:QtPort/Tutorials|Tutorials]]'''&lt;br /&gt;
A collection of tutorials for the QT developers.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=18131</id>
		<title>Slicer4:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:Developers&amp;diff=18131"/>
		<updated>2010-10-24T00:15:32Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
''Do not expect to be able to use this page until late 2010 or early 2011 - many things are changing rapidly within the slicer4 code base so the 'public' developer information until there is a more definitive set of instructions.''&lt;br /&gt;
&lt;br /&gt;
For now, refer to [http://www.na-mic.org/Wiki/images/5/51/2010_Project_Week_Slicer.ppt the 3D Slicer Status Presentation from the June 2010 Project Week] for planning and transition information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Work on 3D Slicer version 4 has begun in June of 2010. It is expected that Slicer4 will be released in 2011.  Please see the [[Slicer4|Slicer4 Description Page]] for detailed information on the current plans.&lt;br /&gt;
&lt;br /&gt;
*For information about older versions of Slicer, see [[Developers|here]].&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
*This page of for scientist who write source code, if you want to use a pre-compiled version of Slicer, please go to the [http://www.slicer.org/pages/Special:SlicerDownloads download page].&lt;br /&gt;
*Slicer 4 will include a number of fundamental changes to the infrastructure:&lt;br /&gt;
**Qt widgets will replace KWW widgets&lt;br /&gt;
**CMAKE superbuild will replace getbuildtest&lt;br /&gt;
&lt;br /&gt;
=Compiling=&lt;br /&gt;
*how to get the source code&lt;br /&gt;
*[[Slicer4:Build_Instructions|how to compile Slicer 4 on your computer]]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
(please add your new project to the top of the table)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer4 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:CMAKESuperbuild|CMAKE superbuild]]&lt;br /&gt;
||'''Dave Partyka''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Download Data|Download Data Appearance]]&lt;br /&gt;
||'''Ron Kikinis''', Julien Jomier&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:DisplayModule|Slicer 4 Display Module]]&lt;br /&gt;
||'''XXX'''(?), Ron Kikinis&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:VTKWidgets|Slicer 4 VTK Widgets tuning]]&lt;br /&gt;
||'''Will Schroeder''', Jean-Christophe Fillion-Robin&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:UIDesign|Slicer 4 UI design]]&lt;br /&gt;
||'''Wendy Plesniak''',&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:EMSegment|EM Segmenter]]&lt;br /&gt;
||'''Kilian Pohl''', Dominique Belhachemi&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Annotation|Annotation]]&lt;br /&gt;
||'''Kilian Pohl''', Daniel Haehn&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:QtPort|Porting Slicer from kww to Qt]]&lt;br /&gt;
||'''Julien Finet''', Jean-Christophe Fillion-Robin, Steve Pieper, Stephen Aylward&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Quick Links for Developers =&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers.&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 Quick links to the Source code ==&lt;br /&gt;
The Slicer4 git repository:&lt;br /&gt;
&lt;br /&gt;
*'''Put link here'''&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;800px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer4 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer4 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer4:Build_Instructions|Slicer4 build instructions]]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer4 Slicer4 Dashboard (After XX XXXX)]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://www.na-mic.org/Slicer3/Dashboard Slicer3 Dashboard (Before XX XXXX)]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Slicer/Documentation/Slicer4-doc/html/ Doxygen documentation for Slicer4].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer4:VisualBlog|Slicer4 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer4:Style|Slicer 4 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Developers' Mailing List ==&lt;br /&gt;
Discussion of Slicer3 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17672</id>
		<title>Slicer4:QtPort/OpenDiscussions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17672"/>
		<updated>2010-09-04T12:50:27Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Open Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer4:QtPort|QtPort]]&amp;amp;larr;&lt;br /&gt;
=Introduction=&lt;br /&gt;
This page gathers discussions about code architecture/implementation/design of the Slicer port to Qt. This page is mainly for developers as it concerns the internal/implementation part of Slicer, discussions about the interface design should be listed on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign#NEW.21:_QT_Interface_Design_Discussions UIDesign wiki page]. User feedbacks should be reported on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:Usability#Collecting_user_feedback Usability wiki page].&lt;br /&gt;
*Please add your ideas/comments/remarks/feedback/suggestions/problems/... below.&lt;br /&gt;
*Points will be discussed during regular TCon meetings , on the Slicer developer list and/or by email.&lt;br /&gt;
*Decisions resulting from discussions should be tracked into the [http://www.na-mic.org/Bug Mantis] under the category: &amp;lt;code&amp;gt;QtGUI&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=TODO=&lt;br /&gt;
*[[Slicer3:Developers:Projects:QtSlicer/StatusMeeting2010|Todo]]&lt;br /&gt;
&lt;br /&gt;
=Open Issues=&lt;br /&gt;
&lt;br /&gt;
* Usability of the slider widget&lt;br /&gt;
** Issue: The usability of the slider widget both in KWSlicer and QtSlicer may not provide sufficient flexibility.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: Both in the KW and Qt versions of Slicer, precise adjustment of the values with the slider widget is difficult. Often, it is only possible by manually entering the value, which is not very convenient. Also, see related discussion [http://public.kitware.com/pipermail/kwwidgets/2008-December/000828.html on kwwidgets mail list]. I checked the Qt version, and click on 'through' area increments by 1. In the context of Transform, 1 mm or 1 degree can bee too coarse granularity for some applications.&lt;br /&gt;
** Suggestion: Discuss whether the widget can be improved in the Qt version. Possible ideas:&lt;br /&gt;
*** Handle additional events (Ctrl-click/Shift-click in the 'through' area) and change the position by smaller increments?&lt;br /&gt;
*** Introduce additional ('advanced'?) field in the Transform module, which would allow to specify the increment granularity?&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* Flexible layouts&lt;br /&gt;
** Issue: Improve usability and capability of Slicer visualization views and view layouts.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: The current layout configuration is in some ways restricted by not allowing to set arbitrary configuration of slice view/3D view combinations. Additionally, the types of views are restricted to only 2 types (slice or 3D). &lt;br /&gt;
** Suggestion: Evaluate the applicability of the flexible layout framework used in Paraview for adoption in QtSlicer (see the screenshot attached). The nice features observed in Paraview layout framework, which in my opinion are highly applicable to Slicer are:&lt;br /&gt;
*** any view can be split vertically or horizontally with just a click of a button in the corner of the view -- very flexible&lt;br /&gt;
*** once the view is split, user is given a choice, which view should be created -- simple and intuitive&lt;br /&gt;
*** very cool view types that can be created: bar chart, plot, spreadsheet! Bar chart and plot features have been previously requested by Slicer users. Of course, introduction of new types will require re-thinking of the architecture.&lt;br /&gt;
*** let any view to do be undocked from the main Slicer screen, to allow display on a secondary monitor (needed for interventional applicaitons, more info: Andras Lasso)&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** Please see [http://wiki.slicer.org/slicerWiki/index.php?title=Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP2 related design.]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[Image:Paraview_layouts_example.jpg|thumb|300px|Screenshot showing some of the capabilities of the flexible layouts in Paraview GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Have 2 Modules open at the same time &lt;br /&gt;
** Motivation: It would be good for the Reporting module if we could access the module as well as the volume module to change how the image displayed in the image while annotating the image at the same time&lt;br /&gt;
** Suggestion: Create a pop up window which can host any module. Maybe even better: enable undocking (display in a floating, top-level window) any module GUI window.&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** See design sketch for [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP3 tabbed UI panels] that display multiple modules or layouts.&lt;br /&gt;
&lt;br /&gt;
* Widget to automatically set values&lt;br /&gt;
** Issue: Add more features to qCTKSliderSpinBoxWidget for a user-friendly way of setting values to parameters  &lt;br /&gt;
** Reporter: Steve Pieper&lt;br /&gt;
** Motivation: Setting parameter values is key in Slicer, it should be made easy for the user to select a value&lt;br /&gt;
** Suggestion: &lt;br /&gt;
*** ValueIsChanging: Currently a signal (valueChanged) is emitted any time the slider is moved or the spinbox value is changed, the widget should support a Tracking property to emit another kind of signal: valueIsChanging  ( similar to [http://doc.trolltech.com/4.6/qabstractslider.html#tracking-prop QAbstractSlider::tracking]). Doing so would decrease the number of valueChanged signals emitted (for time-consuming slots connected to the signal).&lt;br /&gt;
*** Min/Max: we should think about how the min/max is handled (some cases don't have min/max and others do).  We should also think about the resolution of the slider in the case when max-min is very large&lt;br /&gt;
*** Expert mode: we should have some good ways for expert users to quickly get to the numbers they want.  Something like Control-drag and Shift-drag on the slider changing the 'gain' with respect to the value changes.&lt;br /&gt;
*** Name: Perhaps qCTKValueSetter is clearer? Perhaps this can be a subclass that has more of this custom behavior.&lt;br /&gt;
* Templates for modules&lt;br /&gt;
** Issue: Guiding the developers to develop Qt modules&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency between all the Qt modules&lt;br /&gt;
** Suggestion: Templates for the Qt modules&lt;br /&gt;
* Style and naming conventions&lt;br /&gt;
** Issue: What indentation and variable/method naming to use in different classes &lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency and readability of code&lt;br /&gt;
** Suggestion: Follow convention of superclass [[Slicer3:Style|see Slicer3 style conventions]]&lt;br /&gt;
* Widget naming conventions&lt;br /&gt;
** Issue: How do we name custom widgets that we want developers to use for sake of consistency, application interface usability, etc? &lt;br /&gt;
** Reporter: wjp&lt;br /&gt;
** Motivation: Widgets like the multi-column list being developed in the Reporting Module should be made available to all developers -- the custom widget will contain options for 'select all', 'deselect all', 'delete selected', 'make all visible', 'make all invisible' (with accompanying logic), which can be exposed or hidden. What are we calling these classes, and how will we promote their use?&lt;br /&gt;
* General Coding issues&lt;br /&gt;
** Issues:&lt;br /&gt;
*** using private classes vs public&lt;br /&gt;
*** where initialization should happen&lt;br /&gt;
*** using separate slots for each parameter vs one slot&lt;br /&gt;
*** logic observing only parameter node&lt;br /&gt;
* UI Design issues&lt;br /&gt;
** Issue: Please organize the &amp;quot;Window/Level Presets&amp;quot; (drop the word editor) in analogy to the LUT's? CT, PET, MR, Misc. as the main categories and then the names with the little icons as a list.  &lt;br /&gt;
*** See also, [http://www.slicer.org/slicerWiki/images/a/ab/SlicerQT-2009-12-10.png Screenshot]&lt;br /&gt;
** Issue: Some modules have help tabs, but not acknowledgment tabs. Acknowledgements are extremely important, and we must both port them and and enable them forward looking.&lt;br /&gt;
*** [http://www.slicer.org/slicerWiki/index.php/Slicer4:QtPort/Gallery#Modules Modules screenshot]&lt;br /&gt;
&lt;br /&gt;
=Closed Issues=&lt;br /&gt;
* Module Logic&lt;br /&gt;
** Issue: Change qSlicerModuleLogic into vtkSlicerModuleLogic&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: A lot of slicer logics already exist, using qSlicerModuleLogic implies to wrap this logics. Why not directly use the vtkSlicerModuleLogic?&lt;br /&gt;
** Decision: Talked by email and over the phone during the Tuesday TCon (01/26/10). The suggestion has been accepted.&lt;br /&gt;
** Result: The change has been committed on 01/28/10 (r11850, r11852, r11853, r11854)&lt;br /&gt;
** Note: While new module logics must derive from vtkSlicerModuleLogic, logics deriving from vtkSlicerLogic are supported for backward compatibility reasons (the core module logics derive from vtkSlicerLogic).&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17671</id>
		<title>Slicer4:QtPort/OpenDiscussions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17671"/>
		<updated>2010-09-04T12:37:19Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Open Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer4:QtPort|QtPort]]&amp;amp;larr;&lt;br /&gt;
=Introduction=&lt;br /&gt;
This page gathers discussions about code architecture/implementation/design of the Slicer port to Qt. This page is mainly for developers as it concerns the internal/implementation part of Slicer, discussions about the interface design should be listed on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign#NEW.21:_QT_Interface_Design_Discussions UIDesign wiki page]. User feedbacks should be reported on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:Usability#Collecting_user_feedback Usability wiki page].&lt;br /&gt;
*Please add your ideas/comments/remarks/feedback/suggestions/problems/... below.&lt;br /&gt;
*Points will be discussed during regular TCon meetings , on the Slicer developer list and/or by email.&lt;br /&gt;
*Decisions resulting from discussions should be tracked into the [http://www.na-mic.org/Bug Mantis] under the category: &amp;lt;code&amp;gt;QtGUI&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=TODO=&lt;br /&gt;
*[[Slicer3:Developers:Projects:QtSlicer/StatusMeeting2010|Todo]]&lt;br /&gt;
&lt;br /&gt;
=Open Issues=&lt;br /&gt;
&lt;br /&gt;
* Usability of the slider widget&lt;br /&gt;
** Issue: The usability of the slider widget both in KWSlicer and QtSlicer may not provide sufficient flexibility.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: Both in the KW and Qt versions of Slicer, precise adjustment of the values with the slider widget is difficult. Often, it is only possible by manually entering the value, which is not very convenient. Also, see related discussion [http://public.kitware.com/pipermail/kwwidgets/2008-December/000828.html on kwwidgets mail list]. I checked the Qt version, and click on 'through' area increments by 1. In the context of Transform, 1 mm or 1 degree can bee too coarse granularity for some applications.&lt;br /&gt;
** Suggestion: Discuss whether the widget can be improved in the Qt version. Possible ideas:&lt;br /&gt;
*** Handle additional events (Ctrl-click/Shift-click in the 'through' area) and change the position by smaller increments?&lt;br /&gt;
*** Introduce additional ('advanced'?) field in the Transform module, which would allow to specify the increment granularity?&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* Flexible layouts&lt;br /&gt;
** Issue: Improve usability and capability of Slicer visualization views and view layouts.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: The current layout configuration is in some ways restricted by not allowing to set arbitrary configuration of slice view/3D view combinations. Additionally, the types of views are restricted to only 2 types (slice or 3D). &lt;br /&gt;
** Suggestion: Evaluate the applicability of the flexible layout framework used in Paraview for adoption in QtSlicer (see the screenshot attached). The nice features observed in Paraview layout framework, which in my opinion are highly applicable to Slicer are:&lt;br /&gt;
*** any view can be split vertically or horizontally with just a click of a button in the corner of the view -- very flexible&lt;br /&gt;
*** once the view is split, user is given a choice, which view should be created -- simple and intuitive&lt;br /&gt;
*** very cool view types that can be created: bar chart, plot, spreadsheet! Bar chart and plot features have been previously requested by Slicer users. Of course, introduction of new types will require re-thinking of the architecture.&lt;br /&gt;
*** let any view to do be undocked from the main Slicer screen, to allow display on a secondary monitor (needed for interventional applicaitons, more info: Andras Lasso)&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** Please see [http://wiki.slicer.org/slicerWiki/index.php?title=Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP2 related design.]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[Image:Paraview_layouts_example.jpg|thumb|300px|Screenshot showing some of the capabilities of the flexible layouts in Paraview GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Have 2 Modules open at the same time &lt;br /&gt;
** Motivation: It would be good for the Reporting module if we could access the module as well as the volume module to change how the image displayed in the image while annotating the image at the same time&lt;br /&gt;
** Suggestion: Create a pop up window which can host any module. Maybe even better: enable undocking (display in a floating, top-level window) any module GUI window.&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** See design sketch for [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP3 tabbed UI panels] that display multiple modules or layouts.&lt;br /&gt;
&lt;br /&gt;
* Widget to automatically set values&lt;br /&gt;
** Issue: Add more features to qCTKSliderSpinBoxWidget for a user-friendly way of setting values to parameters  &lt;br /&gt;
** Reporter: Steve Pieper&lt;br /&gt;
** Motivation: Setting parameter values is key in Slicer, it should be made easy for the user to select a value&lt;br /&gt;
** Suggestion: &lt;br /&gt;
*** ValueIsChanging: Currently a signal (valueChanged) is emitted any time the slider is moved or the spinbox value is changed, the widget should support a Tracking property to emit another kind of signal: valueIsChanging  ( similar to [http://doc.trolltech.com/4.6/qabstractslider.html#tracking-prop QAbstractSlider::tracking]). Doing so would decrease the number of valueChanged signals emitted (for time-consuming slots connected to the signal).&lt;br /&gt;
*** Min/Max: we should think about how the min/max is handled (some cases don't have min/max and others do).  We should also think about the resolution of the slider in the case when max-min is very large&lt;br /&gt;
*** Expert mode: we should have some good ways for expert users to quickly get to the numbers they want.  Something like Control-drag and Shift-drag on the slider changing the 'gain' with respect to the value changes.&lt;br /&gt;
*** Name: Perhaps qCTKValueSetter is clearer? Perhaps this can be a subclass that has more of this custom behavior.&lt;br /&gt;
* Templates for modules&lt;br /&gt;
** Issue: Guiding the developers to develop Qt modules&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency between all the Qt modules&lt;br /&gt;
** Suggestion: Templates for the Qt modules&lt;br /&gt;
* Style and naming conventions&lt;br /&gt;
** Issue: What indentation and variable/method naming to use in different classes &lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency and readability of code&lt;br /&gt;
** Suggestion: Follow convention of superclass [[Slicer3:Style|see Slicer3 style conventions]]&lt;br /&gt;
* Widget naming conventions&lt;br /&gt;
** Issue: How do we name custom widgets that we want developers to use for sake of consistency, application interface usability, etc? &lt;br /&gt;
** Reporter: wjp&lt;br /&gt;
** Motivation: Widgets like the multi-column list being developed in the Reporting Module should be made available to all developers -- the custom widget will contain options for 'select all', 'deselect all', 'delete selected', 'make all visible', 'make all invisible' (with accompanying logic), which can be exposed or hidden. What are we calling these classes, and how will we promote their use?&lt;br /&gt;
* General Coding issues&lt;br /&gt;
** Issues:&lt;br /&gt;
*** using private classes vs public&lt;br /&gt;
*** where initialization should happen&lt;br /&gt;
*** using separate slots for each parameter vs one slot&lt;br /&gt;
*** logic observing only parameter node&lt;br /&gt;
* UI Design issues&lt;br /&gt;
** Issue: Please organize the &amp;quot;Window/Level Presets&amp;quot; (drop the word editor) in analogy to the LUT's? CT, PET, MR, Misc. as the main categories and then the names with the little icons as a list.  &lt;br /&gt;
*** See also, [http://www.slicer.org/slicerWiki/images/a/ab/SlicerQT-2009-12-10.png Screenshot]&lt;br /&gt;
&lt;br /&gt;
=Closed Issues=&lt;br /&gt;
* Module Logic&lt;br /&gt;
** Issue: Change qSlicerModuleLogic into vtkSlicerModuleLogic&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: A lot of slicer logics already exist, using qSlicerModuleLogic implies to wrap this logics. Why not directly use the vtkSlicerModuleLogic?&lt;br /&gt;
** Decision: Talked by email and over the phone during the Tuesday TCon (01/26/10). The suggestion has been accepted.&lt;br /&gt;
** Result: The change has been committed on 01/28/10 (r11850, r11852, r11853, r11854)&lt;br /&gt;
** Note: While new module logics must derive from vtkSlicerModuleLogic, logics deriving from vtkSlicerLogic are supported for backward compatibility reasons (the core module logics derive from vtkSlicerLogic).&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17670</id>
		<title>Slicer4:QtPort/OpenDiscussions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/OpenDiscussions&amp;diff=17670"/>
		<updated>2010-09-04T12:36:28Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Open Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Slicer4:QtPort|QtPort]]&amp;amp;larr;&lt;br /&gt;
=Introduction=&lt;br /&gt;
This page gathers discussions about code architecture/implementation/design of the Slicer port to Qt. This page is mainly for developers as it concerns the internal/implementation part of Slicer, discussions about the interface design should be listed on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign#NEW.21:_QT_Interface_Design_Discussions UIDesign wiki page]. User feedbacks should be reported on the [http://www.slicer.org/slicerWiki/index.php/Slicer3:Usability#Collecting_user_feedback Usability wiki page].&lt;br /&gt;
*Please add your ideas/comments/remarks/feedback/suggestions/problems/... below.&lt;br /&gt;
*Points will be discussed during regular TCon meetings , on the Slicer developer list and/or by email.&lt;br /&gt;
*Decisions resulting from discussions should be tracked into the [http://www.na-mic.org/Bug Mantis] under the category: &amp;lt;code&amp;gt;QtGUI&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=TODO=&lt;br /&gt;
*[[Slicer3:Developers:Projects:QtSlicer/StatusMeeting2010|Todo]]&lt;br /&gt;
&lt;br /&gt;
=Open Issues=&lt;br /&gt;
&lt;br /&gt;
* Usability of the slider widget&lt;br /&gt;
** Issue: The usability of the slider widget both in KWSlicer and QtSlicer may not provide sufficient flexibility.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: Both in the KW and Qt versions of Slicer, precise adjustment of the values with the slider widget is difficult. Often, it is only possible by manually entering the value, which is not very convenient. Also, see related discussion [http://public.kitware.com/pipermail/kwwidgets/2008-December/000828.html on kwwidgets mail list]. I checked the Qt version, and click on 'through' area increments by 1. In the context of Transform, 1 mm or 1 degree can bee too coarse granularity for some applications.&lt;br /&gt;
** Suggestion: Discuss whether the widget can be improved in the Qt version. Possible ideas:&lt;br /&gt;
*** Handle additional events (Ctrl-click/Shift-click in the 'through' area) and change the position by smaller increments?&lt;br /&gt;
*** Introduce additional ('advanced'?) field in the Transform module, which would allow to specify the increment granularity?&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* Flexible layouts&lt;br /&gt;
** Issue: Improve usability and capability of Slicer visualization views and view layouts.&lt;br /&gt;
** Reporter: Andrey Fedorov&lt;br /&gt;
** Motivation: The current layout configuration is in some ways restricted by not allowing to set arbitrary configuration of slice view/3D view combinations. Additionally, the types of views are restricted to only 2 types (slice or 3D). &lt;br /&gt;
** Suggestion: Evaluate the applicability of the flexible layout framework used in Paraview for adoption in QtSlicer (see the screenshot attached). The nice features observed in Paraview layout framework, which in my opinion are highly applicable to Slicer are:&lt;br /&gt;
*** any view can be split vertically or horizontally with just a click of a button in the corner of the view -- very flexible&lt;br /&gt;
*** once the view is split, user is given a choice, which view should be created -- simple and intuitive&lt;br /&gt;
*** very cool view types that can be created: bar chart, plot, spreadsheet! Bar chart and plot features have been previously requested by Slicer users. Of course, introduction of new types will require re-thinking of the architecture.&lt;br /&gt;
*** let any view to do be undocked from the main Slicer screen, to allow display on a secondary monitor (needed for interventional applicaitons, more info: Andras Lasso)&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** Please see [http://wiki.slicer.org/slicerWiki/index.php?title=Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP2 related design.]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[Image:Paraview_layouts_example.jpg|thumb|300px|Screenshot showing some of the capabilities of the flexible layouts in Paraview GUI]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Have 2 Modules open at the same time &lt;br /&gt;
** Motivation: It would be good for the Reporting module if we could access the module as well as the volume module to change how the image displayed in the image while annotating the image at the same time&lt;br /&gt;
** Suggestion: Create a pop up window which can host any module. Maybe even better: enable undocking (display in a floating, top-level window) any module GUI window.&lt;br /&gt;
** Decision: TBD&lt;br /&gt;
** Result: TBD&lt;br /&gt;
** Note: TBD&lt;br /&gt;
** See design sketch for [http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign:WorkingProblems:SlicerFlexibleLayout:UXP3 tabbed UI panels] that display multiple modules or layouts.&lt;br /&gt;
&lt;br /&gt;
* Widget to automatically set values&lt;br /&gt;
** Issue: Add more features to qCTKSliderSpinBoxWidget for a user-friendly way of setting values to parameters  &lt;br /&gt;
** Reporter: Steve Pieper&lt;br /&gt;
** Motivation: Setting parameter values is key in Slicer, it should be made easy for the user to select a value&lt;br /&gt;
** Suggestion: &lt;br /&gt;
*** ValueIsChanging: Currently a signal (valueChanged) is emitted any time the slider is moved or the spinbox value is changed, the widget should support a Tracking property to emit another kind of signal: valueIsChanging  ( similar to [http://doc.trolltech.com/4.6/qabstractslider.html#tracking-prop QAbstractSlider::tracking]). Doing so would decrease the number of valueChanged signals emitted (for time-consuming slots connected to the signal).&lt;br /&gt;
*** Min/Max: we should think about how the min/max is handled (some cases don't have min/max and others do).  We should also think about the resolution of the slider in the case when max-min is very large&lt;br /&gt;
*** Expert mode: we should have some good ways for expert users to quickly get to the numbers they want.  Something like Control-drag and Shift-drag on the slider changing the 'gain' with respect to the value changes.&lt;br /&gt;
*** Name: Perhaps qCTKValueSetter is clearer? Perhaps this can be a subclass that has more of this custom behavior.&lt;br /&gt;
* Templates for modules&lt;br /&gt;
** Issue: Guiding the developers to develop Qt modules&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency between all the Qt modules&lt;br /&gt;
** Suggestion: Templates for the Qt modules&lt;br /&gt;
* Style and naming conventions&lt;br /&gt;
** Issue: What indentation and variable/method naming to use in different classes &lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: Consistency and readability of code&lt;br /&gt;
** Suggestion: Follow convention of superclass [[Slicer3:Style|see Slicer3 style conventions]]&lt;br /&gt;
* Widget naming conventions&lt;br /&gt;
** Issue: How do we name custom widgets that we want developers to use for sake of consistency, application interface usability, etc? &lt;br /&gt;
** Reporter: wjp&lt;br /&gt;
** Motivation: Widgets like the multi-column list being developed in the Reporting Module should be made available to all developers -- the custom widget will contain options for 'select all', 'deselect all', 'delete selected', 'make all visible', 'make all invisible' (with accompanying logic), which can be exposed or hidden. What are we calling these classes, and how will we promote their use?&lt;br /&gt;
* General Coding issues&lt;br /&gt;
** Issues:&lt;br /&gt;
*** using private classes vs public&lt;br /&gt;
*** where initialization should happen&lt;br /&gt;
*** using separate slots for each parameter vs one slot&lt;br /&gt;
*** logic observing only parameter node&lt;br /&gt;
* UI Design issues&lt;br /&gt;
** Issue: Please organize the &amp;quot;Window/Level Presets&amp;quot; (drop the word editor) in analogy to the LUT's? CT, PET, MR, Misc. as the main categories and then the names with the little icons as a list.  &lt;br /&gt;
*** See also, http://www.slicer.org/slicerWiki/images/a/ab/SlicerQT-2009-12-10.png&lt;br /&gt;
&lt;br /&gt;
=Closed Issues=&lt;br /&gt;
* Module Logic&lt;br /&gt;
** Issue: Change qSlicerModuleLogic into vtkSlicerModuleLogic&lt;br /&gt;
** Reporter: Alexander Yarmarkovich&lt;br /&gt;
** Motivation: A lot of slicer logics already exist, using qSlicerModuleLogic implies to wrap this logics. Why not directly use the vtkSlicerModuleLogic?&lt;br /&gt;
** Decision: Talked by email and over the phone during the Tuesday TCon (01/26/10). The suggestion has been accepted.&lt;br /&gt;
** Result: The change has been committed on 01/28/10 (r11850, r11852, r11853, r11854)&lt;br /&gt;
** Note: While new module logics must derive from vtkSlicerModuleLogic, logics deriving from vtkSlicerLogic are supported for backward compatibility reasons (the core module logics derive from vtkSlicerLogic).&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Announcements:Slicer3.6&amp;diff=15157</id>
		<title>Announcements:Slicer3.6</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Announcements:Slicer3.6&amp;diff=15157"/>
		<updated>2010-05-02T19:24:38Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Highlights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
 [[Documentation-3.6|Back to Documentation 3.6]]&lt;br /&gt;
&lt;br /&gt;
=Introduction= &lt;br /&gt;
&lt;br /&gt;
The [[Announcments-3.6-Team|community]] of Slicer developers is proud to announce the release of '''Slicer 3.6'''.&lt;br /&gt;
&lt;br /&gt;
*Click here to [http://www.slicer.org/pages/Downloads download] different versions of Slicer3 and find pointers to the source code, mailing lists and bug tracker. *Please note that Slicer continues to be a research package and is not intended for clinical use. Testing of functionality is an ongoing activity with high priority, however, some features of Slicer3 are not fully tested.&lt;br /&gt;
*The [[Training|Slicer Training page]] provides a series of courses for learning how to use Slicer3. The portfolio contains self-guided presentation and sample data sets &lt;br /&gt;
&lt;br /&gt;
The main [http://www.slicer.org slicer.org] pages provide a guided tour to the application, training materials, and the development community.  New users should start there because we try to keep the pages organized and up to date.&lt;br /&gt;
&lt;br /&gt;
==Highlights==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Slicer v3.6 - New and Improved Feature Highlights&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Editor3.6-interface.png|The [[Modules:Editor-Documentation-3.6|Interactive Editor]] can be used to create and edit label maps for quantitative analysis and surface model generation&lt;br /&gt;
Image:VolumeRenderingICPE.png| [[Modules:VolumeRendering-Documentation-3.6|Volume Rendering]] (Julien Finet, Lisa Avila)&lt;br /&gt;
Image:Endoscopy-slicer3.6.png| [[Modules:Endoscopy-Documentation-3.6|Virtual Endoscopy]] (Steve Pieper)&lt;br /&gt;
Image:Slicer-ColorGUI-3.6.jpg| [[Modules:Colors-Documentation-3.6|Colors]] (Nicole Aucoin)&lt;br /&gt;
Image:FourDImage Screenshot1.png| [[Modules:FourDImage-Documentation-3.6|4D Image Viewer]] (Junichi Tokuda)&lt;br /&gt;
Image:Fastmarching-result-adjusted.jpg| [[Modules:FastMarchingSegmentation-Documentation-3.6|Fast Marching segmentation]] (Andriy Fedorov)&lt;br /&gt;
Image:Tumor conv 3.png| [[Modules:MeshContourSegmentation-Documentation-3.6|Mesh Contour Segmentation]] (Peter Karasev)&lt;br /&gt;
Image:ExtractSubvolume3.png| [[Modules:CropVolume-Documentation-3.6|Crop Volume]] (Andriy Fedorov)&lt;br /&gt;
Image:Slicer3.6MeasurementsRulersModel.jpg| [[Modules:Measurements-Documentation-3.6 |Measurements (rulers and angles)]] (Nicole Aucoin)&lt;br /&gt;
Image:Fiducial registration before.jpg| [[Modules:RegisterImagesMultiRes-Documentation-3.6|Affine registration]] (Casey Goodlett)&lt;br /&gt;
Image:| [[Modules:CollectFiducials-Documentation-3.6 |Collect Patient Fiducials]] (Andrew Wiles)&lt;br /&gt;
Image:| [[Modules:IGTToolSelector-Documentation-3.6 |IGT Tool Selector]] (Andrew Wiles)&lt;br /&gt;
Image:SlicerFiducialsGlyphs-3.4.jpg| [[Modules:Fiducials-Documentation-3.6|Fiducials]] (Nicole Aucoin)&lt;br /&gt;
Image:PETCTFusion.png| [[Modules:PETCTFusion-Documentation-3.6 |PETCTFusion]] (Wendy Plesniak)&lt;br /&gt;
Image:MRI_Bias_Field_Correction_Slicer3_close_up.png|[[Modules:MRIBiasFieldCorrection-Documentation-3.6|MRIBiasFieldCorrection]] correction of MRI intensity inhomogeneity i.e. bias field (Sylvain Jaume)&lt;br /&gt;
Image:N4 prostate bias ax.png| [[Modules:N4ITKBiasFieldCorrection-Documentation-3.6|N4 Bias Field Correction]] (Andriy Fedorov)&lt;br /&gt;
Image:RSSkidneyL.png| [[Modules:RobustStatisticsSeg-Documentation-3.6|Robust Statistical Segmentation]] (Yi Gao)&lt;br /&gt;
Image:ModelTransform.PNG| [[Modules:ModelTransform-Documentation-3.6|Model Transform]] (Alex Yarmarkovich)&lt;br /&gt;
Image:BrainWebImageTransformed.jpg| [[Modules:ResampleScalarVectorDWIVolume-Documentation-3.6|Resample Scalar/Vector/DWI Volume]] (Francois Budin)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=15156</id>
		<title>Announcments-3.6-Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=15156"/>
		<updated>2010-05-02T19:23:24Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to the [[Announcements:Slicer3.6|Slicer 3.6 announcement]]&lt;br /&gt;
&lt;br /&gt;
Development of Slicer 3.6 has been supported through volunteer work and through a number of funding mechanisms and sources. Please see the [http://www.slicer.org/pages/Acknowledgments Slicer Acknowledgements] page.&lt;br /&gt;
&lt;br /&gt;
Major contributors for the Slicer 3.6 release include (in alphabetic order):&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/nicole Nicole Aucoin]: Software development, Fiducials, Informatics&lt;br /&gt;
* [http://kitware.com/company/team/aylward.html Stephen Aylward]: Registration, ITK&lt;br /&gt;
* [http://www.kitware.com/company/team/barre.html Sébastien Barré]: GUI, KWWidgets&lt;br /&gt;
* [http://kitware.com/company/team/finet.html Julien Finet]: Volume rendering&lt;br /&gt;
* [http://kitware.com/company/team/galbreath.html Zack Galbreath]: CDash, Wiki, Sys Admin&lt;br /&gt;
* [http://www.spl.harvard.edu/~hayes Kathryn Hayes]: Release engineering, software development, quality assurance&lt;br /&gt;
* [http://kitware.com/company/team/ibanez.html Luis Ibanez]: Registration, Segmentation, ITK&lt;br /&gt;
* [http://kitware.com/company/team/jomier.html Julien Jomier]: MIDAS&lt;br /&gt;
* [http://www.spl.harvard.edu/~kikinis Ron Kikinis]: Principal Investigator, Testing&lt;br /&gt;
* [http://wiki.na-mic.org/Wiki/index.php/User:Millerjv Jim Miller]: CLI, Registration, Lightbox&lt;br /&gt;
* [http://kitware.com/company/team/partyka.html Dave Partyka]: Cross-platform build and installation, CDash&lt;br /&gt;
* [http://www.spl.harvard.edu/~pieper Steve Pieper]: Chief architect, editor&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/wjp Wendy Plesniak]: GUI, Informatics&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~spujol/ Sonia Pujol]: Workshops, Tutorials, Testing&lt;br /&gt;
* [http://kitware.com/company/team/schroeder.html Will Schroeder]: VTK, 3D widgets&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~westin Carl-Fredrik Westin]: Diffusion MRI overview&lt;br /&gt;
* [http://www.spl.harvard.edu/~alexy Alex Yarmarkovich]: MRML, DTI modules, software development&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=15154</id>
		<title>Announcments-3.6-Team</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Announcments-3.6-Team&amp;diff=15154"/>
		<updated>2010-05-02T19:16:34Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to the [[Announcements:Slicer3.6|Slicer 3.6 announcement]]&lt;br /&gt;
&lt;br /&gt;
Development of Slicer 3.6 has been supported through volunteer work and through a number of funding mechanisms and sources. Please see the [http://www.slicer.org/pages/Acknowledgments Slicer Acknowledgements] page.&lt;br /&gt;
&lt;br /&gt;
Major contributors for the Slicer 3.6 release include (in alphabetic order):&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/nicole Nicole Aucoin]: Software development, Fiducials, Informatics&lt;br /&gt;
* [http://kitware.com/company/team/aylward.html Stephen Aylward]: Registration, IGSTK, ITK&lt;br /&gt;
* [http://www.kitware.com/company/team/barre.html Sébastien Barré]: GUI, KWWidgets, cross-platform build and installation process&lt;br /&gt;
* [http://kitware.com/company/team/finet.html Julien Finet]: Volume rendering&lt;br /&gt;
* [http://kitware.com/company/team/galbreath.html Zack Galbreath]: CDash&lt;br /&gt;
* [http://www.spl.harvard.edu/~hayes Kathryn Hayes]: Release engineering, software development, quality assurance&lt;br /&gt;
* [http://kitware.com/company/team/ibanez.html Luis Ibanez]: Registration, Segmentation, ITK&lt;br /&gt;
* [http://kitware.com/company/team/jomier.html Julien Jomier]: CDash, BatchMake&lt;br /&gt;
* [http://www.spl.harvard.edu/~kikinis Ron Kikinis]: Principal Investigator, Testing&lt;br /&gt;
* [http://wiki.na-mic.org/Wiki/index.php/User:Millerjv Jim Miller]: CLI, Registration, Lightbox&lt;br /&gt;
* [http://www.spl.harvard.edu/~pieper Steve Pieper]: Chief architect, editor&lt;br /&gt;
* [http://www.spl.harvard.edu/pages/People/wjp Wendy Plesniak]: GUI, Informatics&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~spujol/ Sonia Pujol]: Workshops, Tutorials, Testing&lt;br /&gt;
* [http://kitware.com/company/team/schroeder.html Will Schroeder]: VTK, 3D widgets&lt;br /&gt;
* [http://lmi.bwh.harvard.edu/~westin Carl-Fredrik Westin]: Diffusion MRI overview&lt;br /&gt;
* [http://www.spl.harvard.edu/~alexy Alex Yarmarkovich]: MRML, DTI modules, software development&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12046</id>
		<title>Slicer3:Batchmake Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12046"/>
		<updated>2010-01-25T20:04:05Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Completed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Goals === &lt;br /&gt;
&lt;br /&gt;
* Enable Slicer3 execution modules to process multiple datasets with minimal user interactions (&amp;quot;batch processing&amp;quot;)&lt;br /&gt;
* Enable the exploration of the parameter spaces of Slicer3 execution modules (&amp;quot;parameter space evaluations&amp;quot;)&lt;br /&gt;
* Support using local computer resources or local GRID resources for batch process and parameter space evaluations.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
* BatchMake integration with Slicer3 is complete.&lt;br /&gt;
* Real-world applications (EMSegmenter) are using BatchMake from within Slicer.&lt;br /&gt;
* Examples are given on how to use BatchMake with your Slicer3 Execution Modules (GaussianBlur example).&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.batchmake.org BatchMake] provides an open-source toolkit for launching a controlled sequence of applications on the local computer or a GRID.&lt;br /&gt;
* [http://www.cs.wisc.edu/condor Condor] is used as the open-source toolkit that provides access to GRID resource.  It also provides an easy-to-install and easy-to-configure GRID implementation/network.   We highly recommend it for your GRID needs.&lt;br /&gt;
* BatchMake and Condor work together to sequence tasks and to allocate and monitor resources and job progress.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
=== Completed ===&lt;br /&gt;
# BatchMake Library&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 code location: Slicer3-lib/BatchMake&lt;br /&gt;
#* Default distribution does not include Condor&lt;br /&gt;
#** Can be installed by users&lt;br /&gt;
#** Changing two BatchMake variables will configure BatchMake to use Condor&lt;br /&gt;
# EMSegmenter BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/EMSegmenter BatchMake Module&lt;br /&gt;
#** Slicer3 code location: Slicer3/Applications/CLI/BatchMake&lt;br /&gt;
#* Applies EMSegmenter algorithm to a collection of data using local computer or GRID&lt;br /&gt;
# GaussianBlur BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module&lt;br /&gt;
#* Provides a simple example of how to batchmake-ify your Slicer3 modules&lt;br /&gt;
# Registration BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/Registration BatchMake Module&lt;br /&gt;
#** Supports parameters space exploration to optimize registration&lt;br /&gt;
#** Supports batch registration of multiple files (e.g., registration of multiple patients with an atlas).&lt;br /&gt;
&lt;br /&gt;
=== To do ===&lt;br /&gt;
* Provide documentation&lt;br /&gt;
* Determine how to integrate BatchMake with Slicer's new focus on iPython for distributed computing&lt;br /&gt;
* Consider general (no programming required) solution to using BatchMake/iPython with other Slicer modules&lt;br /&gt;
** User browses to execution modules and specifies where wildcards should be substituted into command line&lt;br /&gt;
* Port lesson's learned to the iPython development effort&lt;br /&gt;
** e.g., leave-one-out looping mechanism, taguchi factor analysis, etc.&lt;br /&gt;
&lt;br /&gt;
=== Related links ===&lt;br /&gt;
&lt;br /&gt;
* [[Slicer3:Python | Python in Slicer]]&lt;br /&gt;
* [[Slicer3:Python:ipython | iPython in Slicer]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Modules:PythonNumpyScript-Documentation-3.4 Numpy in Slicer]&lt;br /&gt;
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12045</id>
		<title>Slicer3:Batchmake Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12045"/>
		<updated>2010-01-25T20:02:06Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Related links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Goals === &lt;br /&gt;
&lt;br /&gt;
* Enable Slicer3 execution modules to process multiple datasets with minimal user interactions (&amp;quot;batch processing&amp;quot;)&lt;br /&gt;
* Enable the exploration of the parameter spaces of Slicer3 execution modules (&amp;quot;parameter space evaluations&amp;quot;)&lt;br /&gt;
* Support using local computer resources or local GRID resources for batch process and parameter space evaluations.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
* BatchMake integration with Slicer3 is complete.&lt;br /&gt;
* Real-world applications (EMSegmenter) are using BatchMake from within Slicer.&lt;br /&gt;
* Examples are given on how to use BatchMake with your Slicer3 Execution Modules (GaussianBlur example).&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.batchmake.org BatchMake] provides an open-source toolkit for launching a controlled sequence of applications on the local computer or a GRID.&lt;br /&gt;
* [http://www.cs.wisc.edu/condor Condor] is used as the open-source toolkit that provides access to GRID resource.  It also provides an easy-to-install and easy-to-configure GRID implementation/network.   We highly recommend it for your GRID needs.&lt;br /&gt;
* BatchMake and Condor work together to sequence tasks and to allocate and monitor resources and job progress.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
=== Completed ===&lt;br /&gt;
# BatchMake Library&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 code location: Slicer3-lib/BatchMake&lt;br /&gt;
#* Default distribution does not include Condor&lt;br /&gt;
#** Can be installed by users&lt;br /&gt;
#** Changing two BatchMake variables will configure BatchMake to use Condor&lt;br /&gt;
# EMSegmenter BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/EMSegmenter BatchMake Module&lt;br /&gt;
#** Slicer3 code location: Slicer3/Applications/CLI/BatchMake&lt;br /&gt;
#* Applies EMSegmenter algorithm to a collection of data using local computer or GRID&lt;br /&gt;
# GaussianBlur BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module&lt;br /&gt;
#* Provides a simple example of how to batchmake-ify your Slicer3 modules&lt;br /&gt;
&lt;br /&gt;
=== To do ===&lt;br /&gt;
* Provide documentation&lt;br /&gt;
* Determine how to integrate BatchMake with Slicer's new focus on iPython for distributed computing&lt;br /&gt;
* Consider general (no programming required) solution to using BatchMake/iPython with other Slicer modules&lt;br /&gt;
** User browses to execution modules and specifies where wildcards should be substituted into command line&lt;br /&gt;
* Port lesson's learned to the iPython development effort&lt;br /&gt;
** e.g., leave-one-out looping mechanism, taguchi factor analysis, etc.&lt;br /&gt;
&lt;br /&gt;
=== Related links ===&lt;br /&gt;
&lt;br /&gt;
* [[Slicer3:Python | Python in Slicer]]&lt;br /&gt;
* [[Slicer3:Python:ipython | iPython in Slicer]]&lt;br /&gt;
* [http://www.slicer.org/slicerWiki/index.php/Modules:PythonNumpyScript-Documentation-3.4 Numpy in Slicer]&lt;br /&gt;
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12044</id>
		<title>Slicer3:Batchmake Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12044"/>
		<updated>2010-01-25T20:00:27Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Related links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Goals === &lt;br /&gt;
&lt;br /&gt;
* Enable Slicer3 execution modules to process multiple datasets with minimal user interactions (&amp;quot;batch processing&amp;quot;)&lt;br /&gt;
* Enable the exploration of the parameter spaces of Slicer3 execution modules (&amp;quot;parameter space evaluations&amp;quot;)&lt;br /&gt;
* Support using local computer resources or local GRID resources for batch process and parameter space evaluations.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
* BatchMake integration with Slicer3 is complete.&lt;br /&gt;
* Real-world applications (EMSegmenter) are using BatchMake from within Slicer.&lt;br /&gt;
* Examples are given on how to use BatchMake with your Slicer3 Execution Modules (GaussianBlur example).&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.batchmake.org BatchMake] provides an open-source toolkit for launching a controlled sequence of applications on the local computer or a GRID.&lt;br /&gt;
* [http://www.cs.wisc.edu/condor Condor] is used as the open-source toolkit that provides access to GRID resource.  It also provides an easy-to-install and easy-to-configure GRID implementation/network.   We highly recommend it for your GRID needs.&lt;br /&gt;
* BatchMake and Condor work together to sequence tasks and to allocate and monitor resources and job progress.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
=== Completed ===&lt;br /&gt;
# BatchMake Library&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 code location: Slicer3-lib/BatchMake&lt;br /&gt;
#* Default distribution does not include Condor&lt;br /&gt;
#** Can be installed by users&lt;br /&gt;
#** Changing two BatchMake variables will configure BatchMake to use Condor&lt;br /&gt;
# EMSegmenter BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/EMSegmenter BatchMake Module&lt;br /&gt;
#** Slicer3 code location: Slicer3/Applications/CLI/BatchMake&lt;br /&gt;
#* Applies EMSegmenter algorithm to a collection of data using local computer or GRID&lt;br /&gt;
# GaussianBlur BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module&lt;br /&gt;
#* Provides a simple example of how to batchmake-ify your Slicer3 modules&lt;br /&gt;
&lt;br /&gt;
=== To do ===&lt;br /&gt;
* Provide documentation&lt;br /&gt;
* Determine how to integrate BatchMake with Slicer's new focus on iPython for distributed computing&lt;br /&gt;
* Consider general (no programming required) solution to using BatchMake/iPython with other Slicer modules&lt;br /&gt;
** User browses to execution modules and specifies where wildcards should be substituted into command line&lt;br /&gt;
* Port lesson's learned to the iPython development effort&lt;br /&gt;
** e.g., leave-one-out looping mechanism, taguchi factor analysis, etc.&lt;br /&gt;
&lt;br /&gt;
=== Related links ===&lt;br /&gt;
&lt;br /&gt;
* [[Slicer3:Python:ipython | iPython]]&lt;br /&gt;
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12043</id>
		<title>Slicer3:Batchmake Integration</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Batchmake_Integration&amp;diff=12043"/>
		<updated>2010-01-25T19:59:29Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* To do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Goals === &lt;br /&gt;
&lt;br /&gt;
* Enable Slicer3 execution modules to process multiple datasets with minimal user interactions (&amp;quot;batch processing&amp;quot;)&lt;br /&gt;
* Enable the exploration of the parameter spaces of Slicer3 execution modules (&amp;quot;parameter space evaluations&amp;quot;)&lt;br /&gt;
* Support using local computer resources or local GRID resources for batch process and parameter space evaluations.&lt;br /&gt;
&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
* BatchMake integration with Slicer3 is complete.&lt;br /&gt;
* Real-world applications (EMSegmenter) are using BatchMake from within Slicer.&lt;br /&gt;
* Examples are given on how to use BatchMake with your Slicer3 Execution Modules (GaussianBlur example).&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.batchmake.org BatchMake] provides an open-source toolkit for launching a controlled sequence of applications on the local computer or a GRID.&lt;br /&gt;
* [http://www.cs.wisc.edu/condor Condor] is used as the open-source toolkit that provides access to GRID resource.  It also provides an easy-to-install and easy-to-configure GRID implementation/network.   We highly recommend it for your GRID needs.&lt;br /&gt;
* BatchMake and Condor work together to sequence tasks and to allocate and monitor resources and job progress.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
=== Completed ===&lt;br /&gt;
# BatchMake Library&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 code location: Slicer3-lib/BatchMake&lt;br /&gt;
#* Default distribution does not include Condor&lt;br /&gt;
#** Can be installed by users&lt;br /&gt;
#** Changing two BatchMake variables will configure BatchMake to use Condor&lt;br /&gt;
# EMSegmenter BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/EMSegmenter BatchMake Module&lt;br /&gt;
#** Slicer3 code location: Slicer3/Applications/CLI/BatchMake&lt;br /&gt;
#* Applies EMSegmenter algorithm to a collection of data using local computer or GRID&lt;br /&gt;
# GaussianBlur BatchMake module&lt;br /&gt;
#* Distributed via Slicer3's getbuildtest2.tcl script&lt;br /&gt;
#** Slicer3 GUI Access: Filters/BatchProcessing/GaussianBlur BatchMake Module&lt;br /&gt;
#* Provides a simple example of how to batchmake-ify your Slicer3 modules&lt;br /&gt;
&lt;br /&gt;
=== To do ===&lt;br /&gt;
* Provide documentation&lt;br /&gt;
* Determine how to integrate BatchMake with Slicer's new focus on iPython for distributed computing&lt;br /&gt;
* Consider general (no programming required) solution to using BatchMake/iPython with other Slicer modules&lt;br /&gt;
** User browses to execution modules and specifies where wildcards should be substituted into command line&lt;br /&gt;
* Port lesson's learned to the iPython development effort&lt;br /&gt;
** e.g., leave-one-out looping mechanism, taguchi factor analysis, etc.&lt;br /&gt;
&lt;br /&gt;
=== Related links ===&lt;br /&gt;
&lt;br /&gt;
* [[Slicer3:Large_scale_experiment_control_brainstorming| Large scale experiment control brainstorming]]&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Modules:RegisterImages-Documentation-3.4&amp;diff=8583</id>
		<title>Modules:RegisterImages-Documentation-3.4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Modules:RegisterImages-Documentation-3.4&amp;diff=8583"/>
		<updated>2009-03-17T13:23:53Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Known bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation-3.4|Return to Slicer 3.4 Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Register Images===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:RegisterImagesOverview.png|thumb|280px|Before &amp;lt;br&amp;gt; Two [[Modules:Color-Documentation-3.4#Module_Description|LUTs]] are used to display the two volumes]]&lt;br /&gt;
|[[Image:RegisterImageRunning.png|thumb|280px|During &amp;lt;br&amp;gt; Note that both cores run at full capacity]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:B-spline-reg.png|thumb|280px|After &amp;lt;br&amp;gt; Fixed data set with red, moving with blue LUT.]]&lt;br /&gt;
|[[Image:B-spline-reg-detail.png|thumb|280px|After &amp;lt;br&amp;gt; Moving versus Resampled &amp;lt;br&amp;gt; Demonstration of the extent of deformation&amp;lt;br&amp;gt;grid spacing = 60 pixels, 4 core machine, &amp;lt;br&amp;gt;9GB memory footprint, roughly 1.5 hours&amp;lt;br&amp;gt;volume=512x512x472]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI Module calling ITK functions&lt;br /&gt;
&lt;br /&gt;
Category: Registration&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author1: Stephen Aylward, Kitware&lt;br /&gt;
* Contributor1: Ron Kikinis (copying documentation)&lt;br /&gt;
* Contact: name, email&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
This Module is an integrated framework providing access to ITK registration technologies. Algorithms can be run in single mode or pipelined. Depending on the size of the data sets, a significant amount of memory is needed. There is an option to trade off speed for memory. Most of the code is parallelized and will take advantage of multicore capabilities, if available.&lt;br /&gt;
&lt;br /&gt;
==== Major Features ====&lt;br /&gt;
&lt;br /&gt;
The major features of the module include:&lt;br /&gt;
* Default parameters register many full-head and skull-stripped MRI: rigid, affine, and BSpline&lt;br /&gt;
* Offers a complete, pipeline-based registration solution&lt;br /&gt;
** Load and apply existing transforms&lt;br /&gt;
** Compute rigid, affine, and bspline transforms in sequence with a single command&lt;br /&gt;
* Intuitive parameters&lt;br /&gt;
** Instead of setting obscure &amp;quot;scales&amp;quot; for parameters, you set global values for &amp;quot;Expected Offset&amp;quot;, &amp;quot;Expected Rotation&amp;quot;, ... to indicate how much mis-registration is anticipated in the data being registered&lt;br /&gt;
* MinimizeMemory option provides a way to compute bspline registrations using a dense set of control points and a large number of samples on &amp;quot;normal&amp;quot; computers (albeit computation time increases)&lt;br /&gt;
* SampleFromOverlap option allows images of vastly different sizes to be registered&lt;br /&gt;
** Helps to avoid (but does not completely eliminate) the annoying ITK exception, &amp;quot;too many samples falls outside of the image&amp;quot;&lt;br /&gt;
* Incorporates testing&lt;br /&gt;
** Specify a baseline image, and modules will perform the requested registration, compare its results with the baseline image, and return success/failure&lt;br /&gt;
* Based on an extensible and re-usable class structure.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* If you have a large data set or little memory, [[Modules:RegisterImages-Documentation-3.4#Advaned_Registration_Parameters_Tab|select the minimize memory option]]&lt;br /&gt;
* If you are planning to use the b-spline registration, be sure to read the [[Modules:RegisterImages-Documentation-3.4#Advanced_BSpline_Parameters|discussion of parameter setting]] in the section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization here] for more information.&lt;br /&gt;
&lt;br /&gt;
== Main Registration Panel ==&lt;br /&gt;
=== Parameter Choices ===&lt;br /&gt;
* The default parameters should work for a wide range of cases&lt;br /&gt;
* In some cases (e.g. unusual acquisition conditions and/or highly inconsistent acquisition protocols) you will need to change the default parameters.&lt;br /&gt;
* In other situations, you may wish to tweak parameters to achieve your application-specific speed-vs-accuracy trade-off&lt;br /&gt;
===Overview===&lt;br /&gt;
* Step 1: Loaded transform&lt;br /&gt;
** You may load a pre-computed transform to initialize the registration.&lt;br /&gt;
** If one is loaded, it is immediately applied (i.e., the moving image is resampled)&lt;br /&gt;
* Step 2: Initial registration&lt;br /&gt;
** Options are: &lt;br /&gt;
*** None (sets the center of rotation to the center of the moving image)&lt;br /&gt;
*** Landmark (uses N-pairs of landmarks (passed as vectors) and a least-squared error metric to register the images using a rigid transform&lt;br /&gt;
*** Image Centers (shifts the images to align their centers)&lt;br /&gt;
*** Centers of Mass (shifts the images to align their centers of mass)&lt;br /&gt;
*** Second Moments (shifts and rotates the images to align the 1st and 2nd moments)&lt;br /&gt;
* Step 3: Registration&lt;br /&gt;
** Options are:&lt;br /&gt;
*** None (applies the loaded transforms)&lt;br /&gt;
*** Initial&lt;br /&gt;
**** computes and applies the initial transform to the loaded registrations)&lt;br /&gt;
*** Rigid&lt;br /&gt;
**** computes a rigid transform and then applies it to the loaded registrations&lt;br /&gt;
*** Affine&lt;br /&gt;
**** computes an affine transform and then applies it to the loaded registrations&lt;br /&gt;
*** BSpline&lt;br /&gt;
**** computes a bspline transform and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineRigid&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration) and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineAffine&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration), uses those results to initialize and compute an affine transform, and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineBSpline&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration), uses those results to initialize and compute an affine transform, and then applies it to the loaded registrations, THEN computes and applies a BSpline transform&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Detailed Information==&lt;br /&gt;
&lt;br /&gt;
=== IO Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Set the fixed and moving images using images in the scene&lt;br /&gt;
* Optionally set the ResampleImage to store the output image&lt;br /&gt;
** If not set, registration won't conduct the final resampling, saving computation time&lt;br /&gt;
|[[Image:RegisterImagesIO.png|thumb|380px| IO panel &amp;lt;br&amp;gt; Resample image is the resampled moving image.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Registration Parameters Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Load Transform&lt;br /&gt;
** provide the Loaded Transform for the loaded phase of registration&lt;br /&gt;
* Save Transform&lt;br /&gt;
** results of the entire registration pipeline will be saved here&lt;br /&gt;
* Initialization&lt;br /&gt;
** see registration pipeline discussion&lt;br /&gt;
* Registration&lt;br /&gt;
** see registration pipeline discussion&lt;br /&gt;
** For rigid and affine registrations, one-plus-one evoluation optimization is first applied for N iterations, and then FRPR gradient-line-search optimization is applied.&lt;br /&gt;
*** For more information, check the code: RegisterImagesModule/itkOptimizedImageToImageRegistrationmethod.h/txx&lt;br /&gt;
** For BSpline registration, a hierarchical registration scheme is used.  An image pyramid having 3 levels is used to resample the images and the control grids.  Heuristics are used to control the various resampling parameters.   At each level, registration is conducted using FRPR gradient-line-search optimization.&lt;br /&gt;
*** For more information, check the code: RegisterImagesModule/itkBSplineImageToImageRegistrationMethod.h/txx &lt;br /&gt;
* Metric&lt;br /&gt;
** Use the Mutual Information metric.   It is an multithreaded and optimized version of the Mattes MI method.&lt;br /&gt;
*** For more information, check the code; Insight/Code/Review/itkOptMattesMutualInformationImageMetric.h/txx&lt;br /&gt;
* &amp;quot;Expected&amp;quot; values&lt;br /&gt;
**  For rigid, affine, and bspline registration, parameter scales (refer to the Insight Software Guide) are represented as hyper-parameters in the RegisterImages module.&lt;br /&gt;
*** &amp;quot;Expected Offset&amp;quot; controls the offset scales in rigid and affine registration the deformation vector scale in bspline registration&lt;br /&gt;
*** &amp;quot;Expected Rotation&amp;quot; is roughly in terms of radians.   It controls the rotation angles in rigid and affine registration&lt;br /&gt;
*** &amp;quot;Expected Scale&amp;quot; is for scaling during affine registration&lt;br /&gt;
*** &amp;quot;Expected Skew&amp;quot; is for skew for affine registration&lt;br /&gt;
|[[Image:RegisterImagesGlobalParameters.png|thumb|380px| Global Parameters&amp;lt;br&amp;gt; This panel controls what will happen overall.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advaned Registration Parameters Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|* Verbosity level&lt;br /&gt;
** Controls the level of detail in the reports in the log file&lt;br /&gt;
* Sample from fixed/moving overlap&lt;br /&gt;
** When the fixed image is much larger than the moving image, it is CRITICAL to set this flag and to pick a good initialization method.   In that way, only the portion of the fixed image that is initially covered by the moving image will be used during registration.   This prevents ITK from throwing an exception (error) stating that too many fixed-image samples miss (map outside of) the moving image.&lt;br /&gt;
* Fixed image intensity percentage threshold&lt;br /&gt;
** A less robust way to overcome the image overlap issue discussed above, you can specify a threshold as a portion (0 to 1) of the fixed image intensity range that should be used to select fixed image samples for computing the metric.   That is, by specifying 0.5, only the pixels in the upper half of the fixed-image's intensity range will be used during random sample selection.&lt;br /&gt;
** Remember, it is important to include pixels inside and outside of the object of interest, otherwise the fixed image histogram may be too homogeneous for mis-registrations to be detected.&lt;br /&gt;
* Random number seed&lt;br /&gt;
** To ensure consistent performance, you can set a seed - repeated runs should produce identical results.&lt;br /&gt;
* Number of threads&lt;br /&gt;
** Number of multi-core/mult-processor threads to use during metric value computations.&lt;br /&gt;
* MimimizeMemory &lt;br /&gt;
** Turns off caching of intermediate values during bspline registration&lt;br /&gt;
** Provides a way to compute bspline registrations using a dense set of control points and a large number of samples on &amp;quot;normal&amp;quot; computers (albeit computation time increases)&lt;br /&gt;
** Rule of thumb, if the BSpline registration crashes - re-run with this option enabled.&lt;br /&gt;
* use windowed sinc for final interpolation&lt;br /&gt;
** If you have time to kill.  Extremely slow and only marginally better than bspline resampling (the default).&lt;br /&gt;
&lt;br /&gt;
|[[Image:RegisterImagesAdvancedGlobalParameters.png|thumb|380px| Advanced Global Parameters Tab]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Registration Testing Parameters ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''The testing section exposes functionality for development and compilation. It should not be used in regular operation of Slicer.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Baseline Image&lt;br /&gt;
** Set the image against which the Resampled Image (IO tab) will be compared after registration&lt;br /&gt;
* Number of Failed Pixels Tolerance&lt;br /&gt;
** Registration returns &amp;quot;failure&amp;quot; if this many pixels are different between the Resampled and Baseline images&lt;br /&gt;
* Intensity Tolerance&lt;br /&gt;
** Minimum intensity difference between corresponding Resampled and Baseline pixels for those pixels to be counted as failures&lt;br /&gt;
* Radius Tolerance&lt;br /&gt;
** The program will search this neighborhood size about each Resampled pixel to find the closest matching Baseline pixel.   The closest matching pixels are compared using the Intensity Tolerance (above)&lt;br /&gt;
* Baseline Difference Image&lt;br /&gt;
** Result of subtracting the resampled image from the baseline image&lt;br /&gt;
* Baseline Resamples Moving Image&lt;br /&gt;
** resampled image, resampled into the space of the baseline image&lt;br /&gt;
|[[Image:RegisterImagesTestingParameters.png|thumb|380px|  Testing Parameters]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanced Initial Registration Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Fixed / Moving Landmarks&lt;br /&gt;
** A vector string (comma separated base-3 list) of the indexes of corresponding points in the fixed and moving images&lt;br /&gt;
** If supplied, then choose &amp;quot;Landmarks&amp;quot; as the initial registration method (see discussion on registration pipeline)&lt;br /&gt;
|[[Image:RegisterImagesAdvancedInitialFiducials.png|thumb|380px|Initialization of rigid registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanaced Rigid and Affine Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* MaxIterations&lt;br /&gt;
** Number of iterations for one-plus-one and for FRPR registration&lt;br /&gt;
* Sampling Ratio&lt;br /&gt;
** Portion of the image pixels to be used when computing the metric&lt;br /&gt;
|[[Image:RegisterImagesAdvnacedRigidParameters.png|thumb|380px|Advanced Parameters for rigid registration]]&lt;br /&gt;
[[Image:RegisterImagesAdvancedAffineParameters.png|thumb|380px| Advanced Parameters for affine registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanced BSpline Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* MaxIterations&lt;br /&gt;
** Number of iterations for one-plus-one and for FRPR registration&lt;br /&gt;
* Sampling Ratio&lt;br /&gt;
** Portion of the image pixels to be used when computing the metric&lt;br /&gt;
** Do the math...if you have 40 pixels between control points, then there will be 40^3 (64,000) pixels relevant to each control point.  That excessive for directing one control point. Keep the sampling small.  For 40 pixels between control points, a sampling density of 0.1 provide 6,400 pixels for metric computation at each control point - more than enough.&lt;br /&gt;
** When in doubt, turn on MinimizeMemory&lt;br /&gt;
* Control point spacing (pixels)&lt;br /&gt;
** Don't think about grid size - instead think about the level of detail that needs to be resolved (see discussion on sampling ratio).&lt;br /&gt;
** When in doubt, turn on MinimizeMemory&lt;br /&gt;
|[[Image:RegisterImagesAdvancedBSplineParameters.png|thumb|380px|Advanced Parameters for B-Spline registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
=== Example 2: Affine Registration ===&lt;br /&gt;
&lt;br /&gt;
* Task: &lt;br /&gt;
** Affine registration of head MRI from two different subjects&lt;br /&gt;
* Data:&lt;br /&gt;
** Using cases UNC-Healthy-Normal002 (fixed) and UNC-Healthy-Normal004 (moving)&lt;br /&gt;
** Data provided by Dr. Bullitt at UNC.&lt;br /&gt;
** Data is available from Kitware's MIDAS archive at  http://hdl.handle.net/1926/542&lt;br /&gt;
** Data can be automatically downloaded into ${RegisterImages_BINARY_DIR}/Testing/Data directory by enabling the CMake variable &amp;quot;BUILD_REGISTER_IMAGES_REAL_WORLD_TESTING&amp;quot;&lt;br /&gt;
*** Warning this also enables additional tests that can take 4+ hours to complete.&lt;br /&gt;
*** To see the code for automatically downloading from MIDAS (via svn), see Slicer3/Applications/CLI/RegisterImagesModule/Applications/CMakeLists.txt&lt;br /&gt;
&lt;br /&gt;
=== Example 3: BSpline Registration ===&lt;br /&gt;
&lt;br /&gt;
* Task: &lt;br /&gt;
** BSpline registration of head MRI from two different subjects&lt;br /&gt;
* Data:&lt;br /&gt;
** Using cases UNC-Healthy-Normal002 (fixed) and UNC-Healthy-Normal004 (moving)&lt;br /&gt;
** Data provided by Dr. Bullitt at UNC.&lt;br /&gt;
** Data is available from Kitware's MIDAS archive at  http://hdl.handle.net/1926/542&lt;br /&gt;
** Data can be automatically downloaded into ${RegisterImages_BINARY_DIR}/Testing/Data directory by enabling the CMake variable &amp;quot;BUILD_REGISTER_IMAGES_REAL_WORLD_TESTING&amp;quot;&lt;br /&gt;
*** Warning this also enables additional tests that can take 4+ hours to complete.&lt;br /&gt;
*** To see the code for automatically downloading from MIDAS (via svn), see Slicer3/Applications/CLI/RegisterImagesModule/Applications/CMakeLists.txt&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
This module makes use of GenerateCLP, MRMLIO and ITK.   &lt;br /&gt;
* GenerateCLP is used to defined the command-line options.  GenerateCLP is distributed with Slicer (/Libs/GenerateCLP).&lt;br /&gt;
* MRMLIO is used to replace reading/writing images in ITK to instead passing pointers to shared memory.   MRMLIO is distributed with Slicer (/Libs/MRMLIO).&lt;br /&gt;
* ITK is used to provide the algorithms.   ITK must be compiled with the CMake variables USE_REVIEW, USE_TRANSFORM_IO, and USE_OPTIMIZED_REGISTRATION_METHODS enabled.   These options are automatically enabled when ITK is build using Slicer's getBuildTest.tcl script.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
* Module may fail (and not report a useful error to the console - check the log files) if insufficient memory is available.   If so, please consider enabling the MinimizeMemory option in the Advanced Options tab.&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker.&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://viewvc.slicer.org/viewcvs.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
*[[Media:Rigid registration of aligned images-03-2009.txt|some email about initialization]]&lt;br /&gt;
&lt;br /&gt;
===Wishlist===&lt;br /&gt;
*custom gui for creation of matched fiducials for fiducial based initialization&lt;br /&gt;
*using Slicer transforms for initialization&lt;br /&gt;
*output results of rigid, affine, b-spline either as transforms or as resampled volumes&lt;br /&gt;
*include moving filename into default names of results&lt;br /&gt;
*display fixed and moving results in compareview with proper LUTs (different colors for fixed and result, apply w/l from moving to results volume &lt;br /&gt;
*use in combination with VOI&lt;br /&gt;
*more detailed explanation of how to set parameters&lt;br /&gt;
*increase number of example solutions&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Modules:RegisterImages-Documentation-3.4&amp;diff=8582</id>
		<title>Modules:RegisterImages-Documentation-3.4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Modules:RegisterImages-Documentation-3.4&amp;diff=8582"/>
		<updated>2009-03-17T13:22:14Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation-3.4|Return to Slicer 3.4 Documentation]]&lt;br /&gt;
&lt;br /&gt;
===Register Images===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:RegisterImagesOverview.png|thumb|280px|Before &amp;lt;br&amp;gt; Two [[Modules:Color-Documentation-3.4#Module_Description|LUTs]] are used to display the two volumes]]&lt;br /&gt;
|[[Image:RegisterImageRunning.png|thumb|280px|During &amp;lt;br&amp;gt; Note that both cores run at full capacity]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:B-spline-reg.png|thumb|280px|After &amp;lt;br&amp;gt; Fixed data set with red, moving with blue LUT.]]&lt;br /&gt;
|[[Image:B-spline-reg-detail.png|thumb|280px|After &amp;lt;br&amp;gt; Moving versus Resampled &amp;lt;br&amp;gt; Demonstration of the extent of deformation&amp;lt;br&amp;gt;grid spacing = 60 pixels, 4 core machine, &amp;lt;br&amp;gt;9GB memory footprint, roughly 1.5 hours&amp;lt;br&amp;gt;volume=512x512x472]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI Module calling ITK functions&lt;br /&gt;
&lt;br /&gt;
Category: Registration&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author1: Stephen Aylward, Kitware&lt;br /&gt;
* Contributor1: Ron Kikinis (copying documentation)&lt;br /&gt;
* Contact: name, email&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
This Module is an integrated framework providing access to ITK registration technologies. Algorithms can be run in single mode or pipelined. Depending on the size of the data sets, a significant amount of memory is needed. There is an option to trade off speed for memory. Most of the code is parallelized and will take advantage of multicore capabilities, if available.&lt;br /&gt;
&lt;br /&gt;
==== Major Features ====&lt;br /&gt;
&lt;br /&gt;
The major features of the module include:&lt;br /&gt;
* Default parameters register many full-head and skull-stripped MRI: rigid, affine, and BSpline&lt;br /&gt;
* Offers a complete, pipeline-based registration solution&lt;br /&gt;
** Load and apply existing transforms&lt;br /&gt;
** Compute rigid, affine, and bspline transforms in sequence with a single command&lt;br /&gt;
* Intuitive parameters&lt;br /&gt;
** Instead of setting obscure &amp;quot;scales&amp;quot; for parameters, you set global values for &amp;quot;Expected Offset&amp;quot;, &amp;quot;Expected Rotation&amp;quot;, ... to indicate how much mis-registration is anticipated in the data being registered&lt;br /&gt;
* MinimizeMemory option provides a way to compute bspline registrations using a dense set of control points and a large number of samples on &amp;quot;normal&amp;quot; computers (albeit computation time increases)&lt;br /&gt;
* SampleFromOverlap option allows images of vastly different sizes to be registered&lt;br /&gt;
** Helps to avoid (but does not completely eliminate) the annoying ITK exception, &amp;quot;too many samples falls outside of the image&amp;quot;&lt;br /&gt;
* Incorporates testing&lt;br /&gt;
** Specify a baseline image, and modules will perform the requested registration, compare its results with the baseline image, and return success/failure&lt;br /&gt;
* Based on an extensible and re-usable class structure.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* If you have a large data set or little memory, [[Modules:RegisterImages-Documentation-3.4#Advaned_Registration_Parameters_Tab|select the minimize memory option]]&lt;br /&gt;
* If you are planning to use the b-spline registration, be sure to read the [[Modules:RegisterImages-Documentation-3.4#Advanced_BSpline_Parameters|discussion of parameter setting]] in the section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
See [http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization here] for more information.&lt;br /&gt;
&lt;br /&gt;
== Main Registration Panel ==&lt;br /&gt;
=== Parameter Choices ===&lt;br /&gt;
* The default parameters should work for a wide range of cases&lt;br /&gt;
* In some cases (e.g. unusual acquisition conditions and/or highly inconsistent acquisition protocols) you will need to change the default parameters.&lt;br /&gt;
* In other situations, you may wish to tweak parameters to achieve your application-specific speed-vs-accuracy trade-off&lt;br /&gt;
===Overview===&lt;br /&gt;
* Step 1: Loaded transform&lt;br /&gt;
** You may load a pre-computed transform to initialize the registration.&lt;br /&gt;
** If one is loaded, it is immediately applied (i.e., the moving image is resampled)&lt;br /&gt;
* Step 2: Initial registration&lt;br /&gt;
** Options are: &lt;br /&gt;
*** None (sets the center of rotation to the center of the moving image)&lt;br /&gt;
*** Landmark (uses N-pairs of landmarks (passed as vectors) and a least-squared error metric to register the images using a rigid transform&lt;br /&gt;
*** Image Centers (shifts the images to align their centers)&lt;br /&gt;
*** Centers of Mass (shifts the images to align their centers of mass)&lt;br /&gt;
*** Second Moments (shifts and rotates the images to align the 1st and 2nd moments)&lt;br /&gt;
* Step 3: Registration&lt;br /&gt;
** Options are:&lt;br /&gt;
*** None (applies the loaded transforms)&lt;br /&gt;
*** Initial&lt;br /&gt;
**** computes and applies the initial transform to the loaded registrations)&lt;br /&gt;
*** Rigid&lt;br /&gt;
**** computes a rigid transform and then applies it to the loaded registrations&lt;br /&gt;
*** Affine&lt;br /&gt;
**** computes an affine transform and then applies it to the loaded registrations&lt;br /&gt;
*** BSpline&lt;br /&gt;
**** computes a bspline transform and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineRigid&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration) and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineAffine&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration), uses those results to initialize and compute an affine transform, and then applies it to the loaded registrations&lt;br /&gt;
*** PipelineBSpline&lt;br /&gt;
**** computes a rigid transform (initialized using the results from the initial registration), uses those results to initialize and compute an affine transform, and then applies it to the loaded registrations, THEN computes and applies a BSpline transform&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Detailed Information==&lt;br /&gt;
&lt;br /&gt;
=== IO Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Set the fixed and moving images using images in the scene&lt;br /&gt;
* Optionally set the ResampleImage to store the output image&lt;br /&gt;
** If not set, registration won't conduct the final resampling, saving computation time&lt;br /&gt;
|[[Image:RegisterImagesIO.png|thumb|380px| IO panel &amp;lt;br&amp;gt; Resample image is the resampled moving image.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Registration Parameters Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Load Transform&lt;br /&gt;
** provide the Loaded Transform for the loaded phase of registration&lt;br /&gt;
* Save Transform&lt;br /&gt;
** results of the entire registration pipeline will be saved here&lt;br /&gt;
* Initialization&lt;br /&gt;
** see registration pipeline discussion&lt;br /&gt;
* Registration&lt;br /&gt;
** see registration pipeline discussion&lt;br /&gt;
** For rigid and affine registrations, one-plus-one evoluation optimization is first applied for N iterations, and then FRPR gradient-line-search optimization is applied.&lt;br /&gt;
*** For more information, check the code: RegisterImagesModule/itkOptimizedImageToImageRegistrationmethod.h/txx&lt;br /&gt;
** For BSpline registration, a hierarchical registration scheme is used.  An image pyramid having 3 levels is used to resample the images and the control grids.  Heuristics are used to control the various resampling parameters.   At each level, registration is conducted using FRPR gradient-line-search optimization.&lt;br /&gt;
*** For more information, check the code: RegisterImagesModule/itkBSplineImageToImageRegistrationMethod.h/txx &lt;br /&gt;
* Metric&lt;br /&gt;
** Use the Mutual Information metric.   It is an multithreaded and optimized version of the Mattes MI method.&lt;br /&gt;
*** For more information, check the code; Insight/Code/Review/itkOptMattesMutualInformationImageMetric.h/txx&lt;br /&gt;
* &amp;quot;Expected&amp;quot; values&lt;br /&gt;
**  For rigid, affine, and bspline registration, parameter scales (refer to the Insight Software Guide) are represented as hyper-parameters in the RegisterImages module.&lt;br /&gt;
*** &amp;quot;Expected Offset&amp;quot; controls the offset scales in rigid and affine registration the deformation vector scale in bspline registration&lt;br /&gt;
*** &amp;quot;Expected Rotation&amp;quot; is roughly in terms of radians.   It controls the rotation angles in rigid and affine registration&lt;br /&gt;
*** &amp;quot;Expected Scale&amp;quot; is for scaling during affine registration&lt;br /&gt;
*** &amp;quot;Expected Skew&amp;quot; is for skew for affine registration&lt;br /&gt;
|[[Image:RegisterImagesGlobalParameters.png|thumb|380px| Global Parameters&amp;lt;br&amp;gt; This panel controls what will happen overall.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advaned Registration Parameters Tab ===&lt;br /&gt;
{|&lt;br /&gt;
|* Verbosity level&lt;br /&gt;
** Controls the level of detail in the reports in the log file&lt;br /&gt;
* Sample from fixed/moving overlap&lt;br /&gt;
** When the fixed image is much larger than the moving image, it is CRITICAL to set this flag and to pick a good initialization method.   In that way, only the portion of the fixed image that is initially covered by the moving image will be used during registration.   This prevents ITK from throwing an exception (error) stating that too many fixed-image samples miss (map outside of) the moving image.&lt;br /&gt;
* Fixed image intensity percentage threshold&lt;br /&gt;
** A less robust way to overcome the image overlap issue discussed above, you can specify a threshold as a portion (0 to 1) of the fixed image intensity range that should be used to select fixed image samples for computing the metric.   That is, by specifying 0.5, only the pixels in the upper half of the fixed-image's intensity range will be used during random sample selection.&lt;br /&gt;
** Remember, it is important to include pixels inside and outside of the object of interest, otherwise the fixed image histogram may be too homogeneous for mis-registrations to be detected.&lt;br /&gt;
* Random number seed&lt;br /&gt;
** To ensure consistent performance, you can set a seed - repeated runs should produce identical results.&lt;br /&gt;
* Number of threads&lt;br /&gt;
** Number of multi-core/mult-processor threads to use during metric value computations.&lt;br /&gt;
* MimimizeMemory &lt;br /&gt;
** Turns off caching of intermediate values during bspline registration&lt;br /&gt;
** Provides a way to compute bspline registrations using a dense set of control points and a large number of samples on &amp;quot;normal&amp;quot; computers (albeit computation time increases)&lt;br /&gt;
** Rule of thumb, if the BSpline registration crashes - re-run with this option enabled.&lt;br /&gt;
* use windowed sinc for final interpolation&lt;br /&gt;
** If you have time to kill.  Extremely slow and only marginally better than bspline resampling (the default).&lt;br /&gt;
&lt;br /&gt;
|[[Image:RegisterImagesAdvancedGlobalParameters.png|thumb|380px| Advanced Global Parameters Tab]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Registration Testing Parameters ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''The testing section exposes functionality for development and compilation. It should not be used in regular operation of Slicer.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Baseline Image&lt;br /&gt;
** Set the image against which the Resampled Image (IO tab) will be compared after registration&lt;br /&gt;
* Number of Failed Pixels Tolerance&lt;br /&gt;
** Registration returns &amp;quot;failure&amp;quot; if this many pixels are different between the Resampled and Baseline images&lt;br /&gt;
* Intensity Tolerance&lt;br /&gt;
** Minimum intensity difference between corresponding Resampled and Baseline pixels for those pixels to be counted as failures&lt;br /&gt;
* Radius Tolerance&lt;br /&gt;
** The program will search this neighborhood size about each Resampled pixel to find the closest matching Baseline pixel.   The closest matching pixels are compared using the Intensity Tolerance (above)&lt;br /&gt;
* Baseline Difference Image&lt;br /&gt;
** Result of subtracting the resampled image from the baseline image&lt;br /&gt;
* Baseline Resamples Moving Image&lt;br /&gt;
** resampled image, resampled into the space of the baseline image&lt;br /&gt;
|[[Image:RegisterImagesTestingParameters.png|thumb|380px|  Testing Parameters]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanced Initial Registration Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* Fixed / Moving Landmarks&lt;br /&gt;
** A vector string (comma separated base-3 list) of the indexes of corresponding points in the fixed and moving images&lt;br /&gt;
** If supplied, then choose &amp;quot;Landmarks&amp;quot; as the initial registration method (see discussion on registration pipeline)&lt;br /&gt;
|[[Image:RegisterImagesAdvancedInitialFiducials.png|thumb|380px|Initialization of rigid registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanaced Rigid and Affine Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* MaxIterations&lt;br /&gt;
** Number of iterations for one-plus-one and for FRPR registration&lt;br /&gt;
* Sampling Ratio&lt;br /&gt;
** Portion of the image pixels to be used when computing the metric&lt;br /&gt;
|[[Image:RegisterImagesAdvnacedRigidParameters.png|thumb|380px|Advanced Parameters for rigid registration]]&lt;br /&gt;
[[Image:RegisterImagesAdvancedAffineParameters.png|thumb|380px| Advanced Parameters for affine registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Advanced BSpline Parameters ===&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
* MaxIterations&lt;br /&gt;
** Number of iterations for one-plus-one and for FRPR registration&lt;br /&gt;
* Sampling Ratio&lt;br /&gt;
** Portion of the image pixels to be used when computing the metric&lt;br /&gt;
** Do the math...if you have 40 pixels between control points, then there will be 40^3 (64,000) pixels relevant to each control point.  That excessive for directing one control point. Keep the sampling small.  For 40 pixels between control points, a sampling density of 0.1 provide 6,400 pixels for metric computation at each control point - more than enough.&lt;br /&gt;
** When in doubt, turn on MinimizeMemory&lt;br /&gt;
* Control point spacing (pixels)&lt;br /&gt;
** Don't think about grid size - instead think about the level of detail that needs to be resolved (see discussion on sampling ratio).&lt;br /&gt;
** When in doubt, turn on MinimizeMemory&lt;br /&gt;
|[[Image:RegisterImagesAdvancedBSplineParameters.png|thumb|380px|Advanced Parameters for B-Spline registration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Use Cases==&lt;br /&gt;
=== Example 2: Affine Registration ===&lt;br /&gt;
&lt;br /&gt;
* Task: &lt;br /&gt;
** Affine registration of head MRI from two different subjects&lt;br /&gt;
* Data:&lt;br /&gt;
** Using cases UNC-Healthy-Normal002 (fixed) and UNC-Healthy-Normal004 (moving)&lt;br /&gt;
** Data provided by Dr. Bullitt at UNC.&lt;br /&gt;
** Data is available from Kitware's MIDAS archive at  http://hdl.handle.net/1926/542&lt;br /&gt;
** Data can be automatically downloaded into ${RegisterImages_BINARY_DIR}/Testing/Data directory by enabling the CMake variable &amp;quot;BUILD_REGISTER_IMAGES_REAL_WORLD_TESTING&amp;quot;&lt;br /&gt;
*** Warning this also enables additional tests that can take 4+ hours to complete.&lt;br /&gt;
*** To see the code for automatically downloading from MIDAS (via svn), see Slicer3/Applications/CLI/RegisterImagesModule/Applications/CMakeLists.txt&lt;br /&gt;
&lt;br /&gt;
=== Example 3: BSpline Registration ===&lt;br /&gt;
&lt;br /&gt;
* Task: &lt;br /&gt;
** BSpline registration of head MRI from two different subjects&lt;br /&gt;
* Data:&lt;br /&gt;
** Using cases UNC-Healthy-Normal002 (fixed) and UNC-Healthy-Normal004 (moving)&lt;br /&gt;
** Data provided by Dr. Bullitt at UNC.&lt;br /&gt;
** Data is available from Kitware's MIDAS archive at  http://hdl.handle.net/1926/542&lt;br /&gt;
** Data can be automatically downloaded into ${RegisterImages_BINARY_DIR}/Testing/Data directory by enabling the CMake variable &amp;quot;BUILD_REGISTER_IMAGES_REAL_WORLD_TESTING&amp;quot;&lt;br /&gt;
*** Warning this also enables additional tests that can take 4+ hours to complete.&lt;br /&gt;
*** To see the code for automatically downloading from MIDAS (via svn), see Slicer3/Applications/CLI/RegisterImagesModule/Applications/CMakeLists.txt&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
This module makes use of GenerateCLP, MRMLIO and ITK.   &lt;br /&gt;
* GenerateCLP is used to defined the command-line options.  GenerateCLP is distributed with Slicer (/Libs/GenerateCLP).&lt;br /&gt;
* MRMLIO is used to replace reading/writing images in ITK to instead passing pointers to shared memory.   MRMLIO is distributed with Slicer (/Libs/MRMLIO).&lt;br /&gt;
* ITK is used to provide the algorithms.   ITK must be compiled with the CMake variables USE_REVIEW, USE_TRANSFORM_IO, and USE_OPTIMIZED_REGISTRATION_METHODS enabled.   These options are automatically enabled when ITK is build using Slicer's getBuildTest.tcl script.&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Customize following [http://viewvc.slicer.org/viewcvs.cgi/ links] for your module.&lt;br /&gt;
&lt;br /&gt;
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
Include funding and other support here.&lt;br /&gt;
&lt;br /&gt;
===References===&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
*[[Media:Rigid registration of aligned images-03-2009.txt|some email about initialization]]&lt;br /&gt;
&lt;br /&gt;
===Wishlist===&lt;br /&gt;
*custom gui for creation of matched fiducials for fiducial based initialization&lt;br /&gt;
*using Slicer transforms for initialization&lt;br /&gt;
*output results of rigid, affine, b-spline either as transforms or as resampled volumes&lt;br /&gt;
*include moving filename into default names of results&lt;br /&gt;
*display fixed and moving results in compareview with proper LUTs (different colors for fixed and result, apply w/l from moving to results volume &lt;br /&gt;
*use in combination with VOI&lt;br /&gt;
*more detailed explanation of how to set parameters&lt;br /&gt;
*increase number of example solutions&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/3.4&amp;diff=8397</id>
		<title>Documentation/3.4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/3.4&amp;diff=8397"/>
		<updated>2009-03-06T03:07:22Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Batch processing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This page is currently under construction&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
[[Image:Base-Features-and-Modules.png|thumb|right|overview|[[Media:Integrating with Slicer3.ppt | Integrating with Slicer3]]]]&lt;br /&gt;
This page is a portal for documentation about Slicer 3.4.&lt;br /&gt;
For information for software developers, please go to the Developers page (see link in navigation box to the left).&lt;br /&gt;
&lt;br /&gt;
=How-To Tutorials=&lt;br /&gt;
[http://wiki.na-mic.org/Wiki/index.php/Slicer3:Training Slicer3 tutorial page]&lt;br /&gt;
&lt;br /&gt;
=Feature Request and Problem Reports=&lt;br /&gt;
We have an [http://www.na-mic.org/Bug/my_view_page.php issues tracker] for Slicer 3. You need to create an account for filing reports. We keep track of both feature requests and bug reports. Make sure to use the pull-down in the upper right to select Slicer 3.&lt;br /&gt;
&lt;br /&gt;
=List of Modules in need of documentation=&lt;br /&gt;
== Requirements for modules to be added to the release==&lt;br /&gt;
{| border=&amp;quot;00&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| &lt;br /&gt;
* The module is '''feature complete''' for the tasks advertised on 2-4-2009&lt;br /&gt;
* The module has a '''test'''. See [http://wiki.na-mic.org/Wiki/index.php/Slicer3:Execution_Model_Testing '''here'''] for more information.&lt;br /&gt;
* Module has '''documentation''' on the [[Documentation-3.4#Modules|Slicer wiki]]. Please use the template provided [[Documentation-3.4#Modules|'''here''']] to structure your page. &lt;br /&gt;
*Please add a pointer to the documentation on the Slicer wiki to the the '''Help''' tab of the module. See the '''Editor module''' in Slicer for an example.&lt;br /&gt;
* The contributor (and their manager/advisor), the lab (with labs/institution logo) and the funding source (with grant number, logo optional) are listed in the '''Acknowledgment''' tab of the module. Please see the '''Models module''' for and example. The people listed in the acknowledgement will be the primary people for support and maintenance relative of the module.&lt;br /&gt;
** '''Style Guide:''' All acknowledgment icons should be 100x100 pixels, preferably in png format.&lt;br /&gt;
** '''Accessing logos:''' Icons for BIRN, NAC, NA-MIC and IGT are included in Slicer3/Base/GUI//vtkSlicerBaseAcknowledgementLogoIcons.cxx/h and resources for them are in Slicer3/Base/GUI/Resources/vtkSlicerBaseAcknowledgementLogos_ImageData.h. The API for vtkSlicerModuleGUI provides access to these icons. &lt;br /&gt;
** '''Adding logos:''' Please add additional image resources and logo icons to these files as required in order to promote shared use (and to prevent duplication in the code.)&lt;br /&gt;
* If your module has [[Documentation-3.2|documentation in Slicer 3.2]], please copy/paste/update into the 3.4 version&lt;br /&gt;
| style=&amp;quot;background: #e5e5e5&amp;quot; align=&amp;quot;center&amp;quot;| Examples for the Help and &lt;br /&gt;
Acknowledgment Panels&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ebeced&amp;quot;|[[Image:SlicerHelpExample.png|center|200px]][[Image:SlicerAcknowledgementExample.png|center|200px]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Main GUI==&lt;br /&gt;
*[[Modules:MainApplicationGUI-Documentation-3.4| Main Application GUI]] (Wendy Plesniak)&lt;br /&gt;
*[[Modules:EventBindings-3.4| List of Hotkeys and Keyboard Shortcuts]] (Wendy Plesniak)&lt;br /&gt;
*[[Modules:Loading-Data-3.4| How to load data]] (Steve Pieper)&lt;br /&gt;
*[[Modules:Saving-Documentation-3.4| Save Scene and Data Module]] (Wendy Plesniak)&lt;br /&gt;
&lt;br /&gt;
==Modules==&lt;br /&gt;
*Please copy the template linked below, paste it into your page and customize it with your module's information.&lt;br /&gt;
[[Slicer3:Module_Documentation-3.4_Template|Slicer3:Module_Documentation-3.4_Template]]&lt;br /&gt;
*See above for info to be put into the Help and Acknowledgment Tabs&lt;br /&gt;
*To put your lab's logo into a module, see [[Slicer3:Execution_Model_Documentation#Adding_Module_Logos_to_Slicer3|here]]&lt;br /&gt;
===Core===&lt;br /&gt;
*[[Modules:Welcome-Documentation-3.4| Welcome Module]] (Wendy Plesniak, Steve Pieper, Sonia Pujol, Ron Kikinis)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Modules:Volumes-Documentation-3.4| Volumes Module]] (Alex Yarmarkovich, Steve Pieper)&lt;br /&gt;
**[[Modules:Volumes:Diffusion Editor-Documentation-3.4| Diffusion Editor]] (Kerstin Kessel)&lt;br /&gt;
*[[Modules:Models-Documentation-3.4| Models Module]] (Alex Yarmarkovich)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Modules:Fiducials-Documentation-3.4| Fiducials Module]]  (Nicole Aucoin)&lt;br /&gt;
*[[Modules:Data-Documentation-3.4| Data Module]] (Alex Yarmarkovich)&lt;br /&gt;
*[[Modules:Slices-Documentation-3.4|Slices Module]] (Jim Miller)&lt;br /&gt;
*[[Modules:Transforms-Documentation-3.4| Transforms Module]] (Alex Yarmarkovich)&lt;br /&gt;
*[[Modules:Color-Documentation-3.4| Color Module]] (Nicole Aucoin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Modules:Editor-Documentation-3.4| Interactive Editor]] (Steve Pieper)&lt;br /&gt;
*[[Modules:ROIModule-Documentation-3.4|ROI Module]] (Alex Yarmarkovich)&lt;br /&gt;
*[[Modules:VolumeRendering-Documentation-3.4| Volume Rendering Module]] (Alex Yarmarkovich)&lt;br /&gt;
&lt;br /&gt;
==Other Modules==&lt;br /&gt;
&lt;br /&gt;
Please adhere to the naming scheme for the module documentation:&lt;br /&gt;
*[ [Modules:MyModuleNameNoSpaces-Documentation-3.4|My Module Name With Spaces] ] (First Last Name)&lt;br /&gt;
===Wizards===&lt;br /&gt;
*[[Modules:ChangeTracker-Documentation-3.4|ChangeTracker]] (Andriy Fedorov)&lt;br /&gt;
*[[Modules:IA_FEMesh-Documentation-3.4|IA FE Meshing Module]] (Vince Magnotta)&lt;br /&gt;
===Informatics Modules===&lt;br /&gt;
*[[Modules:FetchMI-Documentation-3.4| Fetch Medical Informatics Module]] (Wendy Plesniak)&lt;br /&gt;
*[[Modules:QDECModule-Documentation-3.4| QDEC Module]] (Nicole Aucoin)&lt;br /&gt;
*[[Modules:QueryAtlas-Documentation-3.4|Query Atlas Module]] (Wendy Plesniak)&lt;br /&gt;
===Registration===&lt;br /&gt;
*[[Modules:AffineRegistration-Documentation-3.4|Affine Registration]]  (Daniel Blezek)&lt;br /&gt;
*[[Modules:DeformableB-SplineRegistration-Documentation-3.4|Deformable B-Spline Registration]] (Bill Lorensen)&lt;br /&gt;
*[[Modules:DiffeomorphicDemonsAlgorithm-Documentation3.4|Diffeomorphic Demons Algorithm]] (Tom Vercauteren, Ender Konukoglu, Kilian Pohl)&lt;br /&gt;
*[[Modules:LinearRegistration-Documentation-3.4|Linear Registration]] (Daniel Blezek)&lt;br /&gt;
*[[Modules:RealignVolume-Documentation-3.4|Realign Volume]] (Nicole Aucoin)&lt;br /&gt;
*[[Modules:RigidRegistration-Documentation-3.4|Rigid Registration]] (Daniel Blezek)&lt;br /&gt;
===Segmentation===&lt;br /&gt;
*EM Segment Command-Line (Brad Davis, Will Schroeder)&lt;br /&gt;
*EM Segment Simple (Brad Davis, Will Schroeder)&lt;br /&gt;
*EMSegmentTemplateBuilder (Brad Davis, Will Schroeder)&lt;br /&gt;
*[[Modules:Simple Region Growing-Documentation-3.4|Simple Region Growing]] (Jim Miller)&lt;br /&gt;
*[[Modules:OtsuThreshold-Documentation-3.4|Otsu Threshold]] (Bill Lorensen)&lt;br /&gt;
===Statistics===&lt;br /&gt;
*Calculate Volume Statistics (Tri Ngo)&lt;br /&gt;
*[[Modules:LabelStatistics-Documentation-3.4|Label Statistics]] (Steve Pieper)&lt;br /&gt;
===DWI and Tractography===&lt;br /&gt;
====DWI====&lt;br /&gt;
*Estimation&lt;br /&gt;
**[[Modules:DiffusionTensorEstimation-Documentation-3.4|Diffusion Tensor Estimation]] (Raul San Jose Estepar)&lt;br /&gt;
*[[Modules:PythonExtractBaseline-Documentation-3.4|Python Extract Baseline DWI Volume]] (Julien von Siebenthal)&lt;br /&gt;
*Filter&lt;br /&gt;
**[[Modules:JointRicianLMMSEImageFilter-Documentation-3.4|Joint Rician LMMSE Image Filter]] (Antonio Tristán Vega, Santiago Aja Fernandez)&lt;br /&gt;
**[[Modules:RicianLMMSEImageFilter-Documentation-3.4|Rician LMMSE Image Filter]] (Antonio Tristán Vega, Santiago Aja Fernandez, Marc Niethammer)&lt;br /&gt;
**[[Modules:UnbiasedNonLocalMeans-Documentation-3.4|Unbiased Non Local Means filter for DWI]]  (Antonio Tristán Vega, Santiago Aja Fernandez)&lt;br /&gt;
*[[Modules:ShiftDWIValues-Documentation-3.4|Python Shift DWI Values]] (Julien von Siebenthal)&lt;br /&gt;
*[[Modules:RecenterScalar2DWI-Documentation-3.4|Python Recenter Scalar to DWI Volume]] (Julien von Siebenthal)&lt;br /&gt;
&lt;br /&gt;
====DTI====&lt;br /&gt;
*[[Modules:ResampleDTIVolume-Documentation-3.4|Resample DTI Volume]] (Francois Budin)&lt;br /&gt;
*[[Modules:DTIDisplay-Documentation-3.4|Display]] (Alex Yarmakovich)&lt;br /&gt;
*[[Modules:DiffusionTensorScalarMeasurements-Documentation-3.4 | Diffusion Tensor Scalar Measurements]] (Raul San Jose Estepar)&lt;br /&gt;
*Analysis&lt;br /&gt;
**[[Modules:FiducialSeeding-Documentation-3.4|Fiducial Seeding]] (Alex Yarmakovich, Steve Pieper)&lt;br /&gt;
**[[Modules:ROISeeding-Documentation-3.4 | ROI Seeding]] (Raul San Jose Estepar)&lt;br /&gt;
**[[Modules:StochasticTractography-Documentation-3.4|Python Stochastic Tractography]] (Julien von Siebenthal)&lt;br /&gt;
===IGT===&lt;br /&gt;
*[[Modules:OpenIGTLinkIF-Documentation-3.4| OpenIGTLinkIF Module]] (Junichi Tokuda) &lt;br /&gt;
*[[Modules:NeuroNav-Documentation-3.4| NeuroNav Module]] (Haiying Liu)&lt;br /&gt;
*[[Modules:ProstateNav-Documentation-3.4| ProstateNav Module]] (Junichi Tokuda)&lt;br /&gt;
===Filtering===&lt;br /&gt;
*[[Modules:CheckerboardFilter-Documentation-3.4|Checkerboard Filter]] (Bill Lorensen)&lt;br /&gt;
*[[Modules:HistogramMatching-Documentation-3.4|Histogram Matching]] (Bill Lorensen)&lt;br /&gt;
*[[Modules:ImageLabelCombine-3.4|Image Label Combine]] (Alex Yarmarkovich)&lt;br /&gt;
*[[Modules:ResampleVolume-Documentation-3.4|Resample Volume]] (Bill Lorensen)&lt;br /&gt;
*[[Modules:ResampleVolume2-Documentation-3.4|Resample Volume2]] (Francois Budin)&lt;br /&gt;
*[[Modules:ThresholdImage-Documentation-3.4|Threshold Image]] (Nicole Aucoin)&lt;br /&gt;
*Arithmetic&lt;br /&gt;
**[[Modules:AddImages-Documentation-3.4|Add Images]] (Bill Lorensen)&lt;br /&gt;
**[[Modules:SubtractImages-Documentation-3.4|Subtract Images]] (Bill Lorensen)&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Modules:GradientAnisotropicFilter-Documentation-3.4| Gradient Anisotropic Filter]]  (Bill Lorensen checked this in)&lt;br /&gt;
**[[Modules:CurvatureAnisotropicDiffusion-Documentation-3.4|Curvature Anisotropic Diffusion]] (Bill Lorensen)&lt;br /&gt;
**[[Modules:GaussianBlur-Documentation-3.4|Gaussian Blur]] (Julien Jomier, Stephen Aylward) &lt;br /&gt;
**[[Modules:MedianFilter-Documentation-3.4|Median Filter]] (Bill Lorensen)&lt;br /&gt;
*Morphology&lt;br /&gt;
**[[Modules:VotingBinaryHoleFilling-Documentation-3.4|Voting Binary Hole Filling]] (Bill Lorensen)&lt;br /&gt;
**[[Modules:GrayscaleFillHole-Documentation-3.4|Grayscale Fill Hole]] (Bill Lorensen)&lt;br /&gt;
**[[Modules:GrayscaleGrindPeak-Documentation-3.4|Grayscale Grind Peak]] (Bill Lorensen)&lt;br /&gt;
===Surface Models===&lt;br /&gt;
*[[Modules:Model_Maker-Documentation-3.4| Modelmaker]] (Nicole Aucoin)&lt;br /&gt;
*Grayscale Model Maker (Bill Lorensen)&lt;br /&gt;
&lt;br /&gt;
*Freesurfer Surface Section Extraction (Katharina Quintus)&lt;br /&gt;
*[[Modules:PythonSurfaceConnectivity-Documentation-3.4| Python Surface Connectivity]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:PythonSurfaceICPRegistration-Documentation-3.4| Python Surface ICP Registration]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:PythonSurfaceToolbox-Documentation-3.4| Python Surface Toolbox]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:ClipModel-Documentation-3.4| Clip Model]] (Alex Yarmarkovich)&lt;br /&gt;
*[[Slicer3:Model_Into_Label_Volume_Documentation-3.4| Model into Label Volume]] (Nicole Aucoin)&lt;br /&gt;
&lt;br /&gt;
===Batch processing===&lt;br /&gt;
*[[Modules:EMSegment-Documentation-3.4|EM Segementer batch]] (Julien Jomier, Brad Davis)&lt;br /&gt;
*[[Modules:GaussianBlur-Documentation-3.4|Gaussian blur batch]] (Julien Jomier, Stephen Aylward)&lt;br /&gt;
*[[Modules:Registration-Documentation-3.4|Registration batch]] (Julien Jomier, Stephen Aylward)&lt;br /&gt;
&lt;br /&gt;
===Converters===&lt;br /&gt;
*[[Modules:CreateaDicomSeries-Documentation-3.4|Create a Dicom Series]] (Bill Lorensen)&lt;br /&gt;
*[[Modules:DicomToNRRD-3.4|Dicom to NRRD]] (Xiaodong Tao)&lt;br /&gt;
*[[Modules:OrientImages-Documentation-3.4|Orient Images]] (Bill Lorensen)&lt;br /&gt;
&lt;br /&gt;
===Work in Progress===&lt;br /&gt;
&lt;br /&gt;
===Developer Tools===&lt;br /&gt;
*[[Modules:PythonExplodeVolumeTransform-Documentation-3.4| Python Explode Volume Transform]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:PythonScript-Documentation-3.4| Python Script]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:PythonNumpyScript-Documentation-3.4| Python Numpy Script]] (Luca Antiga, Daniel Blezek)&lt;br /&gt;
*[[Modules:ExecutionModelTour-Documentation-3.4|Execution Model Tour]] (Daniel Blezek, Bill Lorensen)&lt;br /&gt;
*[[Modules:ScriptedModuleExample-Documentation-3.4| Scripted Module Example]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
=Documented Modules=&lt;br /&gt;
(please do not touch this section for now. Ron)&lt;br /&gt;
==Main GUI==&lt;br /&gt;
&lt;br /&gt;
==Modules==&lt;br /&gt;
&lt;br /&gt;
===Core and Loadable Modules===&lt;br /&gt;
&lt;br /&gt;
==CLI Modules==&lt;br /&gt;
&lt;br /&gt;
=Modules for Downloading=&lt;br /&gt;
[[Image:SlicerOnNITRC2009.png|thumb|right|Slicer on NITRC]]&lt;br /&gt;
We are using NITRC as a repository for contributed modules. As a general rule, we do not test them ourselves, it is the downloaders job to ensure that they do what they want them to do.&lt;br /&gt;
&lt;br /&gt;
Click [http://www.nitrc.org/search/?type_of_search=soft&amp;amp;words=slicer3&amp;amp;Search.x=0&amp;amp;Search.y=0&amp;amp;Search=Search  here] to see a listing of Slicer 3 modules on NITRC.&lt;br /&gt;
&lt;br /&gt;
Work is in progress to create infrastructure for searching an loading modules. See [[Slicer3:Loadable_Modules:Status_2009-01-20|here]] for more information.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Modules:Registration-Documentation-3.4&amp;diff=8396</id>
		<title>Modules:Registration-Documentation-3.4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Modules:Registration-Documentation-3.4&amp;diff=8396"/>
		<updated>2009-03-06T03:04:10Z</updated>

		<summary type="html">&lt;p&gt;Aylward: New page: This module is a work in progress.   It does not function properly at this time.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module is a work in progress.   It does not function properly at this time.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Modules:GaussianBlurBatch-Documentation-3.4&amp;diff=8395</id>
		<title>Modules:GaussianBlurBatch-Documentation-3.4</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Modules:GaussianBlurBatch-Documentation-3.4&amp;diff=8395"/>
		<updated>2009-03-06T02:58:28Z</updated>

		<summary type="html">&lt;p&gt;Aylward: New page: Return to Slicer 3.4 Documentation __NOTOC__ ===Module Name=== Gaussian Blur  == General Information == ===Module Type &amp;amp; Category===  Type: CLI  Category: Filtering  ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation-3.4|Return to Slicer 3.4 Documentation]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
===Module Name===&lt;br /&gt;
Gaussian Blur&lt;br /&gt;
&lt;br /&gt;
== General Information ==&lt;br /&gt;
===Module Type &amp;amp; Category===&lt;br /&gt;
&lt;br /&gt;
Type: CLI&lt;br /&gt;
&lt;br /&gt;
Category: Filtering&lt;br /&gt;
&lt;br /&gt;
===Authors, Collaborators &amp;amp; Contact===&lt;br /&gt;
* Author: Stephen Aylward&lt;br /&gt;
* Contact: stephen.aylward at kitware.com&lt;br /&gt;
&lt;br /&gt;
===Module Description===&lt;br /&gt;
Convolves the image with a Gaussian kernel wherein the Gaussian has a standard deviation specified by the user (GUI field &amp;quot;sigma&amp;quot;) and the kernel width in each dimension is 6 times the standard deviation of the Gaussian.-               &lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Input volume = &amp;lt;grayscale image&amp;gt;&lt;br /&gt;
Output volume = &amp;lt;new image&amp;gt;&lt;br /&gt;
Sigma = &amp;lt;std dev of gaussian for convolution&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Examples, Use Cases &amp;amp; Tutorials===&lt;br /&gt;
&lt;br /&gt;
* Use to reduce noise&lt;br /&gt;
&lt;br /&gt;
===Quick Tour of Features and Use===&lt;br /&gt;
&lt;br /&gt;
* Set the sigma value to control the amount of blur.   Larger sigma = more blur.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
===Known bugs===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Usability issues===&lt;br /&gt;
&lt;br /&gt;
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker. Please select the '''usability issue category''' when browsing or contributing.&lt;br /&gt;
&lt;br /&gt;
===Source code &amp;amp; documentation===&lt;br /&gt;
&lt;br /&gt;
Source Code: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Applications/CLI/GaussianBlurImageFilter.cxx?view=annotate CheckerboardFilter.cxx]&lt;br /&gt;
&lt;br /&gt;
XML Description: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Applications/CLI/GaussianBlurImageFilter.xml?view=co CheckerboardFilter.xml]&lt;br /&gt;
&lt;br /&gt;
Documentation:&lt;br /&gt;
&lt;br /&gt;
== More Information == &lt;br /&gt;
&lt;br /&gt;
===Acknowledgment===&lt;br /&gt;
This work is part of the National Alliance for Medical Image&lt;br /&gt;
Computing (NAMIC), funded by the National Institutes of Health&lt;br /&gt;
through the NIH Roadmap for Medical Research, Grant U54 EB005149.&lt;br /&gt;
Information on the National Centers for Biomedical Computing&lt;br /&gt;
can be obtained from [http://www.ncbcs.org/ National Centers for Biomedical Computing].&lt;br /&gt;
&lt;br /&gt;
===References===&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6658</id>
		<title>Slicer3:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6658"/>
		<updated>2008-11-19T13:09:02Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Configure and build ITK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= All-in-one Script to checkout and build Slicer3 =&lt;br /&gt;
&lt;br /&gt;
To compile and build Slicer3, you need a set of development packages installed on your machine: &lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_linux| pre-requisite material for Linux]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_windows| pre-requisite material for Windows]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_Apple_Mac_OS_X |pre-requisite material for Mac]]&lt;br /&gt;
&lt;br /&gt;
There's a script called getbuildtest.tcl that makes the support libraries (VTK, ITK, teem, etc) and also builds slicer and does a dashboard submission.  (Click [[Slicer3:getbuildtest | here for background on getbuildtest]] and the experimental getbuildtest2 version).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building the 3.2 release ==&lt;br /&gt;
&lt;br /&gt;
Just do the following two commands (see [[Slicer3:Build_Instructions#getbuildtest_on_windows|for windows users]] below):&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/branches/Slicer-3-2 Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
== Building the latest development version ==&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
Note: that a Slicer3-lib and Slicer3-build directory will be created for you. This is meant to be used to set up new machines and to run nightly testing of the full builds.&lt;br /&gt;
&lt;br /&gt;
To run (all platforms):&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3-build/Slicer3&lt;br /&gt;
&lt;br /&gt;
Note: the whole build environment takes about 8G of disk space.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Note also that getbuildtest will do an Experimental submission to the [http://www.cdash.org/CDash/index.php?project=Slicer3 Slicer3 dashboard]. If you want to use getbuildtest without submitting to the dashboard, you can set the test type to nothing with&lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl -t &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other options for the -t (--test-type) option are Nightly or Continuous (or any of the [http://www.cmake.org/Wiki/CMake_Testing_With_CTest CTest] options).&lt;br /&gt;
&lt;br /&gt;
== What does getbuildtest.tcl do? ==&lt;br /&gt;
&lt;br /&gt;
This script just automates the steps needed to build slicer.  What you end up with is a set of source and build directories that can either be further manipulated with getbuildtest or can be worked with normally.  That is, on windows you will have solution files that you can load in visual studio for debugging and further development.&lt;br /&gt;
&lt;br /&gt;
Specifically, getbuildtest does the following steps:&lt;br /&gt;
&lt;br /&gt;
* Refreshes Slicer3 svn&lt;br /&gt;
* Runs Scripts/genlib.tcl which does the following for each of the support libraries&lt;br /&gt;
** does a cvs/svn checkout/update&lt;br /&gt;
** runs cmake with the correct settings for use with Slicer3&lt;br /&gt;
** runs make (or developer studio) to build the libraries&lt;br /&gt;
* Runs cmake on Slicer3&lt;br /&gt;
* Builds Slicer3&lt;br /&gt;
* Runs ctest on Slicer3&lt;br /&gt;
* (optionally) Runs CPack on Slicer3&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
  usage: getbuildtest [options] [target]&lt;br /&gt;
    [target] is determined automatically if not specified&lt;br /&gt;
    [options] is one of the following:&lt;br /&gt;
     --help : prints this message and exits&lt;br /&gt;
     --clean : delete lib and build directories first&lt;br /&gt;
     -t --test-type : CTest test target&lt;br /&gt;
     --release : compile with optimization flags&lt;br /&gt;
     --update : does a cvs/svn update on each lib&lt;br /&gt;
     --pack : builds a distribution package (cpack)&lt;br /&gt;
&lt;br /&gt;
== Errors from getbuildtest ==&lt;br /&gt;
&lt;br /&gt;
You will need to have your firewall configured to allow access to cvs servers through port 2401. Also you need 8081 for submitting to the dashboard.&lt;br /&gt;
&lt;br /&gt;
Other errors might mean you don't have all the build tools (see next section).&lt;br /&gt;
&lt;br /&gt;
If you want to generate a log of the build process, you can use a command like the following:&lt;br /&gt;
&lt;br /&gt;
 # for csh/tcsh:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl |&amp;amp; tee build.log&lt;br /&gt;
or&lt;br /&gt;
 # for sh/bash:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl 2&amp;gt;&amp;amp;1 | tee build.log&lt;br /&gt;
&lt;br /&gt;
== Updating Your getbuildtest Build ==&lt;br /&gt;
&lt;br /&gt;
There are a few options:&lt;br /&gt;
&lt;br /&gt;
* you can re-run getbuildtest and it will update slicer3 and rebuild (just slicer3)&lt;br /&gt;
* you can add the --update option and all the libs will get a cvs/svn update and will rebuild if needed (good for tracking the development head of VTK/ITK/KWWidgets etc).&lt;br /&gt;
* you can just 'svn update' in the Slicer3 directory and then do 'make' in the Slicer3-build to get just the latest Slicer3 code.&lt;br /&gt;
&lt;br /&gt;
The following command for unix machines will update, build, and launch the latest Slicer3:&lt;br /&gt;
&lt;br /&gt;
 svn update &amp;amp;&amp;amp; (cd ../Slicer3-build; make &amp;amp;&amp;amp; ./bin/Slicer3)&lt;br /&gt;
&lt;br /&gt;
Note that on Windows you can also use the CMakeSetup.exe interface to CMake and then use Microsoft Visual Studio for debugging.  You can use a command like the following in a cygwin shell to use the slicer launcher to start up visual studio with the correct environment to find the .dll files needed for debugging.&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3.exe --launch c:/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/devenv.exe --detach Slicer3.sln&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on linux ==&lt;br /&gt;
&lt;br /&gt;
To compile Slicer3 and do development, be sure you have a complete set of development packages installed on your machine.  The exact packages vary by distribution, but include:&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libX11 &lt;br /&gt;
* libX11-devel (libX11-dev  on Ubuntu 7.04)&lt;br /&gt;
* libXt-devel (libXt-dev on Ubuntu)&lt;br /&gt;
* opengl/mesa (libgl1-mesa-dev on Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Ubuntu one line install:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install subversion cvs tcl8.4 gcc g++ libX11-dev libXt-dev libxext-dev libgl1-mesa-dev libncurses5-dev tcsh&lt;br /&gt;
&lt;br /&gt;
Also, be sure you have OpenGL and the GLX extension to X working.  To check the installation, it is usually enough to confirm that the command &amp;lt;pre&amp;gt;glxgears&amp;lt;/pre&amp;gt; runs with no errors.&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on windows ==&lt;br /&gt;
&lt;br /&gt;
The script should work fine on a properly configured windows environment. Current requirements are:&lt;br /&gt;
&lt;br /&gt;
* Developer Studio 8 2005 &lt;br /&gt;
** For Developer Studio 9.0 2008 Visual C++ Express which is free from Microsoft [[Slicer3:Build_Instructions#Information_on_Free_Microsoft_C.2B.2B_Compiler_on_Windows|see below]].&lt;br /&gt;
** Be sure to install any service packs for Visual C++.&lt;br /&gt;
** Older releases of visual studio are not tested and may not work (2003, 7, and 7.1)&lt;br /&gt;
** If they are installed in the default locations in &amp;quot;c:/Program Files&amp;quot; they will be detected by the build script automatically (you need to edit slicer_variables.tcl to point to the installation).&lt;br /&gt;
* [http://www.cygwin.com Cygwin] with the following packages&lt;br /&gt;
** tcltk&lt;br /&gt;
** svn&lt;br /&gt;
** cvs&lt;br /&gt;
** unzip&lt;br /&gt;
** curl&lt;br /&gt;
* With Developers Studio and cygwin installed, you only need to do the svn checkout and getbuildtest script to get a fully working Slicer3 plus all the tools you need to develop new code.&lt;br /&gt;
&lt;br /&gt;
Note: CMake and VTK will not work on a FAT formatted disk (use NTFS).&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on Apple Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
For Mac OS 10.4.10 install the following from the OS disks (not installed by default on new machines):&lt;br /&gt;
* Xcode Tools (OS Disk 1, default window)&lt;br /&gt;
* X11: also on OS Disk 1, but you need to scroll down and find the Optional Installs installer and select X11 under Applications. See [http://porting.openoffice.org/mac/faq/installing/X11.html step-by-step instructions].&lt;br /&gt;
* X11SDK - from OS Disk 1, Xcode Tools/Packages/X11SDK.pkg&lt;br /&gt;
* Subversion.  Installation [http://downloads.open.collab.net/binaries.html options here].  Get the latest svn version for compatibility with the server and be sure your client includes SSL (so it can access https repositories).&lt;br /&gt;
&lt;br /&gt;
Remember to run getbuildtest from an xterm so the tests can access the X server.&lt;br /&gt;
&lt;br /&gt;
Note: The X11 application on Mac OSX 10.5.x (Leopard) crashes frequently.  This is a known issue that is still under investigation.&lt;br /&gt;
&lt;br /&gt;
== configuration options ==&lt;br /&gt;
&lt;br /&gt;
The file Slicer3/slicer_variables.tcl includes configuration options for which versions of support libraries to use.  You may want to change these for testing or to get access to new functionality.&lt;br /&gt;
&lt;br /&gt;
These flags control the versions of code pulled from external repositories:&lt;br /&gt;
&lt;br /&gt;
 set ::Slicer3_TAG &amp;quot;http://svn.slicer.org/Slicer3/trunk&amp;quot;&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;Slicer-3-2&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-6&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other libraries, such as Tcl/Tk, teem, and curl, together with windows binaries for CMake and Tcl/Tk are mirrored for efficiency at http://svn.slicer.org/Slicer3-lib-mirrors.&lt;br /&gt;
&lt;br /&gt;
For example, you may want a build against the ITK cvs head.  Change the flag value and then run &lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl --update &lt;br /&gt;
&lt;br /&gt;
which will get the version from cvs, build it, and rebuild slicer3.  Depending on how radically different the versions you build are, you may need to use the --clean option which will delete all build directories and rebuild.&lt;br /&gt;
&lt;br /&gt;
= Manual checkout/build of Slicer3 and support libraries: =&lt;br /&gt;
&lt;br /&gt;
Note: the getbuiltest script described above simply automates and systematizes a sequence of build operations that can be performed manually.  You may want to use the manual method if you are testing against different versions of VTK or ITK, or if you have existing build trees that you want to re-use.  ''Note that not all combinations of software versions and build flags are actively tested.  The following information may not be up to date as new code is added to the various repositories.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisite software ==&lt;br /&gt;
&lt;br /&gt;
You need to get and build the following packages if you aren't using the getbuildtest script.  The tags for all of the versions we are currently using can be found in the file Slicer/slicer_variables.tcl, so if you are unsure, check there for the latest word on versions:&lt;br /&gt;
&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::Teem_TAG &amp;quot;Teem-1-9-0-patches&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-8&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
 set ::BLAS_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/BLAS&lt;br /&gt;
 set ::LAPACK_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/lapack-3.1.1&lt;br /&gt;
 set ::NUMPY_TAG &amp;quot;http://svn.scipy.org/svn/numpy/branches/1.1.x&amp;quot;&lt;br /&gt;
 set ::SCIPY_TAG &amp;quot;http://svn.scipy.org/svn/scipy/branches/0.6.x&amp;quot;&lt;br /&gt;
 set ::SLICERLIBCURL_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# [http://www.cmake.org CMake]&lt;br /&gt;
# [http://www.tcl.tk Tcl/Tk (8.4 or later)]&lt;br /&gt;
# [http://sourceforge.net/projects/incrtcl/ incrTcl (3.2.1)]&lt;br /&gt;
# [http://www.vtk.org VTK]&lt;br /&gt;
# [http://www.itk.org ITK]&lt;br /&gt;
# [http://www.kwwidgets.org KWWidgets]&lt;br /&gt;
# [http://teem.sf.net Teem]&lt;br /&gt;
# [http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl/ SlicerLibCurl]&lt;br /&gt;
&lt;br /&gt;
== Build Steps ==&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.vtk.org:/cvsroot/VTK co VTK -r VTK-5-2&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.itk.org:/cvsroot/Insight co Insight -r ITK-3-8&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets co KWWidgets&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl cmcurl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure and build ITK ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON    (optional)&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
* ITK_USE_REVIEW ON&lt;br /&gt;
* ITK_USE_OPTIMIZED_REGISTRATION_METHODS ON&lt;br /&gt;
* ITK_USE_TRANSFORM_IO_FACTORIES ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build VTK ===&lt;br /&gt;
&lt;br /&gt;
* All systems:&lt;br /&gt;
** BUILD_SHARED_LIBS ON&lt;br /&gt;
** CMAKE_SKIP_RPATH ON&lt;br /&gt;
** VTK_WRAP_TCL ON&lt;br /&gt;
** VTK_DEBUG_LEAKS ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MacOSX specific (Make sure to install [http://www.apple.com/downloads/macosx/apple/x11formacosx.html X11]):&lt;br /&gt;
** VTK_USE_CARBON OFF&lt;br /&gt;
** VTK_USE_X ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note, those options '''should not''' appear, since they disapear since VTK5:&lt;br /&gt;
** VTK_USE_HYBRID ON&lt;br /&gt;
** VTK_USE_PATENTED ON&lt;br /&gt;
&lt;br /&gt;
* Make sure that the TCL and TK path are set properly&lt;br /&gt;
** TCL_* and TK_*&lt;br /&gt;
&lt;br /&gt;
=== Configure and build KWWidgets ===&lt;br /&gt;
&lt;br /&gt;
* You need to specify where your VTK build tree is.&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build curl ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS OFF&lt;br /&gt;
&lt;br /&gt;
== Build and Run Slicer3 ==&lt;br /&gt;
&lt;br /&gt;
=== Manually ===&lt;br /&gt;
&lt;br /&gt;
# Check out and build slicer3 (e.g. on linux)&lt;br /&gt;
&lt;br /&gt;
  svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
  mkdir Slicer3-build&lt;br /&gt;
  cd Slicer3-build&lt;br /&gt;
  ccmake ../Slicer3&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Again make sure to turn:&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Start slicer with the Slicer3 executable in your build directory.&lt;br /&gt;
&lt;br /&gt;
= SBuild =&lt;br /&gt;
SBuild is a new, experimental build system for Slicer.  It is based on getbuildtest2.tcl and genlib2.tcl, but rather than try to hid the gory details of building Slicer, SBuild attempts to expose a reasonable amount to the developer.  The interface should be reasonably intuitive, but a brief walk through is useful.  Click on the thumbnails for larger views.  SBuild allows you to update and build just the portions of Slicer that you may require or want to build.  Any of the required libraries may be specified to be build by SBuild, or to use an existing build.  Existing libraries are not controlled by SBuild.  Under the hood, SBuild calls CMake to do the heavy lifting, just like getbuildtest2.tcl.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
{|&lt;br /&gt;
|+ SBuild screenshots&lt;br /&gt;
|-&lt;br /&gt;
| [[image:SBuild-MainWindow.png|center|250px|Main SBuild Window]] || [[image:SBuild-RequiredWindow.png|center|250px|Required libraries]] &lt;br /&gt;
||[[image:SBuild-AllExternal.png|center|250px|SBuild configured for all external builds]]  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Configure the &amp;quot;Slicer Source Directory&amp;quot; by clicking on the &amp;quot;...&amp;quot; button, or typing a path to where you would like Slicer source saved&lt;br /&gt;
## Configure the &amp;quot;Slicer Build Directory&amp;quot; and &amp;quot;Slicer Library Directory&amp;quot; in the same fashion&lt;br /&gt;
# (Optional:) Switch to the &amp;quot;Required Libs&amp;quot; tab&lt;br /&gt;
## Configure any of the external builds that you may have by clicking on the checkbox next to the &amp;quot;Use external build&amp;quot; label&lt;br /&gt;
## When prompted, find the external build directory&lt;br /&gt;
## Note: SBuild looks for specific files inside the directory you choose, if not found you will be warned.  In this case, choose better.&lt;br /&gt;
## Any of the required libraries may be Updated, Configured, or Built from this tab.&lt;br /&gt;
# To build everything, go to the Slicer3 tab and click &amp;quot;All&amp;quot;&lt;br /&gt;
## Output of the build process should fly by.&lt;br /&gt;
&lt;br /&gt;
== Binary downloads ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:SBuild-darwin-ppc.gz| Mac OSX PPC (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-darwin-x86.gz| Mac OSX x86 (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-linux-x86.gz| Linux x86]]&lt;br /&gt;
* [[Media:SBuild-linux-x86_64.gz| Linux x86-64]]&lt;br /&gt;
* [[Media:SBuild-win32_exe.gz| Win32 (please properly rename it)]]&lt;br /&gt;
* [[Media:SBuild.kit.gz| Generic tclkit (any platform)]]&lt;br /&gt;
&lt;br /&gt;
== Adding new Libraries to SBuild ==&lt;br /&gt;
The default package of SBuild contains the minimal number of required libraries to build Slicer.  Currently no optional libraries are installed.  The procedure for providing an SBuild plugin is modestly complicated, but several good examples exist.  All plugins go in SBuild.vfs/lib/SBuildPlugins.  As an example, let's create a plugin called Mythical, contained in SBuild.vfs/lib/SBuildPlugins/Mythical.tcl.&lt;br /&gt;
&lt;br /&gt;
In the Slicer3/Scripts/SBuild directory, run '''./bootstrap run''' to run SBuild, and '''./bootstrap build''' to build the Tcl Starkits.&lt;br /&gt;
&lt;br /&gt;
The first section of Mythical.tcl provides some housekeeping details:&lt;br /&gt;
&lt;br /&gt;
 package provide SBuildPlugins 1.0 &lt;br /&gt;
 &lt;br /&gt;
 lappend ::SBuild(Plugins) Mythical &lt;br /&gt;
 &lt;br /&gt;
 set ::Plugin(Mythical,Type) &amp;quot;optional&amp;quot;&lt;br /&gt;
 set ::Plugin(Mythical,Order) 100&lt;br /&gt;
 set ::Plugin(Mythical,CanUseUserBuild) 1&lt;br /&gt;
&lt;br /&gt;
The Mythical plugin must append itself to ::SBuild(Plugins) to register, and declares itself optional, builds in order 100, and can use user provided builds.&lt;br /&gt;
&lt;br /&gt;
Each plugin must provide several Tcl procs to do various functions.  The naming convention is PluginName-Function-Architecture.  In this example PluginName is Mythical.  SBuild first looks for the -Architecture variant, and failing, calls the PluginName-Function.  For instance, Mythical-Update is the Tcl proc that updates the source for Mythical, while Mythical-Build-Windows is a specialization for Windows.  The important functions are: Update, Configure, Build, and ConfigureSlicer.  The ConfigureSlicer function may append a CMake argument to be used when Slicer is configured.  If external packages are allowed, the ConfigureExternal function is called.  ConfigureExternal usually looks for libraries and sets a LibPath to be used to configure Slicer.  Examples of these functions are shown below.&lt;br /&gt;
&lt;br /&gt;
 # Here is where we would add lines to the main Slicer3 configuration&lt;br /&gt;
 proc Mythical-Setup {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we setup for an external build&lt;br /&gt;
 proc Mythical-ConfigureExternal {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   set SBuild(Mythical,LibPath) [file dirname [FindFile $::SBuild(Mythical,ExternalBuildPath) [list libMythicalCommon* MythicalCommon*.lib MythicalCommon*.dll]]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Add a line to Slicer's CMake command&lt;br /&gt;
 proc Mythical-ConfigureSlicer {} {&lt;br /&gt;
   global Plugin SBuild Slicer&lt;br /&gt;
   set dir [file join $SBuild(SlicerLibDir) Insight-build]&lt;br /&gt;
   if { $SBuild(Mythical,UseExternalBuild) } {&lt;br /&gt;
     set dir $SBuild(Mythical,ExternalBuildPath)&lt;br /&gt;
   }&lt;br /&gt;
   Debug &amp;quot;setting Mythical_DIR to $dir&amp;quot;&lt;br /&gt;
   lappend Slicer(CMakeArguments) -DMythical_DIR:FILEPATH=$dir&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we update Mythical?&lt;br /&gt;
 proc Mythical-Update {} {&lt;br /&gt;
   Debug &amp;quot;Checking out Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Insight&lt;br /&gt;
   ExecuteCommand $SBuild(SVNCommand) co http://www.mythical.org/svn/Mythical/trunk Mythical&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Configure to build&lt;br /&gt;
 proc Mythical-Configure {} {&lt;br /&gt;
   Debug &amp;quot;Configure Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Mythical-build&lt;br /&gt;
   cd Mythical-build&lt;br /&gt;
   ExecuteCommand $SBuild(CMake) \&lt;br /&gt;
     -G$SBuild(Generator) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER:STRING=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER_FULLPATH:FILEPATH=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DBUILD_SHARED_LIBS:BOOL=ON \&lt;br /&gt;
     -DCMAKE_SKIP_RPATH:BOOL=ON \&lt;br /&gt;
     -DBUILD_EXAMPLES:BOOL=OFF \&lt;br /&gt;
     -DBUILD_TESTING:BOOL=OFF \&lt;br /&gt;
     -DCMAKE_BUILD_TYPE:STRING=$::SBuild(BuildType) \&lt;br /&gt;
     -DCMAKE_CXX_FLAGS_DEBUG:STRING=$::SBuild(CMakeCXXFlagsDebug) \&lt;br /&gt;
     ../Insight&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on windows?&lt;br /&gt;
 proc Mythical-Build-Windows {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   ExecuteCommand $SBuild(Make) Mythical.SLN /build  $SBuild(BuildType)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on other Makefile-based systems?&lt;br /&gt;
 proc Mythical-Build {} {&lt;br /&gt;
   Debug &amp;quot;Building Mythical&amp;quot;&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   eval ExecuteCommand $SBuild(Make) $SBuild(ParallelMake)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Clean up Mythical (nothing for the moment).&lt;br /&gt;
 proc Mythical-Clean {} {&lt;br /&gt;
   Debug &amp;quot;Cleaning Mythical&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [[Main_Page| Slicer Wiki Pages]]&lt;br /&gt;
* [[Slicer3::Eclipse | Howto integrate Slicer3 into Eclipse]]&lt;br /&gt;
&lt;br /&gt;
== Information on Free Microsoft C++ Compiler on Windows ==&lt;br /&gt;
To build with the free version of the windows compiler, follow the instructions [[Slicer3:Build_Instructions_Windows| here.]]&lt;br /&gt;
&lt;br /&gt;
As of April 11, 2008, this works with the slicer3 svn trunk.  You will need to manually install a newer version of cmake as part of the process described in the link above.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6657</id>
		<title>Slicer3:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6657"/>
		<updated>2008-11-19T12:59:58Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Configure and build ITK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= All-in-one Script to checkout and build Slicer3 =&lt;br /&gt;
&lt;br /&gt;
To compile and build Slicer3, you need a set of development packages installed on your machine: &lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_linux| pre-requisite material for Linux]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_windows| pre-requisite material for Windows]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_Apple_Mac_OS_X |pre-requisite material for Mac]]&lt;br /&gt;
&lt;br /&gt;
There's a script called getbuildtest.tcl that makes the support libraries (VTK, ITK, teem, etc) and also builds slicer and does a dashboard submission.  (Click [[Slicer3:getbuildtest | here for background on getbuildtest]] and the experimental getbuildtest2 version).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building the 3.2 release ==&lt;br /&gt;
&lt;br /&gt;
Just do the following two commands (see [[Slicer3:Build_Instructions#getbuildtest_on_windows|for windows users]] below):&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/branches/Slicer-3-2 Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
== Building the latest development version ==&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
Note: that a Slicer3-lib and Slicer3-build directory will be created for you. This is meant to be used to set up new machines and to run nightly testing of the full builds.&lt;br /&gt;
&lt;br /&gt;
To run (all platforms):&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3-build/Slicer3&lt;br /&gt;
&lt;br /&gt;
Note: the whole build environment takes about 8G of disk space.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Note also that getbuildtest will do an Experimental submission to the [http://www.cdash.org/CDash/index.php?project=Slicer3 Slicer3 dashboard]. If you want to use getbuildtest without submitting to the dashboard, you can set the test type to nothing with&lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl -t &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other options for the -t (--test-type) option are Nightly or Continuous (or any of the [http://www.cmake.org/Wiki/CMake_Testing_With_CTest CTest] options).&lt;br /&gt;
&lt;br /&gt;
== What does getbuildtest.tcl do? ==&lt;br /&gt;
&lt;br /&gt;
This script just automates the steps needed to build slicer.  What you end up with is a set of source and build directories that can either be further manipulated with getbuildtest or can be worked with normally.  That is, on windows you will have solution files that you can load in visual studio for debugging and further development.&lt;br /&gt;
&lt;br /&gt;
Specifically, getbuildtest does the following steps:&lt;br /&gt;
&lt;br /&gt;
* Refreshes Slicer3 svn&lt;br /&gt;
* Runs Scripts/genlib.tcl which does the following for each of the support libraries&lt;br /&gt;
** does a cvs/svn checkout/update&lt;br /&gt;
** runs cmake with the correct settings for use with Slicer3&lt;br /&gt;
** runs make (or developer studio) to build the libraries&lt;br /&gt;
* Runs cmake on Slicer3&lt;br /&gt;
* Builds Slicer3&lt;br /&gt;
* Runs ctest on Slicer3&lt;br /&gt;
* (optionally) Runs CPack on Slicer3&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
  usage: getbuildtest [options] [target]&lt;br /&gt;
    [target] is determined automatically if not specified&lt;br /&gt;
    [options] is one of the following:&lt;br /&gt;
     --help : prints this message and exits&lt;br /&gt;
     --clean : delete lib and build directories first&lt;br /&gt;
     -t --test-type : CTest test target&lt;br /&gt;
     --release : compile with optimization flags&lt;br /&gt;
     --update : does a cvs/svn update on each lib&lt;br /&gt;
     --pack : builds a distribution package (cpack)&lt;br /&gt;
&lt;br /&gt;
== Errors from getbuildtest ==&lt;br /&gt;
&lt;br /&gt;
You will need to have your firewall configured to allow access to cvs servers through port 2401. Also you need 8081 for submitting to the dashboard.&lt;br /&gt;
&lt;br /&gt;
Other errors might mean you don't have all the build tools (see next section).&lt;br /&gt;
&lt;br /&gt;
If you want to generate a log of the build process, you can use a command like the following:&lt;br /&gt;
&lt;br /&gt;
 # for csh/tcsh:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl |&amp;amp; tee build.log&lt;br /&gt;
or&lt;br /&gt;
 # for sh/bash:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl 2&amp;gt;&amp;amp;1 | tee build.log&lt;br /&gt;
&lt;br /&gt;
== Updating Your getbuildtest Build ==&lt;br /&gt;
&lt;br /&gt;
There are a few options:&lt;br /&gt;
&lt;br /&gt;
* you can re-run getbuildtest and it will update slicer3 and rebuild (just slicer3)&lt;br /&gt;
* you can add the --update option and all the libs will get a cvs/svn update and will rebuild if needed (good for tracking the development head of VTK/ITK/KWWidgets etc).&lt;br /&gt;
* you can just 'svn update' in the Slicer3 directory and then do 'make' in the Slicer3-build to get just the latest Slicer3 code.&lt;br /&gt;
&lt;br /&gt;
The following command for unix machines will update, build, and launch the latest Slicer3:&lt;br /&gt;
&lt;br /&gt;
 svn update &amp;amp;&amp;amp; (cd ../Slicer3-build; make &amp;amp;&amp;amp; ./bin/Slicer3)&lt;br /&gt;
&lt;br /&gt;
Note that on Windows you can also use the CMakeSetup.exe interface to CMake and then use Microsoft Visual Studio for debugging.  You can use a command like the following in a cygwin shell to use the slicer launcher to start up visual studio with the correct environment to find the .dll files needed for debugging.&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3.exe --launch c:/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/devenv.exe --detach Slicer3.sln&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on linux ==&lt;br /&gt;
&lt;br /&gt;
To compile Slicer3 and do development, be sure you have a complete set of development packages installed on your machine.  The exact packages vary by distribution, but include:&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libX11 &lt;br /&gt;
* libX11-devel (libX11-dev  on Ubuntu 7.04)&lt;br /&gt;
* libXt-devel (libXt-dev on Ubuntu)&lt;br /&gt;
* opengl/mesa (libgl1-mesa-dev on Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Ubuntu one line install:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install subversion cvs tcl8.4 gcc g++ libX11-dev libXt-dev libxext-dev libgl1-mesa-dev libncurses5-dev tcsh&lt;br /&gt;
&lt;br /&gt;
Also, be sure you have OpenGL and the GLX extension to X working.  To check the installation, it is usually enough to confirm that the command &amp;lt;pre&amp;gt;glxgears&amp;lt;/pre&amp;gt; runs with no errors.&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on windows ==&lt;br /&gt;
&lt;br /&gt;
The script should work fine on a properly configured windows environment. Current requirements are:&lt;br /&gt;
&lt;br /&gt;
* Developer Studio 8 2005 &lt;br /&gt;
** For Developer Studio 9.0 2008 Visual C++ Express which is free from Microsoft [[Slicer3:Build_Instructions#Information_on_Free_Microsoft_C.2B.2B_Compiler_on_Windows|see below]].&lt;br /&gt;
** Be sure to install any service packs for Visual C++.&lt;br /&gt;
** Older releases of visual studio are not tested and may not work (2003, 7, and 7.1)&lt;br /&gt;
** If they are installed in the default locations in &amp;quot;c:/Program Files&amp;quot; they will be detected by the build script automatically (you need to edit slicer_variables.tcl to point to the installation).&lt;br /&gt;
* [http://www.cygwin.com Cygwin] with the following packages&lt;br /&gt;
** tcltk&lt;br /&gt;
** svn&lt;br /&gt;
** cvs&lt;br /&gt;
** unzip&lt;br /&gt;
** curl&lt;br /&gt;
* With Developers Studio and cygwin installed, you only need to do the svn checkout and getbuildtest script to get a fully working Slicer3 plus all the tools you need to develop new code.&lt;br /&gt;
&lt;br /&gt;
Note: CMake and VTK will not work on a FAT formatted disk (use NTFS).&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on Apple Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
For Mac OS 10.4.10 install the following from the OS disks (not installed by default on new machines):&lt;br /&gt;
* Xcode Tools (OS Disk 1, default window)&lt;br /&gt;
* X11: also on OS Disk 1, but you need to scroll down and find the Optional Installs installer and select X11 under Applications. See [http://porting.openoffice.org/mac/faq/installing/X11.html step-by-step instructions].&lt;br /&gt;
* X11SDK - from OS Disk 1, Xcode Tools/Packages/X11SDK.pkg&lt;br /&gt;
* Subversion.  Installation [http://downloads.open.collab.net/binaries.html options here].  Get the latest svn version for compatibility with the server and be sure your client includes SSL (so it can access https repositories).&lt;br /&gt;
&lt;br /&gt;
Remember to run getbuildtest from an xterm so the tests can access the X server.&lt;br /&gt;
&lt;br /&gt;
Note: The X11 application on Mac OSX 10.5.x (Leopard) crashes frequently.  This is a known issue that is still under investigation.&lt;br /&gt;
&lt;br /&gt;
== configuration options ==&lt;br /&gt;
&lt;br /&gt;
The file Slicer3/slicer_variables.tcl includes configuration options for which versions of support libraries to use.  You may want to change these for testing or to get access to new functionality.&lt;br /&gt;
&lt;br /&gt;
These flags control the versions of code pulled from external repositories:&lt;br /&gt;
&lt;br /&gt;
 set ::Slicer3_TAG &amp;quot;http://svn.slicer.org/Slicer3/trunk&amp;quot;&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;Slicer-3-2&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-6&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other libraries, such as Tcl/Tk, teem, and curl, together with windows binaries for CMake and Tcl/Tk are mirrored for efficiency at http://svn.slicer.org/Slicer3-lib-mirrors.&lt;br /&gt;
&lt;br /&gt;
For example, you may want a build against the ITK cvs head.  Change the flag value and then run &lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl --update &lt;br /&gt;
&lt;br /&gt;
which will get the version from cvs, build it, and rebuild slicer3.  Depending on how radically different the versions you build are, you may need to use the --clean option which will delete all build directories and rebuild.&lt;br /&gt;
&lt;br /&gt;
= Manual checkout/build of Slicer3 and support libraries: =&lt;br /&gt;
&lt;br /&gt;
Note: the getbuiltest script described above simply automates and systematizes a sequence of build operations that can be performed manually.  You may want to use the manual method if you are testing against different versions of VTK or ITK, or if you have existing build trees that you want to re-use.  ''Note that not all combinations of software versions and build flags are actively tested.  The following information may not be up to date as new code is added to the various repositories.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisite software ==&lt;br /&gt;
&lt;br /&gt;
You need to get and build the following packages if you aren't using the getbuildtest script.  The tags for all of the versions we are currently using can be found in the file Slicer/slicer_variables.tcl, so if you are unsure, check there for the latest word on versions:&lt;br /&gt;
&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::Teem_TAG &amp;quot;Teem-1-9-0-patches&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-8&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
 set ::BLAS_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/BLAS&lt;br /&gt;
 set ::LAPACK_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/lapack-3.1.1&lt;br /&gt;
 set ::NUMPY_TAG &amp;quot;http://svn.scipy.org/svn/numpy/branches/1.1.x&amp;quot;&lt;br /&gt;
 set ::SCIPY_TAG &amp;quot;http://svn.scipy.org/svn/scipy/branches/0.6.x&amp;quot;&lt;br /&gt;
 set ::SLICERLIBCURL_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# [http://www.cmake.org CMake]&lt;br /&gt;
# [http://www.tcl.tk Tcl/Tk (8.4 or later)]&lt;br /&gt;
# [http://sourceforge.net/projects/incrtcl/ incrTcl (3.2.1)]&lt;br /&gt;
# [http://www.vtk.org VTK]&lt;br /&gt;
# [http://www.itk.org ITK]&lt;br /&gt;
# [http://www.kwwidgets.org KWWidgets]&lt;br /&gt;
# [http://teem.sf.net Teem]&lt;br /&gt;
# [http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl/ SlicerLibCurl]&lt;br /&gt;
&lt;br /&gt;
== Build Steps ==&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.vtk.org:/cvsroot/VTK co VTK -r VTK-5-2&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.itk.org:/cvsroot/Insight co Insight -r ITK-3-8&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets co KWWidgets&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl cmcurl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure and build ITK ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON    (optional)&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
* ITK_USE_REVIEW ON&lt;br /&gt;
* ITK_USE_OPTIMIZED_REGISTRATION_METHODS ON&lt;br /&gt;
* ITK_USE_ORIENTED_IMAGE_DIRECTION ON&lt;br /&gt;
* ITK_USE_TRANSFORM_IO_FACTORIES ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build VTK ===&lt;br /&gt;
&lt;br /&gt;
* All systems:&lt;br /&gt;
** BUILD_SHARED_LIBS ON&lt;br /&gt;
** CMAKE_SKIP_RPATH ON&lt;br /&gt;
** VTK_WRAP_TCL ON&lt;br /&gt;
** VTK_DEBUG_LEAKS ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MacOSX specific (Make sure to install [http://www.apple.com/downloads/macosx/apple/x11formacosx.html X11]):&lt;br /&gt;
** VTK_USE_CARBON OFF&lt;br /&gt;
** VTK_USE_X ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note, those options '''should not''' appear, since they disapear since VTK5:&lt;br /&gt;
** VTK_USE_HYBRID ON&lt;br /&gt;
** VTK_USE_PATENTED ON&lt;br /&gt;
&lt;br /&gt;
* Make sure that the TCL and TK path are set properly&lt;br /&gt;
** TCL_* and TK_*&lt;br /&gt;
&lt;br /&gt;
=== Configure and build KWWidgets ===&lt;br /&gt;
&lt;br /&gt;
* You need to specify where your VTK build tree is.&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build curl ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS OFF&lt;br /&gt;
&lt;br /&gt;
== Build and Run Slicer3 ==&lt;br /&gt;
&lt;br /&gt;
=== Manually ===&lt;br /&gt;
&lt;br /&gt;
# Check out and build slicer3 (e.g. on linux)&lt;br /&gt;
&lt;br /&gt;
  svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
  mkdir Slicer3-build&lt;br /&gt;
  cd Slicer3-build&lt;br /&gt;
  ccmake ../Slicer3&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Again make sure to turn:&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Start slicer with the Slicer3 executable in your build directory.&lt;br /&gt;
&lt;br /&gt;
= SBuild =&lt;br /&gt;
SBuild is a new, experimental build system for Slicer.  It is based on getbuildtest2.tcl and genlib2.tcl, but rather than try to hid the gory details of building Slicer, SBuild attempts to expose a reasonable amount to the developer.  The interface should be reasonably intuitive, but a brief walk through is useful.  Click on the thumbnails for larger views.  SBuild allows you to update and build just the portions of Slicer that you may require or want to build.  Any of the required libraries may be specified to be build by SBuild, or to use an existing build.  Existing libraries are not controlled by SBuild.  Under the hood, SBuild calls CMake to do the heavy lifting, just like getbuildtest2.tcl.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
{|&lt;br /&gt;
|+ SBuild screenshots&lt;br /&gt;
|-&lt;br /&gt;
| [[image:SBuild-MainWindow.png|center|250px|Main SBuild Window]] || [[image:SBuild-RequiredWindow.png|center|250px|Required libraries]] &lt;br /&gt;
||[[image:SBuild-AllExternal.png|center|250px|SBuild configured for all external builds]]  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Configure the &amp;quot;Slicer Source Directory&amp;quot; by clicking on the &amp;quot;...&amp;quot; button, or typing a path to where you would like Slicer source saved&lt;br /&gt;
## Configure the &amp;quot;Slicer Build Directory&amp;quot; and &amp;quot;Slicer Library Directory&amp;quot; in the same fashion&lt;br /&gt;
# (Optional:) Switch to the &amp;quot;Required Libs&amp;quot; tab&lt;br /&gt;
## Configure any of the external builds that you may have by clicking on the checkbox next to the &amp;quot;Use external build&amp;quot; label&lt;br /&gt;
## When prompted, find the external build directory&lt;br /&gt;
## Note: SBuild looks for specific files inside the directory you choose, if not found you will be warned.  In this case, choose better.&lt;br /&gt;
## Any of the required libraries may be Updated, Configured, or Built from this tab.&lt;br /&gt;
# To build everything, go to the Slicer3 tab and click &amp;quot;All&amp;quot;&lt;br /&gt;
## Output of the build process should fly by.&lt;br /&gt;
&lt;br /&gt;
== Binary downloads ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:SBuild-darwin-ppc.gz| Mac OSX PPC (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-darwin-x86.gz| Mac OSX x86 (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-linux-x86.gz| Linux x86]]&lt;br /&gt;
* [[Media:SBuild-linux-x86_64.gz| Linux x86-64]]&lt;br /&gt;
* [[Media:SBuild-win32_exe.gz| Win32 (please properly rename it)]]&lt;br /&gt;
* [[Media:SBuild.kit.gz| Generic tclkit (any platform)]]&lt;br /&gt;
&lt;br /&gt;
== Adding new Libraries to SBuild ==&lt;br /&gt;
The default package of SBuild contains the minimal number of required libraries to build Slicer.  Currently no optional libraries are installed.  The procedure for providing an SBuild plugin is modestly complicated, but several good examples exist.  All plugins go in SBuild.vfs/lib/SBuildPlugins.  As an example, let's create a plugin called Mythical, contained in SBuild.vfs/lib/SBuildPlugins/Mythical.tcl.&lt;br /&gt;
&lt;br /&gt;
In the Slicer3/Scripts/SBuild directory, run '''./bootstrap run''' to run SBuild, and '''./bootstrap build''' to build the Tcl Starkits.&lt;br /&gt;
&lt;br /&gt;
The first section of Mythical.tcl provides some housekeeping details:&lt;br /&gt;
&lt;br /&gt;
 package provide SBuildPlugins 1.0 &lt;br /&gt;
 &lt;br /&gt;
 lappend ::SBuild(Plugins) Mythical &lt;br /&gt;
 &lt;br /&gt;
 set ::Plugin(Mythical,Type) &amp;quot;optional&amp;quot;&lt;br /&gt;
 set ::Plugin(Mythical,Order) 100&lt;br /&gt;
 set ::Plugin(Mythical,CanUseUserBuild) 1&lt;br /&gt;
&lt;br /&gt;
The Mythical plugin must append itself to ::SBuild(Plugins) to register, and declares itself optional, builds in order 100, and can use user provided builds.&lt;br /&gt;
&lt;br /&gt;
Each plugin must provide several Tcl procs to do various functions.  The naming convention is PluginName-Function-Architecture.  In this example PluginName is Mythical.  SBuild first looks for the -Architecture variant, and failing, calls the PluginName-Function.  For instance, Mythical-Update is the Tcl proc that updates the source for Mythical, while Mythical-Build-Windows is a specialization for Windows.  The important functions are: Update, Configure, Build, and ConfigureSlicer.  The ConfigureSlicer function may append a CMake argument to be used when Slicer is configured.  If external packages are allowed, the ConfigureExternal function is called.  ConfigureExternal usually looks for libraries and sets a LibPath to be used to configure Slicer.  Examples of these functions are shown below.&lt;br /&gt;
&lt;br /&gt;
 # Here is where we would add lines to the main Slicer3 configuration&lt;br /&gt;
 proc Mythical-Setup {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we setup for an external build&lt;br /&gt;
 proc Mythical-ConfigureExternal {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   set SBuild(Mythical,LibPath) [file dirname [FindFile $::SBuild(Mythical,ExternalBuildPath) [list libMythicalCommon* MythicalCommon*.lib MythicalCommon*.dll]]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Add a line to Slicer's CMake command&lt;br /&gt;
 proc Mythical-ConfigureSlicer {} {&lt;br /&gt;
   global Plugin SBuild Slicer&lt;br /&gt;
   set dir [file join $SBuild(SlicerLibDir) Insight-build]&lt;br /&gt;
   if { $SBuild(Mythical,UseExternalBuild) } {&lt;br /&gt;
     set dir $SBuild(Mythical,ExternalBuildPath)&lt;br /&gt;
   }&lt;br /&gt;
   Debug &amp;quot;setting Mythical_DIR to $dir&amp;quot;&lt;br /&gt;
   lappend Slicer(CMakeArguments) -DMythical_DIR:FILEPATH=$dir&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we update Mythical?&lt;br /&gt;
 proc Mythical-Update {} {&lt;br /&gt;
   Debug &amp;quot;Checking out Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Insight&lt;br /&gt;
   ExecuteCommand $SBuild(SVNCommand) co http://www.mythical.org/svn/Mythical/trunk Mythical&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Configure to build&lt;br /&gt;
 proc Mythical-Configure {} {&lt;br /&gt;
   Debug &amp;quot;Configure Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Mythical-build&lt;br /&gt;
   cd Mythical-build&lt;br /&gt;
   ExecuteCommand $SBuild(CMake) \&lt;br /&gt;
     -G$SBuild(Generator) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER:STRING=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER_FULLPATH:FILEPATH=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DBUILD_SHARED_LIBS:BOOL=ON \&lt;br /&gt;
     -DCMAKE_SKIP_RPATH:BOOL=ON \&lt;br /&gt;
     -DBUILD_EXAMPLES:BOOL=OFF \&lt;br /&gt;
     -DBUILD_TESTING:BOOL=OFF \&lt;br /&gt;
     -DCMAKE_BUILD_TYPE:STRING=$::SBuild(BuildType) \&lt;br /&gt;
     -DCMAKE_CXX_FLAGS_DEBUG:STRING=$::SBuild(CMakeCXXFlagsDebug) \&lt;br /&gt;
     ../Insight&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on windows?&lt;br /&gt;
 proc Mythical-Build-Windows {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   ExecuteCommand $SBuild(Make) Mythical.SLN /build  $SBuild(BuildType)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on other Makefile-based systems?&lt;br /&gt;
 proc Mythical-Build {} {&lt;br /&gt;
   Debug &amp;quot;Building Mythical&amp;quot;&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   eval ExecuteCommand $SBuild(Make) $SBuild(ParallelMake)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Clean up Mythical (nothing for the moment).&lt;br /&gt;
 proc Mythical-Clean {} {&lt;br /&gt;
   Debug &amp;quot;Cleaning Mythical&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [[Main_Page| Slicer Wiki Pages]]&lt;br /&gt;
* [[Slicer3::Eclipse | Howto integrate Slicer3 into Eclipse]]&lt;br /&gt;
&lt;br /&gt;
== Information on Free Microsoft C++ Compiler on Windows ==&lt;br /&gt;
To build with the free version of the windows compiler, follow the instructions [[Slicer3:Build_Instructions_Windows| here.]]&lt;br /&gt;
&lt;br /&gt;
As of April 11, 2008, this works with the slicer3 svn trunk.  You will need to manually install a newer version of cmake as part of the process described in the link above.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6656</id>
		<title>Slicer3:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Build_Instructions&amp;diff=6656"/>
		<updated>2008-11-19T12:59:28Z</updated>

		<summary type="html">&lt;p&gt;Aylward: /* Configure and build ITK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= All-in-one Script to checkout and build Slicer3 =&lt;br /&gt;
&lt;br /&gt;
To compile and build Slicer3, you need a set of development packages installed on your machine: &lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_linux| pre-requisite material for Linux]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_windows| pre-requisite material for Windows]]&lt;br /&gt;
* [[Slicer3:Build_Instructions#getbuildtest_on_Apple_Mac_OS_X |pre-requisite material for Mac]]&lt;br /&gt;
&lt;br /&gt;
There's a script called getbuildtest.tcl that makes the support libraries (VTK, ITK, teem, etc) and also builds slicer and does a dashboard submission.  (Click [[Slicer3:getbuildtest | here for background on getbuildtest]] and the experimental getbuildtest2 version).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building the 3.2 release ==&lt;br /&gt;
&lt;br /&gt;
Just do the following two commands (see [[Slicer3:Build_Instructions#getbuildtest_on_windows|for windows users]] below):&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/branches/Slicer-3-2 Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
== Building the latest development version ==&lt;br /&gt;
&lt;br /&gt;
   svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 &lt;br /&gt;
   ./Slicer3/Scripts/getbuildtest.tcl&lt;br /&gt;
&lt;br /&gt;
Note: that a Slicer3-lib and Slicer3-build directory will be created for you. This is meant to be used to set up new machines and to run nightly testing of the full builds.&lt;br /&gt;
&lt;br /&gt;
To run (all platforms):&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3-build/Slicer3&lt;br /&gt;
&lt;br /&gt;
Note: the whole build environment takes about 8G of disk space.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
Note also that getbuildtest will do an Experimental submission to the [http://www.cdash.org/CDash/index.php?project=Slicer3 Slicer3 dashboard]. If you want to use getbuildtest without submitting to the dashboard, you can set the test type to nothing with&lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl -t &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other options for the -t (--test-type) option are Nightly or Continuous (or any of the [http://www.cmake.org/Wiki/CMake_Testing_With_CTest CTest] options).&lt;br /&gt;
&lt;br /&gt;
== What does getbuildtest.tcl do? ==&lt;br /&gt;
&lt;br /&gt;
This script just automates the steps needed to build slicer.  What you end up with is a set of source and build directories that can either be further manipulated with getbuildtest or can be worked with normally.  That is, on windows you will have solution files that you can load in visual studio for debugging and further development.&lt;br /&gt;
&lt;br /&gt;
Specifically, getbuildtest does the following steps:&lt;br /&gt;
&lt;br /&gt;
* Refreshes Slicer3 svn&lt;br /&gt;
* Runs Scripts/genlib.tcl which does the following for each of the support libraries&lt;br /&gt;
** does a cvs/svn checkout/update&lt;br /&gt;
** runs cmake with the correct settings for use with Slicer3&lt;br /&gt;
** runs make (or developer studio) to build the libraries&lt;br /&gt;
* Runs cmake on Slicer3&lt;br /&gt;
* Builds Slicer3&lt;br /&gt;
* Runs ctest on Slicer3&lt;br /&gt;
* (optionally) Runs CPack on Slicer3&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
  usage: getbuildtest [options] [target]&lt;br /&gt;
    [target] is determined automatically if not specified&lt;br /&gt;
    [options] is one of the following:&lt;br /&gt;
     --help : prints this message and exits&lt;br /&gt;
     --clean : delete lib and build directories first&lt;br /&gt;
     -t --test-type : CTest test target&lt;br /&gt;
     --release : compile with optimization flags&lt;br /&gt;
     --update : does a cvs/svn update on each lib&lt;br /&gt;
     --pack : builds a distribution package (cpack)&lt;br /&gt;
&lt;br /&gt;
== Errors from getbuildtest ==&lt;br /&gt;
&lt;br /&gt;
You will need to have your firewall configured to allow access to cvs servers through port 2401. Also you need 8081 for submitting to the dashboard.&lt;br /&gt;
&lt;br /&gt;
Other errors might mean you don't have all the build tools (see next section).&lt;br /&gt;
&lt;br /&gt;
If you want to generate a log of the build process, you can use a command like the following:&lt;br /&gt;
&lt;br /&gt;
 # for csh/tcsh:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl |&amp;amp; tee build.log&lt;br /&gt;
or&lt;br /&gt;
 # for sh/bash:&lt;br /&gt;
 ./Scripts/getbuildtest.tcl 2&amp;gt;&amp;amp;1 | tee build.log&lt;br /&gt;
&lt;br /&gt;
== Updating Your getbuildtest Build ==&lt;br /&gt;
&lt;br /&gt;
There are a few options:&lt;br /&gt;
&lt;br /&gt;
* you can re-run getbuildtest and it will update slicer3 and rebuild (just slicer3)&lt;br /&gt;
* you can add the --update option and all the libs will get a cvs/svn update and will rebuild if needed (good for tracking the development head of VTK/ITK/KWWidgets etc).&lt;br /&gt;
* you can just 'svn update' in the Slicer3 directory and then do 'make' in the Slicer3-build to get just the latest Slicer3 code.&lt;br /&gt;
&lt;br /&gt;
The following command for unix machines will update, build, and launch the latest Slicer3:&lt;br /&gt;
&lt;br /&gt;
 svn update &amp;amp;&amp;amp; (cd ../Slicer3-build; make &amp;amp;&amp;amp; ./bin/Slicer3)&lt;br /&gt;
&lt;br /&gt;
Note that on Windows you can also use the CMakeSetup.exe interface to CMake and then use Microsoft Visual Studio for debugging.  You can use a command like the following in a cygwin shell to use the slicer launcher to start up visual studio with the correct environment to find the .dll files needed for debugging.&lt;br /&gt;
&lt;br /&gt;
 ./Slicer3.exe --launch c:/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/devenv.exe --detach Slicer3.sln&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on linux ==&lt;br /&gt;
&lt;br /&gt;
To compile Slicer3 and do development, be sure you have a complete set of development packages installed on your machine.  The exact packages vary by distribution, but include:&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libX11 &lt;br /&gt;
* libX11-devel (libX11-dev  on Ubuntu 7.04)&lt;br /&gt;
* libXt-devel (libXt-dev on Ubuntu)&lt;br /&gt;
* opengl/mesa (libgl1-mesa-dev on Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Ubuntu one line install:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install subversion cvs tcl8.4 gcc g++ libX11-dev libXt-dev libxext-dev libgl1-mesa-dev libncurses5-dev tcsh&lt;br /&gt;
&lt;br /&gt;
Also, be sure you have OpenGL and the GLX extension to X working.  To check the installation, it is usually enough to confirm that the command &amp;lt;pre&amp;gt;glxgears&amp;lt;/pre&amp;gt; runs with no errors.&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on windows ==&lt;br /&gt;
&lt;br /&gt;
The script should work fine on a properly configured windows environment. Current requirements are:&lt;br /&gt;
&lt;br /&gt;
* Developer Studio 8 2005 &lt;br /&gt;
** For Developer Studio 9.0 2008 Visual C++ Express which is free from Microsoft [[Slicer3:Build_Instructions#Information_on_Free_Microsoft_C.2B.2B_Compiler_on_Windows|see below]].&lt;br /&gt;
** Be sure to install any service packs for Visual C++.&lt;br /&gt;
** Older releases of visual studio are not tested and may not work (2003, 7, and 7.1)&lt;br /&gt;
** If they are installed in the default locations in &amp;quot;c:/Program Files&amp;quot; they will be detected by the build script automatically (you need to edit slicer_variables.tcl to point to the installation).&lt;br /&gt;
* [http://www.cygwin.com Cygwin] with the following packages&lt;br /&gt;
** tcltk&lt;br /&gt;
** svn&lt;br /&gt;
** cvs&lt;br /&gt;
** unzip&lt;br /&gt;
** curl&lt;br /&gt;
* With Developers Studio and cygwin installed, you only need to do the svn checkout and getbuildtest script to get a fully working Slicer3 plus all the tools you need to develop new code.&lt;br /&gt;
&lt;br /&gt;
Note: CMake and VTK will not work on a FAT formatted disk (use NTFS).&lt;br /&gt;
&lt;br /&gt;
== getbuildtest on Apple Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
For Mac OS 10.4.10 install the following from the OS disks (not installed by default on new machines):&lt;br /&gt;
* Xcode Tools (OS Disk 1, default window)&lt;br /&gt;
* X11: also on OS Disk 1, but you need to scroll down and find the Optional Installs installer and select X11 under Applications. See [http://porting.openoffice.org/mac/faq/installing/X11.html step-by-step instructions].&lt;br /&gt;
* X11SDK - from OS Disk 1, Xcode Tools/Packages/X11SDK.pkg&lt;br /&gt;
* Subversion.  Installation [http://downloads.open.collab.net/binaries.html options here].  Get the latest svn version for compatibility with the server and be sure your client includes SSL (so it can access https repositories).&lt;br /&gt;
&lt;br /&gt;
Remember to run getbuildtest from an xterm so the tests can access the X server.&lt;br /&gt;
&lt;br /&gt;
Note: The X11 application on Mac OSX 10.5.x (Leopard) crashes frequently.  This is a known issue that is still under investigation.&lt;br /&gt;
&lt;br /&gt;
== configuration options ==&lt;br /&gt;
&lt;br /&gt;
The file Slicer3/slicer_variables.tcl includes configuration options for which versions of support libraries to use.  You may want to change these for testing or to get access to new functionality.&lt;br /&gt;
&lt;br /&gt;
These flags control the versions of code pulled from external repositories:&lt;br /&gt;
&lt;br /&gt;
 set ::Slicer3_TAG &amp;quot;http://svn.slicer.org/Slicer3/trunk&amp;quot;&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;Slicer-3-2&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-6&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Other libraries, such as Tcl/Tk, teem, and curl, together with windows binaries for CMake and Tcl/Tk are mirrored for efficiency at http://svn.slicer.org/Slicer3-lib-mirrors.&lt;br /&gt;
&lt;br /&gt;
For example, you may want a build against the ITK cvs head.  Change the flag value and then run &lt;br /&gt;
&lt;br /&gt;
 getbuildtest.tcl --update &lt;br /&gt;
&lt;br /&gt;
which will get the version from cvs, build it, and rebuild slicer3.  Depending on how radically different the versions you build are, you may need to use the --clean option which will delete all build directories and rebuild.&lt;br /&gt;
&lt;br /&gt;
= Manual checkout/build of Slicer3 and support libraries: =&lt;br /&gt;
&lt;br /&gt;
Note: the getbuiltest script described above simply automates and systematizes a sequence of build operations that can be performed manually.  You may want to use the manual method if you are testing against different versions of VTK or ITK, or if you have existing build trees that you want to re-use.  ''Note that not all combinations of software versions and build flags are actively tested.  The following information may not be up to date as new code is added to the various repositories.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisite software ==&lt;br /&gt;
&lt;br /&gt;
You need to get and build the following packages if you aren't using the getbuildtest script.  The tags for all of the versions we are currently using can be found in the file Slicer/slicer_variables.tcl, so if you are unsure, check there for the latest word on versions:&lt;br /&gt;
&lt;br /&gt;
 set ::CMAKE_TAG &amp;quot;CMake-2-6&amp;quot;&lt;br /&gt;
 set ::Teem_TAG &amp;quot;Teem-1-9-0-patches&amp;quot;&lt;br /&gt;
 set ::KWWidgets_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
 set ::VTK_TAG &amp;quot;VTK-5-2&amp;quot;&lt;br /&gt;
 set ::ITK_TAG ITK-3-8&lt;br /&gt;
 set ::PYTHON_TAG &amp;quot;http://svn.python.org/projects/python/branches/release25-maint&amp;quot;&lt;br /&gt;
 set ::BLAS_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/BLAS&lt;br /&gt;
 set ::LAPACK_TAG http://svn.slicer.org/Slicer3-lib-mirrors/trunk/netlib/lapack-3.1.1&lt;br /&gt;
 set ::NUMPY_TAG &amp;quot;http://svn.scipy.org/svn/numpy/branches/1.1.x&amp;quot;&lt;br /&gt;
 set ::SCIPY_TAG &amp;quot;http://svn.scipy.org/svn/scipy/branches/0.6.x&amp;quot;&lt;br /&gt;
 set ::SLICERLIBCURL_TAG &amp;quot;HEAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# [http://www.cmake.org CMake]&lt;br /&gt;
# [http://www.tcl.tk Tcl/Tk (8.4 or later)]&lt;br /&gt;
# [http://sourceforge.net/projects/incrtcl/ incrTcl (3.2.1)]&lt;br /&gt;
# [http://www.vtk.org VTK]&lt;br /&gt;
# [http://www.itk.org ITK]&lt;br /&gt;
# [http://www.kwwidgets.org KWWidgets]&lt;br /&gt;
# [http://teem.sf.net Teem]&lt;br /&gt;
# [http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl/ SlicerLibCurl]&lt;br /&gt;
&lt;br /&gt;
== Build Steps ==&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.vtk.org:/cvsroot/VTK co VTK -r VTK-5-2&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.itk.org:/cvsroot/Insight co Insight -r ITK-3-8&lt;br /&gt;
 $ cvs -d :pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets co KWWidgets&lt;br /&gt;
 $ svn co http://svn.slicer.org/Slicer3-lib-mirrors/trunk/cmcurl cmcurl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure and build ITK ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
* ITK_USE_REVIEW ON&lt;br /&gt;
* ITK_USE_OPTIMIZED_REGISTRATION_METHODS ON&lt;br /&gt;
* ITK_USE_ORIENTED_IMAGE_DIRECTION ON&lt;br /&gt;
* ITK_USE_TRANSFORM_IO_FACTORIES ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build VTK ===&lt;br /&gt;
&lt;br /&gt;
* All systems:&lt;br /&gt;
** BUILD_SHARED_LIBS ON&lt;br /&gt;
** CMAKE_SKIP_RPATH ON&lt;br /&gt;
** VTK_WRAP_TCL ON&lt;br /&gt;
** VTK_DEBUG_LEAKS ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MacOSX specific (Make sure to install [http://www.apple.com/downloads/macosx/apple/x11formacosx.html X11]):&lt;br /&gt;
** VTK_USE_CARBON OFF&lt;br /&gt;
** VTK_USE_X ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note, those options '''should not''' appear, since they disapear since VTK5:&lt;br /&gt;
** VTK_USE_HYBRID ON&lt;br /&gt;
** VTK_USE_PATENTED ON&lt;br /&gt;
&lt;br /&gt;
* Make sure that the TCL and TK path are set properly&lt;br /&gt;
** TCL_* and TK_*&lt;br /&gt;
&lt;br /&gt;
=== Configure and build KWWidgets ===&lt;br /&gt;
&lt;br /&gt;
* You need to specify where your VTK build tree is.&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
=== Configure and build curl ===&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS OFF&lt;br /&gt;
&lt;br /&gt;
== Build and Run Slicer3 ==&lt;br /&gt;
&lt;br /&gt;
=== Manually ===&lt;br /&gt;
&lt;br /&gt;
# Check out and build slicer3 (e.g. on linux)&lt;br /&gt;
&lt;br /&gt;
  svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
  mkdir Slicer3-build&lt;br /&gt;
  cd Slicer3-build&lt;br /&gt;
  ccmake ../Slicer3&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Again make sure to turn:&lt;br /&gt;
&lt;br /&gt;
* BUILD_SHARED_LIBS ON&lt;br /&gt;
* CMAKE_SKIP_RPATH ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Start slicer with the Slicer3 executable in your build directory.&lt;br /&gt;
&lt;br /&gt;
= SBuild =&lt;br /&gt;
SBuild is a new, experimental build system for Slicer.  It is based on getbuildtest2.tcl and genlib2.tcl, but rather than try to hid the gory details of building Slicer, SBuild attempts to expose a reasonable amount to the developer.  The interface should be reasonably intuitive, but a brief walk through is useful.  Click on the thumbnails for larger views.  SBuild allows you to update and build just the portions of Slicer that you may require or want to build.  Any of the required libraries may be specified to be build by SBuild, or to use an existing build.  Existing libraries are not controlled by SBuild.  Under the hood, SBuild calls CMake to do the heavy lifting, just like getbuildtest2.tcl.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
{|&lt;br /&gt;
|+ SBuild screenshots&lt;br /&gt;
|-&lt;br /&gt;
| [[image:SBuild-MainWindow.png|center|250px|Main SBuild Window]] || [[image:SBuild-RequiredWindow.png|center|250px|Required libraries]] &lt;br /&gt;
||[[image:SBuild-AllExternal.png|center|250px|SBuild configured for all external builds]]  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Configure the &amp;quot;Slicer Source Directory&amp;quot; by clicking on the &amp;quot;...&amp;quot; button, or typing a path to where you would like Slicer source saved&lt;br /&gt;
## Configure the &amp;quot;Slicer Build Directory&amp;quot; and &amp;quot;Slicer Library Directory&amp;quot; in the same fashion&lt;br /&gt;
# (Optional:) Switch to the &amp;quot;Required Libs&amp;quot; tab&lt;br /&gt;
## Configure any of the external builds that you may have by clicking on the checkbox next to the &amp;quot;Use external build&amp;quot; label&lt;br /&gt;
## When prompted, find the external build directory&lt;br /&gt;
## Note: SBuild looks for specific files inside the directory you choose, if not found you will be warned.  In this case, choose better.&lt;br /&gt;
## Any of the required libraries may be Updated, Configured, or Built from this tab.&lt;br /&gt;
# To build everything, go to the Slicer3 tab and click &amp;quot;All&amp;quot;&lt;br /&gt;
## Output of the build process should fly by.&lt;br /&gt;
&lt;br /&gt;
== Binary downloads ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:SBuild-darwin-ppc.gz| Mac OSX PPC (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-darwin-x86.gz| Mac OSX x86 (must use X11)]]&lt;br /&gt;
* [[Media:SBuild-linux-x86.gz| Linux x86]]&lt;br /&gt;
* [[Media:SBuild-linux-x86_64.gz| Linux x86-64]]&lt;br /&gt;
* [[Media:SBuild-win32_exe.gz| Win32 (please properly rename it)]]&lt;br /&gt;
* [[Media:SBuild.kit.gz| Generic tclkit (any platform)]]&lt;br /&gt;
&lt;br /&gt;
== Adding new Libraries to SBuild ==&lt;br /&gt;
The default package of SBuild contains the minimal number of required libraries to build Slicer.  Currently no optional libraries are installed.  The procedure for providing an SBuild plugin is modestly complicated, but several good examples exist.  All plugins go in SBuild.vfs/lib/SBuildPlugins.  As an example, let's create a plugin called Mythical, contained in SBuild.vfs/lib/SBuildPlugins/Mythical.tcl.&lt;br /&gt;
&lt;br /&gt;
In the Slicer3/Scripts/SBuild directory, run '''./bootstrap run''' to run SBuild, and '''./bootstrap build''' to build the Tcl Starkits.&lt;br /&gt;
&lt;br /&gt;
The first section of Mythical.tcl provides some housekeeping details:&lt;br /&gt;
&lt;br /&gt;
 package provide SBuildPlugins 1.0 &lt;br /&gt;
 &lt;br /&gt;
 lappend ::SBuild(Plugins) Mythical &lt;br /&gt;
 &lt;br /&gt;
 set ::Plugin(Mythical,Type) &amp;quot;optional&amp;quot;&lt;br /&gt;
 set ::Plugin(Mythical,Order) 100&lt;br /&gt;
 set ::Plugin(Mythical,CanUseUserBuild) 1&lt;br /&gt;
&lt;br /&gt;
The Mythical plugin must append itself to ::SBuild(Plugins) to register, and declares itself optional, builds in order 100, and can use user provided builds.&lt;br /&gt;
&lt;br /&gt;
Each plugin must provide several Tcl procs to do various functions.  The naming convention is PluginName-Function-Architecture.  In this example PluginName is Mythical.  SBuild first looks for the -Architecture variant, and failing, calls the PluginName-Function.  For instance, Mythical-Update is the Tcl proc that updates the source for Mythical, while Mythical-Build-Windows is a specialization for Windows.  The important functions are: Update, Configure, Build, and ConfigureSlicer.  The ConfigureSlicer function may append a CMake argument to be used when Slicer is configured.  If external packages are allowed, the ConfigureExternal function is called.  ConfigureExternal usually looks for libraries and sets a LibPath to be used to configure Slicer.  Examples of these functions are shown below.&lt;br /&gt;
&lt;br /&gt;
 # Here is where we would add lines to the main Slicer3 configuration&lt;br /&gt;
 proc Mythical-Setup {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we setup for an external build&lt;br /&gt;
 proc Mythical-ConfigureExternal {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   set SBuild(Mythical,LibPath) [file dirname [FindFile $::SBuild(Mythical,ExternalBuildPath) [list libMythicalCommon* MythicalCommon*.lib MythicalCommon*.dll]]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Add a line to Slicer's CMake command&lt;br /&gt;
 proc Mythical-ConfigureSlicer {} {&lt;br /&gt;
   global Plugin SBuild Slicer&lt;br /&gt;
   set dir [file join $SBuild(SlicerLibDir) Insight-build]&lt;br /&gt;
   if { $SBuild(Mythical,UseExternalBuild) } {&lt;br /&gt;
     set dir $SBuild(Mythical,ExternalBuildPath)&lt;br /&gt;
   }&lt;br /&gt;
   Debug &amp;quot;setting Mythical_DIR to $dir&amp;quot;&lt;br /&gt;
   lappend Slicer(CMakeArguments) -DMythical_DIR:FILEPATH=$dir&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we update Mythical?&lt;br /&gt;
 proc Mythical-Update {} {&lt;br /&gt;
   Debug &amp;quot;Checking out Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Insight&lt;br /&gt;
   ExecuteCommand $SBuild(SVNCommand) co http://www.mythical.org/svn/Mythical/trunk Mythical&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Configure to build&lt;br /&gt;
 proc Mythical-Configure {} {&lt;br /&gt;
   Debug &amp;quot;Configure Mythical&amp;quot;&lt;br /&gt;
   global SBuild Plugin&lt;br /&gt;
   file mkdir Mythical-build&lt;br /&gt;
   cd Mythical-build&lt;br /&gt;
   ExecuteCommand $SBuild(CMake) \&lt;br /&gt;
     -G$SBuild(Generator) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER:STRING=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DCMAKE_CXX_COMPILER_FULLPATH:FILEPATH=$::SBuild(CompilerPath)/$SBuild(Compiler) \&lt;br /&gt;
     -DBUILD_SHARED_LIBS:BOOL=ON \&lt;br /&gt;
     -DCMAKE_SKIP_RPATH:BOOL=ON \&lt;br /&gt;
     -DBUILD_EXAMPLES:BOOL=OFF \&lt;br /&gt;
     -DBUILD_TESTING:BOOL=OFF \&lt;br /&gt;
     -DCMAKE_BUILD_TYPE:STRING=$::SBuild(BuildType) \&lt;br /&gt;
     -DCMAKE_CXX_FLAGS_DEBUG:STRING=$::SBuild(CMakeCXXFlagsDebug) \&lt;br /&gt;
     ../Insight&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on windows?&lt;br /&gt;
 proc Mythical-Build-Windows {} {&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   ExecuteCommand $SBuild(Make) Mythical.SLN /build  $SBuild(BuildType)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # How do we build on other Makefile-based systems?&lt;br /&gt;
 proc Mythical-Build {} {&lt;br /&gt;
   Debug &amp;quot;Building Mythical&amp;quot;&lt;br /&gt;
   global SBuild&lt;br /&gt;
   cd Insight-build&lt;br /&gt;
   eval ExecuteCommand $SBuild(Make) $SBuild(ParallelMake)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Clean up Mythical (nothing for the moment).&lt;br /&gt;
 proc Mythical-Clean {} {&lt;br /&gt;
   Debug &amp;quot;Cleaning Mythical&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [[Main_Page| Slicer Wiki Pages]]&lt;br /&gt;
* [[Slicer3::Eclipse | Howto integrate Slicer3 into Eclipse]]&lt;br /&gt;
&lt;br /&gt;
== Information on Free Microsoft C++ Compiler on Windows ==&lt;br /&gt;
To build with the free version of the windows compiler, follow the instructions [[Slicer3:Build_Instructions_Windows| here.]]&lt;br /&gt;
&lt;br /&gt;
As of April 11, 2008, this works with the slicer3 svn trunk.  You will need to manually install a newer version of cmake as part of the process described in the link above.&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:RegisterImages-Debrecen-affine-setup-2008-07-30.png&amp;diff=5586</id>
		<title>File:RegisterImages-Debrecen-affine-setup-2008-07-30.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:RegisterImages-Debrecen-affine-setup-2008-07-30.png&amp;diff=5586"/>
		<updated>2008-07-31T00:10:40Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:RegisterImages-Debrecen-affine-results-2008-07-30.png&amp;diff=5585</id>
		<title>File:RegisterImages-Debrecen-affine-results-2008-07-30.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:RegisterImages-Debrecen-affine-results-2008-07-30.png&amp;diff=5585"/>
		<updated>2008-07-31T00:10:19Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5584</id>
		<title>Slicer3:LinearRegistrationUseCases</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5584"/>
		<updated>2008-07-31T00:09:57Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slicer 3 includes linear and nonlinear registration tools built as command line modules.  On this page we are working to collect a variety of example data sets which test the boundary cases in order to optimize the registration performance and accuracy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also [http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization#Algorithmic_Requirements_and_Use_Cases additional use cases collected for nonlinear registration optimization].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T2 to FA Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-FA-registration-slicer2-2008-04-08.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-fa-registration-2008-04-08.png|thumb|right|250px|Results using slicer3 as of 2008-04-07]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** [[media:T2 Aligned.nrrd|T2 Aligned Sagittal]] &lt;br /&gt;
** [[media:FA-slicer3-2008-04-08.nrrd| Rotated Axial]]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.998582 0.0548244 0.00874164 1.86596 &lt;br /&gt;
    -0.051956 0.957673 0.0339914 -12.8223 &lt;br /&gt;
    -0.00506141 -0.00847398 0.994165 16.2862 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-07&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T2 as fixed, FA as moving&lt;br /&gt;
** Create new output transform and output volume (no input transform)&lt;br /&gt;
** In data module drag FA volume under the newly calculated transform&lt;br /&gt;
** In Transform Module select the output transform and click Invert&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-07&lt;br /&gt;
** Output volume appears to be all 0&lt;br /&gt;
** Output transform looks correct, see image to the right.&lt;br /&gt;
&lt;br /&gt;
 0.924175 0.0524361 0.0617505 -0.457981 &lt;br /&gt;
 0.0453017 0.99089 0.0283234 -8.79902 &lt;br /&gt;
 -0.0525653 -0.0657896 1.11031 18.5389 &lt;br /&gt;
 -0 0 -0 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Results 2008-07-30&lt;br /&gt;
** Using RegisterImages module&lt;br /&gt;
** Using Default parameters, see below (left)&lt;br /&gt;
** Output volume looks correct, see below (right)&lt;br /&gt;
** Output transform looks correct&lt;br /&gt;
 1.0094 -0.0573823 -0.000750058 &lt;br /&gt;
 0.0351927 1.06887 0.0810613 &lt;br /&gt;
 0.00242838 -0.0205891 0.991571 &lt;br /&gt;
 3.20002 -15.8546 -16.3295&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]]&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T1 to Average Gradient Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Debrecen-slicer2-affine.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Derecen-slicer3-affine.png|thumb|right|250px|Results using slicer3 as of 2008-04-10]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** Provided by András Jakab, University of Debrecen Medical School and Health Science Center&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/extract_brain_3dt1_manual_volume.nrrd Manual Volume]&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/AVGgradient.nrrd AVG gradient]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.950655 0.024335 0.0259082 0.857786 &lt;br /&gt;
    0.0086567 0.8889 -0.379321 -6.77365 &lt;br /&gt;
    -0.0395529 0.39257 0.835359 14.664 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-10&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T1 as fixed, Gradient as moving&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-10&lt;br /&gt;
** Cannot run due to sampling issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
itk::ExceptionObject (0x1990140)&lt;br /&gt;
Location: &amp;quot;void itk::MattesMutualInformationImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::GetValueAndDerivative(const typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::ParametersType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::MeasureType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::DerivativeType&amp;amp;) const [with TFixedImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;, TMovingImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;]&amp;quot; &lt;br /&gt;
File: /Users/pieper/slicer3/latest/Slicer3-lib/Insight/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx&lt;br /&gt;
Line: 1036&lt;br /&gt;
Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0x198d470): Too many samples map outside moving image buffer: 2481 / 10000&lt;br /&gt;
&lt;br /&gt;
ERROR: In /Users/pieper/slicer3/latest/Slicer3/Modules/CommandLineModule/vtkCommandLineModuleLogic.cxx, line 1326&lt;br /&gt;
vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results 2008-07-30&lt;br /&gt;
** Using RegisterImages module&lt;br /&gt;
** DO NOT USE DEFAULT PARAMETERS&lt;br /&gt;
*** One additional option must be set&lt;br /&gt;
*** The difficulty is that fixed image is much larger than the moving image.   As a result, too many random samples chosen from the fixed image will fall outside of the moving image, even when they are registered.   ITK (correctly or incorrectly, its arguable) throw an exception when this happens.  &lt;br /&gt;
*** To resolve this, the RegisterImages module has the option to limit the fixed image samples to the initial volume of overlap between the fixed and moving image.   This volume of overlap is computed only once, after the initial (center of mass, image centers, landmarks, or none) registration.&lt;br /&gt;
*** In the tab, &amp;quot;Advanced registration options&amp;quot; select &amp;quot;Sample from Overlap&amp;quot;&lt;br /&gt;
*** See below (left)&lt;br /&gt;
** Output volume looks correct, see below (right)&lt;br /&gt;
** Output transform looks correct&lt;br /&gt;
 0.984504 0.00242558 0.0181733&lt;br /&gt;
 0.00837315 0.921599 -0.432808&lt;br /&gt;
 -0.0215383 0.400563 0.942328&lt;br /&gt;
 -0.727524 -0.771725 -14.9462&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:RegisterImages-Debrecen-affine-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]]&lt;br /&gt;
| [[Image:RegisterImages-Debrecen-affine-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5583</id>
		<title>Slicer3:LinearRegistrationUseCases</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5583"/>
		<updated>2008-07-30T22:40:34Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slicer 3 includes linear and nonlinear registration tools built as command line modules.  On this page we are working to collect a variety of example data sets which test the boundary cases in order to optimize the registration performance and accuracy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also [http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization#Algorithmic_Requirements_and_Use_Cases additional use cases collected for nonlinear registration optimization].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T2 to FA Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-FA-registration-slicer2-2008-04-08.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-fa-registration-2008-04-08.png|thumb|right|250px|Results using slicer3 as of 2008-04-07]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** [[media:T2 Aligned.nrrd|T2 Aligned Sagittal]] &lt;br /&gt;
** [[media:FA-slicer3-2008-04-08.nrrd| Rotated Axial]]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.998582 0.0548244 0.00874164 1.86596 &lt;br /&gt;
    -0.051956 0.957673 0.0339914 -12.8223 &lt;br /&gt;
    -0.00506141 -0.00847398 0.994165 16.2862 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-07&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T2 as fixed, FA as moving&lt;br /&gt;
** Create new output transform and output volume (no input transform)&lt;br /&gt;
** In data module drag FA volume under the newly calculated transform&lt;br /&gt;
** In Transform Module select the output transform and click Invert&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-07&lt;br /&gt;
** Output volume appears to be all 0&lt;br /&gt;
** Output transform looks correct, see image to the right.&lt;br /&gt;
&lt;br /&gt;
 0.924175 0.0524361 0.0617505 -0.457981 &lt;br /&gt;
 0.0453017 0.99089 0.0283234 -8.79902 &lt;br /&gt;
 -0.0525653 -0.0657896 1.11031 18.5389 &lt;br /&gt;
 -0 0 -0 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Results 2008-07-30&lt;br /&gt;
** Using RegisterImages module&lt;br /&gt;
** Using Default parameters, see below (left)&lt;br /&gt;
** Output volume looks correct, see below (right)&lt;br /&gt;
** Output transform looks correct&lt;br /&gt;
 1.0094 -0.0573823 -0.000750058 &lt;br /&gt;
 0.0351927 1.06887 0.0810613 &lt;br /&gt;
 0.00242838 -0.0205891 0.991571 &lt;br /&gt;
 3.20002 -15.8546 -16.3295&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]]&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T1 to Average Gradient Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Debrecen-slicer2-affine.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Derecen-slicer3-affine.png|thumb|right|250px|Results using slicer3 as of 2008-04-10]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** Provided by András Jakab, University of Debrecen Medical School and Health Science Center&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/extract_brain_3dt1_manual_volume.nrrd Manual Volume]&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/AVGgradient.nrrd AVG gradient]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.950655 0.024335 0.0259082 0.857786 &lt;br /&gt;
    0.0086567 0.8889 -0.379321 -6.77365 &lt;br /&gt;
    -0.0395529 0.39257 0.835359 14.664 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-10&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T1 as fixed, Gradient as moving&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-10&lt;br /&gt;
** Cannot run due to sampling issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
itk::ExceptionObject (0x1990140)&lt;br /&gt;
Location: &amp;quot;void itk::MattesMutualInformationImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::GetValueAndDerivative(const typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::ParametersType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::MeasureType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::DerivativeType&amp;amp;) const [with TFixedImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;, TMovingImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;]&amp;quot; &lt;br /&gt;
File: /Users/pieper/slicer3/latest/Slicer3-lib/Insight/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx&lt;br /&gt;
Line: 1036&lt;br /&gt;
Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0x198d470): Too many samples map outside moving image buffer: 2481 / 10000&lt;br /&gt;
&lt;br /&gt;
ERROR: In /Users/pieper/slicer3/latest/Slicer3/Modules/CommandLineModule/vtkCommandLineModuleLogic.cxx, line 1326&lt;br /&gt;
vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results 2008-07-30&lt;br /&gt;
** Using RegisterImages module&lt;br /&gt;
** DO NOT USE DEFAULT PARAMETERS&lt;br /&gt;
*** The difficulty is that fixed image is much larger than the moving image.   As a result, too many random samples chosen from the fixed image will fall outside of the moving image, even when they are registered.   The RegisterImages module has the option to limit the fixed image samples to the volume of overlap between the fixed and moving image.   This volume of overlap is computed only once, after the initial (center of mass, image centers, landmarks, or none) registration.&lt;br /&gt;
*** In the tab, &amp;quot;Advanced registration options&amp;quot; select &amp;quot;Use Overlap as ROI&amp;quot;&lt;br /&gt;
** Output volume looks correct, see below (right)&lt;br /&gt;
** Output transform looks correct&lt;br /&gt;
 1.0094 -0.0573823 -0.000750058 &lt;br /&gt;
 0.0351927 1.06887 0.0810613 &lt;br /&gt;
 0.00242838 -0.0205891 0.991571 &lt;br /&gt;
 3.20002 -15.8546 -16.3295&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]]&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5543</id>
		<title>Slicer3:LinearRegistrationUseCases</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:LinearRegistrationUseCases&amp;diff=5543"/>
		<updated>2008-07-30T11:10:59Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slicer 3 includes linear and nonlinear registration tools built as command line modules.  On this page we are working to collect a variety of example data sets which test the boundary cases in order to optimize the registration performance and accuracy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also [http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization#Algorithmic_Requirements_and_Use_Cases additional use cases collected for nonlinear registration optimization].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T2 to FA Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-FA-registration-slicer2-2008-04-08.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:T2-fa-registration-2008-04-08.png|thumb|right|250px|Results using slicer3 as of 2008-04-07]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** [[media:T2 Aligned.nrrd|T2 Aligned Sagittal]] &lt;br /&gt;
** [[media:FA-slicer3-2008-04-08.nrrd| Rotated Axial]]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.998582 0.0548244 0.00874164 1.86596 &lt;br /&gt;
    -0.051956 0.957673 0.0339914 -12.8223 &lt;br /&gt;
    -0.00506141 -0.00847398 0.994165 16.2862 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-07&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T2 as fixed, FA as moving&lt;br /&gt;
** Create new output transform and output volume (no input transform)&lt;br /&gt;
** In data module drag FA volume under the newly calculated transform&lt;br /&gt;
** In Transform Module select the output transform and click Invert&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-07&lt;br /&gt;
** Output volume appears to be all 0&lt;br /&gt;
** Output transform looks correct, see image to the right.&lt;br /&gt;
&lt;br /&gt;
 0.924175 0.0524361 0.0617505 -0.457981 &lt;br /&gt;
 0.0453017 0.99089 0.0283234 -8.79902 &lt;br /&gt;
 -0.0525653 -0.0657896 1.11031 18.5389 &lt;br /&gt;
 -0 0 -0 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Results 2008-07-30&lt;br /&gt;
** Using RegisterImages module&lt;br /&gt;
** Using Default parameters, see below (left)&lt;br /&gt;
** Output volume looks correct, see below (right)&lt;br /&gt;
** Output transform looks correct&lt;br /&gt;
 1.0094 -0.0573823 -0.000750058 &lt;br /&gt;
 0.0351927 1.06887 0.0810613 &lt;br /&gt;
 0.00242838 -0.0205891 0.991571 &lt;br /&gt;
 3.20002 -15.8546 -16.3295&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]]&lt;br /&gt;
| [[Image:RegisterImages-T2-fa-registration-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= T1 to Average Gradient Affine Registration =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Debrecen-slicer2-affine.png|thumb|right|250px|Results using slicer2]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Derecen-slicer3-affine.png|thumb|right|250px|Results using slicer3 as of 2008-04-10]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Input Volumes&lt;br /&gt;
** Provided by András Jakab, University of Debrecen Medical School and Health Science Center&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/extract_brain_3dt1_manual_volume.nrrd Manual Volume]&lt;br /&gt;
**[http://cooler.underground.hu/docs/imaging/send/AVGgradient.nrrd AVG gradient]&lt;br /&gt;
&lt;br /&gt;
* Reference 'Gold Standard'&lt;br /&gt;
** Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)&lt;br /&gt;
** Result transform:&lt;br /&gt;
    0.950655 0.024335 0.0259082 0.857786 &lt;br /&gt;
    0.0086567 0.8889 -0.379321 -6.77365 &lt;br /&gt;
    -0.0395529 0.39257 0.835359 14.664 &lt;br /&gt;
    0 0 0 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software&lt;br /&gt;
** Slicer3 svn trunk 2008-04-10&lt;br /&gt;
&lt;br /&gt;
* Parameters&lt;br /&gt;
** Defaults&lt;br /&gt;
&lt;br /&gt;
* Method&lt;br /&gt;
** Use T1 as fixed, Gradient as moving&lt;br /&gt;
&lt;br /&gt;
* Results 2008-04-10&lt;br /&gt;
** Cannot run due to sampling issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
itk::ExceptionObject (0x1990140)&lt;br /&gt;
Location: &amp;quot;void itk::MattesMutualInformationImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::GetValueAndDerivative(const typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::ParametersType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::MeasureType&amp;amp;, typename itk::ImageToImageMetric&amp;lt;TFixedImage, TMovingImage&amp;gt;::DerivativeType&amp;amp;) const [with TFixedImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;, TMovingImage = itk::OrientedImage&amp;lt;short int, 3u&amp;gt;]&amp;quot; &lt;br /&gt;
File: /Users/pieper/slicer3/latest/Slicer3-lib/Insight/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx&lt;br /&gt;
Line: 1036&lt;br /&gt;
Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0x198d470): Too many samples map outside moving image buffer: 2481 / 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ERROR: In /Users/pieper/slicer3/latest/Slicer3/Modules/CommandLineModule/vtkCommandLineModuleLogic.cxx, line 1326&lt;br /&gt;
vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:RegisterImages-T2-fa-registration-results-2008-07-30.png&amp;diff=5542</id>
		<title>File:RegisterImages-T2-fa-registration-results-2008-07-30.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:RegisterImages-T2-fa-registration-results-2008-07-30.png&amp;diff=5542"/>
		<updated>2008-07-30T11:03:58Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=File:RegisterImages-T2-fa-registration-setup-2008-07-30.png&amp;diff=5541</id>
		<title>File:RegisterImages-T2-fa-registration-setup-2008-07-30.png</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=File:RegisterImages-T2-fa-registration-setup-2008-07-30.png&amp;diff=5541"/>
		<updated>2008-07-30T11:03:12Z</updated>

		<summary type="html">&lt;p&gt;Aylward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aylward</name></author>
		
	</entry>
</feed>