<?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=Finetjul</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=Finetjul"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/Finetjul"/>
	<updated>2026-06-03T02:48:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation&amp;diff=51468</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation&amp;diff=51468"/>
		<updated>2017-05-02T11:05:17Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Slicer 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{Infobox&lt;br /&gt;
|name         = 3D Slicer {{documentation/version}}&lt;br /&gt;
|above        = 3D Slicer&lt;br /&gt;
|abovestyle   = &lt;br /&gt;
&lt;br /&gt;
|image        = [[File:3DSlicer41Logo-H-218X144.png|218px|alt=3D Slicer {{documentation/version}}]]&lt;br /&gt;
|imagestyle   = &lt;br /&gt;
|headerstyle  = background:#E7DCC3;&lt;br /&gt;
|labelstyle   = &lt;br /&gt;
|datastyle    = &lt;br /&gt;
&lt;br /&gt;
|header1 = Description&lt;br /&gt;
|label1  = &lt;br /&gt;
|data1   =&lt;br /&gt;
|header2 =&lt;br /&gt;
|label2  = &lt;br /&gt;
|data2   = Research platform for the analysis and visualization of medical images, including image guided therapy.&lt;br /&gt;
|header3 =&lt;br /&gt;
|label3  = &lt;br /&gt;
|data3   = Free and extensible open source package.&lt;br /&gt;
|header4 =&lt;br /&gt;
|label4  = Multi-platform&lt;br /&gt;
|data4   = Linux, MacOSX, Windows&lt;br /&gt;
|header5 =&lt;br /&gt;
|label5  = Version&lt;br /&gt;
|data5   = {{documentation/currentversion}}&lt;br /&gt;
|header6 =&lt;br /&gt;
|label6  = License&lt;br /&gt;
|data6   = [http://www.slicer.org/pages/LicenseText Contribution and Software License Agreement]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Slicer 4 ==&lt;br /&gt;
* [[Documentation/Nightly|Nightly]]&lt;br /&gt;
&amp;lt;!-- NEXT RELEASE --&amp;gt;&lt;br /&gt;
* [[Documentation/4.6|4.6]] / [[Documentation/4.6/ReleaseNotes|Release notes]] / [[Documentation/4.6/Announcements | Announcement]] / [[Documentation/4.6/Acknowledgments | Acknowledgments]]&lt;br /&gt;
* [[Documentation/4.5|4.5]] / [[Documentation/4.5/ReleaseNotes|Release notes]] / [[Documentation/4.5/Announcements | Announcement]] / [[Documentation/4.5/Acknowledgments | Acknowledgments]]&lt;br /&gt;
* [[Documentation/4.4|4.4]] / [[Documentation/4.4/ReleaseNotes|Release notes]] / [[Documentation/4.4/Announcements | Announcement]] / [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 Acknowledgments] &lt;br /&gt;
* [[Documentation/4.3|4.3]] / [[Documentation/4.3/ReleaseNotes|Release notes]] / [[Documentation/4.3/Announcements | Announcement]] / [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 Acknowledgments] &lt;br /&gt;
* [[Documentation/4.2|4.2]] / [[Documentation/4.2/ReleaseNotes|Release notes]] / [[Documentation/4.2/Announcements | Announcement]] / [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 Acknowledgments] &lt;br /&gt;
* [[Documentation/4.1|4.1]] / [[Documentation/4.1/ReleaseNotes|Release notes]] / [[Documentation/4.1/Announcements | Announcement]] / [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 Acknowledgments] &lt;br /&gt;
* [[Documentation/4.0|4.0]] / [[Documentation/4.0/ReleaseNotes|Release notes]] / [[Documentation/4.0/Announcements | Announcement]] / [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 Acknowledgments]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#669&amp;quot;&amp;gt;&amp;lt;small&amp;gt;Acknowledgments are now reported separately for each version.&amp;lt;/small&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font color=&amp;quot;#669&amp;quot;&amp;gt;&amp;lt;small&amp;gt;The community contributing to Slicer 4 is acknowledged [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer_4 here]&amp;lt;/small&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slicer 3 ==&lt;br /&gt;
* [[Documentation/3.6|3.6]] / [[Documentation/3.6/ReleaseNotes|Release notes]] / [[Announcements:Slicer3.6 | Announcement]]&lt;br /&gt;
* [[Documentation/3.5|3.5]]&lt;br /&gt;
* [[Documentation/3.4|3.4]] / [[Documentation/3.4/ReleaseNotes|Release notes]] / [[Announcements:Slicer3.4 | Announcement]]&lt;br /&gt;
* [[Documentation/3.2|3.2]] / [[Documentation/3.2/ReleaseNotes|Release notes]] &lt;br /&gt;
&amp;lt;font color=&amp;quot;#669&amp;quot;&amp;gt;&amp;lt;small&amp;gt;The community contributing to Slicer 3 is acknowledged [http://www.slicer.org/pages/Acknowledgments#Acknowledgments_Slicer3 here]&amp;lt;/small&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slicer 2 ==&lt;br /&gt;
* [[Slicer:Slicer2.7_Getting_Started|2.7]] / [[Slicer:Slicer2.7_Release_Notes|Release notes]]&lt;br /&gt;
* [[Slicer:Slicer2.6_Getting_Started|2.6]] / [[Slicer:Slicer2.6_Release_Notes|Release notes]]&lt;br /&gt;
* [[Slicer:Slicer2.5_Getting_Started|2.5]] / [[Slicer:Slicer2.5_Release_Notes|Release notes]]&lt;br /&gt;
* [[Slicer:Slicer2.4_Getting_Started|2.4]] / [[Slicer:Slicer2.4_Release_Notes|Release notes]]&lt;br /&gt;
&amp;lt;font color=&amp;quot;#669&amp;quot;&amp;gt;&amp;lt;small&amp;gt;The community contributing to Slicer 2 is acknowledged [http://www.slicer.org/pages/Acknowledgments#Slicer2:_Individual.2FGroup_Contributors here]&amp;lt;/small&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slicer 1 ==&lt;br /&gt;
* [http://www.slicer.org/archives/download/index.html 1.3] / [http://massmail.spl.harvard.edu/public-archives/slicer-users/2002/000145.html Announcement]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Slicer4Announcement-HiRes.png|350px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Image:AppGUIMap.png|400px]]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/Editor/WatershedFromMarkers&amp;diff=50577</id>
		<title>Documentation/Nightly/Modules/Editor/WatershedFromMarkers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/Editor/WatershedFromMarkers&amp;diff=50577"/>
		<updated>2017-03-27T15:01:49Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{ambox&lt;br /&gt;
| type  = protection&lt;br /&gt;
| image = [[File:InProgress.png|40px|alt=Work in progress]]&lt;br /&gt;
| text  = WARNING: This module is Work in Progress, which means:&lt;br /&gt;
* the functionality provided by this module may change drastically in the future releases of 3D Slicer&lt;br /&gt;
* the scenes containing data types specific to this module may not be readable by the future versions of Slicer&lt;br /&gt;
* the functionality and user interface may change at any time&lt;br /&gt;
* some functionality may not work as intended&lt;br /&gt;
* testing and documentation is limited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
: '''Author(s)/Contributor(s):'''  Bradley Lowekamp (MSC/NLM), Steve Pieper(Isomics Inc.)&amp;lt;br&amp;gt;&lt;br /&gt;
: '''Acknowledgements:''' This work is supported by NLM, and the Slicer Community. &amp;lt;br&amp;gt;&lt;br /&gt;
: '''Contact:''' Bradley Lowekamp, &amp;lt;email&amp;gt;blowekamp@mail.nih.gov&amp;lt;/email&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|nlm}}|{{collaborator|longname|nlm}}&lt;br /&gt;
|{{collaborator|logo|namic}}|{{collaborator|longname|namic}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
Watershed from Markers is an edge based editing tool that detects edges and fills in a specific area based on the given outlines created in the label map. It is an effective way to segment features with robust outlines more efficiently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:step1_grayscale.png|thumb|Step 1: Tumor Gray Scale]]&lt;br /&gt;
|[[Image:step2_originallabel.png|thumb|Step 2: Original Label Map]]&lt;br /&gt;
|[[Image:step3_watershed.png|thumb|Step 3: Label Map after Watershed]]&lt;br /&gt;
|[[Image:step4_changelabelmap.png|thumb|Step 4: Label Map after Change Label effect]]&lt;br /&gt;
|[[Image:step5_leakedpixels.png|thumb|Step 5: Leaked Pixels]]&lt;br /&gt;
|[[Image:step6_finallabel.png|thumb|Step 6: Final Label Map]]&lt;br /&gt;
|}&lt;br /&gt;
# Use MRBrain Tumor Time Point 1 from Slicer's [[Documentation/{{documentation/version}}/Modules/SampleData|Sample Data]]. Scroll through the data and find a feature of interest, for example the tumor.&lt;br /&gt;
# With the [[Documentation/{{documentation/version}}/Modules/Editor#Paint|Paint]] tool, create an original label map as the input for the Watershed from Markers tool. Using one color, paint the tumor precisely. Watershed from Markers is an edge based algorithm and labeling pixels outside of the tumor outline will result in an inaccurate label map. In another color, outline the tumor and fill in part of the background. This can be done for one slide or multiple slides in which the tumor is visible. Labeling more slides will result in a more accurate watershed.&lt;br /&gt;
# After the Watershed from Markers is applied, the tumor will be represented by one color and the background will be represented by another color.&lt;br /&gt;
# Using the [[Documentation/{{documentation/version}}/Modules/Editor#Change Label|Change Label]] effect, change the background color to black.&lt;br /&gt;
# Once the background label has been changed, look through each slice for leaked pixels.&lt;br /&gt;
# To fix leaked pixels, use the [[Documentation/{{documentation/version}}/Modules/Editor#Paint|Paint]] tool to erase extra pixels from the label map. Another way to edit your label map is to apply the [[Documentation/{{documentation/version}}/Modules/Editor#Undo/Redo|Undo/Redo]] tools. Using the undo, the watershed can be undone and the original label map can be edited. The redo tool can reapply an updated version of the Watershed from Markers effect. After looking through each slice for leaked pixels, the label map should accurately represent your tumor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
N/A&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation:Nightly:Registration:RegistrationLibrary:RegLib_C03&amp;diff=46363</id>
		<title>Documentation:Nightly:Registration:RegistrationLibrary:RegLib C03</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation:Nightly:Registration:RegistrationLibrary:RegLib_C03&amp;diff=46363"/>
		<updated>2016-07-01T15:15:25Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Procedure */ Update parameter names  to Slicer 4.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Documentation/Nightly/Registration/RegistrationLibrary|Back to Registration Library]] &amp;lt;br&amp;gt;&lt;br /&gt;
=  Slicer Registration Library Case #3: Diffusion Weighted Image Volume: align with structural reference MRI=&lt;br /&gt;
== Input ==&lt;br /&gt;
{| style=&amp;quot;color:#bbbbbb; &amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|[[Image:RegLib_C03_thumb1.png|150px|left|this is the fixed T2 reference image. All images are aligned into this space]] &lt;br /&gt;
|[[Image:RegArrow_NonRigid.png|100px|left]] &lt;br /&gt;
|[[Image:RegLib_C03_thumb2.png|150px|left|this is the DTI Baseline scan, to be registered with the T2]]&lt;br /&gt;
|[[Image:RegLib_C03_thumb3.png|150px|left|this is the DTI tensor image, in the same orientation as the DTI Baseline]]&lt;br /&gt;
|-&lt;br /&gt;
|fixed image 1/target&amp;lt;br&amp;gt;T2&lt;br /&gt;
|&lt;br /&gt;
|moving image 2a&amp;lt;br&amp;gt;DTI baseline&lt;br /&gt;
|moving image 2b&amp;lt;br&amp;gt;DTI tensor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This is a simple case of diffusion MRI. Goal is to align the Diffusion Tensor Image (DTI) with the structural reference T2 scan that provides accuracte anatomical reference.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Approach''': we compute the registration transform using a scalar DTI_baseline scan and then apply this transform to the DTI tensor image. Because reorienting tensor data requires a different form of resampling, we must use a dedicated module for this purpose. Because DTI acquisitions tend to contain strong geometric distortions, we apply a nonrigid transform to the DTI, which makes resampling necessary.&lt;br /&gt;
&lt;br /&gt;
== Modules used ==&lt;br /&gt;
*[[Documentation/Nightly/Modules/BRAINSFit| ''General Registration (BRAINS)'']]&lt;br /&gt;
*[[Documentation/Nightly/Modules/ResampleDTI|''Resample DTI Volume'']]&lt;br /&gt;
&lt;br /&gt;
== Alternate Versions ==&lt;br /&gt;
*this example covers the most basic form of directly registering a DTI + baseline to a T2. There is another (more advanced) version that show how to address additional issues of a strong initial rotation and strong voxel-anisotropy for the raw DWI image acquired:&lt;br /&gt;
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationLibrary:RegLib_C03 for the Slicer '''4.1''' version of this case see here]&lt;br /&gt;
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationLibrary:RegLib_C03_v3 for the Slicer '''3.6.3''' version of this case see here]&lt;br /&gt;
&lt;br /&gt;
== Download (from NAMIC MIDAS) ==&lt;br /&gt;
&amp;lt;small&amp;gt;''Why 2 sets of files?  The &amp;quot;input data&amp;quot; mrb includes only the unregistered data to try the method yourself from start to finish. The full dataset includes intermediate files and results (transforms, resampled images etc.). If you use the full dataset we recommend to choose different names for the images/results you create yourself to distinguish the old data from the new one you generated yourself. ''&amp;lt;/small&amp;gt;&lt;br /&gt;
*[http://slicer.kitware.com/midas3/download/?items=95490 '''RegLib_C03.mrb''': input data only, use this to run the tutorial from the start &amp;lt;small&amp;gt;(Slicer mrb file. 50 MB). &amp;lt;/small&amp;gt;]&lt;br /&gt;
*[http://slicer.kitware.com/midas3/download/?items=95491 '''RegLib_C03_full.mrb''': includes raw data + all solutions and intermediate files, use to browse/verify &amp;lt;small&amp;gt;(Slicer mrb file. 108 MB). &amp;lt;/small&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== Keywords ==&lt;br /&gt;
MRI, brain, head, intra-subject, DTI, DWI&lt;br /&gt;
&lt;br /&gt;
== Video Screencasts ==&lt;br /&gt;
#[[Media:RegLib_C03_m01_RegisterDTI.mov|Movie/screencast showing registration+resampling for Case #03]]&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
This assumes you have the following: 1) a T2 reference image, 2) a DTI baseline image and  3) the DTI volume (both obtained from the  [http://www.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/DiffusionTensorEstimation Diffusion Tensor Estimation module]). If you do not have a baseline image, generate a scalar Trace image from the DTI, using the ''Diffusion Tensor Scalar Measurements'' module:&lt;br /&gt;
#'''Compute Registration''': open the [[Documentation/Nightly/Modules/BRAINSFit|''General Registration (BRAINS)'' module]]&lt;br /&gt;
##''Input Images: Fixed Image Volume'': T2&lt;br /&gt;
##''Input Images: Moving Image Volume'': DTI_baseline&lt;br /&gt;
##''Output Settings'': &lt;br /&gt;
###''Slicer BSpline Transform'' (create new transform, rename to: &amp;quot;Xf1_DTbase-T2_BSpline&amp;quot;)&lt;br /&gt;
###''Slicer Linear Transform'' none&lt;br /&gt;
###''Output Image Volume'' (create new volume, rename to: &amp;quot;DTIbaseline_Xf1&amp;quot;&lt;br /&gt;
##''Registration Phases'':  select/check ''Rigid'' , ''Rigid+Scale'', ''Affine'', ''BSpline''&lt;br /&gt;
##''Main Parameters'': &lt;br /&gt;
###increase ''Percentage of Samples'' to 0.006&lt;br /&gt;
###set  ''B-Spline Grid Size'' to 7,7,5 (we have lower resolution in the IS-direction (z), hence we set a smaller (5) grid size there)&lt;br /&gt;
##Leave all other settings at default&lt;br /&gt;
##click: ''Apply''; runtime &amp;lt; 1 min.&lt;br /&gt;
#'''Resample DTI:''' We have now computed the registration transform, but the output volume produced above is a registered version of the baseline, which we need for validation only. To get the actual DTI registered we now apply this transform to the tensor image.&lt;br /&gt;
##Open the [[Documentation/Nightly/Modules/ResampleDTIVolume|''Resample DTI Volume'']] module (found under: All Modules) (Do not resample a tensor image with other modules, this one must be used to correctly transform the tensor data)&lt;br /&gt;
###''Input Volume'': select DTI&lt;br /&gt;
###''Output Volume'': select ''create new Diffusion Tensor Volume'',and rename it to ''DTI_Xf1''&lt;br /&gt;
###''Reference Volume'': select ''T2''&lt;br /&gt;
###''Transform Parameters'': select transform node &amp;quot;Xf1_DTI-T2_BSpline&amp;quot;, for  ''Deformation Field'': none ; '''check the ''displacement'' checkbox'''&lt;br /&gt;
###Leave all other settings at defaults&lt;br /&gt;
###Click Apply; runtime ~ 2 min.&lt;br /&gt;
##set ''T2'' as background and new  ''DTI_Xf1'' volume as foreground&lt;br /&gt;
##fade between back- and foreground to see DTI overlay onto the T2 image. Note that you can also fade via holding the OPTION+CMD keys (mac) + dragging left mouse.&lt;br /&gt;
&lt;br /&gt;
==Registration Results==&lt;br /&gt;
&lt;br /&gt;
{|cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|[[Image:RegLib_C03_baseline_unregistered.gif|300px]] ||baseline &amp;amp; T2 before registration (click to enlarge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:RegLib_C03_baseline_registered.gif|300px]]||baseline to T2 after affine+nonrigid alignment (click to enlarge)&lt;br /&gt;
|- &lt;br /&gt;
|[[Image:RegLib_C03_DTI_registered.gif|300px]]||DTI and T2 before &amp;amp; after registration (click to enlarge)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Discussion: Key Strategies ==&lt;br /&gt;
*the strong EPI-based distortions of the DTI image make nonrigid registration necessary&lt;br /&gt;
*initial alignment &amp;amp; overlap is sufficient so that no &amp;quot;initialization&amp;quot; methods are necessary and registration can succeed without.&lt;br /&gt;
*contrast &amp;amp; initial pose are similar enough for registration to succeed without any masking. However the DTI estimation procedure '''does''' provide an optional mask that is usually very helpful in registering cases with more &amp;quot;distracting&amp;quot; image content.  &lt;br /&gt;
*the DTI in this example is isotropic and hence can be resampled directly. If the DTI contains strong anisotropy of ratios 1:3 or greater, reorienting the DTI can lead to strong artifacts (e.g. in axial direction appear as blue cast in the color orientation view). In that case it is necessary to resample the DWI in the original orientation to an isotropic size before reorienting. It may also be advisable to first reorient the DWI and perform the DTI estimation afterwards.&lt;br /&gt;
=== Acknowledgments ===&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=42681</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=42681"/>
		<updated>2015-09-13T19:35:53Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Qt 4.8.6 / VS2012 */ Add VS2013 patch&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;
* 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>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=40766</id>
		<title>Documentation/Nightly/Developers/Tutorials/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=40766"/>
		<updated>2015-01-23T10:34:57Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Add VTK object visibility troubleshooting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Here are some tips to narrow down various issues such as crash, or memory leaks&lt;br /&gt;
&lt;br /&gt;
=Disable features= &lt;br /&gt;
Try running Slicer with as few features as possible:&lt;br /&gt;
* Disable Slicer options via the command line&lt;br /&gt;
*: &amp;lt;pre&amp;gt;$ ./Slicer --no-splash --ignore-slicerrc --disable-cli-module --disable-loadable-module --disable-scriptedmodule&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Look at all the possible options&lt;br /&gt;
**: &amp;lt;pre&amp;gt;$ ./Slicer --help&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable ITK plugins&lt;br /&gt;
*: CLI modules silently load the ITK plugins in lib/Slicer-{{documentation/currentversion}}/ITKFactories. These plugins are used to share the volumes between Slicer and the ITK filter without having to copy them on disk. &lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/ITKFactories into lib/Slicer-{{documentation/currentversion}}/ITKFactories-disabled&lt;br /&gt;
* Disable Qt plugins&lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/iconengine into lib/Slicer-{{documentation/currentversion}}/iconengine-disabled&lt;br /&gt;
&lt;br /&gt;
=Track memory leaks=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Turn ON the VTK_DEBUG_LEAKS CMake variable and build Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create a test that reproduces the memory leak systematically &amp;lt;/li&amp;gt;&lt;br /&gt;
After execution, the memory leaks are printed automatically by VTK on the standard output:&lt;br /&gt;
 224: vtkDebugLeaks has detected LEAKS!&lt;br /&gt;
 224: Class &amp;quot;vtkProperty2D&amp;quot; has 60 instances still around.&lt;br /&gt;
 ...&lt;br /&gt;
Alternatively, you can simply run Slicer instead of a custom test.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find what specific instance of a class (here vtkProperty2D) leaks.&amp;lt;/li&amp;gt;&lt;br /&gt;
If the class is instantiated a large amount of time, it is hard to know what instance is leaking. By making verbose the constructor and destructor of the faulty class, you can infer which instance is leaking. Below are 2 techniques to print whenever the con/destructors are called:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;By recompiling VTK&amp;lt;/li&amp;gt;&lt;br /&gt;
You can edit the constructor and destructor of the class (here vtkProperty2D::vtkProperty2D() and vtkProperty2D::~vtkProperty2D())&lt;br /&gt;
 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;CREATE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;DELETE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
Don't forget to rebuild VTK if the class is from VTK (no need to build Slicer inner build)&lt;br /&gt;
After running the test, you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #2 0x0123A23&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #3 0x0124312&lt;br /&gt;
 ...&lt;br /&gt;
Copy/paste the listing in a text editor and ensure that for each CREATE of a pointer (e.g. 0x0123456) it exists a DELETE. If there isn't, you found what instance is leaking. Note the instance # (here instance #2 and #3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Without recompiling any library but using the debugger&amp;lt;/li&amp;gt;&lt;br /&gt;
Any debugger with advanced breakpoint controls should work.&lt;br /&gt;
* With Visual Studio&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set breakpoints in the class constructor and destructor methods.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right click on the breakpoint, select &amp;quot;When Hit...&amp;quot; and &amp;quot;Print a message&amp;quot; with &amp;quot;Function: $FUNCTION {this}&amp;quot;. Make sure the &amp;quot;Continue execution&amp;quot; checkbox is selected.&lt;br /&gt;
&amp;lt;li&amp;gt;Execute the test or Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the &amp;quot;Output&amp;quot; tab and copy paste the contents into an advanced file editor (not Visual Studio)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* With GDB&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start gdb&amp;lt;/li&amp;gt;&lt;br /&gt;
Using the launcher&lt;br /&gt;
 $ ./Slicer --gdb&lt;br /&gt;
Or sometimes the following works as well&lt;br /&gt;
 $ gdb ./bin/SlicerApp-real&lt;br /&gt;
&amp;lt;li&amp;gt;Place breakpoints in the functions&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 (gdb) break vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
gdb will stop in those methods each time the program steps into. It will then print a line such as:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x123456789) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
&amp;lt;li&amp;gt;Automatically continue execution after each break&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) commands 1&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
 (gdb) commands 2&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
&amp;lt;li&amp;gt; Start the execution and copy paste the logs printed by gdb into an advanced file editor (e.g. emacs)&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running the test(by recompiling or with debugger), you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
In an text editor, cleanup the logs by keeping only the &amp;quot;Breakpoint*&amp;quot; lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
&lt;br /&gt;
Save a copy of this file, and make the destructor lines similar to the constructor ones (using Replace tools):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Sort the file to make the constructor and destructor lines next to each other(emacs: M-x sort-lines, Notepad++: TextFX/TextFX Tools/Sort lines case sensitive):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Find the line that is not duplicated:&lt;br /&gt;
* Using Notepad++ (version &amp;gt;=6):&lt;br /&gt;
** Open the search dialog&lt;br /&gt;
** Find what: &amp;quot;^(.*?)$\s+?^(?=.*^\1$)&amp;quot;, Replace with: &amp;quot;dup &amp;quot;, toggle &amp;quot;Regular expression&amp;quot;&lt;br /&gt;
** Replace All&lt;br /&gt;
** The line without the &amp;quot;dup&amp;quot; prefix is the line we are looking for&lt;br /&gt;
* Using emacs:&lt;br /&gt;
** C-M-%&lt;br /&gt;
** Replace regexp: \(.*\)&amp;lt;type C-q C-j&amp;gt;\1&lt;br /&gt;
** with: dup&amp;lt;type C-q C-j&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract the instance address from the line: e.g. 0x0124312&lt;br /&gt;
&lt;br /&gt;
From the original logs, keep only the Constructor lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 &lt;br /&gt;
Search into the original saved file what line the address is: e.g. 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find the leaking instance at run-time&amp;lt;/li&amp;gt;&lt;br /&gt;
Run the test with the [[Documentation/4.0/Developers/Tutorials/Debug_Instructions|debugger]], set a breakpoint in the class constructor and ignore the break as many time as the instance number (say it's 2):&lt;br /&gt;
* GDB&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 Breakpoint 1 at 0x5b22d0e55d04296: file vtkProperty2D.cxx, line 22&lt;br /&gt;
 (gdb) ignore 1 2&lt;br /&gt;
 (gdb) run&lt;br /&gt;
When the debugger stops, check the call stack:&lt;br /&gt;
 (gdb) backtrace&lt;br /&gt;
*Visual Studio&lt;br /&gt;
**Set a breakpoint in vtkProperty2D::vtkProperty2D()&lt;br /&gt;
**Right click on the breakpoint and select HitCount, select &amp;quot;break when the hit count is equal to&amp;quot; and type '2'&lt;br /&gt;
**Start the application&lt;br /&gt;
By analyzing the trace, you should be able to find the faulty instance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the code to see where the leak could be&amp;lt;/li&amp;gt;&lt;br /&gt;
Here is a listing of the most common mistakes&lt;br /&gt;
* this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
** Is there a matching this-&amp;gt;MyXXX-&amp;gt;Delete() ?&lt;br /&gt;
** Are you sure &amp;lt;code&amp;gt;this-&amp;gt;MyXXX&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; before being assigned a new pointer ?  If not, then you need to add&lt;br /&gt;
 if (this-&amp;gt;MyXXX != 0)&lt;br /&gt;
   {&lt;br /&gt;
   this-&amp;gt;MyXXX-&amp;gt;Delete();&lt;br /&gt;
   this-&amp;gt;MyXXX = 0;&lt;br /&gt;
   }&lt;br /&gt;
  this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
{{ombox&lt;br /&gt;
|type=content&lt;br /&gt;
|text=To reduce memory leaks, use the following tools:&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkNew&amp;lt;vtkXXX&amp;gt; myXXX;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX = vtkSmartPointer&amp;lt;vtkXXX&amp;gt;::New()&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX; myXXX.TakeReference(this-&amp;gt;CreateObjAndCallerOwnsReference())&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Other resources==&lt;br /&gt;
* [[Slicer3:VTK_Leak_Debugging|Slicer3 VTK leak debugging]]&lt;br /&gt;
* [[Strategies_for_Writing_and_Debugging_Code_in_Slicer_3|Strategies for Writing and Debugging Code in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
=Track a crash while accessing already deleted object pointer=&lt;br /&gt;
If the application crashes by accessing an invalid pointer. The goal here is to find when (and why) the pointer is deleted before it is accessed .&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Before the crash, print the value of the pointer:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add before the crash (i.e. &amp;lt;code&amp;gt;this-&amp;gt;MyObject-&amp;gt;update()&amp;lt;/code&amp;gt;)&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object pointer: &amp;quot; &amp;lt;&amp;lt; this-&amp;gt;MyObject &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a counter in the destructor:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add in the object destructor (it can be in the base class (vtkObject or vtkMRMLNode) if you don't know the type):&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;#######Object Destructed: &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the application and make it crash.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the logs you shall see something like that:&amp;lt;/li&amp;gt;&lt;br /&gt;
 #######Object Destructed: 0x12345678 0&lt;br /&gt;
 #######Object Destructed: 0x12345679 1&lt;br /&gt;
 #######Object Destructed: 0x12345680 2&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345660&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345661&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345662&lt;br /&gt;
 #######Object Destructed: 0x12345660 3&lt;br /&gt;
 #######Object Destructed: 0x12345661 4&lt;br /&gt;
 #######Object Destructed: 0x12345662 5&lt;br /&gt;
 #######Object Destructed: 0x12345663 6&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345670&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345671&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345672&lt;br /&gt;
 #######Object Destructed: 0x12345660 7&lt;br /&gt;
 #######Object Destructed: 0x12345661 8&lt;br /&gt;
 #######Object Destructed: 0x12345662 9&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: '''0x12345663'''&lt;br /&gt;
 Segfault&lt;br /&gt;
&amp;lt;li&amp;gt; Search in the logs when the pointer before crash has been deleted. Set a conditional breakpoint in the debugger:&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break MyObj.cxx:103 if count == 6&lt;br /&gt;
or&lt;br /&gt;
 (gdb) break MyObj.cxx:103&lt;br /&gt;
 (gdb) ignore 1 5&lt;br /&gt;
or if you don't want to use a debugger, you can make it crash the 6th time:&lt;br /&gt;
 assert(count != 6);&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the backtrace to understand why the pointer has been deleted without letting know the object that tries to access it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Why is my VTK actor/widget not visible ?=&lt;br /&gt;
* Add a breakpoint in RenderOpaqueGeometry() check if it is called. If not, then:&lt;br /&gt;
** Check its vtkProp::Visibility value.&lt;br /&gt;
*** For vtkWidgets, it is the visibility of the representation.&lt;br /&gt;
** Check its GetBounds() method. If they are outside the camera frustrum, the object won't be rendered.&lt;br /&gt;
*** For vtkWidgets, it is the bounds of the representation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Console output on Windows=&lt;br /&gt;
On Windows, the application is built with no console output. A workaround for this issue is described in the following bug reports:&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2376&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2917&lt;br /&gt;
To add console output, you need to compile Slicer application with Slicer_BUILD_WIN32_CONSOLE set to ON at the configure time (uninitialized/OFF by default).&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Debugging&amp;diff=40765</id>
		<title>Documentation/Nightly/Developers/FAQ/Debugging</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/FAQ/Debugging&amp;diff=40765"/>
		<updated>2015-01-23T10:31:27Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Developer FAQ: {{{1}}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;__TOC__&lt;br /&gt;
={{#titleparts: {{PAGENAME}} | | -1 }}=&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
='''Developer FAQ: {{{1}}}'''=&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to print QString using GDB ? ==&lt;br /&gt;
&lt;br /&gt;
See http://silmor.de/qtstuff.printqstring.php&lt;br /&gt;
&lt;br /&gt;
== More troubleshooting questions ? ==&lt;br /&gt;
&lt;br /&gt;
See [[Documentation/{{documentation/currentversion}}/Developers/Tutorials/Troubleshooting|Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=User:Finetjul&amp;diff=38908</id>
		<title>User:Finetjul</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=User:Finetjul&amp;diff=38908"/>
		<updated>2014-08-26T21:28:55Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* To do after release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=To do after release=&lt;br /&gt;
*&amp;quot;Edit properties...&amp;quot; should open module and select node&lt;br /&gt;
** Dbl click in Data module should open module, not rename&lt;br /&gt;
*Check order of unload with ITKv4: MRML plugin shall unload before VTK and even more before ITK &lt;br /&gt;
** Breakpoint in a destructor of static variable in mrml plugin and vtk ?&lt;br /&gt;
*Add unit test to vtkMRMLStorableNode/StorableNode and make it faster (e.g. ProcessMRMLNodeEvent)&lt;br /&gt;
*Review SaveDataBundle dialog, write a custom &amp;quot;save dialog&amp;quot;&lt;br /&gt;
*qMRMLSliceControllerWidget::setSliceViewName, setSliceViewLabel and setSliceViewColor must be set automatically from qMRMLSliceControlllerWidget::setSlisetMRMLSliceNode&lt;br /&gt;
** To confirm with Jim.&lt;br /&gt;
** See qMRMLLayoutManager::createSliceWidget and qMRMLSliceControllerWidget::setSliceViewLabel&lt;br /&gt;
* Add option in qMRMLNodeComboBox to &amp;quot;renameAtCreation&amp;quot; mrml nodes. Can be useful for CLI modules.&lt;br /&gt;
* Default opacity when selecting a foreground volume is 0%, should be 50%&lt;br /&gt;
* Review vtkMRMLVolumeRenderingDisplayNode::Copy(), it should do StartModify() and EndModify() instead&lt;br /&gt;
* vtkMRML::CopyWithSingleModifiedEvent should do StartModify and EndModify() instead (dito for CopyWithSceneWithSingleModifiedEvent)&lt;br /&gt;
* Singleton node vtkMRMLLayoutNode has an ID of vtkMRMLLayoutNodevtkMRMLLayoutNode&lt;br /&gt;
* Uniformize StartModify()/EndModify()&lt;br /&gt;
** Can vtkMRMLDoubleArrayStorageNode::ReadDataInternal use StartModify()/EndModify()?&lt;br /&gt;
** vtkMRMLAnnotationBidimensionalDisplayableManager: Why notify scene ? bidimensionalNode-&amp;gt;GetScene()-&amp;gt;InvokeEvent(vtkCommand::ModifiedEvent, bidimensionalNode);&lt;br /&gt;
** vtkMRMLAnnotationStorageNode::ReadAnnotation : Need to fire events ?&lt;br /&gt;
** vtkMRMLAnnotationNode::Initialize(), vtkMRMLAnnotationLinesNode::Initialize(), vtkMRMLAnnotationControlPointsNode::Initialize()&lt;br /&gt;
** vtkSlicerTractographyFiducialSeedingLogic::CreateTracts()&lt;br /&gt;
** Unique class between vtkMRMLNode and vtkMRMLAbstractLogic ?&lt;br /&gt;
** Done: MRMLIDImageIO::Write() ?&lt;br /&gt;
* check if vtkMRMLNode::SceneRootDir is needed&lt;br /&gt;
* Remove all margins in all modules (including wizards).&lt;br /&gt;
** Also set WindowTitle in all the modules (including wizards)&lt;br /&gt;
&lt;br /&gt;
=What am I working on?=&lt;br /&gt;
* Various mantis issues&lt;br /&gt;
** [http://na-mic.org/Mantis/view.php?id=2125 2125], [http://na-mic.org/Mantis/view.php?id=2093 2093], [http://www.na-mic.org/Bug/view.php?id=1938 1938]&lt;br /&gt;
&lt;br /&gt;
=On hold =&lt;br /&gt;
&lt;br /&gt;
=What's coming next?=&lt;br /&gt;
* Usability of Slicer&lt;br /&gt;
# Sense of dimension: [http://www.na-mic.org/Bug/view.php?id=1694 1694], [http://www.na-mic.org/Bug/view.php?id=1300 1300]&lt;br /&gt;
# Multiple digit value change using the keyboard in numerical input widgets&lt;br /&gt;
# Add mouse gesture support for numeric input components&lt;br /&gt;
# Fix keyboard input in popup spinbox on Linux and Mac OS X&lt;br /&gt;
# Apply range popup to all sliders&lt;br /&gt;
# Add mechanism to register and save custom layouts&lt;br /&gt;
# Add tool to pop out cluttered item list or tree views&lt;br /&gt;
# Add support to nested custom styles&lt;br /&gt;
# Add support for custom color palette theme&lt;br /&gt;
# Bonus: Multi Volume Rendering support (improve refresh -&amp;gt; done)&lt;br /&gt;
* Mantis issues: [http://www.na-mic.org/Bug/view.php?id=1996 1996], [http://www.na-mic.org/Bug/view.php?id=1962 1962], [http://na-mic.org/Mantis/view.php?id=1917 1917], [http://na-mic.org/Mantis/view.php?id=1588 1588],[http://www.na-mic.org/Bug/view.php?id=1805 1805]...&lt;br /&gt;
* [http://www.na-mic.org/Bug/view.php?id=2185 Support Volume Rendering extensions]&lt;br /&gt;
&lt;br /&gt;
=Done=&lt;br /&gt;
*Back faces of models should be visible by default (see http://www.na-mic.org/Bug/view.php?id=1798 )&lt;br /&gt;
*VTK callback speed-up (in VTK 6.0, to be merged on Slicer/VTK)&lt;br /&gt;
*Long MHD filename: http://na-mic.org/Mantis/view.php?id=1900&lt;br /&gt;
*[http://na-mic.org/Mantis/view.php?id=2179 3D interaction with keyboard]&lt;br /&gt;
* Usability of Slicer&lt;br /&gt;
# Save Data Dialog redesign: [http://www.na-mic.org/Bug/view.php?id=2098 2098], [http://www.na-mic.org/Bug/view.php?id=2082 2082], [http://www.na-mic.org/Bug/view.php?id=986 986], [http://www.na-mic.org/Bug/view.php?id=1866 1866], [http://www.na-mic.org/Bug/view.php?id=1825 1825], [http://www.na-mic.org/Bug/view.php?id=1459 1459], [http://www.na-mic.org/Bug/view.php?id=2023 2023], [http://www.na-mic.org/Bug/view.php?id=1740 1740], [http://www.na-mic.org/Bug/view.php?id=2097 2097], [http://www.na-mic.org/Bug/view.php?id=1817 1817]&lt;br /&gt;
* Numpad key support for 3D view ([http://na-mic.org/Mantis/view.php?id=2179 2179])&lt;br /&gt;
* Volume Rendering support for extra mappers ([http://na-mic.org/Mantis/view.php?id=2185 2185])&lt;br /&gt;
* Default layout should be 4up.&lt;br /&gt;
* Features: 1870&lt;br /&gt;
* Bugs: 1980, 2010, 2038, 2066&lt;br /&gt;
* Scene file loading options ([http://na-mic.org/Mantis/view.php?id=1952 1952])&lt;br /&gt;
* Cleanup qMRMLTransformsSlider, restored unit tests&lt;br /&gt;
* Skullstripper extension for Slicer4.1QtTesting package&lt;br /&gt;
* Failing tests (due to GetAttribute() returning 0)&lt;br /&gt;
* CTK Layout flickering ([http://na-mic.org/Mantis/view.php?id=2073 Grid layout regression])&lt;br /&gt;
* Volume Rendering supports color transfer function&lt;br /&gt;
* Scene view speed-up&lt;br /&gt;
* QtTesting integration&lt;br /&gt;
* Crash when restoring sceneview&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=User:Finetjul&amp;diff=38907</id>
		<title>User:Finetjul</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=User:Finetjul&amp;diff=38907"/>
		<updated>2014-08-26T21:20:01Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* To do after release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=To do after release=&lt;br /&gt;
*&amp;quot;Edit properties...&amp;quot; should open module and select node&lt;br /&gt;
** Dbl click in Data module should open module, not rename&lt;br /&gt;
*Check order of unload with ITKv4: MRML plugin shall unload before VTK and even more before ITK &lt;br /&gt;
** Breakpoint in a destructor of static variable in mrml plugin and vtk ?&lt;br /&gt;
*Add unit test to vtkMRMLStorableNode/StorableNode and make it faster (e.g. ProcessMRMLNodeEvent)&lt;br /&gt;
*Review SaveDataBundle dialog, write a custom &amp;quot;save dialog&amp;quot;&lt;br /&gt;
*qMRMLSliceControllerWidget::setSliceViewName, setSliceViewLabel and setSliceViewColor must be set automatically from qMRMLSliceControlllerWidget::setSlisetMRMLSliceNode&lt;br /&gt;
** To confirm with Jim.&lt;br /&gt;
** See qMRMLLayoutManager::createSliceWidget and qMRMLSliceControllerWidget::setSliceViewLabel&lt;br /&gt;
* Add option in qMRMLNodeComboBox to &amp;quot;renameAtCreation&amp;quot; mrml nodes. Can be useful for CLI modules.&lt;br /&gt;
* Default opacity when selecting a foreground volume is 0%, should be 50%&lt;br /&gt;
* Review vtkMRMLVolumeRenderingDisplayNode::Copy(), it should do StartModify() and EndModify() instead&lt;br /&gt;
* vtkMRML::CopyWithSingleModifiedEvent should do StartModify and EndModify() instead (dito for CopyWithSceneWithSingleModifiedEvent)&lt;br /&gt;
* Singleton node vtkMRMLLayoutNode has an ID of vtkMRMLLayoutNodevtkMRMLLayoutNode&lt;br /&gt;
* Uniformize StartModify()/EndModify()&lt;br /&gt;
** Can vtkMRMLDoubleArrayStorageNode::ReadDataInternal use StartModify()/EndModify()?&lt;br /&gt;
** vtkMRMLAnnotationBidimensionalDisplayableManager: Why notify scene ? bidimensionalNode-&amp;gt;GetScene()-&amp;gt;InvokeEvent(vtkCommand::ModifiedEvent, bidimensionalNode);&lt;br /&gt;
** vtkMRMLAnnotationStorageNode::ReadAnnotation : Need to fire events ?&lt;br /&gt;
** vtkMRMLAnnotationNode::Initialize(), vtkMRMLAnnotationLinesNode::Initialize(), vtkMRMLAnnotationControlPointsNode::Initialize()&lt;br /&gt;
** vtkSlicerTractographyFiducialSeedingLogic::CreateTracts()&lt;br /&gt;
** Unique class between vtkMRMLNode and vtkMRMLAbstractLogic ?&lt;br /&gt;
** Done: MRMLIDImageIO::Write() ?&lt;br /&gt;
* check if vtkMRMLNode::SceneRootDir is needed&lt;br /&gt;
* Remove all margins in all modules (including wizard)&lt;br /&gt;
&lt;br /&gt;
=What am I working on?=&lt;br /&gt;
* Various mantis issues&lt;br /&gt;
** [http://na-mic.org/Mantis/view.php?id=2125 2125], [http://na-mic.org/Mantis/view.php?id=2093 2093], [http://www.na-mic.org/Bug/view.php?id=1938 1938]&lt;br /&gt;
&lt;br /&gt;
=On hold =&lt;br /&gt;
&lt;br /&gt;
=What's coming next?=&lt;br /&gt;
* Usability of Slicer&lt;br /&gt;
# Sense of dimension: [http://www.na-mic.org/Bug/view.php?id=1694 1694], [http://www.na-mic.org/Bug/view.php?id=1300 1300]&lt;br /&gt;
# Multiple digit value change using the keyboard in numerical input widgets&lt;br /&gt;
# Add mouse gesture support for numeric input components&lt;br /&gt;
# Fix keyboard input in popup spinbox on Linux and Mac OS X&lt;br /&gt;
# Apply range popup to all sliders&lt;br /&gt;
# Add mechanism to register and save custom layouts&lt;br /&gt;
# Add tool to pop out cluttered item list or tree views&lt;br /&gt;
# Add support to nested custom styles&lt;br /&gt;
# Add support for custom color palette theme&lt;br /&gt;
# Bonus: Multi Volume Rendering support (improve refresh -&amp;gt; done)&lt;br /&gt;
* Mantis issues: [http://www.na-mic.org/Bug/view.php?id=1996 1996], [http://www.na-mic.org/Bug/view.php?id=1962 1962], [http://na-mic.org/Mantis/view.php?id=1917 1917], [http://na-mic.org/Mantis/view.php?id=1588 1588],[http://www.na-mic.org/Bug/view.php?id=1805 1805]...&lt;br /&gt;
* [http://www.na-mic.org/Bug/view.php?id=2185 Support Volume Rendering extensions]&lt;br /&gt;
&lt;br /&gt;
=Done=&lt;br /&gt;
*Back faces of models should be visible by default (see http://www.na-mic.org/Bug/view.php?id=1798 )&lt;br /&gt;
*VTK callback speed-up (in VTK 6.0, to be merged on Slicer/VTK)&lt;br /&gt;
*Long MHD filename: http://na-mic.org/Mantis/view.php?id=1900&lt;br /&gt;
*[http://na-mic.org/Mantis/view.php?id=2179 3D interaction with keyboard]&lt;br /&gt;
* Usability of Slicer&lt;br /&gt;
# Save Data Dialog redesign: [http://www.na-mic.org/Bug/view.php?id=2098 2098], [http://www.na-mic.org/Bug/view.php?id=2082 2082], [http://www.na-mic.org/Bug/view.php?id=986 986], [http://www.na-mic.org/Bug/view.php?id=1866 1866], [http://www.na-mic.org/Bug/view.php?id=1825 1825], [http://www.na-mic.org/Bug/view.php?id=1459 1459], [http://www.na-mic.org/Bug/view.php?id=2023 2023], [http://www.na-mic.org/Bug/view.php?id=1740 1740], [http://www.na-mic.org/Bug/view.php?id=2097 2097], [http://www.na-mic.org/Bug/view.php?id=1817 1817]&lt;br /&gt;
* Numpad key support for 3D view ([http://na-mic.org/Mantis/view.php?id=2179 2179])&lt;br /&gt;
* Volume Rendering support for extra mappers ([http://na-mic.org/Mantis/view.php?id=2185 2185])&lt;br /&gt;
* Default layout should be 4up.&lt;br /&gt;
* Features: 1870&lt;br /&gt;
* Bugs: 1980, 2010, 2038, 2066&lt;br /&gt;
* Scene file loading options ([http://na-mic.org/Mantis/view.php?id=1952 1952])&lt;br /&gt;
* Cleanup qMRMLTransformsSlider, restored unit tests&lt;br /&gt;
* Skullstripper extension for Slicer4.1QtTesting package&lt;br /&gt;
* Failing tests (due to GetAttribute() returning 0)&lt;br /&gt;
* CTK Layout flickering ([http://na-mic.org/Mantis/view.php?id=2073 Grid layout regression])&lt;br /&gt;
* Volume Rendering supports color transfer function&lt;br /&gt;
* Scene view speed-up&lt;br /&gt;
* QtTesting integration&lt;br /&gt;
* Crash when restoring sceneview&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/ModuleWizard&amp;diff=38906</id>
		<title>Documentation/Nightly/Developers/ModuleWizard</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/ModuleWizard&amp;diff=38906"/>
		<updated>2014-08-26T20:49:59Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Step by Step */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type  = warning&lt;br /&gt;
| text  = '''Deprecated'''&amp;lt;p&amp;gt;This page describes a utility which has been deprecated. If you are using Slicer 4.4 or later, it is recommended to use the [[Documentation/{{documentation/version}}/Developers/ExtensionWizard|Extension Wizard]] instead.&amp;lt;/p&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Slicer modules typically consist of several files of various types, such as CMake files, source files, and binary files.&lt;br /&gt;
&lt;br /&gt;
In many cases, the names of the files and the names of text strings inside the files are related and need to be in sync in order for things to compile.&lt;br /&gt;
&lt;br /&gt;
Also, it is not uncommon to want to use one module as the starting point for implementing similar functionality.&lt;br /&gt;
&lt;br /&gt;
For development, we suggest starting with the structure of an Extension that can contains one or more modules.  The [[Documentation/{{documentation/version}}/Developers/Modules|modules]] can be of different types, such as python scripted module or pure C++ modules or a combination.&lt;br /&gt;
&lt;br /&gt;
The ModuleWizard will do most of the copying and renaming for you, but you will also need to manually configure some steps (specifically, you need to edit the CMakeLists.txt file when you add a module to an extension).&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
* The ''template'' is a directory containing a slicer module&lt;br /&gt;
* The ''templateKey'' is a text string, typically the name of the module, that is used in both filename and identifiers inside the module.&lt;br /&gt;
* The ''target'' is a directory where you want the new module to be placed&lt;br /&gt;
* The ''moduleName'' is the string that you want to use in place of the ''templateKey'' &lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
 ModuleWizard [--template &amp;lt;dir&amp;gt;] [--templateKey &amp;lt;key&amp;gt;] [--target &amp;lt;dir&amp;gt;] &amp;lt;moduleName&amp;gt;&lt;br /&gt;
  --template default ./Extensions/Testing/LoadableExtensionTemplate&lt;br /&gt;
  --templateKey default is dirname of template&lt;br /&gt;
  --target default ./Modules/Loadable/&amp;lt;moduleName&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step by Step ==&lt;br /&gt;
&lt;br /&gt;
The idea of the wizard is to create a new self-contained directory that is a working module from the slicer perspective.  This means that for C++ extensions, you only need to compile the extension and it will work with slicer.  For scripted (python) extensions, you don't even need to compile.&lt;br /&gt;
&lt;br /&gt;
Running this wizard will create the module in the specified target directory and will give it the name you specify on the command line.&lt;br /&gt;
&lt;br /&gt;
On Windows, you can execute the wizard by running the command as a parameter of python:&lt;br /&gt;
 ../Slicer-Superbuild/python-install/bin/python.exe ./Utilities/Scripts/ModuleWizard.py --template [...]&lt;br /&gt;
&lt;br /&gt;
=== Creating an Extension ===&lt;br /&gt;
&lt;br /&gt;
For example, running this command:&lt;br /&gt;
&lt;br /&gt;
 ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate --target ../MyExtension MyExtension &lt;br /&gt;
&lt;br /&gt;
should be done from within the slicer source directory, so that the &amp;lt;code&amp;gt;ModuleWizard.py&amp;lt;/code&amp;gt; script is found, and so that the template path points to the correct spot.  This command relies on your machine having an installed python interpreter to run the wizard (any version of python should work, you don't need to use the one that gets built with slicer).&lt;br /&gt;
&lt;br /&gt;
This command will create a new directory parallel to the Slicer source directory, in this case called MyExtension.&lt;br /&gt;
&lt;br /&gt;
The resulting extension will include a sample module in a directory called &amp;quot;ScriptedLoadableModuleTemplate&amp;quot; -- ''you should delete this directory since we will replace it in the next step.''&lt;br /&gt;
&lt;br /&gt;
Edit the MyExtension/CMakeLists.txt file to customize it for your work.  For example, list yourself and your colleagues as contributors and add the proper links to your project pages and icons.  You should also make a custom icon for extension, that will represent it in the ExtensionManager.&lt;br /&gt;
&lt;br /&gt;
=== Adding a Module ===&lt;br /&gt;
&lt;br /&gt;
Instead of the generic module, we'll want a new one with a custom name, you can use the ModuleWizard again to rename the file and the contents from the template:&lt;br /&gt;
&lt;br /&gt;
 ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate/ScriptedLoadableModuleTemplate --target ../MyExtension/MyScriptedModule MyScriptedModule &lt;br /&gt;
&lt;br /&gt;
Now you will need to edit the ../MyExtension/CMakeLists.txt and change the following line:&lt;br /&gt;
&lt;br /&gt;
 add_subdirectory(ScriptedLoadableModuleTemplate)&lt;br /&gt;
&lt;br /&gt;
to read:&lt;br /&gt;
&lt;br /&gt;
 add_subdirectory(MyScriptedModule)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since we used the ScriptedLoadableExtensionTemplate, the only thing we need to do is set the additional module path to point to the full path to MyExtension/MyScriptedModule in the [[Documentation/{{documentation/version}}/SlicerApplication/ApplicationSettings|Application Settings]] dialog. &lt;br /&gt;
&lt;br /&gt;
Then when you restart slicer, you should select your module using in the [[Documentation/{{documentation/version}}/SlicerApplication/MainApplicationGUI#Module_Selection_.26_Navigation|Module Navigation]] interface.&lt;br /&gt;
&lt;br /&gt;
=== Adding More Modules ===&lt;br /&gt;
&lt;br /&gt;
Note that you can repeat the steps for adding modules so that your extension can contain many modules of different types.  Just run the ModuleWizard with the path to the appropriate template, and add the directory to the CMakeLists.txt.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
To create a [[Documentation/{{documentation/version}}/Developers/Modules#Command_Line_Interface_.28CLI.29|CLI]] Extension:&lt;br /&gt;
&lt;br /&gt;
  ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/CLIExtensionTemplate/CLIModuleTemplate --target ../MyExtension/MyCLIModule MyCLIModule&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;MyFooExtension&amp;lt;/code&amp;gt; is the name of your extension&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a [[Documentation/{{documentation/version}}/Developers/Tutorials/CreateLoadableModule|Loadable]] Module:&lt;br /&gt;
&lt;br /&gt;
  ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/LoadableExtensionTemplate/LoadableModuleTemplate --target ../MyExtension/MyLoadableModule MyLoadableModule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a [[Documentation/{{documentation/version}}/Developers/Modules#Scripted_Modules|Scripted Loadable]] Module:&lt;br /&gt;
&lt;br /&gt;
  ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/ScriptedLoadableExtensionTemplate/ScriptedLoadableModuleTemplate --target ../MyExtension/MyScriptedModule MyScriptedModule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create an [[Documentation/{{documentation/version}}/Developers/EditorExtension|EditorEffect]] Extension&lt;br /&gt;
  ./Utilities/Scripts/ModuleWizard.py --template ./Extensions/Testing/EditorExtensionTemplate/EditorEffectTemplate --target ../MyExtension/MyEditorEffect MyEditorEffect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reference, an extension directory that results from the steps above can be found [https://github.com/pieper/MyExtension in this git repository].&lt;br /&gt;
&lt;br /&gt;
=== Creating and Testing a Loadable Module ===&lt;br /&gt;
&lt;br /&gt;
The following code can be run from the SuperBuild directory (mac and linux):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEWMODULE=NewModule&lt;br /&gt;
SLICERSUPERBUILD=`pwd`&lt;br /&gt;
&lt;br /&gt;
../Slicer/Utilities/Scripts/ModuleWizard.py --template ../Slicer/Extensions/Testing/LoadableExtensionTemplate --target /tmp/${NEWMODULE} ${NEWMODULE}&lt;br /&gt;
mkdir /tmp/${NEWMODULE}-build&lt;br /&gt;
(cd /tmp/${NEWMODULE}-build; cmake /tmp/${NEWMODULE} -DSlicer_DIR:PATH=${SLICERSUPERBUILD}/Slicer-build; make)&lt;br /&gt;
./Slicer-build/Slicer --additional-module-paths /tmp/${NEWMODULE}-build/lib/Slicer-4.2/qt-loadable-modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running this command, Slicer will start, and you will find the default LoadableModuleTempate in the modules menu under Examples.  In the python interpreter, you can access the wrapped logic with:&lt;br /&gt;
&lt;br /&gt;
 logic = slicer.modules.loadablemoduletemplate.logic()&lt;br /&gt;
&lt;br /&gt;
From here, you can add additional methods to the logic and develop the GUI.&lt;br /&gt;
&lt;br /&gt;
''Note: use the latest version of CMake (2.8.11) on mac''&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=38867</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=38867"/>
		<updated>2014-08-25T13:54:24Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* 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/qtx64/files/qt-x64/4.8.5/msvc2008/ 4.8.5 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2010/ 4.8.5 (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;
&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-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;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>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=38866</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=38866"/>
		<updated>2014-08-25T13:54:05Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* 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/qtx64/files/qt-x64/4.8.5/msvc2008/ 4.8.5 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2010/ 4.8.5 (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 [source archive http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip], 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;
&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-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;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>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=38865</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=38865"/>
		<updated>2014-08-25T13:53:21Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* 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/qtx64/files/qt-x64/4.8.5/msvc2008/ 4.8.5 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2010/ 4.8.5 (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 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;
&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-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;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>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt&amp;diff=38861</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=38861"/>
		<updated>2014-08-23T16:46:49Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Add MSVC2012 with QT 4.8.6 building instructions&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/qtx64/files/qt-x64/4.8.5/msvc2008/ 4.8.5 (unsigned installer)]&lt;br /&gt;
|align=&amp;quot;center&amp;quot; colspan=&amp;quot;1&amp;quot;| [http://sourceforge.net/projects/qtx64/files/qt-x64/4.8.5/msvc2010/ 4.8.5 (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;
* 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;
&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:&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-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;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>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=38792</id>
		<title>Documentation/Nightly/Developers/Tutorials/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=38792"/>
		<updated>2014-08-14T16:06:44Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Track memory leaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Here are some tips to narrow down various issues such as crash, or memory leaks&lt;br /&gt;
&lt;br /&gt;
=Disable features= &lt;br /&gt;
Try running Slicer with as few features as possible:&lt;br /&gt;
* Disable Slicer options via the command line&lt;br /&gt;
*: &amp;lt;pre&amp;gt;$ ./Slicer --no-splash --ignore-slicerrc --disable-cli-module --disable-loadable-module --disable-scriptedmodule&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Look at all the possible options&lt;br /&gt;
**: &amp;lt;pre&amp;gt;$ ./Slicer --help&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable ITK plugins&lt;br /&gt;
*: CLI modules silently load the ITK plugins in lib/Slicer-{{documentation/currentversion}}/ITKFactories. These plugins are used to share the volumes between Slicer and the ITK filter without having to copy them on disk. &lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/ITKFactories into lib/Slicer-{{documentation/currentversion}}/ITKFactories-disabled&lt;br /&gt;
* Disable Qt plugins&lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/iconengine into lib/Slicer-{{documentation/currentversion}}/iconengine-disabled&lt;br /&gt;
&lt;br /&gt;
=Track memory leaks=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Turn ON the VTK_DEBUG_LEAKS CMake variable and build Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create a test that reproduces the memory leak systematically &amp;lt;/li&amp;gt;&lt;br /&gt;
After execution, the memory leaks are printed automatically by VTK on the standard output:&lt;br /&gt;
 224: vtkDebugLeaks has detected LEAKS!&lt;br /&gt;
 224: Class &amp;quot;vtkProperty2D&amp;quot; has 60 instances still around.&lt;br /&gt;
 ...&lt;br /&gt;
Alternatively, you can simply run Slicer instead of a custom test.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find what specific instance of a class (here vtkProperty2D) leaks.&amp;lt;/li&amp;gt;&lt;br /&gt;
If the class is instantiated a large amount of time, it is hard to know what instance is leaking. By making verbose the constructor and destructor of the faulty class, you can infer which instance is leaking. Below are 2 techniques to print whenever the con/destructors are called:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;By recompiling VTK&amp;lt;/li&amp;gt;&lt;br /&gt;
You can edit the constructor and destructor of the class (here vtkProperty2D::vtkProperty2D() and vtkProperty2D::~vtkProperty2D())&lt;br /&gt;
 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;CREATE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;DELETE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
Don't forget to rebuild VTK if the class is from VTK (no need to build Slicer inner build)&lt;br /&gt;
After running the test, you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #2 0x0123A23&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #3 0x0124312&lt;br /&gt;
 ...&lt;br /&gt;
Copy/paste the listing in a text editor and ensure that for each CREATE of a pointer (e.g. 0x0123456) it exists a DELETE. If there isn't, you found what instance is leaking. Note the instance # (here instance #2 and #3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Without recompiling any library but using the debugger&amp;lt;/li&amp;gt;&lt;br /&gt;
Any debugger with advanced breakpoint controls should work.&lt;br /&gt;
* With Visual Studio&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set breakpoints in the class constructor and destructor methods.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right click on the breakpoint, select &amp;quot;When Hit...&amp;quot; and &amp;quot;Print a message&amp;quot; with &amp;quot;Function: $FUNCTION {this}&amp;quot;. Make sure the &amp;quot;Continue execution&amp;quot; checkbox is selected.&lt;br /&gt;
&amp;lt;li&amp;gt;Execute the test or Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the &amp;quot;Output&amp;quot; tab and copy paste the contents into an advanced file editor (not Visual Studio)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* With GDB&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start gdb&amp;lt;/li&amp;gt;&lt;br /&gt;
Using the launcher&lt;br /&gt;
 $ ./Slicer --gdb&lt;br /&gt;
Or sometimes the following works as well&lt;br /&gt;
 $ gdb ./bin/SlicerApp-real&lt;br /&gt;
&amp;lt;li&amp;gt;Place breakpoints in the functions&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 (gdb) break vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
gdb will stop in those methods each time the program steps into. It will then print a line such as:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x123456789) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
&amp;lt;li&amp;gt;Automatically continue execution after each break&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) commands 1&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
 (gdb) commands 2&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
&amp;lt;li&amp;gt; Start the execution and copy paste the logs printed by gdb into an advanced file editor (e.g. emacs)&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running the test(by recompiling or with debugger), you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
In an text editor, cleanup the logs by keeping only the &amp;quot;Breakpoint*&amp;quot; lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
&lt;br /&gt;
Save a copy of this file, and make the destructor lines similar to the constructor ones (using Replace tools):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Sort the file to make the constructor and destructor lines next to each other(emacs: M-x sort-lines, Notepad++: TextFX/TextFX Tools/Sort lines case sensitive):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Find the line that is not duplicated:&lt;br /&gt;
* Using Notepad++ (version &amp;gt;=6):&lt;br /&gt;
** Open the search dialog&lt;br /&gt;
** Find what: &amp;quot;^(.*?)$\s+?^(?=.*^\1$)&amp;quot;, Replace with: &amp;quot;dup &amp;quot;, toggle &amp;quot;Regular expression&amp;quot;&lt;br /&gt;
** Replace All&lt;br /&gt;
** The line without the &amp;quot;dup&amp;quot; prefix is the line we are looking for&lt;br /&gt;
* Using emacs:&lt;br /&gt;
** C-M-%&lt;br /&gt;
** Replace regexp: \(.*\)&amp;lt;type C-q C-j&amp;gt;\1&lt;br /&gt;
** with: dup&amp;lt;type C-q C-j&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract the instance address from the line: e.g. 0x0124312&lt;br /&gt;
&lt;br /&gt;
From the original logs, keep only the Constructor lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 &lt;br /&gt;
Search into the original saved file what line the address is: e.g. 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find the leaking instance at run-time&amp;lt;/li&amp;gt;&lt;br /&gt;
Run the test with the [[Documentation/4.0/Developers/Tutorials/Debug_Instructions|debugger]], set a breakpoint in the class constructor and ignore the break as many time as the instance number (say it's 2):&lt;br /&gt;
* GDB&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 Breakpoint 1 at 0x5b22d0e55d04296: file vtkProperty2D.cxx, line 22&lt;br /&gt;
 (gdb) ignore 1 2&lt;br /&gt;
 (gdb) run&lt;br /&gt;
When the debugger stops, check the call stack:&lt;br /&gt;
 (gdb) backtrace&lt;br /&gt;
*Visual Studio&lt;br /&gt;
**Set a breakpoint in vtkProperty2D::vtkProperty2D()&lt;br /&gt;
**Right click on the breakpoint and select HitCount, select &amp;quot;break when the hit count is equal to&amp;quot; and type '2'&lt;br /&gt;
**Start the application&lt;br /&gt;
By analyzing the trace, you should be able to find the faulty instance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the code to see where the leak could be&amp;lt;/li&amp;gt;&lt;br /&gt;
Here is a listing of the most common mistakes&lt;br /&gt;
* this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
** Is there a matching this-&amp;gt;MyXXX-&amp;gt;Delete() ?&lt;br /&gt;
** Are you sure &amp;lt;code&amp;gt;this-&amp;gt;MyXXX&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; before being assigned a new pointer ?  If not, then you need to add&lt;br /&gt;
 if (this-&amp;gt;MyXXX != 0)&lt;br /&gt;
   {&lt;br /&gt;
   this-&amp;gt;MyXXX-&amp;gt;Delete();&lt;br /&gt;
   this-&amp;gt;MyXXX = 0;&lt;br /&gt;
   }&lt;br /&gt;
  this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
{{ombox&lt;br /&gt;
|type=content&lt;br /&gt;
|text=To reduce memory leaks, use the following tools:&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkNew&amp;lt;vtkXXX&amp;gt; myXXX;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX = vtkSmartPointer&amp;lt;vtkXXX&amp;gt;::New()&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX; myXXX.TakeReference(this-&amp;gt;CreateObjAndCallerOwnsReference())&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Other resources==&lt;br /&gt;
* [[Slicer3:VTK_Leak_Debugging|Slicer3 VTK leak debugging]]&lt;br /&gt;
* [[Strategies_for_Writing_and_Debugging_Code_in_Slicer_3|Strategies for Writing and Debugging Code in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
=Track a crash while accessing already deleted object pointer=&lt;br /&gt;
If the application crashes by accessing an invalid pointer. The goal here is to find when (and why) the pointer is deleted before it is accessed .&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Before the crash, print the value of the pointer:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add before the crash (i.e. &amp;lt;code&amp;gt;this-&amp;gt;MyObject-&amp;gt;update()&amp;lt;/code&amp;gt;)&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object pointer: &amp;quot; &amp;lt;&amp;lt; this-&amp;gt;MyObject &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a counter in the destructor:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add in the object destructor (it can be in the base class (vtkObject or vtkMRMLNode) if you don't know the type):&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;#######Object Destructed: &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the application and make it crash.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the logs you shall see something like that:&amp;lt;/li&amp;gt;&lt;br /&gt;
 #######Object Destructed: 0x12345678 0&lt;br /&gt;
 #######Object Destructed: 0x12345679 1&lt;br /&gt;
 #######Object Destructed: 0x12345680 2&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345660&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345661&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345662&lt;br /&gt;
 #######Object Destructed: 0x12345660 3&lt;br /&gt;
 #######Object Destructed: 0x12345661 4&lt;br /&gt;
 #######Object Destructed: 0x12345662 5&lt;br /&gt;
 #######Object Destructed: 0x12345663 6&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345670&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345671&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345672&lt;br /&gt;
 #######Object Destructed: 0x12345660 7&lt;br /&gt;
 #######Object Destructed: 0x12345661 8&lt;br /&gt;
 #######Object Destructed: 0x12345662 9&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: '''0x12345663'''&lt;br /&gt;
 Segfault&lt;br /&gt;
&amp;lt;li&amp;gt; Search in the logs when the pointer before crash has been deleted. Set a conditional breakpoint in the debugger:&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break MyObj.cxx:103 if count == 6&lt;br /&gt;
or&lt;br /&gt;
 (gdb) break MyObj.cxx:103&lt;br /&gt;
 (gdb) ignore 1 5&lt;br /&gt;
or if you don't want to use a debugger, you can make it crash the 6th time:&lt;br /&gt;
 assert(count != 6);&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the backtrace to understand why the pointer has been deleted without letting know the object that tries to access it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Console output on Windows=&lt;br /&gt;
On Windows, the application is built with no console output. A workaround for this issue is described in the following bug reports:&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2376&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2917&lt;br /&gt;
To add console output, you need to compile Slicer application with Slicer_BUILD_WIN32_CONSOLE set to ON at the configure time (uninitialized/OFF by default).&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=38788</id>
		<title>Documentation/Nightly/Developers/Tutorials/Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/Tutorials/Troubleshooting&amp;diff=38788"/>
		<updated>2014-08-14T14:57:18Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Track memory leaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Here are some tips to narrow down various issues such as crash, or memory leaks&lt;br /&gt;
&lt;br /&gt;
=Disable features= &lt;br /&gt;
Try running Slicer with as few features as possible:&lt;br /&gt;
* Disable Slicer options via the command line&lt;br /&gt;
*: &amp;lt;pre&amp;gt;$ ./Slicer --no-splash --ignore-slicerrc --disable-cli-module --disable-loadable-module --disable-scriptedmodule&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Look at all the possible options&lt;br /&gt;
**: &amp;lt;pre&amp;gt;$ ./Slicer --help&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable ITK plugins&lt;br /&gt;
*: CLI modules silently load the ITK plugins in lib/Slicer-{{documentation/currentversion}}/ITKFactories. These plugins are used to share the volumes between Slicer and the ITK filter without having to copy them on disk. &lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/ITKFactories into lib/Slicer-{{documentation/currentversion}}/ITKFactories-disabled&lt;br /&gt;
* Disable Qt plugins&lt;br /&gt;
** rename lib/Slicer-{{documentation/currentversion}}/iconengine into lib/Slicer-{{documentation/currentversion}}/iconengine-disabled&lt;br /&gt;
&lt;br /&gt;
=Track memory leaks=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Turn ON the VTK_DEBUG_LEAKS CMake variable and build Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create a test that reproduces the memory leak systematically &amp;lt;/li&amp;gt;&lt;br /&gt;
After execution, the memory leaks are printed automatically by VTK on the standard output:&lt;br /&gt;
 224: vtkDebugLeaks has detected LEAKS!&lt;br /&gt;
 224: Class &amp;quot;vtkProperty2D&amp;quot; has 60 instances still around.&lt;br /&gt;
 ...&lt;br /&gt;
Alternatively, you can simply run Slicer instead of a custom test.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find what specific instance of a class (here vtkProperty2D) leaks.&amp;lt;/li&amp;gt;&lt;br /&gt;
If the class is instantiated a large amount of time, it is hard to know what instance is leaking. By making verbose the constructor and destructor of the faulty class, you can infer which instance is leaking. Below are 2 techniques to print whenever the con/destructors are called:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;By recompiling VTK&amp;lt;/li&amp;gt;&lt;br /&gt;
You can edit the constructor and destructor of the class (here vtkProperty2D::vtkProperty2D() and vtkProperty2D::~vtkProperty2D())&lt;br /&gt;
 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;CREATE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
 {&lt;br /&gt;
 ...&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;DELETE vtkProperty2D instance #&amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 }&lt;br /&gt;
Don't forget to rebuild VTK if the class is from VTK (no need to build Slicer inner build)&lt;br /&gt;
After running the test, you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #0 0x0123456&lt;br /&gt;
 ...&lt;br /&gt;
 DELETE vtkProperty2D instance #1 0x01234E5&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #2 0x0123A23&lt;br /&gt;
 ...&lt;br /&gt;
 CREATE vtkProperty2D instance #3 0x0124312&lt;br /&gt;
 ...&lt;br /&gt;
Copy/paste the listing in a text editor and ensure that for each CREATE of a pointer (e.g. 0x0123456) it exists a DELETE. If there isn't, you found what instance is leaking. Note the instance # (here instance #2 and #3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Without recompiling any library but using the debugger&amp;lt;/li&amp;gt;&lt;br /&gt;
Any debugger with advanced breakpoint controls should work.&lt;br /&gt;
* With Visual Studio&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set breakpoints in the class constructor and destructor methods.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right click on the breakpoint, select &amp;quot;When Hit...&amp;quot; and &amp;quot;Print a message&amp;quot; with &amp;quot;Function: $FUNCTION {this}&amp;quot;. Make sure the &amp;quot;Continue execution&amp;quot; checkbox is selected.&lt;br /&gt;
&amp;lt;li&amp;gt;Execute the test or Slicer&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the &amp;quot;Output&amp;quot; tab and copy paste the contents into an advanced file editor (not Visual Studio)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* With GDB&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start gdb&amp;lt;/li&amp;gt;&lt;br /&gt;
Using the launcher&lt;br /&gt;
 $ ./Slicer --gdb&lt;br /&gt;
Or sometimes the following works as well&lt;br /&gt;
 $ gdb ./bin/SlicerApp-real&lt;br /&gt;
&amp;lt;li&amp;gt;Place breakpoints in the functions&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 (gdb) break vtkProperty2D::~vtkProperty2D()&lt;br /&gt;
gdb will stop in those methods each time the program steps into. It will then print a line such as:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x123456789) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
&amp;lt;li&amp;gt;Automatically continue execution after each break&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) commands 1&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
 (gdb) commands 1&lt;br /&gt;
 &amp;gt; continue&lt;br /&gt;
 &amp;gt; end&lt;br /&gt;
&amp;lt;li&amp;gt; Start the execution and copy paste the logs printed by gdb into an advanced file editor (e.g. emacs)&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running the test(by recompiling or with debugger), you should see outputs similar to &lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 22 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 37 vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
In an text editor, cleanup the logs by keeping only the &amp;quot;Breakpoint*&amp;quot; lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 2, vtkProperty2D::~vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:37&lt;br /&gt;
&lt;br /&gt;
Save a copy of this file, and make the destructor lines similar to the constructor ones (using Replace tools):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Sort the file to make the constructor and destructor lines next to each other(emacs: M-x sort-lines, Notepad++: TextFX/TextFX Tools/Sort lines case sensitive):&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
&lt;br /&gt;
Find the line that is not duplicated:&lt;br /&gt;
* Using Notepad++ (version &amp;gt;=6):&lt;br /&gt;
** Open the search dialog&lt;br /&gt;
** Find what: &amp;quot;^(.*?)$\s+?^(?=.*^\1$)&amp;quot;, Replace with: &amp;quot;dup &amp;quot;, toggle &amp;quot;Regular expression&amp;quot;&lt;br /&gt;
** Replace All&lt;br /&gt;
** The line without the &amp;quot;dup&amp;quot; prefix is the line we are looking for&lt;br /&gt;
* Using emacs:&lt;br /&gt;
** C-M-%&lt;br /&gt;
** Replace regexp: \(.*\)&amp;lt;type C-q C-j&amp;gt;\1&lt;br /&gt;
** with: dup&amp;lt;type C-q C-j&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extract the instance address from the line: e.g. 0x0124312&lt;br /&gt;
&lt;br /&gt;
From the original logs, keep only the Constructor lines:&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123456) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x01234E5) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0123A23) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 Breakpoint 1, vtkProperty2D::vtkProperty2() (this=0x0124312) at /home/user/Slicer-superbuild/VTK/.../vtkProperty2D.cxx:22&lt;br /&gt;
 &lt;br /&gt;
Search into the original saved file what line the address is: e.g. 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Find the leaking instance at run-time&amp;lt;/li&amp;gt;&lt;br /&gt;
Run the test with the [[Documentation/4.0/Developers/Tutorials/Debug_Instructions|debugger]], set a breakpoint in the class constructor and ignore the break as many time as the instance number (say it's 2):&lt;br /&gt;
* GDB&lt;br /&gt;
 (gdb) break vtkProperty2D::vtkProperty2D()&lt;br /&gt;
 Breakpoint 1 at 0x5b22d0e55d04296: file vtkProperty2D.cxx, line 22&lt;br /&gt;
 (gdb) ignore 1 2&lt;br /&gt;
 (gdb) run&lt;br /&gt;
When the debugger stops, check the call stack:&lt;br /&gt;
 (gdb) backtrace&lt;br /&gt;
*Visual Studio&lt;br /&gt;
**Set a breakpoint in vtkProperty2D::vtkProperty2D()&lt;br /&gt;
**Right click on the breakpoint and select HitCount, select &amp;quot;break when the hit count is equal to&amp;quot; and type '2'&lt;br /&gt;
**Start the application&lt;br /&gt;
By analyzing the trace, you should be able to find the faulty instance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the code to see where the leak could be&amp;lt;/li&amp;gt;&lt;br /&gt;
Here is a listing of the most common mistakes&lt;br /&gt;
* this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
** Is there a matching this-&amp;gt;MyXXX-&amp;gt;Delete() ?&lt;br /&gt;
** Are you sure &amp;lt;code&amp;gt;this-&amp;gt;MyXXX&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; before being assigned a new pointer ?  If not, then you need to add&lt;br /&gt;
 if (this-&amp;gt;MyXXX != 0)&lt;br /&gt;
   {&lt;br /&gt;
   this-&amp;gt;MyXXX-&amp;gt;Delete();&lt;br /&gt;
   this-&amp;gt;MyXXX = 0;&lt;br /&gt;
   }&lt;br /&gt;
  this-&amp;gt;MyXXX = vtkXXX::New();&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
{{ombox&lt;br /&gt;
|type=content&lt;br /&gt;
|text=To reduce memory leaks, use the following tools:&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkNew&amp;lt;vtkXXX&amp;gt; myXXX;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX = vtkSmartPointer&amp;lt;vtkXXX&amp;gt;::New()&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSmartPointer&amp;lt;vtkXXX&amp;gt; myXXX; myXXX.TakeReference(this-&amp;gt;CreateObjAndCallerOwnsReference())&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Other resources==&lt;br /&gt;
* [[Slicer3:VTK_Leak_Debugging|Slicer3 VTK leak debugging]]&lt;br /&gt;
* [[Strategies_for_Writing_and_Debugging_Code_in_Slicer_3|Strategies for Writing and Debugging Code in Slicer3]]&lt;br /&gt;
&lt;br /&gt;
=Track a crash while accessing already deleted object pointer=&lt;br /&gt;
If the application crashes by accessing an invalid pointer. The goal here is to find when (and why) the pointer is deleted before it is accessed .&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Before the crash, print the value of the pointer:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add before the crash (i.e. &amp;lt;code&amp;gt;this-&amp;gt;MyObject-&amp;gt;update()&amp;lt;/code&amp;gt;)&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object pointer: &amp;quot; &amp;lt;&amp;lt; this-&amp;gt;MyObject &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a counter in the destructor:&amp;lt;/li&amp;gt;&lt;br /&gt;
Add in the object destructor (it can be in the base class (vtkObject or vtkMRMLNode) if you don't know the type):&lt;br /&gt;
 static int count = 0;&lt;br /&gt;
 std::cout &amp;lt;&amp;lt; &amp;quot;#######Object Destructed: &amp;quot; &amp;lt;&amp;lt; this &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; count++ &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the application and make it crash.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the logs you shall see something like that:&amp;lt;/li&amp;gt;&lt;br /&gt;
 #######Object Destructed: 0x12345678 0&lt;br /&gt;
 #######Object Destructed: 0x12345679 1&lt;br /&gt;
 #######Object Destructed: 0x12345680 2&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345660&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345661&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345662&lt;br /&gt;
 #######Object Destructed: 0x12345660 3&lt;br /&gt;
 #######Object Destructed: 0x12345661 4&lt;br /&gt;
 #######Object Destructed: 0x12345662 5&lt;br /&gt;
 #######Object Destructed: 0x12345663 6&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345670&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345671&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: 0x12345672&lt;br /&gt;
 #######Object Destructed: 0x12345660 7&lt;br /&gt;
 #######Object Destructed: 0x12345661 8&lt;br /&gt;
 #######Object Destructed: 0x12345662 9&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Object Pointer: '''0x12345663'''&lt;br /&gt;
 Segfault&lt;br /&gt;
&amp;lt;li&amp;gt; Search in the logs when the pointer before crash has been deleted. Set a conditional breakpoint in the debugger:&amp;lt;/li&amp;gt;&lt;br /&gt;
 (gdb) break MyObj.cxx:103 if count == 6&lt;br /&gt;
or&lt;br /&gt;
 (gdb) break MyObj.cxx:103&lt;br /&gt;
 (gdb) ignore 1 5&lt;br /&gt;
or if you don't want to use a debugger, you can make it crash the 6th time:&lt;br /&gt;
 assert(count != 6);&lt;br /&gt;
&amp;lt;li&amp;gt; Analyze the backtrace to understand why the pointer has been deleted without letting know the object that tries to access it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Console output on Windows=&lt;br /&gt;
On Windows, the application is built with no console output. A workaround for this issue is described in the following bug reports:&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2376&lt;br /&gt;
* http://www.na-mic.org/Bug/view.php?id=2917&lt;br /&gt;
To add console output, you need to compile Slicer application with Slicer_BUILD_WIN32_CONSOLE set to ON at the configure time (uninitialized/OFF by default).&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/IO&amp;diff=38754</id>
		<title>Documentation/Nightly/Developers/IO</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/IO&amp;diff=38754"/>
		<updated>2014-08-01T11:26:32Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* How to register a dialog ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
=Read=&lt;br /&gt;
[[Image:IOOverview.png|600px|center]]&lt;br /&gt;
== Main classes ==&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;Node&amp;lt;/code&amp;gt; is a [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Libs/MRML/Core/vtkMRMLStorableNode.h?view=markup storable node] that represents the data from file (e.g. [[http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Libs/MRML/Core/vtkMRMLModelNode.h?view=markup vtkMRMLModelNode])&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;StorageNode&amp;lt;/code&amp;gt; is the file reader. It populates the storable node using the method  &amp;lt;code&amp;gt;vtkMRML&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;StorageNode::ReadData(vtkMRMLStorableNode*,bool)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;sLogic&amp;lt;/code&amp;gt; is the MRML logic of the &amp;lt;code&amp;gt;XYZ&amp;lt;/code&amp;gt; module. It exposes a convenient method &amp;lt;code&amp;gt;AddXYZ(const char* fileName, const char* nodeName=0);&amp;lt;/code&amp;gt; that creates a MRML &amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt; node (&amp;lt;code&amp;gt;vtkMRML&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;Node&amp;lt;/code&amp;gt;)and its associated storage node (&amp;lt;code&amp;gt;vtkMRML&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;StorageNode&amp;lt;/code&amp;gt;), add them into the scene, and call &amp;lt;code&amp;gt;vtkMRML&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;StorageNode::ReadData(vtkMRMLStorableNode*,bool);&amp;lt;/code&amp;gt; on the storage node to load the file. If the loading fails, it removes the previously created nodes from the scene.&lt;br /&gt;
* &amp;lt;code&amp;gt;qSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;sIO&amp;lt;/code&amp;gt; is a plugin that is registered by modules into the &amp;lt;code&amp;gt;qSlicerCoreIOManager&amp;lt;/code&amp;gt;. It is the interface between Qt and MRML logics. It internally calls &amp;lt;code&amp;gt;vtkSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;sLogic::Add&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt;().&lt;br /&gt;
* &amp;lt;code&amp;gt;qSlicer&amp;lt;i&amp;gt;XYZ&amp;lt;/i&amp;gt;sIOOptionsWidget&amp;lt;/code&amp;gt; is a widget that sets loading options that gets passed to the logic.&lt;br /&gt;
* &amp;lt;code&amp;gt;qSlicerCoreIOManager&amp;lt;/code&amp;gt; is the central class where any IO operation must go through. qSlicerIOs can be registered using &amp;lt;code&amp;gt;qSlicerCoreIOManager::registerIO(qSlicerIO*)&amp;lt;/code&amp;gt; and nodes can be loaded using &amp;lt;code&amp;gt;qSlicerCoreIOManager::loadNodes(...)&amp;lt;/code&amp;gt;. It exposes a set of convenient methods such as &amp;quot;what reader must be used for what file&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;qSlicerDataDialog&amp;lt;/code&amp;gt; is the dialog that allows the user to select the files to load.&lt;br /&gt;
&lt;br /&gt;
==How to add support for reading a new file format ?==&lt;br /&gt;
# Write method &amp;lt;code&amp;gt;vtkMRMLXYZStorageNode::ReadDataInternal(vtkMRMLStorableNode*, bool temporary);&amp;lt;/code&amp;gt;&lt;br /&gt;
# Write method &amp;lt;code&amp;gt;vtkMRMLXYZsLogic::AddXYZ(const char* fileName, const char nodeName =0);&amp;lt;/code&amp;gt;&lt;br /&gt;
# Write class &amp;lt;code&amp;gt;qSlicerXYZsIO&amp;lt;/code&amp;gt;&lt;br /&gt;
# Optional: Write class &amp;lt;code&amp;gt;qSlicerXYZsIOOptionsWidget&amp;lt;/code&amp;gt; if you want the user to optionally specify loading options.&lt;br /&gt;
# In &amp;lt;code&amp;gt;qSlicerXYZsModule::setup()&amp;lt;/code&amp;gt;, instantiate and register &amp;lt;code&amp;gt;qSlicerXYZsIO&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;qSlicerCoreIOManager&amp;lt;/code&amp;gt;&lt;br /&gt;
# Add file format to [Documentation/{{documentation/version}}/SlicerApplication/SupportedDataFormat|SupportedDataFormat] wiki page&lt;br /&gt;
&lt;br /&gt;
== ModifiedSinceRead ==&lt;br /&gt;
In order to inform the user what data has been changed since it was last read, a ModifiedSinceRead mechanism is in place to track when was the file last read and when was the data last modified. If a modification happened , the storable node &amp;lt;code&amp;gt;vtkMRMLStorableNode::GetModifiedSinceRead()&amp;lt;/code&amp;gt; must return true. If the data in the node is the same as in the file, then &amp;lt;code&amp;gt;vtkMRMLStorableNode::GetModifiedSinceRead()&amp;lt;/code&amp;gt; must return false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;vtkMRMLStorageNode&amp;lt;/code&amp;gt; keeps track of when a file was last read or written (&amp;lt;code&amp;gt;vtkTimeStamp* vtkMRMLStorageNode::StoredTime&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;vtkMRMLStorableNode&amp;lt;/code&amp;gt; keeps track of when the data was last modified (&amp;lt;code&amp;gt;vtkTimeStamp vtkMRMLStorableNode::StorableModifiedTime&amp;lt;/code&amp;gt;). Anytime a &amp;lt;code&amp;gt;vtkMRMLStorableNode&amp;lt;/code&amp;gt; property that is saved in file is modified, the &amp;lt;code&amp;gt;StorableModifiedTime&amp;lt;/code&amp;gt; time stamp must be modified.&lt;br /&gt;
&lt;br /&gt;
At exit time (&amp;lt;code&amp;gt;qSlicerMainWindow::closeEvent()&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;vtkMRMLStorableNode::GetModifiedSinceRead()&amp;lt;/code&amp;gt; is called to check if the data in the node is the same as in the file or if it has been modified after the file was last read or written. It internally checks &amp;lt;code&amp;gt;vtkTimeStamp* vtkMRMLStorageNode::StoredTime&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;vtkTimeStamp vtkMRMLStorableNode::StorableModifiedTime&amp;lt;/code&amp;gt;. If the data is more recent, then a message dialog is shown to the user telling him that some data is different from file; leaving without saving will loose the changes.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
* Models &lt;br /&gt;
** [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Libs/MRML/Core/vtkMRMLModelNode.h?view=markup Libs/MRML/Core/vtkMRMLModelNode]&lt;br /&gt;
** [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Libs/MRML/Core/vtkMRMLModelStorageNode.h?view=markup Libs/MRML/Core/vtkMRMLModelStorageNode]&lt;br /&gt;
** [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/Logic/vtkSlicerModelsLogic.h?view=markup Modules/Loadable/Models/Logic/vtkSlicerModelsLogic]&lt;br /&gt;
** [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/qSlicerModelsIO.h?view=markup Modules/Loadable/Models/qSlicerModelsIO]&lt;br /&gt;
** [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/qSlicerModelsModule.h?view=markup Modules/Loadable/Models/qSlicerModelsModule]&lt;br /&gt;
&lt;br /&gt;
== How to load files programmatically ==&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 [http://slicer.org/doc/html/classqSlicerCoreIOManager.html qSlicerCoreIOManager]* coreIOManager = qSlicerCoreApplication::application()-&amp;gt;coreIOManager();&lt;br /&gt;
 qSlicerIO::IOProperties fileParameters;&lt;br /&gt;
 fileParameters[&amp;quot;filename&amp;quot;] = &amp;quot;/path/of/file.ext&amp;quot;;&lt;br /&gt;
 vtkMRMLNode* volumeNode = coreIOManager-&amp;gt;[http://slicer.org/doc/html/classqSlicerCoreIOManager.html#a36a78dba553b52f395f997fe11aaff23 loadNodesAndGetFirst](&amp;quot;VolumeFile&amp;quot;, parameters);&lt;br /&gt;
Works also with &amp;quot;ModelFile&amp;quot;, &amp;quot;TransformFile&amp;quot;, &amp;quot;SceneFile&amp;quot;...&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; volumeNode = slicer.util.loadVolume('/path/of/file.ext')&lt;br /&gt;
It works also with loadModel, loadTransform, loadScene...&lt;br /&gt;
|}&lt;br /&gt;
Note that [[#IO_Dialogs|IO dialogs]] should be used as often as possible.&lt;br /&gt;
&lt;br /&gt;
=Write=&lt;br /&gt;
The mechanism is similar to '''Read'''. &amp;lt;code&amp;gt;vtkMRMLXYZStorageNode::WriteDataInternal(...)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qSlicerXYZWriter&amp;lt;/code&amp;gt; must implemented.&lt;br /&gt;
&lt;br /&gt;
== How to save files programmatically ==&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 [http://slicer.org/doc/html/classqSlicerCoreIOManager.html qSlicerCoreIOManager]* coreIOManager = qSlicerCoreApplication::application()-&amp;gt;coreIOManager();&lt;br /&gt;
 qSlicerIO::IOProperties fileParameters;&lt;br /&gt;
 fileParameters[&amp;quot;nodeID&amp;quot;] = volumeNode-&amp;gt;GetID();&lt;br /&gt;
 fileParameters[&amp;quot;fileName&amp;quot;] = &amp;quot;/path/of/file.ext&amp;quot;;&lt;br /&gt;
 coreIOManager-&amp;gt;[http://slicer.org/doc/html/classqSlicerCoreIOManager.html#a1cd29140ded984afdd0f667064d38845 saveNodes](&amp;quot;VolumeFile&amp;quot;, parameters);&lt;br /&gt;
Works also with &amp;quot;ModelFile&amp;quot;, &amp;quot;TransformFile&amp;quot;, &amp;quot;SceneFile&amp;quot;...&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; slicer.util.saveNode(volumeNode, '/path/of/file.ext')&lt;br /&gt;
|}&lt;br /&gt;
Note that [[#IO_Dialogs|IO dialogs]] should be used as often as possible.&lt;br /&gt;
&lt;br /&gt;
=IO Dialogs=&lt;br /&gt;
* &amp;lt;code&amp;gt;[http://slicer.org/doc/html/classqSlicerFileDialog.html qSlicerFileDialog]&amp;lt;/code&amp;gt; is the base class to override a custom dialog.&lt;br /&gt;
* &amp;lt;code&amp;gt;[http://slicer.org/doc/html/classqSlicerStandardFileDialog.html qSlicerStandardFileDialog]&amp;lt;/code&amp;gt; is a multi-purpose file dialog.&lt;br /&gt;
* &amp;lt;code&amp;gt;[http://slicer.org/doc/html/classqSlicerDataDialog.html qSlicerDataDialog.h]&amp;lt;/code&amp;gt; is the default dialog to load files.&lt;br /&gt;
* &amp;lt;code&amp;gt;[http://slicer.org/doc/html/classqSlicerSaveDataDialog.html qSlicerSaveDataDialog]&amp;lt;/code&amp;gt; is the default dialog to save files.&lt;br /&gt;
&lt;br /&gt;
By default, all the IOs must be done through &amp;lt;code&amp;gt;qSlicerDataDialog&amp;lt;/code&amp;gt; for reading files and &amp;lt;code&amp;gt;qSlicerSaveDataDialog&amp;lt;/code&amp;gt; for writting files. However, due to historical reasons, it is possible to have custom dialogs for each node types.&lt;br /&gt;
&lt;br /&gt;
It can be useful to create your own IO dialog to add custom behavior to the Slicer drag&amp;amp;drop default behavior.&lt;br /&gt;
== How to register a dialog ? ==&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Register dialogs in qSlicerXYZModule::[http://slicer.org/doc/html/classqSlicerAbstractCoreModule.html#a9ad37e756338e7226f157b4eb54b9bcd setup()]:&lt;br /&gt;
 [http://slicer.org/doc/html/classqSlicerIOManager.html qSlicerIOManager]* ioManager = qSlicerApplication::application()-&amp;gt;ioManager();&lt;br /&gt;
 ioManager-&amp;gt;[http://slicer.org/doc/html/classqSlicerIOManager.html#ae47e9cf27f230335b865bce84a56e156 registerDialog](new qSlicerXYZDialog(this));&lt;br /&gt;
 ioManager-&amp;gt;[http://slicer.org/doc/html/classqSlicerIOManager.html#ae47e9cf27f230335b865bce84a56e156 registerDialog](new qSlicerSaveXYZDialog(this));&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
Declare an XYZFileDialog in your XYZ.py module file. It will be automatically registered. For example:&lt;br /&gt;
 class XYZFileDialog:&lt;br /&gt;
   def __init__(self, parent):&lt;br /&gt;
     self.parent = parent&lt;br /&gt;
     parent.fileType = 'XYZFile'&lt;br /&gt;
     parent.description = 'XYZ'&lt;br /&gt;
     parent.action = slicer.qSlicerFileDialog.Read&lt;br /&gt;
   def isMimeDataAccepted(self):&lt;br /&gt;
     accept = self.parent.mimeData().hasFormat(&amp;quot;text/uri-list&amp;quot;)&lt;br /&gt;
     self.parent.acceptMimeData(accept)&lt;br /&gt;
   def dropEvent(self):&lt;br /&gt;
     self.parent.dropEvent().accept()&lt;br /&gt;
   def execDialog(self):&lt;br /&gt;
     print 'exec' &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to open a registered a dialog ? ==&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 [http://slicer.org/doc/html/classqSlicerIOManager.html qSlicerIOManager]* ioManager = qSlicerApplication::application()-&amp;gt;ioManager();&lt;br /&gt;
 ioManager-&amp;gt;openDialog(&amp;quot;VolumeFile&amp;quot;, qSlicerFileDialog::Read, qSlicerIO::IOProperties());&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  io = slicer.app.ioManager()&lt;br /&gt;
  params = {}&lt;br /&gt;
  io.openDialog(&amp;quot;VolumeFile&amp;quot;, slicer.qSlicerFileDialog.Read, params)&lt;br /&gt;
And the special case for standard data file types:&lt;br /&gt;
 slicer.util.openAddVolumeDialog()&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to order the list of drag&amp;amp;drop dialogs ?==&lt;br /&gt;
By controlling the order of module initialization. This is done by adding module dependencies. Make your module dependent of of the &amp;quot;Data&amp;quot; would make it initialize after the Data module that registers the &amp;quot;Any Data&amp;quot; dialogs:&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 QStringList qSlicerXYZModule::dependencies() const&lt;br /&gt;
 {&lt;br /&gt;
   QStringList moduleDependencies;&lt;br /&gt;
   moduleDependencies &amp;lt;&amp;lt; &amp;quot;Data&amp;quot;;&lt;br /&gt;
   return moduleDependencies;&lt;br /&gt;
 }&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 def __init__(self, parent):&lt;br /&gt;
   ...&lt;br /&gt;
   parent.dependencies = [&amp;quot;Data&amp;quot;] class XYZFileDialog:&lt;br /&gt;
   ...&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/OpenIGTLinkIF&amp;diff=38431</id>
		<title>Documentation/Nightly/Developers/OpenIGTLinkIF</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Developers/OpenIGTLinkIF&amp;diff=38431"/>
		<updated>2014-06-26T14:27:39Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Add link to github code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
This page provides developer's information for 3D Slicer's OpenIGTLink IF module.&lt;br /&gt;
&lt;br /&gt;
=Source code=&lt;br /&gt;
* Github: [https://github.com/openigtlink/OpenIGTLinkIF https://github.com/openigtlink/OpenIGTLinkIF]&lt;br /&gt;
&lt;br /&gt;
=Creating external OpenIGTLink server/client software=&lt;br /&gt;
With the OpenIGTLink IF module, you can exchange various types of data (e.g. linear transforms and images) between 3D Slicer and external software over the local area network. We provide [http://www.na-mic.org/Wiki/index.php/OpenIGTLink/Library OpenIGTLink Library] to support OpenIGTLink-compatible software. Please refer the [http://www.na-mic.org/Wiki/index.php/OpenIGTLink/Library/Tutorial Tutorial].&lt;br /&gt;
&lt;br /&gt;
=Controlling OpenIGTLink IF from Python module=&lt;br /&gt;
You can use the OpenIGTLink IF module's features from [[Slicer4:Python| 3D Slicer's Python interface]]. The features can be called from both Slicer Python Interactor (Python console) and Python module.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
*3D Slicer 4.2 nightly build (November 10, 2012 or later) available at [http://slicer.org http://slicer.org/] (4.2.0 release version has an issue in initialization of the OpenIGTLinkIF module. If you use this version, you need to open the OpenIGTLinkIF module, before using the Python interface)&lt;br /&gt;
*OpenIGTLink Simulators available in [http://wiki.slicer.org/slicerWiki/index.php/Modules:OpenIGTLinkIF-3.6-Simulators NA-MIC wiki] or the OpenIGTLink Library&lt;br /&gt;
&lt;br /&gt;
==Creating an OpenIGTLink connector node from Python Interactor==&lt;br /&gt;
&lt;br /&gt;
To establish an OpenIGTLink connection, first you need to create an OpenIGTLink connector node (vtkMRMLIGTLConnectorNode).&lt;br /&gt;
From Python Interactor:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode = slicer.vtkMRMLIGTLConnectorNode()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; slicer.mrmlScene.AddNode(cnode)&lt;br /&gt;
 (vtkMRMLIGTLConnectorNode)0x125e6ce10&lt;br /&gt;
&lt;br /&gt;
You may name the connector as follows:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.SetName('Connector1')&lt;br /&gt;
&lt;br /&gt;
If the connector node is properly added to the scene, you could see it in the Connector list in the OpenIGTLink IF module.&lt;br /&gt;
&lt;br /&gt;
==Importing a linear transform to external software (3D Slicer as a client)==&lt;br /&gt;
&lt;br /&gt;
Suppose the downloaded simulator files are in &amp;lt;working directory&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
First, launch the &amp;quot;TrackerServer&amp;quot; simulator from a terminal (or a command prompt on Windows) and ask to wait for a connection from the 3D Slicer at port # 18944. The frame rate for sending linear transforms is set to 10 frames/sec&lt;br /&gt;
&lt;br /&gt;
 $ cd &amp;lt;working directory&amp;gt;&lt;br /&gt;
 $ ./TrackerServer 18944 10&lt;br /&gt;
&lt;br /&gt;
Then open the Python Interactor and type in the following commands to configure the connector node as a client:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.SetTypeClient('localhost', 18944)&lt;br /&gt;
 1&lt;br /&gt;
&lt;br /&gt;
Make sure that cnode.SetTypeClient() function returns 1. Then, start the client by:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.Start()&lt;br /&gt;
 1&lt;br /&gt;
&lt;br /&gt;
If the connector node is successfully connected to the TrackerServer, you will start seeing 4x4 matrices printed on the terminal every 100 ms. &lt;br /&gt;
You could also confirm in the Transform module that those matrices are imported to a linear transform node in the scene. Open &amp;quot;Transform&amp;quot; module&lt;br /&gt;
and select &amp;quot;Tracker&amp;quot; from &amp;quot;Active Transform&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
==Exporting a linear transform to external software (3D Slicer as a client)==&lt;br /&gt;
&lt;br /&gt;
Suppose the simulator files are in &amp;lt;working directory&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
First, launch the &amp;quot;ReceiveServer&amp;quot; simulator from the terminal (or the command prompt on Windows) and ask to wait for a connection from the 3D Slicer at port # 18944.&lt;br /&gt;
&lt;br /&gt;
 $ cd &amp;lt;working directory&amp;gt;&lt;br /&gt;
 $ ./ReceiveServer 18944&lt;br /&gt;
&lt;br /&gt;
Then open the Python Interactor and type in the following command to configure the connector node as a client:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.SetTypeClient('localhost', 18944)&lt;br /&gt;
 1&lt;br /&gt;
&lt;br /&gt;
Make sure that cnode.SetTypeClient() function returns 1. Then, start the client by:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.Start()&lt;br /&gt;
 1&lt;br /&gt;
&lt;br /&gt;
Now the connector is connected to the ReceiveServer. You can confirm it from the Connector list in the OpenIGTLink IF module. If it is connected, the &amp;quot;Status&amp;quot; of the connector must be &amp;quot;ON&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The next step is to create a linear transform node to export. You can create it from &amp;quot;Transform&amp;quot; module, or from the Python Interactor:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tnode = slicer.vtkMRMLLinearTransformNode()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; slicer.mrmlScene.AddNode(tnode)&lt;br /&gt;
 (vtkMRMLLinearTransformNode)0x125e6cf70&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
If you created the transform node from the Transform module, you need to get the node object in the Python Interactor. To do so, open &amp;quot;Data&amp;quot; module, click the &amp;quot;Display MRML ID's&amp;quot; under the &amp;quot;Nodes&amp;quot; interface, and check the node ID written on the right end of the &amp;quot;Nodes&amp;quot; interface. If the transform node is the first node you created after launching 3D Slicer, the node ID is usually &amp;quot;vtkMRMLLinearTransformNode4&amp;quot;. You can obtain the node object in the Python Interactor by using GetNodeByID() function:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; tnode = slicer.mrmlScene.GetNodeByID('vtkMRMLLinearTransformNode4')&lt;br /&gt;
&lt;br /&gt;
Now it's ready for the connector node to observe the transform node. Register the transform node to the connector as an outgoing data:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.RegisterOutgoingMRMLNode(tnode)&lt;br /&gt;
 1&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may check from &amp;quot;I/O Configuration&amp;quot; in the OpenIGTLinkIF module if the linear transform node is registered as a OUTGOING node. (The linear transform node should be under &amp;quot;OUT&amp;quot; branch of the connector node.)&lt;br /&gt;
&lt;br /&gt;
Let's try updating the transform node. Open the &amp;quot;Transform&amp;quot; module, choose the linear transform node from &amp;quot;Active Transform&amp;quot; and drag any of translation/rotation sliders. While you are dragging those sliders, you will see 4x4 matrices are shown on the terminal that runs &amp;quot;ReceiveServer.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To close the connection, you may call:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; cnode.Stop()&lt;br /&gt;
&lt;br /&gt;
=Extended Interface for External Software (Ideas)=&lt;br /&gt;
There has been discussion how to send extra data (data that are not defined as MRML nodes) to 3D Slicer through OpenIGTLink [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/011903.html]. For example, some developers are interested in sending switch status for their tracking devices. Here are some notes and ideas&lt;br /&gt;
&lt;br /&gt;
*Extra information in MRML scene&lt;br /&gt;
**Extra information can be stored in key/value array format as &amp;quot;attributes&amp;quot; in MRML nodes. &lt;br /&gt;
**Slicer developers use &amp;quot;ModuleName.attribute&amp;quot; as a key.&lt;br /&gt;
**With an MRML node, the OpenIGTLink IF module can notify other modules that the attribute has been updated through Event mechanism in 3D Slicer.&lt;br /&gt;
*Extra information in OpenIGTLink IF&lt;br /&gt;
**There is no mechanism to add any attribute information with existing data format. The challenge is to maintain the current rule (the message name and type corresponds to the MRML name and node type respectively), while handling the extra information using existing data types.&lt;br /&gt;
**The STRING type may be used to send key/attribute.&lt;br /&gt;
***PRO: Implementation is simple. It can be implemented without defining a new message type or changing the mechanism in the OpenIGTLinkIF module.&lt;br /&gt;
***CON: Cannot differentiate from STRING data, which will be stored in annotation node.&lt;br /&gt;
**Define COMMAND type in OpenIGTLink? A COMMAND message will not be converted to MRML node. It will be interpreted at the OpenIGTLinkIF module.&lt;br /&gt;
***PRO: This mechanism can be used for other purpose e.g. controlling 3D Slicer from external software by sending Python script.&lt;br /&gt;
***CON: The new message type is required.&lt;br /&gt;
**Use [http://openigtlink.org/protocols/v2_bind.html BIND] message. The BIND message bundles multiple OpenIGTLink messages into one message. If the module receives a BIND message, it converts the first element to an MRML node, and then coverts other elements (must be STRING type) to key/value and set in the MRML node converted from the first element.&lt;br /&gt;
***PRO: Does not need any change in the protocol.&lt;br /&gt;
***CON: The API becomes a bit complicated.&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Announcements&amp;diff=37929</id>
		<title>Documentation/Nightly/Announcements</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Announcements&amp;diff=37929"/>
		<updated>2014-05-12T17:00:25Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Slicer Highlights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
[[image:Slicer4Announcement-HiRes.png|center|'''{{documentation/version}}''']]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center; font-size:120%; border-spacing: 0; padding: 0px;&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|[[#Introduction|Introduction ]]&lt;br /&gt;
|[[#Our Philosophy| Our Philosophy ]]&lt;br /&gt;
|[[#Slicer Highlights|Slicer Highlights ]]&lt;br /&gt;
|[[#Slicer Extensions|Slicer Extensions]]&lt;br /&gt;
|[[#Other Improvements,  Additions &amp;amp; Documentation| Other Improvements,  Additions &amp;amp; Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
=Introduction= &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The [http://www.slicer.org/pages/Acknowledgments community] of Slicer developers is proud to announce the release of '''Slicer {{documentation/version}}'''.&lt;br /&gt;
&lt;br /&gt;
*Slicer {{documentation/version}} introduces [...] and many tweaks and augmentations of the major changes introduced in Slicer {{documentation/version}}.&lt;br /&gt;
&lt;br /&gt;
*Click here to [http://download.slicer.org/ download] Slicer {{documentation/version}} for different platforms and find pointers to the source code, mailing lists and bug tracker. &lt;br /&gt;
*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 Slicer4 are not fully tested.&lt;br /&gt;
*The [[Documentation/{{documentation/version}}/Training|Slicer Training]] page provides a series of courses for learning how to use Slicer4. 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;
Find out more about Slicer {{documentation/version}} in the webinar held on [...]:&lt;br /&gt;
&lt;br /&gt;
[[Image:Webinar-Slicer-4.1.png|link=http://vimeo.com/41096643|400px|center]]&lt;br /&gt;
&lt;br /&gt;
=Our Philosophy=&lt;br /&gt;
Slicer is  a community platform created for the purpose of subject specific image analysis and visualization. &lt;br /&gt;
&lt;br /&gt;
* Multi-modality imaging including, MRI, CT, US, nuclear medicine, and microscopy&lt;br /&gt;
* Multi organ from head to toe&lt;br /&gt;
* Bidirectional interface for devices&lt;br /&gt;
* Expandable and interfaced to multiple toolkits&lt;br /&gt;
&lt;br /&gt;
There is no restriction on use, but permissions and compliance with rules are responsibility of users. For details on the license see [http://www.slicer.org/cgi-bin/License/SlicerLicenseForm.pl here]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=Slicer Highlights=&lt;br /&gt;
* .mrb files&lt;br /&gt;
* data store module&lt;br /&gt;
* improved integration of non rigid deformations&lt;br /&gt;
* Transform visualizer&lt;br /&gt;
* Faster image stack (png, jpg, bmp, tiff...) loading&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;New and Improved Modules&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:ITK_logo.png|Moved from ITKv3 to ITKv4&lt;br /&gt;
Image:SimpleITK_Logo.png|Added SimpleITK&lt;br /&gt;
Image:CLIAutoRun.png|Added AutoRun mode for CLI modules to interactively search in parameter space and to create pipelines of filters. Watch the [https://vimeo.com/64813350  demo]!&lt;br /&gt;
Image:Markups-GUI-Collapsed.png|The [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Markups Markups] module replaces Annotation fiducials.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slicer Extensions=&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;New and Improved Extensions&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:QuickToolsLogo.png|[[Documentation/{{documentation/version}}/Extensions/ImageMaker|Image Maker]] to create volumes from scratch&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Improvements,  Additions &amp;amp; Documentation =&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:SlicerModels-Large.svg|Added advanced controls for the [[Documentation/{{documentation/version}}/Modules/Models|model display representation]]&lt;br /&gt;
Image:SlicerModels-Large.svg|Depth peeling option for translucent surface models in [[Documentation/{{documentation/version}}/SlicerApplication/MainApplicationGUI#3D_Viewer|3D views]]&lt;br /&gt;
Image:SlicerVolume-Large.svg|Added read/write support for [[Documentation/{{documentation/version}}/SlicerApplication/SupportedDataFormat|MRC files]]&lt;br /&gt;
Image:ctkDoubleSpinBox.gif|Improved support for image precision.&lt;br /&gt;
Image:QSlicerDarkStyle.png|Slicer theme for low intensity environment.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Looking at the Code Changes =&lt;br /&gt;
&lt;br /&gt;
From a git checkout you can easily see the all the commits since the time of the 4.4.2 release:&lt;br /&gt;
&lt;br /&gt;
 git log --since=&amp;quot;Sat Dec 8 03:32:53 2012&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To see a summary of your own commits, you could use something like:&lt;br /&gt;
&lt;br /&gt;
 git log --since=&amp;quot;Sat Dec 8 03:32:53 2012&amp;quot;  --oneline --author=pieper&lt;br /&gt;
&lt;br /&gt;
see [https://www.kernel.org/pub/software/scm/git/docs/git-log.html the git log man page] for more options.&lt;br /&gt;
&lt;br /&gt;
[[Release_Details#Slicer_{{documentation/version}}.0|Commit stats and full changelog]]&lt;br /&gt;
&lt;br /&gt;
= Related Projects =&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;&amp;quot; widths=&amp;quot;250px&amp;quot; heights=&amp;quot;150px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/VolumeRendering&amp;diff=37552</id>
		<title>Documentation/Nightly/Modules/VolumeRendering</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/VolumeRendering&amp;diff=37552"/>
		<updated>2014-04-03T14:02:54Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* How Tos */ Add how to register a new volume rendering method&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}} }}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-acknowledgements}}&lt;br /&gt;
: '''Contact:''' Julien Finet, &amp;lt;email&amp;gt;julien.finet@kitware.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|{{collaborator|logo|kitware}}|{{collaborator|longname|kitware}}&lt;br /&gt;
|{{collaborator|logo|isomics}}|{{collaborator|longname|isomics}}&lt;br /&gt;
|{{collaborator|logo|spl}}|{{collaborator|longname|spl}}&lt;br /&gt;
|{{collaborator|logo|namic}}|{{collaborator|longname|namic}}&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
Only UNSIGNED CHAR images are supported for now. You can convert your images into UCHAR by using the [[Documentation/{{documentation/version}}/Modules/CastScalarVolume|Cast Scalar Volume]] module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200px&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Tumor-Volume-Rendering-PostGad-2011.png|Tumor post pad &amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(preset: MR-Default)&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:Modules-VolumeRendering-LabelMap.png|Segmented (labelmap) knee&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;(interpolation: nearest neighbor, shading: off)&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:QSlicerVolumeRendering-default.png|Default view of the module.&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;Inputs and Advanced... are hidden by default&amp;lt;/small&amp;gt;&lt;br /&gt;
Image:VolumeRenderingSettings.png|Volume Rendering settings&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''Edit -&amp;gt; Application Settings -&amp;gt; Volume Rendering settings''&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
&lt;br /&gt;
Tutorial about [http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_Tutorials using the volume rendering module]. &lt;br /&gt;
&lt;br /&gt;
===Labelmap rendering===&lt;br /&gt;
[[File:Modules-VolumeRendering-LabelMap.png|right|500px]]&lt;br /&gt;
A labelmap is a volume, and as such it can be visualized using the Volume Rendering method. It can be an alternative from [[Documentation/{{documentation/version}}/Modules/ModelMaker|creating surface models]] from labelmap.&lt;br /&gt;
# First you need to load your labelmap.&lt;br /&gt;
## Make sure you check the &amp;quot;Labelmap&amp;quot; check box at load time.&lt;br /&gt;
## Make sure the labelmap is a Unsigned Char image, not Unsigned/Signed Short, Int or Long. If needed, you can [[Documentation/{{documentation/version}}/Modules/CastScalarVolume| cast]] the labelmap to UCHAR.&lt;br /&gt;
# Open the Volume Rendering module&lt;br /&gt;
## As usual, click on the eye to start the Volume Rendering. &lt;br /&gt;
# To turn off shading:&lt;br /&gt;
## go to Advanced../Volume Properties/Advanced group box and uncheck the &amp;quot;Shade&amp;quot; checkbox&lt;br /&gt;
# To turn on/off a specific label:&lt;br /&gt;
## Go to the Advanced.../Volume Properties/Scalar Opacity Mapping group box&lt;br /&gt;
## Toggle down the '&amp;gt;&amp;gt;' button to show the Opacity controls. &lt;br /&gt;
## Browse each label with the &amp;quot;Point:&amp;quot; spinbox. When the spinbox shows the current label value, &lt;br /&gt;
## Set the Opacity spinbox value to 0.0/1.0 to hide/show the label.&lt;br /&gt;
&lt;br /&gt;
===Render 2 volumes in 2 views===&lt;br /&gt;
[[File:DualVR.png|right|500px]]&lt;br /&gt;
# [[Documentation/{{documentation/version}}/SlicerApplication/MainApplicationGUI#Layouts|Change layout]] into &amp;quot;Dual 3D&amp;quot;&lt;br /&gt;
# [[Documentation/{{documentation/version}}/SlicerApplication/LoadingData|Load]] your 2 volumes&lt;br /&gt;
# [[Documentation/{{documentation/version}}/SlicerApplication/MainApplicationGUI#Module_Selection_.26_Navigation|Open]] Volume Rendering module&lt;br /&gt;
# For the first volume:&lt;br /&gt;
## Open the &amp;quot;Inputs&amp;quot; section&lt;br /&gt;
## Uncheck &amp;quot;View2&amp;quot; -&amp;gt; only &amp;quot;View1&amp;quot; is checked&lt;br /&gt;
## Don't click the &amp;quot;eye&amp;quot; icon yet.&lt;br /&gt;
# Select the 2nd volume&lt;br /&gt;
## Check &amp;quot;View2&amp;quot;&lt;br /&gt;
## Uncheck &amp;quot;View1&amp;quot; -&amp;gt; only &amp;quot;View2&amp;quot; is checked&lt;br /&gt;
## Click the eye icon for the VR to show up in View2&lt;br /&gt;
# Select the 1st volume&lt;br /&gt;
## Click the eye icon for the VR to show up in View1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
[[File:VolumeRenderingPanel.png|right|]]&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
[[Documentation/{{documentation/version}}/Modules/Volumes|Volumes]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
For extensions: link to the source code repository and additional documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
===Limitations===&lt;br /&gt;
*To date, only 1 volume can be visible at a time. This happens because the current volume rendering displayable node is hidden when changing to a different volume node.&lt;br /&gt;
*Only UNSIGNED CHAR images are supported for now. You can convert your images into UCHAR by using the [[Documentation/{{documentation/version}}/Modules/CastScalarVolume|Cast Scalar Volume]] module.&lt;br /&gt;
&lt;br /&gt;
===Key [[Documentation/{{documentation/version}}/Developers/MRML|nodes]] and classes===&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkMRMLVolumeRenderingDisplayNode.html vtkMRMLVolumeRenderingDisplayNode] controls the volume rendering properties. Each volume rendering technique has its own subclass.&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html vtkSlicerVolumeRenderingLogic] contains utility functions&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkMRMLScalarVolumeNode.html vtkMRMLScalarVolumeNode] contains the volume itself&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkMRMLVolumePropertyNode.html vtkMRMLVolumePropertyNode] points to the transfer functions&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkMRMLAnnotationROINode.html vtkMRMLAnnotationROINode] controls the clipping planes&lt;br /&gt;
* [http://slicer.org/doc/html/classvtkMRMLVolumeRenderingDisplayableManager.html vtkMRMLVolumeRenderingDisplayableManager] adds the volume renderings into the views&lt;br /&gt;
&lt;br /&gt;
===How Tos===&lt;br /&gt;
*How to programmatically volume render your volume node?&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 qSlicerAbstractCoreModule* volumeRenderingModule =&lt;br /&gt;
   qSlicerCoreApplication::application()-&amp;gt;moduleManager()-&amp;gt;module(&amp;quot;VolumeRendering&amp;quot;);&lt;br /&gt;
 vtkSlicerVolumeRenderingLogic* volumeRenderingLogic = &lt;br /&gt;
   volumeRenderingModule ? vtkSlicerVolumeRenderingLogic::SafeDownCast(volumeRenderingModule-&amp;gt;logic()) : 0;&lt;br /&gt;
 vtkMRMLVolumeNode* volumeNode = mrmlScene-&amp;gt;GetNodeByID('vtkMRMLScalarVolumeNode1');&lt;br /&gt;
 if (volumeRenderingLogic)&lt;br /&gt;
   {&lt;br /&gt;
   vtkMRMLVolumeRenderingDisplayNode* displayNode =&lt;br /&gt;
     volumeRenderingLogic-&amp;gt;CreateVolumeRenderingDisplayNode();&lt;br /&gt;
   mrmlScene-&amp;gt;AddNode(displayNode);&lt;br /&gt;
   displayNode-&amp;gt;Delete();&lt;br /&gt;
   volumeRenderingLogic-&amp;gt;UpdateDisplayNodeFromVolumeNode(displayNode, volumeNode);&lt;br /&gt;
   volumeNode-&amp;gt;AddAndObserveDisplayNodeID(displayNode-&amp;gt;GetID());&lt;br /&gt;
   }&lt;br /&gt;
See [[Documentation/{{documentation/version}}/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]] for more about volume dependency.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; logic = slicer.modules.volumerendering.logic()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; volumeNode = slicer.mrmlScene.GetNodeByID('vtkMRMLScalarVolumeNode1')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; displayNode = logic.CreateVolumeRenderingDisplayNode()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; slicer.mrmlScene.AddNode(displayNode)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; displayNode.UnRegister(logic)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; logic.UpdateDisplayNodeFromVolumeNode(displayNode, volumeNode)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; volumeNode.AddAndObserveDisplayNodeID(displayNode.GetID())&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*How to programmatically apply a custom color/opacity transfer function?&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 vtkColorTransferFunction* colors = ...&lt;br /&gt;
 vtkPiecewiseFunction* opacities = ...&lt;br /&gt;
 vtkMRMLVolumeRenderingDisplayNode* displayNode = ...&lt;br /&gt;
 vtkMRMLVolumePropertyNode* propertyNode = displayNode-&amp;gt;GetVolumePropertyNode();&lt;br /&gt;
 propertyNode-&amp;gt;SetColor(colorTransferFunction);&lt;br /&gt;
 propertyNode-&amp;gt;SetScalarOpacity(opacities);&lt;br /&gt;
 // optionally set the gradients opacities with SetGradientOpacity&lt;br /&gt;
The logic has utility functions to help you create those transfer functions:&lt;br /&gt;
 volumeRenderingLogic-&amp;gt;[http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html#ab8dbda38ad81b39b445b01e1bf8c7a86 SetWindowLevelToVolumeProp](...)&lt;br /&gt;
 volumeRenderingLogic-&amp;gt;[http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html#a1dcbe614493f3cbb9aa50c68a64764ca SetThresholdToVolumeProp](...)&lt;br /&gt;
 volumeRenderingLogic-&amp;gt;[http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html#a359314889c2b386fd4c3ffe5414522da SetLabelMapToVolumeProp](...)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; propertyNode = displayNode.GetVolumePropertyNode()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*How to programmatically limit volume rendering to a subset of the volume?&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 [http://slicer.org/doc/html/classvtkMRMLAnnotationROINode.html vtkMRMLAnnotationROINode]* roiNode =...&lt;br /&gt;
 vtkMRMLVolumeRenderingDisplayNode* displayNode = ...&lt;br /&gt;
 displayNode-&amp;gt;SetAndObserveROINodeID(roiNode-&amp;gt;GetID());&lt;br /&gt;
 displayNode-&amp;gt;SetCroppingEnabled(1);&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; displayNode.SetAndObserveROINodeID(roiNode.GetID())&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; displayNode.CroppingEnabled = 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*How to register a new Volume Rendering mapper?&lt;br /&gt;
You need to derive from [http://slicer.org/doc/html/classvtkMRMLVolumeRenderingDisplayNode.html vtkMRMLVolumeRenderingDisplayNode] and register your class within [http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html vtkSlicerVolumeRenderingLogic].&lt;br /&gt;
&lt;br /&gt;
{|width = &amp;quot;100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|C++&lt;br /&gt;
! style=&amp;quot;border-bottom: 1px solid darkgrey;font-size: 75%;&amp;quot;|Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
 void qSlicerMyABCVolumeRenderingModule::setup()&lt;br /&gt;
 {&lt;br /&gt;
   vtkMRMLThreeDViewDisplayableManagerFactory::GetInstance()-&amp;gt;&lt;br /&gt;
     RegisterDisplayableManager(&amp;quot;vtkMRMLMyABCVolumeRenderingDisplayableManager&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
   this-&amp;gt;Superclass::setup();&lt;br /&gt;
 &lt;br /&gt;
   qSlicerAbstractCoreModule* volumeRenderingModule =&lt;br /&gt;
     qSlicerCoreApplication::application()-&amp;gt;moduleManager()-&amp;gt;module(&amp;quot;VolumeRendering&amp;quot;);&lt;br /&gt;
   if (volumeRenderingModule)&lt;br /&gt;
     {&lt;br /&gt;
     vtkNew&amp;lt;vtkMRMLMyABCVolumeRenderingDisplayNode&amp;gt; displayNode;&lt;br /&gt;
     vtkSlicerVolumeRenderingLogic* volumeRenderingLogic =&lt;br /&gt;
       vtkSlicerVolumeRenderingLogic::SafeDownCast(volumeRenderingModule-&amp;gt;logic());&lt;br /&gt;
     volumeRenderingLogic-&amp;gt;RegisterRenderingMethod(&lt;br /&gt;
       &amp;quot;My ABC Volume Rendering&amp;quot;, displayNode-&amp;gt;GetClassName());&lt;br /&gt;
     }&lt;br /&gt;
   else&lt;br /&gt;
     {&lt;br /&gt;
     qWarning() &amp;lt;&amp;lt; &amp;quot;Volume Rendering module is not found&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
If you want to expose control widgets for your volume rendering method, then register your widget with [http://slicer.org/doc/html/classqSlicerVolumeRenderingModuleWidget.html#acd9cdb60f1fd260f3ebf74428bb7c45b addRenderingMethodWidget()]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37149</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37149"/>
		<updated>2014-01-28T14:55:04Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
!Slicer 2.6 - 2006-08-12&lt;br /&gt;
!Slicer 2.7 - 2007-04-20&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45796	nicole&lt;br /&gt;
 27332	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	mathieu&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45913	nicole&lt;br /&gt;
 28851	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 705	kquintus&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 294	mathieu&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Number of lines per author in Slicer 3=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 3.0 - 2008-02-13&lt;br /&gt;
! Slicer 3.2 - 2008-11-25&lt;br /&gt;
! Slicer 3.4 - 2010-03-23&lt;br /&gt;
! Slicer 3.6 - 2011-11-25&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 27051	pieper&lt;br /&gt;
 18619	lorensen&lt;br /&gt;
 17500	wjp@bwh.harvard.edu&lt;br /&gt;
 10751	naucoin&lt;br /&gt;
 9037	davisb&lt;br /&gt;
 6500	millerjv&lt;br /&gt;
 6064	hliu&lt;br /&gt;
 5771	rjosest&lt;br /&gt;
 5184	blezek&lt;br /&gt;
 4720	andy&lt;br /&gt;
 3947	aylward&lt;br /&gt;
 3001	kquintus&lt;br /&gt;
 2288	vmagnotta&lt;br /&gt;
 1392	alexy&lt;br /&gt;
 1211	tringo&lt;br /&gt;
 535	lauren&lt;br /&gt;
 426	barre&lt;br /&gt;
 275	mike&lt;br /&gt;
 225	padfield&lt;br /&gt;
 189	freudling&lt;br /&gt;
 160	hayes&lt;br /&gt;
 39	FeiZhao&lt;br /&gt;
 35	jcross186&lt;br /&gt;
 32	malaterre&lt;br /&gt;
 20	tokuda&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 11	taox&lt;br /&gt;
 3	samset&lt;br /&gt;
 2	zack.galbreath&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	nobyhata&lt;br /&gt;
 2	demian&lt;br /&gt;
 1	yumin&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 29292	pieper&lt;br /&gt;
 18283	lorensen&lt;br /&gt;
 17930	wjp@bwh.harvard.edu&lt;br /&gt;
 11279	naucoin&lt;br /&gt;
 9944	aylward&lt;br /&gt;
 9800	barre&lt;br /&gt;
 8848	davisb&lt;br /&gt;
 8089	millerjv&lt;br /&gt;
 6322	blezek&lt;br /&gt;
 5466	rjosest&lt;br /&gt;
 5298	hliu&lt;br /&gt;
 4550	andy&lt;br /&gt;
 2843	kquintus&lt;br /&gt;
 2147	vmagnotta&lt;br /&gt;
 1340	lantiga&lt;br /&gt;
 1332	tringo&lt;br /&gt;
 1185	tgl&lt;br /&gt;
 1156	alexy&lt;br /&gt;
 475	kerstin&lt;br /&gt;
 390	lauren&lt;br /&gt;
 261	mike&lt;br /&gt;
 217	padfield&lt;br /&gt;
 195	hayes&lt;br /&gt;
 70	freudling&lt;br /&gt;
 35	taox&lt;br /&gt;
 35	jcross186&lt;br /&gt;
 17	tokuda&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 15	malaterre&lt;br /&gt;
 15	FeiZhao&lt;br /&gt;
 8	hjohnson&lt;br /&gt;
 3	samset&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	bess&lt;br /&gt;
 1	zack.galbreath&lt;br /&gt;
 1	yumin&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 41211	pieper&lt;br /&gt;
 38143	clisle&lt;br /&gt;
 29839	hliu&lt;br /&gt;
 22787	lorensen&lt;br /&gt;
 18833	wjp@bwh.harvard.edu&lt;br /&gt;
 11807	naucoin&lt;br /&gt;
 11305	aylward&lt;br /&gt;
 10070	millerjv&lt;br /&gt;
 9901	pohl&lt;br /&gt;
 9895	barre&lt;br /&gt;
 7865	davisb&lt;br /&gt;
 7494	jvs&lt;br /&gt;
 5552	atriveg&lt;br /&gt;
 4896	nicky&lt;br /&gt;
 4738	blezek&lt;br /&gt;
 4549	andy&lt;br /&gt;
 3672	rjosest&lt;br /&gt;
 2839	kquintus&lt;br /&gt;
 2485	lantiga&lt;br /&gt;
 1882	alexy&lt;br /&gt;
 1309	tgl&lt;br /&gt;
 1301	fedorov&lt;br /&gt;
 1164	finetjul&lt;br /&gt;
 1129	tringo&lt;br /&gt;
 1058	sgerber&lt;br /&gt;
 776	pkarasev3&lt;br /&gt;
 769	ibanez&lt;br /&gt;
 648	demian&lt;br /&gt;
 338	kerstin&lt;br /&gt;
 268	lauren&lt;br /&gt;
 244	bess&lt;br /&gt;
 205	padfield&lt;br /&gt;
 198	hayes&lt;br /&gt;
 73	hjohnson&lt;br /&gt;
 69	freudling&lt;br /&gt;
 46	vmagnotta&lt;br /&gt;
 36	tokuda&lt;br /&gt;
 33	jcross186&lt;br /&gt;
 31	taox&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 15	malaterre&lt;br /&gt;
 15	FeiZhao&lt;br /&gt;
 7	karthik&lt;br /&gt;
 3	yumin&lt;br /&gt;
 3	samset&lt;br /&gt;
 3	mike&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 1	domibel&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 48212	hjohnson&lt;br /&gt;
 46278	pieper&lt;br /&gt;
 38104	clisle&lt;br /&gt;
 30247	hliu&lt;br /&gt;
 25404	jcfr&lt;br /&gt;
 23992	finetjul&lt;br /&gt;
 21644	lorensen&lt;br /&gt;
 21037	haehn&lt;br /&gt;
 20548	wjp@bwh.harvard.edu&lt;br /&gt;
 16284	jvs&lt;br /&gt;
 15909	fedorov&lt;br /&gt;
 11708	aylward&lt;br /&gt;
 11092	millerjv&lt;br /&gt;
 10805	naucoin&lt;br /&gt;
 9987	barre&lt;br /&gt;
 9534	casey.goodlett&lt;br /&gt;
 8378	alexy&lt;br /&gt;
 7589	pohl&lt;br /&gt;
 6431	domibel&lt;br /&gt;
 5796	sylvain&lt;br /&gt;
 5545	atriveg&lt;br /&gt;
 4603	blezek&lt;br /&gt;
 4548	andy&lt;br /&gt;
 3892	ibanez&lt;br /&gt;
 3496	ygao&lt;br /&gt;
 2836	kquintus&lt;br /&gt;
 2829	tokuda&lt;br /&gt;
 2252	lantiga&lt;br /&gt;
 2168	nicky&lt;br /&gt;
 1993	mscully&lt;br /&gt;
 1573	vmagnotta&lt;br /&gt;
 1447	partyd&lt;br /&gt;
 1294	tgl&lt;br /&gt;
 1137	pkarasev&lt;br /&gt;
 855	demian&lt;br /&gt;
 708	lauren&lt;br /&gt;
 562	lassoan&lt;br /&gt;
 421	rjosest&lt;br /&gt;
 394	taox&lt;br /&gt;
 332	kerstin&lt;br /&gt;
 274	harveerar&lt;br /&gt;
 242	bess&lt;br /&gt;
 205	padfield&lt;br /&gt;
 191	awiles&lt;br /&gt;
 185	hayes&lt;br /&gt;
 122	tringo&lt;br /&gt;
 98	francois_budin&lt;br /&gt;
 67	davisb&lt;br /&gt;
 55	freudling&lt;br /&gt;
 25	vrnova&lt;br /&gt;
 24	jcross186&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 13	FeiZhao&lt;br /&gt;
 10	malaterre&lt;br /&gt;
 7	karthik&lt;br /&gt;
 3	samset&lt;br /&gt;
 3	mike&lt;br /&gt;
 2	yumin&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	maddah&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37148</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37148"/>
		<updated>2014-01-28T14:29:05Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
!Slicer 2.6 - 2006-08-12&lt;br /&gt;
!Slicer 2.7 - 2007-04-20&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45796	nicole&lt;br /&gt;
 27332	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	mathieu&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45913	nicole&lt;br /&gt;
 28851	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 705	kquintus&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 294	mathieu&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Number of lines per author in Slicer 3=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 3.0 - 2008-02-13&lt;br /&gt;
! Slicer 3.2 - 2008-11-25&lt;br /&gt;
! Slicer 3.4 -&lt;br /&gt;
! Slicer 3.6 -&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 27051	pieper&lt;br /&gt;
 18619	lorensen&lt;br /&gt;
 17500	wjp@bwh.harvard.edu&lt;br /&gt;
 10751	naucoin&lt;br /&gt;
 9037	davisb&lt;br /&gt;
 6500	millerjv&lt;br /&gt;
 6064	hliu&lt;br /&gt;
 5771	rjosest&lt;br /&gt;
 5184	blezek&lt;br /&gt;
 4720	andy&lt;br /&gt;
 3947	aylward&lt;br /&gt;
 3001	kquintus&lt;br /&gt;
 2288	vmagnotta&lt;br /&gt;
 1392	alexy&lt;br /&gt;
 1211	tringo&lt;br /&gt;
 535	lauren&lt;br /&gt;
 426	barre&lt;br /&gt;
 275	mike&lt;br /&gt;
 225	padfield&lt;br /&gt;
 189	freudling&lt;br /&gt;
 160	hayes&lt;br /&gt;
 39	FeiZhao&lt;br /&gt;
 35	jcross186&lt;br /&gt;
 32	malaterre&lt;br /&gt;
 20	tokuda&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 11	taox&lt;br /&gt;
 3	samset&lt;br /&gt;
 2	zack.galbreath&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	nobyhata&lt;br /&gt;
 2	demian&lt;br /&gt;
 1	yumin&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 29292	pieper&lt;br /&gt;
 18283	lorensen&lt;br /&gt;
 17930	wjp@bwh.harvard.edu&lt;br /&gt;
 11279	naucoin&lt;br /&gt;
 9944	aylward&lt;br /&gt;
 9800	barre&lt;br /&gt;
 8848	davisb&lt;br /&gt;
 8089	millerjv&lt;br /&gt;
 6322	blezek&lt;br /&gt;
 5466	rjosest&lt;br /&gt;
 5298	hliu&lt;br /&gt;
 4550	andy&lt;br /&gt;
 2843	kquintus&lt;br /&gt;
 2147	vmagnotta&lt;br /&gt;
 1340	lantiga&lt;br /&gt;
 1332	tringo&lt;br /&gt;
 1185	tgl&lt;br /&gt;
 1156	alexy&lt;br /&gt;
 475	kerstin&lt;br /&gt;
 390	lauren&lt;br /&gt;
 261	mike&lt;br /&gt;
 217	padfield&lt;br /&gt;
 195	hayes&lt;br /&gt;
 70	freudling&lt;br /&gt;
 35	taox&lt;br /&gt;
 35	jcross186&lt;br /&gt;
 17	tokuda&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 15	malaterre&lt;br /&gt;
 15	FeiZhao&lt;br /&gt;
 8	hjohnson&lt;br /&gt;
 3	samset&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	bess&lt;br /&gt;
 1	zack.galbreath&lt;br /&gt;
 1	yumin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37147</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37147"/>
		<updated>2014-01-28T14:23:44Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
!Slicer 2.6 - 2006-08-12&lt;br /&gt;
!Slicer 2.7 - 2007-04-20&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45796	nicole&lt;br /&gt;
 27332	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	mathieu&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45913	nicole&lt;br /&gt;
 28851	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 705	kquintus&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 294	mathieu&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Number of lines per author in Slicer 3=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 3.0 -&lt;br /&gt;
! Slicer 3.2 -&lt;br /&gt;
! Slicer 3.4 -&lt;br /&gt;
! Slicer 3.6 -&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;&lt;br /&gt;
 27051	pieper&lt;br /&gt;
 18619	lorensen&lt;br /&gt;
 17500	wjp@bwh.harvard.edu&lt;br /&gt;
 10751	naucoin&lt;br /&gt;
 9037	davisb&lt;br /&gt;
 6500	millerjv&lt;br /&gt;
 6064	hliu&lt;br /&gt;
 5771	rjosest&lt;br /&gt;
 5184	blezek&lt;br /&gt;
 4720	andy&lt;br /&gt;
 3947	aylward&lt;br /&gt;
 3001	kquintus&lt;br /&gt;
 2288	vmagnotta&lt;br /&gt;
 1392	alexy&lt;br /&gt;
 1211	tringo&lt;br /&gt;
 535	lauren&lt;br /&gt;
 426	barre&lt;br /&gt;
 275	mike&lt;br /&gt;
 225	padfield&lt;br /&gt;
 189	freudling&lt;br /&gt;
 160	hayes&lt;br /&gt;
 39	FeiZhao&lt;br /&gt;
 35	jcross186&lt;br /&gt;
 32	malaterre&lt;br /&gt;
 20	tokuda&lt;br /&gt;
 17	gcasey&lt;br /&gt;
 11	taox&lt;br /&gt;
 3	samset&lt;br /&gt;
 2	zack.galbreath&lt;br /&gt;
 2	rsierra&lt;br /&gt;
 2	nobyhata&lt;br /&gt;
 2	demian&lt;br /&gt;
 1	yumin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37146</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37146"/>
		<updated>2014-01-28T14:22:06Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
!Slicer 2.6 - 2006-08-12&lt;br /&gt;
!Slicer 2.7 - 2007-04-20&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45796	nicole&lt;br /&gt;
 27332	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	mathieu&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 45913	nicole&lt;br /&gt;
 28851	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 8805	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5705	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 856	joshea&lt;br /&gt;
 705	kquintus&lt;br /&gt;
 659	hayes&lt;br /&gt;
 442	andyc&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 294	mathieu&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 185	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37145</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37145"/>
		<updated>2014-01-28T14:14:45Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37144</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37144"/>
		<updated>2014-01-28T14:14:18Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count (cvs):&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (svn):&lt;br /&gt;
find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v &amp;quot;.svn&amp;quot; | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i svn blame {} | perl -n -e '/\s*[\d]+\s+(.*?)\s.*/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
Script used to count (git):&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37143</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37143"/>
		<updated>2014-01-28T13:20:48Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.4 - 2004-11-23&lt;br /&gt;
!Slicer 2.5 - 2005-05-23&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
 36691	nicole&lt;br /&gt;
 24944	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 7999	odonnell&lt;br /&gt;
 6693	samson&lt;br /&gt;
 5948	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4411	halazar&lt;br /&gt;
 4124	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1680	pohl&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 967	alexy&lt;br /&gt;
 856	joshea&lt;br /&gt;
 652	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 96	eric&lt;br /&gt;
 93	andyc&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
 36840	nicole&lt;br /&gt;
 28374	pieper&lt;br /&gt;
 13836	mark&lt;br /&gt;
 9432	odonnell&lt;br /&gt;
 6707	samson&lt;br /&gt;
 5711	gering&lt;br /&gt;
 4430	hanifa&lt;br /&gt;
 4415	halazar&lt;br /&gt;
 4145	sylvain&lt;br /&gt;
 3125	delfin&lt;br /&gt;
 2390	tanacs&lt;br /&gt;
 2053	meng&lt;br /&gt;
 1909	pohl&lt;br /&gt;
 1369	alexy&lt;br /&gt;
 1175	hliu&lt;br /&gt;
 1166	ahans&lt;br /&gt;
 859	joshea&lt;br /&gt;
 669	hayes&lt;br /&gt;
 375	krauth&lt;br /&gt;
 366	wjp&lt;br /&gt;
 319	peverett&lt;br /&gt;
 301	kquintus&lt;br /&gt;
 260	ctj&lt;br /&gt;
 252	lorensen&lt;br /&gt;
 212	karl&lt;br /&gt;
 203	rjosest&lt;br /&gt;
 106	andyc&lt;br /&gt;
 96	eric&lt;br /&gt;
 40	jjomier&lt;br /&gt;
 14	haker&lt;br /&gt;
 9	mikey&lt;br /&gt;
 8	mathieu&lt;br /&gt;
 1	frida&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count:&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37140</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37140"/>
		<updated>2014-01-27T23:37:32Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.6 - 2004-11-23&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
       1 frida   &lt;br /&gt;
      8 mathieu &lt;br /&gt;
     14 haker   &lt;br /&gt;
     40 jjomier &lt;br /&gt;
     93 andyc   &lt;br /&gt;
     96 eric    &lt;br /&gt;
    203 rjosest &lt;br /&gt;
    212 karl    &lt;br /&gt;
    252 lorensen&lt;br /&gt;
    260 ctj     &lt;br /&gt;
    301 kquintus&lt;br /&gt;
    319 peverett&lt;br /&gt;
    366 wjp     &lt;br /&gt;
    375 krauth  &lt;br /&gt;
    652 hayes   &lt;br /&gt;
    856 joshea  &lt;br /&gt;
    9 mikey   &lt;br /&gt;
    967 alexy   &lt;br /&gt;
   1166 ahans   &lt;br /&gt;
   1175 hliu    &lt;br /&gt;
   1680 pohl    &lt;br /&gt;
   2053 meng    &lt;br /&gt;
   2390 tanacs  &lt;br /&gt;
   3125 delfin  &lt;br /&gt;
   4124 sylvain &lt;br /&gt;
   4411 halazar &lt;br /&gt;
   4430 hanifa  &lt;br /&gt;
   5948 gering  &lt;br /&gt;
   6693 samson  &lt;br /&gt;
   7999 odonnell&lt;br /&gt;
  13836 mark    &lt;br /&gt;
  24944 pieper  &lt;br /&gt;
  36691 nicole&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count:&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37139</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37139"/>
		<updated>2014-01-27T23:37:14Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| &lt;br /&gt;
!Slicer 2.6&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
       1 frida   &lt;br /&gt;
      8 mathieu &lt;br /&gt;
     14 haker   &lt;br /&gt;
     40 jjomier &lt;br /&gt;
     93 andyc   &lt;br /&gt;
     96 eric    &lt;br /&gt;
    203 rjosest &lt;br /&gt;
    212 karl    &lt;br /&gt;
    252 lorensen&lt;br /&gt;
    260 ctj     &lt;br /&gt;
    301 kquintus&lt;br /&gt;
    319 peverett&lt;br /&gt;
    366 wjp     &lt;br /&gt;
    375 krauth  &lt;br /&gt;
    652 hayes   &lt;br /&gt;
    856 joshea  &lt;br /&gt;
    9 mikey   &lt;br /&gt;
    967 alexy   &lt;br /&gt;
   1166 ahans   &lt;br /&gt;
   1175 hliu    &lt;br /&gt;
   1680 pohl    &lt;br /&gt;
   2053 meng    &lt;br /&gt;
   2390 tanacs  &lt;br /&gt;
   3125 delfin  &lt;br /&gt;
   4124 sylvain &lt;br /&gt;
   4411 halazar &lt;br /&gt;
   4430 hanifa  &lt;br /&gt;
   5948 gering  &lt;br /&gt;
   6693 samson  &lt;br /&gt;
   7999 odonnell&lt;br /&gt;
  13836 mark    &lt;br /&gt;
  24944 pieper  &lt;br /&gt;
  36691 nicole&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count:&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37138</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37138"/>
		<updated>2014-01-27T23:26:52Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 2=&lt;br /&gt;
{| Slicer 2.6&lt;br /&gt;
|-&lt;br /&gt;
       1 frida   &lt;br /&gt;
      8 mathieu &lt;br /&gt;
     14 haker   &lt;br /&gt;
     40 jjomier &lt;br /&gt;
     93 andyc   &lt;br /&gt;
     96 eric    &lt;br /&gt;
    203 rjosest &lt;br /&gt;
    212 karl    &lt;br /&gt;
    252 lorensen&lt;br /&gt;
    260 ctj     &lt;br /&gt;
    301 kquintus&lt;br /&gt;
    319 peverett&lt;br /&gt;
    366 wjp     &lt;br /&gt;
    375 krauth  &lt;br /&gt;
    652 hayes   &lt;br /&gt;
    856 joshea  &lt;br /&gt;
    9 mikey   &lt;br /&gt;
    967 alexy   &lt;br /&gt;
   1166 ahans   &lt;br /&gt;
   1175 hliu    &lt;br /&gt;
   1680 pohl    &lt;br /&gt;
   2053 meng    &lt;br /&gt;
   2390 tanacs  &lt;br /&gt;
   3125 delfin  &lt;br /&gt;
   4124 sylvain &lt;br /&gt;
   4411 halazar &lt;br /&gt;
   4430 hanifa  &lt;br /&gt;
   5948 gering  &lt;br /&gt;
   6693 samson  &lt;br /&gt;
   7999 odonnell&lt;br /&gt;
  13836 mark    &lt;br /&gt;
  24944 pieper  &lt;br /&gt;
  36691 nicole&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count:&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37137</id>
		<title>Slicer4:QtPort/FunFacts</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer4:QtPort/FunFacts&amp;diff=37137"/>
		<updated>2014-01-27T23:24:41Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Number of lines per author in Slicer 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Slicer 4 vs Slicer 3=&lt;br /&gt;
* Superbuild&lt;br /&gt;
** Slicer 3.6 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 141m33.004s   user: 118m2.658s   sys:13m31.075s&lt;br /&gt;
** Slicer 4.0.1 (Mac Os X, 4 proc.)&lt;br /&gt;
*** real: 51m24.573s   user: 159m38.262s    sys: 21m41.498s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''2.8x faster'''&lt;br /&gt;
* Lib&lt;br /&gt;
** Slicer3 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 4m50s  user: 3m51s   sys: 0m40s&lt;br /&gt;
** Slicer3 MRML (Visual Studio 2008, 1 proc., Release):&lt;br /&gt;
*** 6m20s&lt;br /&gt;
** Slicer4 MRML (gcc, 1 proc., Ubuntu 64b):&lt;br /&gt;
*** real: 2m11s    user: 1m51s    sys: 0m22s&lt;br /&gt;
** Slicer4 MRML (Visual Studio 2008, Release):&lt;br /&gt;
*** 4m40s&lt;br /&gt;
** Slicer 3.6 vs 4.0.1 is '''1.5x to 2x faster'''&lt;br /&gt;
&lt;br /&gt;
=Number of lines per author in Slicer 4=&lt;br /&gt;
{|&lt;br /&gt;
! Slicer 4.0.0 - 2011 Nov 27&lt;br /&gt;
! Slicer 4.0.1 - 2012 Jan 06&lt;br /&gt;
! Slicer 4.1.0 - 2012 Apr 12&lt;br /&gt;
! Slicer 4.2.0 - 2012 Oct 31&lt;br /&gt;
! Slicer 4.3.0 - 2013 Sept 8&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
  57424 finetjul&lt;br /&gt;
  48649 pieper&lt;br /&gt;
  47795 jcfr&lt;br /&gt;
  37846 clisle&lt;br /&gt;
  26534 tokuda&lt;br /&gt;
  19262 hjohnson&lt;br /&gt;
  16278 jvs&lt;br /&gt;
  12840 naucoin&lt;br /&gt;
   9515 pohl&lt;br /&gt;
   8739 fedorov&lt;br /&gt;
   7868 aylward&lt;br /&gt;
   7342 wjp@bwh.harvard.edu&lt;br /&gt;
   7227 millerjv&lt;br /&gt;
   6596 casey.goodlett&lt;br /&gt;
   5995 lorensen&lt;br /&gt;
   5503 blezek&lt;br /&gt;
   4823 haehn&lt;br /&gt;
   4427 alexy&lt;br /&gt;
   4138 sylvain&lt;br /&gt;
   3195 atriveg&lt;br /&gt;
   2818 kquintus&lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2377 demian&lt;br /&gt;
   2310 barre&lt;br /&gt;
   1926 lantiga&lt;br /&gt;
   1840 nicky&lt;br /&gt;
   1769 ygao&lt;br /&gt;
   1449 ibanez&lt;br /&gt;
   1372 vmagnotta&lt;br /&gt;
    976 Michael.jeulinl&lt;br /&gt;
    893 benjamin.long&lt;br /&gt;
    672 hliu&lt;br /&gt;
    587 pkarasev&lt;br /&gt;
    570 rjosest&lt;br /&gt;
    518 kedar_p&lt;br /&gt;
    508 dpace&lt;br /&gt;
    403 partyd&lt;br /&gt;
    381 lauren&lt;br /&gt;
    369 lassoan&lt;br /&gt;
    352 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    313 ilknur.kabul&lt;br /&gt;
    312 johan.andruejol&lt;br /&gt;
    265 taox&lt;br /&gt;
    244 kerstin&lt;br /&gt;
    216 andy&lt;br /&gt;
    175 bess&lt;br /&gt;
    144 vrnova&lt;br /&gt;
    143 awiles&lt;br /&gt;
    122 tringo&lt;br /&gt;
     85 tgl&lt;br /&gt;
     64 domibel&lt;br /&gt;
     50 freudling&lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     13 FeiZhao&lt;br /&gt;
      9 hayes&lt;br /&gt;
      9 davisb&lt;br /&gt;
      7 karthik&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  58209 finetjul&lt;br /&gt;
  45473 jcfr&lt;br /&gt;
  42133 pieper&lt;br /&gt;
  19103 hjohnson&lt;br /&gt;
  10814 naucoin&lt;br /&gt;
   7853 aylward&lt;br /&gt;
   7017 millerjv&lt;br /&gt;
   6792 wjp@bwh.harvard.edu&lt;br /&gt;
   6592 casey.goodlett&lt;br /&gt;
   4760 haehn&lt;br /&gt;
   4207 blezek&lt;br /&gt;
   4146 fedorov&lt;br /&gt;
   3978 lorensen&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3664 alexy&lt;br /&gt;
   3195 atriveg &lt;br /&gt;
   2719 inorton&lt;br /&gt;
   2238 demian&lt;br /&gt;
   1769 ygao    &lt;br /&gt;
   1357 ibanez&lt;br /&gt;
   1027 Michael.jeulinl&lt;br /&gt;
    940 lantiga&lt;br /&gt;
    930 benjamin.long&lt;br /&gt;
    713 barre&lt;br /&gt;
    584 pkarasev&lt;br /&gt;
    570 rjosest &lt;br /&gt;
    500 dpace &lt;br /&gt;
    473 nicky&lt;br /&gt;
    387 lauren&lt;br /&gt;
    377 partyd&lt;br /&gt;
    342 zach.mullen&lt;br /&gt;
    328 harveerar&lt;br /&gt;
    312 ilknur.kabul&lt;br /&gt;
    311 johan.andruejol&lt;br /&gt;
    256 taox   &lt;br /&gt;
    175 bess    &lt;br /&gt;
    133 kedar_p &lt;br /&gt;
    122 vrnova &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     47 taylor&lt;br /&gt;
     26 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu   &lt;br /&gt;
     23 andy&lt;br /&gt;
     18 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik      &lt;br /&gt;
      7 hayes   &lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 maddah             &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao            &lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  63785 finetjul&lt;br /&gt;
  52609 jcfr&lt;br /&gt;
  35487 pieper&lt;br /&gt;
  17980 hjohnson&lt;br /&gt;
  10141 naucoin&lt;br /&gt;
   9870 millerjv&lt;br /&gt;
   7314 aylward&lt;br /&gt;
   6866 wjp@bwh.harvard.edu&lt;br /&gt;
   6471 casey.goodlett&lt;br /&gt;
   4553 haehn&lt;br /&gt;
   4151 fedorov&lt;br /&gt;
   3969 sylvain&lt;br /&gt;
   3804 alexy&lt;br /&gt;
   3360 lorensen&lt;br /&gt;
   3170 atriveg&lt;br /&gt;
   2809 Michael.jeulinl&lt;br /&gt;
   2618 inorton&lt;br /&gt;
   2059 demian&lt;br /&gt;
   1640 ygao&lt;br /&gt;
   1188 ibanez&lt;br /&gt;
   1159 vrnova&lt;br /&gt;
    927 benjamin.long&lt;br /&gt;
    624 barre&lt;br /&gt;
    473 nicky&lt;br /&gt;
    458 rjosest&lt;br /&gt;
    413 dpace&lt;br /&gt;
    358 partyd&lt;br /&gt;
    342 lauren&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    272 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    235 harveerar&lt;br /&gt;
    175 bess&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     36 taylor&lt;br /&gt;
     36 joe.snyder&lt;br /&gt;
     28 tokuda&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      2 pohl&lt;br /&gt;
      2 maddah&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  68905 finetjul&lt;br /&gt;
  57186 jcfr&lt;br /&gt;
  37747 pieper&lt;br /&gt;
  18098 hjohnson&lt;br /&gt;
  11068 millerjv&lt;br /&gt;
  10133 naucoin&lt;br /&gt;
   7311 aylward&lt;br /&gt;
   7272 benjamin.long&lt;br /&gt;
   6848 wjp@bwh.harvard.edu&lt;br /&gt;
   6400 casey.goodlett&lt;br /&gt;
   5317 alexy&lt;br /&gt;
   4815 fedorov&lt;br /&gt;
   4386 haehn&lt;br /&gt;
   3947 sylvain&lt;br /&gt;
   3342 lorensen&lt;br /&gt;
   3169 atriveg&lt;br /&gt;
   3024 Michael.jeulinl&lt;br /&gt;
   2598 pinter&lt;br /&gt;
   2482 inorton&lt;br /&gt;
   2308 demian&lt;br /&gt;
   2064 vrnova&lt;br /&gt;
   1636 ygao&lt;br /&gt;
   1153 ibanez&lt;br /&gt;
    616 barre&lt;br /&gt;
    507 sankhesh&lt;br /&gt;
    473 nicky&lt;br /&gt;
    457 rjosest&lt;br /&gt;
    424 christopher.mullins&lt;br /&gt;
    342 lauren&lt;br /&gt;
    328 partyd&lt;br /&gt;
    328 dpace&lt;br /&gt;
    299 ilknur.kabul&lt;br /&gt;
    278 johan.andruejol&lt;br /&gt;
    263 taox&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    222 ungi&lt;br /&gt;
    175 bess&lt;br /&gt;
    171 mccormic&lt;br /&gt;
    130 kedar_p&lt;br /&gt;
    122 tringo&lt;br /&gt;
     74 harveerar&lt;br /&gt;
     54 kerstin&lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     25 taylor&lt;br /&gt;
     25 jcross186&lt;br /&gt;
     25 hliu&lt;br /&gt;
     24 tokuda&lt;br /&gt;
     23 andy&lt;br /&gt;
     16 domibel&lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 karthik&lt;br /&gt;
      5 hayes&lt;br /&gt;
      5 blezek&lt;br /&gt;
      3 malaterre&lt;br /&gt;
      1 yumin&lt;br /&gt;
      1 pohl&lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah&lt;br /&gt;
      1 lassoan&lt;br /&gt;
      1 FeiZhao&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
  75299 jcfr&lt;br /&gt;
  69692 finetjul&lt;br /&gt;
  22923 pieper&lt;br /&gt;
  21919 hjohnson&lt;br /&gt;
  19023 naucoin&lt;br /&gt;
  10294 millerjv&lt;br /&gt;
   7287 aylward&lt;br /&gt;
   7145 benjamin.long&lt;br /&gt;
   6335 casey.goodlett&lt;br /&gt;
   5385 fedorov&lt;br /&gt;
   5385 alexy&lt;br /&gt;
   5171 wjp@bwh.harvard.edu&lt;br /&gt;
   4856 johan.andruejol&lt;br /&gt;
   4130 haehn&lt;br /&gt;
   3941 sylvain&lt;br /&gt;
   3323 lorensen&lt;br /&gt;
   3166 atriveg &lt;br /&gt;
   3082 demian&lt;br /&gt;
   2908 Michael.jeulinl&lt;br /&gt;
   2377 inorton&lt;br /&gt;
   2028 vrnova&lt;br /&gt;
   1951 pinter&lt;br /&gt;
   1633 ygao    &lt;br /&gt;
   1188 nicky&lt;br /&gt;
   1079 ibanez&lt;br /&gt;
    916 sankhesh&lt;br /&gt;
    522 barre&lt;br /&gt;
    483 christopher.mullins&lt;br /&gt;
    453 rjosest &lt;br /&gt;
    342 lauren&lt;br /&gt;
    310 partyd&lt;br /&gt;
    305 dpace  &lt;br /&gt;
    278 ilknur.kabul&lt;br /&gt;
    261 zach.mullen&lt;br /&gt;
    238 taox    &lt;br /&gt;
    222 mccormic&lt;br /&gt;
    192 ungi          &lt;br /&gt;
    175 bess    &lt;br /&gt;
    130 kedar_p &lt;br /&gt;
    122 tringo&lt;br /&gt;
     54 kerstin &lt;br /&gt;
     49 padfield&lt;br /&gt;
     42 joe.snyder&lt;br /&gt;
     37 jamie.snape    &lt;br /&gt;
     25 taylor&lt;br /&gt;
     22 andy&lt;br /&gt;
     13 domibel &lt;br /&gt;
      9 kquintus&lt;br /&gt;
      7 harveerar&lt;br /&gt;
      5 tokuda  &lt;br /&gt;
      5 blezek  &lt;br /&gt;
      4 hayes   &lt;br /&gt;
      3 pohl&lt;br /&gt;
      3 malaterre      &lt;br /&gt;
      3 hliu           &lt;br /&gt;
      1 yumin              &lt;br /&gt;
      1 matthew.bowman&lt;br /&gt;
      1 maddah             &lt;br /&gt;
      1 lassoan&lt;br /&gt;
|}&lt;br /&gt;
Script used to count:&lt;br /&gt;
 git ls-files | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;br /&gt;
 find . -type f | egrep -v \.'png|gif|vtk|stl|jpeg|jpg|ico|nrrd|dcm|xml|gz|md5|nhdr|log|mrml|mha|s3ext|s4ext|raw|html|dox|mhd|pack|vtp|am|nii|JPG|exe|db|zip|svg|img|cache|kit|hdr' | grep -v CVS | grep -v weave | grep -v tclkit-darwin-univ | grep -v Slicer3Launchers | grep -v tclkits | xargs -n1 -d'\n' -i cvs annotate {} | perl -n -e '/\s\((.*?)\s[0-9]{2}/ &amp;amp;&amp;amp; print &amp;quot;$1\n&amp;quot;' | sort -f | uniq -c -w3 | sort -r&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModulesMetadata&amp;diff=36920</id>
		<title>Documentation/Nightly/ModulesMetadata</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModulesMetadata&amp;diff=36920"/>
		<updated>2014-01-07T18:17:35Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Update VolumeRendering documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
Name, XMLDescriptionURL&lt;br /&gt;
ACPCTransform, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ACPCTransform/ACPCTransform.xml?revision=22697&amp;amp;view=co&lt;br /&gt;
AddScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AddScalarVolumes/AddScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
AffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AffineRegistration/AffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Annotations, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Annotations/Documentation/Annotations.xml?revision=22424&amp;amp;view=co&lt;br /&gt;
BRAINSDemonWarp, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSDemonWarp/BRAINSDemonWarp.xml&lt;br /&gt;
BRAINSFit, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSFit/BRAINSFit.xml&lt;br /&gt;
BRAINSResample, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSResample/BRAINSResample.xml&lt;br /&gt;
BSplineDeformableRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineDeformableRegistration/BSplineDeformableRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
BSplineToDeformationField, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineToDeformationField/BSplineToDeformationField.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Cameras, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/Cameras/Documentation/Cameras.xml?revision=19238&amp;amp;view=co&lt;br /&gt;
CastScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CastScalarVolume/CastScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
CheckerBoardFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CheckerBoardFilter/CheckerBoardFilter.xml?revision=19170&amp;amp;view=co&lt;br /&gt;
CLIModuleTemplate, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Extensions/Testing/CLIExtensionTemplate/CLIModuleTemplate/CLIModuleTemplate.xml?revision=22715&amp;amp;view=co&lt;br /&gt;
CreateDICOMSeries, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CreateDICOMSeries/CreateDICOMSeries.xml?revision=19171&amp;amp;view=co&lt;br /&gt;
CurvatureAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CurvatureAnisotropicDiffusion/CurvatureAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
Data, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Data/Documentation/Data.xml?revision=22613&amp;amp;view=co&lt;br /&gt;
DICOM, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/DICOM.xml?revision=19903&amp;amp;view=co&lt;br /&gt;
DicomToNrrdConverter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/DicomToNrrdConverter.xml?revision=19089&amp;amp;view=co&lt;br /&gt;
DiffusionTensorScalarMeasurements, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionTensorScalarMeasurements/DiffusionTensorScalarMeasurements.xml?revision=19172&amp;amp;view=co&lt;br /&gt;
DiffusionWeightedVolumeMasking, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionWeightedVolumeMasking/DiffusionWeightedVolumeMasking.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
DTIExport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIexport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DTIImport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIimport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DWICompare, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/ExtendedTesting/DWICompare.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
DWIJointRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIJointRicianLMMSEFilter/DWIJointRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIRicianLMMSEFilter/DWIRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIToDTIEstimation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIToDTIEstimation/DWIToDTIEstimation.xml?revision=19201&amp;amp;view=co&lt;br /&gt;
DWIUnbiasedNonLocalMeansFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIUnbiasedNonLocalMeansFilter/DWIUnbiasedNonLocalMeansFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
EMSegment_Command-line, http://viewvc.slicer.org/viewvc.cgi/Slicer3/trunk/Modules/EMSegment/CommandLineApplication/EMSegmentCommandLine.xml?revision=16924&amp;amp;view=co&lt;br /&gt;
Endoscopy, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/Endoscopy.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
EventBroker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/EventBroker/Documentation/EventBroker.xml?revision=19045&amp;amp;view=co&lt;br /&gt;
ExecutionModelTour, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExecutionModelTour/ExecutionModelTour.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ExpertAutomatedRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExpertAutomatedRegistration/ExpertAutomatedRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ExtractSkeleton, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExtractSkeleton/ExtractSkeleton.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
FiducialRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FiducialRegistration/FiducialRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ForegroundMasking, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSROIAuto/BRAINSROIAuto.xml&lt;br /&gt;
FreesurferSurfaceSectionExtraction, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FreesurferSurfaceSectionExtraction/FreesurferSurfaceSectionExtraction.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GaussianBlurImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GaussianBlurImageFilter/GaussianBlurImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GradientAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GradientAnisotropicDiffusion/GradientAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GrayscaleFillHoleImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleFillHoleImageFilter/GrayscaleFillHoleImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleGrindPeakImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleGrindPeakImageFilter/GrayscaleGrindPeakImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleModelMaker/GrayscaleModelMaker.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
HistogramMatching, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/HistogramMatching/HistogramMatching.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
ImageLabelCombine, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ImageLabelCombine/ImageLabelCombine.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LabelMapSmoothing, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LabelMapSmoothing/LabelMapSmoothing.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LinearRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LinearRegistration/LinearRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Markups, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Markups/Documentation/Markups.xml?revision=22608&amp;amp;view=co&lt;br /&gt;
MaskScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MaskScalarVolume/MaskScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
MatlabCommander, https://www.assembla.com/code/slicerrt/subversion/node/blob/trunk/MatlabBridge/src/MatlabCommander/MatlabCommander.xml?raw=1&amp;amp;rev=957&lt;br /&gt;
MedianImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MedianImageFilter/MedianImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MergeModels, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MergeModels/MergeModels.xml?revision=22697&amp;amp;view=co&lt;br /&gt;
MeshContourSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MeshContourSegmentation/MeshContourSegmentation.xml?revision=19175&amp;amp;view=co&lt;br /&gt;
ModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelMaker/ModelMaker.xml?revision=22697&amp;amp;view=co&lt;br /&gt;
Models, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/Documentation/Models.xml?revision=22705&amp;amp;view=co&lt;br /&gt;
ModelToLabelMap, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelToLabelMap/ModelToLabelMap.xml?revision=22697&amp;amp;view=co&lt;br /&gt;
MRIBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MRIBiasFieldCorrection/MRIBiasFieldCorrection.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
MultiplyScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiplyScalarVolumes/MultiplyScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MultiResolutionAffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiResolutionAffineRegistration/MultiResolutionAffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
N4ITKBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/N4ITKBiasFieldCorrection/N4ITKBiasFieldCorrection.xml?revision=22688&amp;amp;view=co&lt;br /&gt;
OrientScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OrientScalarVolume/OrientScalarVolume.xml?revision=19193&amp;amp;view=co&lt;br /&gt;
OtsuThresholdImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdImageFilter/OtsuThresholdImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
OtsuThresholdSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdSegmentation/OtsuThresholdSegmentation.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
PETStandardUptakeValueComputation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/PETStandardUptakeValueComputation/PETStandardUptakeValueComputation.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
ProbeVolumeWithModel, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ProbeVolumeWithModel/ProbeVolumeWithModel.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Reformat, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Reformat/Documentation/Reformat.xml?revision=19165&amp;amp;view=co&lt;br /&gt;
ResampleDTIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleDTIVolume/ResampleDTIVolume.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
ResampleScalarVectorDWIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVectorDWIVolume/ResampleScalarVectorDWIVolume.xml?revision=19186&amp;amp;view=co&lt;br /&gt;
ResampleScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVolume/ResampleScalarVolume.xml?revision=19185&amp;amp;view=co&lt;br /&gt;
RigidRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RigidRegistration/RigidRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
RobustStatisticsSegmenter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RobustStatisticsSegmenter/RobustStatisticsSegmenter.xml?revision=19198&amp;amp;view=co&lt;br /&gt;
SceneViews, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/SceneViews/Documentation/SceneViews.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
SimpleRegionGrowingSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SimpleRegionGrowingSegmentation/SimpleRegionGrowingSegmentation.xml?revision=22482&amp;amp;view=co&lt;br /&gt;
SubtractScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SubtractScalarVolumes/SubtractScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ThresholdScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ThresholdScalarVolume/ThresholdScalarVolume.xml?revision=22407&amp;amp;view=co&lt;br /&gt;
TractographyLabelMapSeeding, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/TractographyLabelMapSeeding/TractographyLabelMapSeeding.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Transforms, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Transforms/Documentation/Transforms.xml?revision=19899&amp;amp;view=co&lt;br /&gt;
ViewControllers, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/ViewControllers/Documentation/ViewControllers.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VolumeRendering, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/VolumeRendering/Documentation/VolumeRendering.xml?revision=22805&amp;amp;view=co&lt;br /&gt;
Volumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Volumes/Documentation/Volumes.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VotingBinaryHoleFillingImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/VotingBinaryHoleFillingImageFilter/VotingBinaryHoleFillingImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type  = warning&lt;br /&gt;
| text  = To force MediaWiki to clear the cached version of a given page, or to force the page to be redisplayed from its source.&amp;lt;br&amp;gt; Add '''?action=purge''' to the URL of the page you are viewing. For more details, click [http://www.mediawiki.org/wiki/Manual:Purge here].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header|data=name=Name,xmldescriptionurl=XMLDescriptionURL}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! XMLDescriptionURL {{#for_external_table:&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{{name}}}&lt;br /&gt;
{{!}} {{{xmldescriptionurl}}} }}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header&lt;br /&gt;
|data=GaussianBlurImageFilterXMLDescriptionURL=XMLDescriptionURL&lt;br /&gt;
|filters=Name=GaussianBlurImageFilter&lt;br /&gt;
}}&lt;br /&gt;
* {{#external_value:GaussianBlurImageFilterXMLDescriptionURL}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36812</id>
		<title>Developer Meetings/20131210</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36812"/>
		<updated>2013-12-10T19:56:09Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Update ==&lt;br /&gt;
# RSNA tutorials and both were very successful (see below).  No crashes or issues in tutorials.  Big thanks to everyone for the hard work!&lt;br /&gt;
# [http://slicer-devel.65872.n3.nabble.com/FW-Slicer4-0003139-2nd-camera-goes-crazy-in-dual-3D-view-under-heavy-OpenIGTLink-traffic-tc4030412.html Second viewer camera corruption with timer events]&lt;br /&gt;
# Discuss transition to git&lt;br /&gt;
## Jc: Need to filter out the data.&lt;br /&gt;
# Discuss relocation of &amp;lt;code&amp;gt;vtkImageResliceMask&amp;lt;/code&amp;gt; with Alex. See [http://slicer-devel.65872.n3.nabble.com/Re-mrml-core-logic-dependency-tt4030435.html]&lt;br /&gt;
# Discuss plans for [http://www.na-mic.org/Wiki/index.php/AHM_2014 Project Week]&lt;br /&gt;
&lt;br /&gt;
[[image:Slicer-RSNA2013.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
# RSNA&lt;br /&gt;
# Dual view issue:&lt;br /&gt;
## Jc will investigate within ctkVTKAbstractView&lt;br /&gt;
# SVN -&amp;gt; GIT:&lt;br /&gt;
## Andras suggested to keep SVN repo in read access&lt;br /&gt;
## Jc will remove large data and replace with a script (to be validated by Kitware git gurus)&lt;br /&gt;
# vtkImageResliceMask:&lt;br /&gt;
## https://www.slicer.org/slicerWiki/index.php/Documentation/Labs/NonlinearTransforms&lt;br /&gt;
## Alex will move vtkImageResliceMask into MRML/Core&lt;br /&gt;
## Alex will move ApplyTransform into the logics (Julien suggested to register logics into the transforms logic)&lt;br /&gt;
## Alex will create a NonLinear transform Project week event to further discuss the design&amp;amp;API with Andras, Csaba...&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36811</id>
		<title>Developer Meetings/20131210</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36811"/>
		<updated>2013-12-10T19:55:05Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Update ==&lt;br /&gt;
# RSNA tutorials and both were very successful (see below).  No crashes or issues in tutorials.  Big thanks to everyone for the hard work!&lt;br /&gt;
# [http://slicer-devel.65872.n3.nabble.com/FW-Slicer4-0003139-2nd-camera-goes-crazy-in-dual-3D-view-under-heavy-OpenIGTLink-traffic-tc4030412.html Second viewer camera corruption with timer events]&lt;br /&gt;
# Discuss transition to git&lt;br /&gt;
## Jc: Need to filter out the data.&lt;br /&gt;
# Discuss relocation of &amp;lt;code&amp;gt;vtkImageResliceMask&amp;lt;/code&amp;gt; with Alex. See [http://slicer-devel.65872.n3.nabble.com/Re-mrml-core-logic-dependency-tt4030435.html]&lt;br /&gt;
* Discuss plans for [http://www.na-mic.org/Wiki/index.php/AHM_2014 Project Week]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Slicer-RSNA2013.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
# RSNA&lt;br /&gt;
# Dual view issue:&lt;br /&gt;
## Jc will investigate within ctkVTKAbstractView&lt;br /&gt;
# SVN -&amp;gt; GIT:&lt;br /&gt;
## Andras suggested to keep SVN repo in read access&lt;br /&gt;
## Jc will remove large data and replace with a script (to be validated by Kitware git gurus)&lt;br /&gt;
# vtkImageResliceMask:&lt;br /&gt;
## https://www.slicer.org/slicerWiki/index.php/Documentation/Labs/NonlinearTransforms&lt;br /&gt;
## Alex will move vtkImageResliceMask into MRML/Core&lt;br /&gt;
## Alex will move ApplyTransform into the logics (Julien suggested to register logics into the transforms logic)&lt;br /&gt;
## Alex will create a NonLinear transform Project week event to further discuss the design&amp;amp;API with Andras, Csaba...&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36810</id>
		<title>Developer Meetings/20131210</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36810"/>
		<updated>2013-12-10T19:54:04Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Update ==&lt;br /&gt;
# RSNA tutorials and both were very successful (see below).  No crashes or issues in tutorials.  Big thanks to everyone for the hard work!&lt;br /&gt;
# [http://slicer-devel.65872.n3.nabble.com/FW-Slicer4-0003139-2nd-camera-goes-crazy-in-dual-3D-view-under-heavy-OpenIGTLink-traffic-tc4030412.html Second viewer camera corruption with timer events]&lt;br /&gt;
# Discuss transition to git&lt;br /&gt;
## Jc: Need to filter out the data.&lt;br /&gt;
# Discuss relocation of &amp;lt;code&amp;gt;vtkImageResliceMask&amp;lt;/code&amp;gt; with Alex. See [http://slicer-devel.65872.n3.nabble.com/Re-mrml-core-logic-dependency-tt4030435.html]&lt;br /&gt;
* Discuss plans for [http://www.na-mic.org/Wiki/index.php/AHM_2014 Project Week]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Slicer-RSNA2013.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
# RSNA&lt;br /&gt;
# Dual view issue:&lt;br /&gt;
## Jc: will investigate within ctkVTKAbstractView&lt;br /&gt;
# SVN -&amp;gt; GIT:&lt;br /&gt;
## Andras suggested to keep SVN repo in read access&lt;br /&gt;
## Jc will remove large data and replace with a script (to be validated by Kitware git gurus)&lt;br /&gt;
# vtkImageResliceMask:&lt;br /&gt;
## https://www.slicer.org/slicerWiki/index.php/Documentation/Labs/NonlinearTransforms&lt;br /&gt;
## Alex: vtkImageResliceMask goes into MRML/Core&lt;br /&gt;
## Alex: consider moving ApplyTransform into the logics (Julien suggested to register logics into the transforms logic)&lt;br /&gt;
## Alex&amp;amp;Andras: create a NonLinear transform Project week event to further discuss the design&amp;amp;API&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36809</id>
		<title>Developer Meetings/20131210</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36809"/>
		<updated>2013-12-10T19:52:34Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Update ==&lt;br /&gt;
# RSNA tutorials and both were very successful (see below).  No crashes or issues in tutorials.  Big thanks to everyone for the hard work!&lt;br /&gt;
# [http://slicer-devel.65872.n3.nabble.com/FW-Slicer4-0003139-2nd-camera-goes-crazy-in-dual-3D-view-under-heavy-OpenIGTLink-traffic-tc4030412.html Second viewer camera corruption with timer events]&lt;br /&gt;
# Discuss transition to git&lt;br /&gt;
## Jc: Need to filter out the data.&lt;br /&gt;
# Discuss relocation of &amp;lt;code&amp;gt;vtkImageResliceMask&amp;lt;/code&amp;gt; with Alex. See [http://slicer-devel.65872.n3.nabble.com/Re-mrml-core-logic-dependency-tt4030435.html]&lt;br /&gt;
* Discuss plans for [http://www.na-mic.org/Wiki/index.php/AHM_2014 Project Week]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Slicer-RSNA2013.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
# RSNA&lt;br /&gt;
# Dual view issue:&lt;br /&gt;
## Jc: will investigate within ctkVTKAbstractView&lt;br /&gt;
# SVN -&amp;gt; GIT&lt;br /&gt;
## Keep SVN repo in read access&lt;br /&gt;
## Remove large data and replace with script (to be validated by Kitware git gurus)&lt;br /&gt;
# vtkImageResliceMask&lt;br /&gt;
## Alex: vtkImageResliceMask goes into MRML/Core&lt;br /&gt;
## Alex: consider moving ApplyTransform into the logics (Julien suggested to register logics into the transforms logic)&lt;br /&gt;
## Alex&amp;amp;Andras: create a NonLinear transform Project week event to further discuss the design&amp;amp;API&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36808</id>
		<title>Developer Meetings/20131210</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Developer_Meetings/20131210&amp;diff=36808"/>
		<updated>2013-12-10T19:27:25Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Update ==&lt;br /&gt;
# RSNA tutorials and both were very successful (see below).  No crashes or issues in tutorials.  Big thanks to everyone for the hard work!&lt;br /&gt;
# [http://slicer-devel.65872.n3.nabble.com/FW-Slicer4-0003139-2nd-camera-goes-crazy-in-dual-3D-view-under-heavy-OpenIGTLink-traffic-tc4030412.html Second viewer camera corruption with timer events]&lt;br /&gt;
# Discuss transition to git&lt;br /&gt;
## Jc: Need to filter out the data.&lt;br /&gt;
# Discuss relocation of &amp;lt;code&amp;gt;vtkImageResliceMask&amp;lt;/code&amp;gt; with Alex. See [http://slicer-devel.65872.n3.nabble.com/Re-mrml-core-logic-dependency-tt4030435.html]&lt;br /&gt;
* Discuss plans for [http://www.na-mic.org/Wiki/index.php/AHM_2014 Project Week]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Slicer-RSNA2013.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
# RSNA&lt;br /&gt;
# Dual view issue:&lt;br /&gt;
## Jc: will investigate within ctkVTKAbstractView&lt;br /&gt;
# SVN -&amp;gt; GIT&lt;br /&gt;
## Keep SVN repo in read access&lt;br /&gt;
## Remove large data and replace with script (to be validated by Kitware git gurus)&lt;br /&gt;
# vtkImageResliceMask&lt;br /&gt;
##&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/Developers/Style_Guide/UI&amp;diff=36802</id>
		<title>Documentation/4.3/Developers/Style Guide/UI</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/Developers/Style_Guide/UI&amp;diff=36802"/>
		<updated>2013-12-09T18:19:35Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
==General guidelines==&lt;br /&gt;
* As a general rule, follow those following guidelines:&lt;br /&gt;
**[http://msdn.microsoft.com/en-us/library/windows/desktop/aa974176.aspx Microsoft Windows User Interface Text guidelines]&lt;br /&gt;
**[http://msdn.microsoft.com/en-us/library/windows/desktop/aa974175.aspx Microsoft Windows Style and Tone guidelines]&lt;br /&gt;
&lt;br /&gt;
== Panels ==&lt;br /&gt;
===Section===&lt;br /&gt;
[[Image:QSlicerVolumeRendering-default.png|thumb|right|200px|Volume Rendering sections]]&lt;br /&gt;
A section is used in a panel to categorize parameters by visually grouping them. In the [[Documentation/{{documentation/version}}/Modules/VolumeRendering|Volume Rendering module]], there are 3 sections: 'Inputs', 'Display', and 'Advanced...'. By default, the 'Inputs' and 'Advanced...' sections are collapsed. This reduces visual cluttering by hiding advanced and rarely used parameters. Sections should be organized in such a way that the workflow takes the user from top to bottom:&lt;br /&gt;
# The 'Inputs' section is first as it controls the inputs of the volume rendering. &lt;br /&gt;
# then the 'Display' section controls important display properties &lt;br /&gt;
# finally, if the previous parameters are not enough to obtain the desired result, the ''Advanced..'' section offers fine tuning of the volume rendering.&lt;br /&gt;
Please note that the ''Advanced-ness'' of a section doesn't necessarily impacts its position in the section ordering.&lt;br /&gt;
To create a section you must use a ctkCollapsibleButton [http://www.commontk.org/docs/html/classctkCollapsibleButton.html|ctkCollapsibleButton] with no panel frame.&lt;br /&gt;
Typically, the main node selector (''Volume:'' in [[Documentation/{{documentation/version}}/Modules/VolumeRendering|Volume Rendering]]) is the first GUI element and is outside any section.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
{|style=width:100%&lt;br /&gt;
|[[Image:GuiGuideline2012-03-27.png|thumb|center|400px|Justify elements in panel. Note that the case of the labels is not correct.]]&lt;br /&gt;
|}&lt;br /&gt;
Elements in panels should be justified (use of a [http://doc.qt.nokia.com/{{documentation/{{documentation/version}}/qtversion}}/qformlayout.html QFormLayout] can simplify the task)&lt;br /&gt;
&lt;br /&gt;
===Text===&lt;br /&gt;
#Capitalize the first letter in any text specified for a label or button:&lt;br /&gt;
#: &amp;quot;Load volumes&amp;quot; instead of &amp;quot;Load Volumes&amp;quot;&lt;br /&gt;
#: [http://msdn.microsoft.com/en-us/library/windows/desktop/aa974176.aspx#capitalization More capitalization rules]&lt;br /&gt;
#Try to use brief phrases when specifying text for a label or button rather than using sentences or sentence fragments ( use &amp;quot;Load volumes&amp;quot; instead of &amp;quot;Choose a volume to load&amp;quot;)&lt;br /&gt;
#Provide fully descriptive tool tips with each widget defined&lt;br /&gt;
#Don't use colon after each parameter labels:&lt;br /&gt;
#: &amp;quot;Load volumes&amp;quot; instead of &amp;quot;Load volumes:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Layouts==&lt;br /&gt;
#Use the default values for the margins or 0. Default margins are automatically controlled by the [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Base/QTGUI/qSlicerStyle.cxx?view=markup Slicer custom style] (see [http://doc.qt.nokia.com/{{documentation/{{documentation/version}}/qtversion}}/qstyle.html QStyle::PM_LayoutLeftMargin])&lt;br /&gt;
#The minimum size hint of the top level module widget is used to determine the minimum width of the module. The minimum width of a module must not be larger than 500px (subject to change). This is enforced by the automatic test qSlicer''MY_MODULE_NAME''ModuleGenericTest. [http://www.na-mic.org/Bug/view.php?id=2093 If the width is too large], you have multiple ways of narrowing the module panel:&lt;br /&gt;
##In Qt Designer, you can ensure the sizing is correct by changing the [http://doc.qt.nokia.com/{{documentation/{{documentation/version}}/qtversion}}/qlayout.html#id-73362ab2-896f-435f-9ca9-dcb3ac1f72d1 QLayout::SizeConstraint] to &amp;lt;code&amp;gt;QLayout::SetMinimumSize&amp;lt;/code&amp;gt;. When you preview the module (Ctrl-R), it appears with the same size as it would in Slicer. &lt;br /&gt;
##Ideally the minimum size hint of each wide GUI element should be fixed, it is unlikely that a large size hint is &amp;quot;ideal&amp;quot;.&lt;br /&gt;
##Alternatively, you might want to investigate the following:&lt;br /&gt;
###Consider setting the horizontal size policy of such element to [http://doc.qt.nokia.com/{{documentation/{{documentation/version}}/qtversion}}/qsizepolicy.html QSizePolicy::Ignored]&lt;br /&gt;
###If the element is in a form layout, [http://doc.qt.nokia.com/{{documentation/{{documentation/version}}/qtversion}}/qformlayout.html QFormLayout::layoutFieldGrowthPolicy] might need to be set to &amp;lt;code&amp;gt;AllNonFixedFieldsGrow&amp;lt;/code&amp;gt;.&lt;br /&gt;
###All those changes can be set from Qt Designer.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Slicer3:Human_Interface_and_Style_Guide_for_Developers|Slicer3 - Human Interface and Style Guide for Developers]]&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36730</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36730"/>
		<updated>2013-11-29T15:43:25Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* 4.3.0 */ Add deprecated/renamed methods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
This page is a place to organize and prioritize development activities into a roadmap based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)&lt;br /&gt;
&lt;br /&gt;
The list of issues targeted for each release are reported on mantis: http://na-mic.org/Mantis/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
The topics listed below includes Slicer application and dependent ToolKit. For the specific strategy and feature lists covering modules and extensions, visit their respective roadmaps and other documentation.&lt;br /&gt;
&lt;br /&gt;
== Priorities ==&lt;br /&gt;
&lt;br /&gt;
=== As of February, 2013 ===&lt;br /&gt;
&lt;br /&gt;
* {{done}} [[Documentation/Labs/ITKv4|ITKv4 integration]]&lt;br /&gt;
* {{wip}} Ability to install python package using pip&lt;br /&gt;
* {{done}} Improve extension catalog frontend&lt;br /&gt;
* {{wip}} Faster Slicer start time&lt;br /&gt;
* {{wip}} [http://www.na-mic.org/Bug/view.php?id=2039 Support of python command line module]&lt;br /&gt;
* {{done}} Walk-thru documentation that clearly shows new developers step-by-step instructions to create and publish extensions.&lt;br /&gt;
&lt;br /&gt;
== Deprecation / API Changes roadmap ==&lt;br /&gt;
&lt;br /&gt;
List of deprecated methods / classes: http://slicer.org/doc/html/deprecated.html&lt;br /&gt;
&lt;br /&gt;
Mantis tag '''Deprecation''': http://www.na-mic.org/Bug/search.php?project_id=3&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=80&amp;amp;tag_string=Deprecation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Staged ===&lt;br /&gt;
&lt;br /&gt;
This section list the change that should be annouced on the list before been integrated into Slicer trunk.&lt;br /&gt;
&lt;br /&gt;
* Remove vtkMRMLScene::Edited method and associated SceneEditedEvent. See [http://www.na-mic.org/Bug/view.php?id=3472 #3472] and [https://github.com/jcfr/Slicer/tree/3472-remove-vtkMRMLScene-edited 3472-remove-vtkMRMLScene-edited]&lt;br /&gt;
** Impact: Update EMSegment tcl files&lt;br /&gt;
* Rename qSlicer.*IO classes into qSlicer.*Reader. See [https://github.com/jcfr/Slicer/tree/rename-io-class-to-reader rename-io-class-to-reader]. See http://slicer-devel.65872.n3.nabble.com/Feedback-Rename-of-qSlicerXXXIO-class-into-qSlicerXXXReader-class-tt4030298.html&lt;br /&gt;
** Impact: Rename class in DataStore module&lt;br /&gt;
* Clean logic header includes. See [https://github.com/finetjul/Slicer/tree/vtkmrmlabstractlogic-clean-includes-trunk finetjul/Slicer@vtkmrmlabstractlogic-clean-includes-trunk]&lt;br /&gt;
** Impact: You may have to explicitly (1) forward declare classes or (1) include headers in your extension cpp files.&lt;br /&gt;
** &amp;lt;del&amp;gt;Anticipated issues: [http://www.na-mic.org/Bug/view.php?id=3493 #3493], [http://www.na-mic.org/Bug/view.php?id=3494 #3494]&amp;lt;/del&amp;gt; Fixed in [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22693 r22693] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22712 r22712].&lt;br /&gt;
* Consolidate qSlicerAppMainWindow. See [https://github.com/finetjul/Slicer/tree/consolidate-qslicerappmainwindow-trunk finetjul/Slicer@consolidate-qslicerappmainwindow-trunk]&lt;br /&gt;
** Extension/module depending on main window action name will have to be updated.&lt;br /&gt;
* Add Slicer_ADDITIONAL_REQUIRED_QT_MODULES to add QT modules. See [https://github.com/finetjul/Slicer/tree/slicer-required-qt-modules-trunk finetjul/Slicer@slicer-required-qt-modules-trunk]&lt;br /&gt;
** Impact: NA&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
* Library - ITKv3 support will be removed from build system.&lt;br /&gt;
* CMake -  Minimum required CMake version will be 2.8.11 for all platforms.&lt;br /&gt;
* MRML - Default value for HideFromEditors will be change to False. See [http://www.na-mic.org/Bug/view.php?id=2906 #2906].&lt;br /&gt;
* Wigdets - Method &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; will be removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22059 22059].&lt;br /&gt;
* Clean logic header includes - [https://github.com/finetjul/Slicer/tree/vtkmrmlabstractlogic-clean-includes-trunk vtkmrmlabstractlogic-clean-includes-trunk].&lt;br /&gt;
* Cleanup qSlicerAppMainWindow - [https://github.com/finetjul/Slicer/tree/consolidate-qslicerappmainwindow-trunk consolidate-qslicerappmainwindow-trunk].&lt;br /&gt;
* Configure Qt modules - [https://github.com/finetjul/Slicer/tree/slicer-required-qt-modules-trunk slicer-required-qt-modules-trunk]&lt;br /&gt;
* Rename / Move - &amp;lt;code&amp;gt;vtkSlicerTransformLogic&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;vtkSlicerTransformModuleLogic&amp;lt;/code&amp;gt; and moved into &amp;lt;code&amp;gt;Modules/Loadable/Transform/Logic&amp;lt;/code&amp;gt; - Consider updating the CMakeLists.txt and code of your modules. See instruction [[Documentation/Nightly/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]]. Associated issue [http://www.na-mic.org/Bug/view.php?id=2926 #2926]&lt;br /&gt;
* CMake - Rename file &amp;lt;code&amp;gt;SlicerMacroBuildQtModule.cmake&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;SlicerMacroBuildLoadableModule.cmake&amp;lt;/code&amp;gt;. See issue [http://www.na-mic.org/Bug/view.php?id=3332 #3332]&lt;br /&gt;
&lt;br /&gt;
=== 4.3.0 ===&lt;br /&gt;
* const std::vector&amp;lt;vtkMRMLDisplayNode*&amp;gt;&amp;amp; vtkMRMLDisplayableNode::GetDisplayNodes(); - Obsolete utility function that provides an unsafe API. Please use GetNumberOfDisplayNodes() and GetNthDisplayNode() instead&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildQtModule&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;slicerMacroBuildLoadableModule&amp;lt;/code&amp;gt;. See [http://www.na-mic.org/Bug/view.php?id=2648 #2648]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; should be used to build Scripted modules. See [https://github.com/xtk/SlicerWebGLExport/blob/0cd62734ad809bfc87aa422939c9732360d119df/WebGLExport/CMakeLists.txt#L32-36 here] for an example.&lt;br /&gt;
* Library - ITKv3 support is deprecated / not maintained.&lt;br /&gt;
* Scripted module should be built using &amp;lt;code&amp;gt;SlicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;ctkMacroCompilePythonScript&amp;lt;/code&amp;gt;. See [https://github.com/Slicer/Slicer/commits/master/CMake/SlicerMacroBuildScriptedModule.cmake here].&lt;br /&gt;
* Generic tests associated with Loadable and Scripted module should be built specifying the &amp;lt;code&amp;gt;WITH_GENERIC_TESTS&amp;lt;/code&amp;gt; option. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21768 r21768].&lt;br /&gt;
* Test driver associated with loadable module should be configured using &amp;lt;code&amp;gt;SlicerMacroConfigureModuleCxxTestDriver&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21769 r21769].&lt;br /&gt;
* CMake - Minimum required CMake version will be 2.8.9 for Windows/Linux, CMake 2.8.11 for MacOSX - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21682 r21682] &lt;br /&gt;
* Library - ITKv4 will be enabled by default - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21688 r21688]&lt;br /&gt;
* Library - Qt 4.8.4 will be the recommended/required version&lt;br /&gt;
* Core - Removed unused class &amp;lt;code&amp;gt;Base/Logic/vtkSlicerROILogic&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21744 r21744]&lt;br /&gt;
* Move Editor icons from &amp;quot;Base/Logic&amp;quot; into &amp;quot;EditorLib/Resources/Icons&amp;quot;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21765 r21765]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicer_parse_arguments&amp;lt;/code&amp;gt; has been removed. Consider using &amp;lt;code&amp;gt;cmake_parse_arguments&amp;lt;/code&amp;gt; instead. See [http://www.cmake.org/cmake/help/v2.8.10/cmake.html#module:CMakeParseArguments CMakeParseArguments] - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21774 r21774]&lt;br /&gt;
* Slicer default Python version is &amp;lt;code&amp;gt;2.7.3&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21863 r21863], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21867 r21867], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21869 r21869], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21879 r21879], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21891 r21891]&lt;br /&gt;
* Python function PyRun_OpenFile/CloseFile have been removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21960 r21960]&lt;br /&gt;
* The &amp;lt;code&amp;gt;qMRMLNodeComboBox&amp;lt;/code&amp;gt; property &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; was renamed &amp;lt;code&amp;gt;currentNodeID&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22052 22052]. The function &amp;lt;code&amp;gt;setCurrentNode(const QString &amp;amp;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;currentNodeId()&amp;lt;/code&amp;gt; should be removed. See also [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22072 r22072].&lt;br /&gt;
* When using Visual Studio 8, installation of Service Pack 1 is now enforced by the build system. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22096 r22096], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22098 r22098]&lt;br /&gt;
* &amp;lt;code&amp;gt;if(NOT Slicer_SOURCE_DIR)&amp;lt;/code&amp;gt; not required any more in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22063 r22063]&lt;br /&gt;
* &amp;lt;code&amp;gt;project()&amp;lt;/code&amp;gt; statment now allowed in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22038 r22038], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22115 r22115]&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkMRMLDisplayableNode::GetNthDisplayNodeByClass()&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkMRMLSelectionNode::AddNewAnnotationIDToList()&amp;lt;/code&amp;gt; has been renamed into &amp;lt;code&amp;gt;vtkMRMLSelectionNode::AddNewPlaceNodeClassNameToList()&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vtkMRMLSelectionNode::SetReferenceActiveAnnotationID()&amp;lt;/code&amp;gt; has been renamed into &amp;lt;code&amp;gt;vtkMRMLSelectionNode::SetReferenceActivePlaceNodeClassName&amp;lt;/code&amp;gt;&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - CMake 2.8.4 will be required. Macro &amp;lt;code&amp;gt;Pre283CMakeParseArguments.cmake&amp;lt;/code&amp;gt; will be removed. See [https://github.com/jcfr/SlicerExecutionModel/commit/ce6205807d7a8ce1b4c486a5507c94876636bec1 ce620580]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; will be removed. Use &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; is removed. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== 4.2.0 ===&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; marked as deprecated. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21634 r21634] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=17781 r17781].&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;slicerMacroBuildCLI / SEMMacroBuildCLI&amp;lt;/code&amp;gt; is deprecated. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer_Users&amp;diff=36585</id>
		<title>Slicer Users</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer_Users&amp;diff=36585"/>
		<updated>2013-11-14T21:07:46Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of Slicer users:&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
! year&lt;br /&gt;
! company/lab&lt;br /&gt;
! department&lt;br /&gt;
! area of interest&lt;br /&gt;
! website&lt;br /&gt;
! contact&lt;br /&gt;
! country&lt;br /&gt;
|-&lt;br /&gt;
| 2013 || A*STAR SIMTech || Precision Measurements group - Image Processing ||  || http://www.simtech.a-star.edu.sg/themes/image-processing.aspx || Sophie Ambert || Singapore&lt;br /&gt;
|-&lt;br /&gt;
| 2013 || Quantib || || segmentation || http://www.quantib.com|| Renske de Boer || Netherlands&lt;br /&gt;
|-&lt;br /&gt;
| 2013 || University of Siegen || || || http://www.uni-siegen.de/ || Marina Bysewski || Germany&lt;br /&gt;
|-&lt;br /&gt;
| 2013 || Kings College Hospital / Imperial College London || Bioengineering || Cortical spreading depression|| || Toby Jeffcote || United Kingdom&lt;br /&gt;
|-&lt;br /&gt;
| 2013 || INRIA || ICM - Brain and Spine Institute |||| || Francois Touvet || France&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36479</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36479"/>
		<updated>2013-11-11T04:36:07Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Trunk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
This page is a place to organize and prioritize development activities into a roadmap based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)&lt;br /&gt;
&lt;br /&gt;
The list of issues targeted for each release are reported on mantis: http://na-mic.org/Mantis/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
The topics listed below includes Slicer application and dependent ToolKit. For the specific strategy and feature lists covering modules and extensions, visit their respective roadmaps and other documentation.&lt;br /&gt;
&lt;br /&gt;
== Priorities ==&lt;br /&gt;
&lt;br /&gt;
=== As of February, 2013 ===&lt;br /&gt;
&lt;br /&gt;
* {{done}} [[Documentation/Labs/ITKv4|ITKv4 integration]]&lt;br /&gt;
* {{wip}} Ability to install python package using pip&lt;br /&gt;
* {{done}} Improve extension catalog frontend&lt;br /&gt;
* {{wip}} Faster Slicer start time&lt;br /&gt;
* {{wip}} [http://www.na-mic.org/Bug/view.php?id=2039 Support of python command line module]&lt;br /&gt;
* {{done}} Walk-thru documentation that clearly shows new developers step-by-step instructions to create and publish extensions.&lt;br /&gt;
&lt;br /&gt;
== Deprecation / API Changes roadmap ==&lt;br /&gt;
&lt;br /&gt;
List of deprecated methods / classes: http://slicer.org/doc/html/deprecated.html&lt;br /&gt;
&lt;br /&gt;
Mantis tag '''Deprecation''': http://www.na-mic.org/Bug/search.php?project_id=3&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=80&amp;amp;tag_string=Deprecation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Staged ===&lt;br /&gt;
&lt;br /&gt;
This section list the change that should be annouced on the list before been integrated into Slicer trunk.&lt;br /&gt;
&lt;br /&gt;
* Remove vtkMRMLScene::Edited method and associated SceneEditedEvent. See [http://www.na-mic.org/Bug/view.php?id=3472 #3472] and [https://github.com/jcfr/Slicer/tree/3472-remove-vtkMRMLScene-edited 3472-remove-vtkMRMLScene-edited]&lt;br /&gt;
* Rename qSlicer.*IO classes into qSlicer.*Reader. See [https://github.com/jcfr/Slicer/tree/rename-io-class-to-reader rename-io-class-to-reader]. See http://slicer-devel.65872.n3.nabble.com/Feedback-Rename-of-qSlicerXXXIO-class-into-qSlicerXXXReader-class-tt4030298.html&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
* Library - ITKv3 support will be removed from build system.&lt;br /&gt;
* CMake -  Minimum required CMake version will be 2.8.11 for all platforms.&lt;br /&gt;
* MRML - Default value for HideFromEditors will be change to False. See [http://www.na-mic.org/Bug/view.php?id=2906 #2906].&lt;br /&gt;
* Wigdets - Method &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; will be removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22059 22059].&lt;br /&gt;
* Clean logic header includes - [https://github.com/finetjul/Slicer/tree/vtkmrmlabstractlogic-clean-includes-trunk vtkmrmlabstractlogic-clean-includes-trunk].&lt;br /&gt;
* Cleanup qSlicerAppMainWindow - [https://github.com/finetjul/Slicer/tree/consolidate-qslicerappmainwindow-trunk consolidate-qslicerappmainwindow-trunk].&lt;br /&gt;
* Configure Qt modules - [https://github.com/finetjul/Slicer/tree/slicer-required-qt-modules-trunk slicer-required-qt-modules-trunk]&lt;br /&gt;
* Rename / Move - &amp;lt;code&amp;gt;vtkSlicerTransformLogic&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;vtkSlicerTransformModuleLogic&amp;lt;/code&amp;gt; and moved into &amp;lt;code&amp;gt;Modules/Loadable/Transform/Logic&amp;lt;/code&amp;gt; - Consider updating the CMakeLists.txt and code of your modules. See instruction [[Documentation/Nightly/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]]. Associated issue [http://www.na-mic.org/Bug/view.php?id=2926 #2926]&lt;br /&gt;
* CMake - Rename file &amp;lt;code&amp;gt;SlicerMacroBuildQtModule.cmake&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;SlicerMacroBuildLoadableModule.cmake&amp;lt;/code&amp;gt;. See issue [http://www.na-mic.org/Bug/view.php?id=3332 #3332]&lt;br /&gt;
&lt;br /&gt;
=== 4.3.0 ===&lt;br /&gt;
* const std::vector&amp;lt;vtkMRMLDisplayNode*&amp;gt;&amp;amp; vtkMRMLDisplayableNode::GetDisplayNodes(); - Obsolete utility function that provides an unsafe API. Please use GetNumberOfDisplayNodes() and GetNthDisplayNode() instead&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildQtModule&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;slicerMacroBuildLoadableModule&amp;lt;/code&amp;gt;. See [http://www.na-mic.org/Bug/view.php?id=2648 #2648]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; should be used to build Scripted modules. See [https://github.com/xtk/SlicerWebGLExport/blob/0cd62734ad809bfc87aa422939c9732360d119df/WebGLExport/CMakeLists.txt#L32-36 here] for an example.&lt;br /&gt;
* Library - ITKv3 support is deprecated / not maintained.&lt;br /&gt;
* Scripted module should be built using &amp;lt;code&amp;gt;SlicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;ctkMacroCompilePythonScript&amp;lt;/code&amp;gt;. See [https://github.com/Slicer/Slicer/commits/master/CMake/SlicerMacroBuildScriptedModule.cmake here].&lt;br /&gt;
* Generic tests associated with Loadable and Scripted module should be built specifying the &amp;lt;code&amp;gt;WITH_GENERIC_TESTS&amp;lt;/code&amp;gt; option. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21768 r21768].&lt;br /&gt;
* Test driver associated with loadable module should be configured using &amp;lt;code&amp;gt;SlicerMacroConfigureModuleCxxTestDriver&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21769 r21769].&lt;br /&gt;
* CMake - Minimum required CMake version will be 2.8.9 for Windows/Linux, CMake 2.8.11 for MacOSX - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21682 r21682] &lt;br /&gt;
* Library - ITKv4 will be enabled by default - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21688 r21688]&lt;br /&gt;
* Library - Qt 4.8.4 will be the recommended/required version&lt;br /&gt;
* Core - Removed unused class &amp;lt;code&amp;gt;Base/Logic/vtkSlicerROILogic&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21744 r21744]&lt;br /&gt;
* Move Editor icons from &amp;quot;Base/Logic&amp;quot; into &amp;quot;EditorLib/Resources/Icons&amp;quot;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21765 r21765]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicer_parse_arguments&amp;lt;/code&amp;gt; has been removed. Consider using &amp;lt;code&amp;gt;cmake_parse_arguments&amp;lt;/code&amp;gt; instead. See [http://www.cmake.org/cmake/help/v2.8.10/cmake.html#module:CMakeParseArguments CMakeParseArguments] - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21774 r21774]&lt;br /&gt;
* Slicer default Python version is &amp;lt;code&amp;gt;2.7.3&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21863 r21863], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21867 r21867], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21869 r21869], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21879 r21879], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21891 r21891]&lt;br /&gt;
* Python function PyRun_OpenFile/CloseFile have been removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21960 r21960]&lt;br /&gt;
* The &amp;lt;code&amp;gt;qMRMLNodeComboBox&amp;lt;/code&amp;gt; property &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; was renamed &amp;lt;code&amp;gt;currentNodeID&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22052 22052]. The function &amp;lt;code&amp;gt;setCurrentNode(const QString &amp;amp;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;currentNodeId()&amp;lt;/code&amp;gt; should be removed. See also [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22072 r22072].&lt;br /&gt;
* When using Visual Studio 8, installation of Service Pack 1 is now enforced by the build system. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22096 r22096], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22098 r22098]&lt;br /&gt;
* &amp;lt;code&amp;gt;if(NOT Slicer_SOURCE_DIR)&amp;lt;/code&amp;gt; not required any more in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22063 r22063]&lt;br /&gt;
* &amp;lt;code&amp;gt;project()&amp;lt;/code&amp;gt; statment now allowed in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22038 r22038], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22115 r22115]&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - CMake 2.8.4 will be required. Macro &amp;lt;code&amp;gt;Pre283CMakeParseArguments.cmake&amp;lt;/code&amp;gt; will be removed. See [https://github.com/jcfr/SlicerExecutionModel/commit/ce6205807d7a8ce1b4c486a5507c94876636bec1 ce620580]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; will be removed. Use &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; is removed. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== 4.2.0 ===&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; marked as deprecated. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21634 r21634] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=17781 r17781].&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;slicerMacroBuildCLI / SEMMacroBuildCLI&amp;lt;/code&amp;gt; is deprecated. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36478</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Roadmap&amp;diff=36478"/>
		<updated>2013-11-11T04:35:21Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Trunk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
This page is a place to organize and prioritize development activities into a roadmap based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)&lt;br /&gt;
&lt;br /&gt;
The list of issues targeted for each release are reported on mantis: http://na-mic.org/Mantis/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
The topics listed below includes Slicer application and dependent ToolKit. For the specific strategy and feature lists covering modules and extensions, visit their respective roadmaps and other documentation.&lt;br /&gt;
&lt;br /&gt;
== Priorities ==&lt;br /&gt;
&lt;br /&gt;
=== As of February, 2013 ===&lt;br /&gt;
&lt;br /&gt;
* {{done}} [[Documentation/Labs/ITKv4|ITKv4 integration]]&lt;br /&gt;
* {{wip}} Ability to install python package using pip&lt;br /&gt;
* {{done}} Improve extension catalog frontend&lt;br /&gt;
* {{wip}} Faster Slicer start time&lt;br /&gt;
* {{wip}} [http://www.na-mic.org/Bug/view.php?id=2039 Support of python command line module]&lt;br /&gt;
* {{done}} Walk-thru documentation that clearly shows new developers step-by-step instructions to create and publish extensions.&lt;br /&gt;
&lt;br /&gt;
== Deprecation / API Changes roadmap ==&lt;br /&gt;
&lt;br /&gt;
List of deprecated methods / classes: http://slicer.org/doc/html/deprecated.html&lt;br /&gt;
&lt;br /&gt;
Mantis tag '''Deprecation''': http://www.na-mic.org/Bug/search.php?project_id=3&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=80&amp;amp;tag_string=Deprecation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Staged ===&lt;br /&gt;
&lt;br /&gt;
This section list the change that should be annouced on the list before been integrated into Slicer trunk.&lt;br /&gt;
&lt;br /&gt;
* Remove vtkMRMLScene::Edited method and associated SceneEditedEvent. See [http://www.na-mic.org/Bug/view.php?id=3472 #3472] and [https://github.com/jcfr/Slicer/tree/3472-remove-vtkMRMLScene-edited 3472-remove-vtkMRMLScene-edited]&lt;br /&gt;
* Rename qSlicer.*IO classes into qSlicer.*Reader. See [https://github.com/jcfr/Slicer/tree/rename-io-class-to-reader rename-io-class-to-reader]. See http://slicer-devel.65872.n3.nabble.com/Feedback-Rename-of-qSlicerXXXIO-class-into-qSlicerXXXReader-class-tt4030298.html&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
* Library - ITKv3 support will be removed from build system.&lt;br /&gt;
* CMake -  Minimum required CMake version will be 2.8.11 for all platforms.&lt;br /&gt;
* MRML - Default value for HideFromEditors will be change to False. See [http://www.na-mic.org/Bug/view.php?id=2906 #2906].&lt;br /&gt;
* Wigdets - Method &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; will be removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22059 22059].&lt;br /&gt;
* Clean logic header includes - [https://github.com/finetjul/Slicer/tree/vtkmrmlabstractlogic-clean-includes vtkmrmlabstractlogic-clean-includes-trunk].&lt;br /&gt;
* Cleanup qSlicerAppMainWindow - [https://github.com/finetjul/Slicer/tree/consolidate-qslicerappmainwindow consolidate-qslicerappmainwindow-trunk].&lt;br /&gt;
* Configure Qt modules - [https://github.com/finetjul/Slicer/tree/slicer-required-qt-modules slicer-required-qt-modules-trunk]&lt;br /&gt;
* Rename / Move - &amp;lt;code&amp;gt;vtkSlicerTransformLogic&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;vtkSlicerTransformModuleLogic&amp;lt;/code&amp;gt; and moved into &amp;lt;code&amp;gt;Modules/Loadable/Transform/Logic&amp;lt;/code&amp;gt; - Consider updating the CMakeLists.txt and code of your modules. See instruction [[Documentation/Nightly/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]]. Associated issue [http://www.na-mic.org/Bug/view.php?id=2926 #2926]&lt;br /&gt;
* CMake - Rename file &amp;lt;code&amp;gt;SlicerMacroBuildQtModule.cmake&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;SlicerMacroBuildLoadableModule.cmake&amp;lt;/code&amp;gt;. See issue [http://www.na-mic.org/Bug/view.php?id=3332 #3332]&lt;br /&gt;
&lt;br /&gt;
=== 4.3.0 ===&lt;br /&gt;
* const std::vector&amp;lt;vtkMRMLDisplayNode*&amp;gt;&amp;amp; vtkMRMLDisplayableNode::GetDisplayNodes(); - Obsolete utility function that provides an unsafe API. Please use GetNumberOfDisplayNodes() and GetNthDisplayNode() instead&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildQtModule&amp;lt;/code&amp;gt; will be renamed into &amp;lt;code&amp;gt;slicerMacroBuildLoadableModule&amp;lt;/code&amp;gt;. See [http://www.na-mic.org/Bug/view.php?id=2648 #2648]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; should be used to build Scripted modules. See [https://github.com/xtk/SlicerWebGLExport/blob/0cd62734ad809bfc87aa422939c9732360d119df/WebGLExport/CMakeLists.txt#L32-36 here] for an example.&lt;br /&gt;
* Library - ITKv3 support is deprecated / not maintained.&lt;br /&gt;
* Scripted module should be built using &amp;lt;code&amp;gt;SlicerMacroBuildScriptedModule&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;ctkMacroCompilePythonScript&amp;lt;/code&amp;gt;. See [https://github.com/Slicer/Slicer/commits/master/CMake/SlicerMacroBuildScriptedModule.cmake here].&lt;br /&gt;
* Generic tests associated with Loadable and Scripted module should be built specifying the &amp;lt;code&amp;gt;WITH_GENERIC_TESTS&amp;lt;/code&amp;gt; option. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21768 r21768].&lt;br /&gt;
* Test driver associated with loadable module should be configured using &amp;lt;code&amp;gt;SlicerMacroConfigureModuleCxxTestDriver&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21769 r21769].&lt;br /&gt;
* CMake - Minimum required CMake version will be 2.8.9 for Windows/Linux, CMake 2.8.11 for MacOSX - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21682 r21682] &lt;br /&gt;
* Library - ITKv4 will be enabled by default - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21688 r21688]&lt;br /&gt;
* Library - Qt 4.8.4 will be the recommended/required version&lt;br /&gt;
* Core - Removed unused class &amp;lt;code&amp;gt;Base/Logic/vtkSlicerROILogic&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21744 r21744]&lt;br /&gt;
* Move Editor icons from &amp;quot;Base/Logic&amp;quot; into &amp;quot;EditorLib/Resources/Icons&amp;quot;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21765 r21765]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicer_parse_arguments&amp;lt;/code&amp;gt; has been removed. Consider using &amp;lt;code&amp;gt;cmake_parse_arguments&amp;lt;/code&amp;gt; instead. See [http://www.cmake.org/cmake/help/v2.8.10/cmake.html#module:CMakeParseArguments CMakeParseArguments] - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21774 r21774]&lt;br /&gt;
* Slicer default Python version is &amp;lt;code&amp;gt;2.7.3&amp;lt;/code&amp;gt; - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21863 r21863], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21867 r21867], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21869 r21869], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21879 r21879], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21891 r21891]&lt;br /&gt;
* Python function PyRun_OpenFile/CloseFile have been removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21960 r21960]&lt;br /&gt;
* The &amp;lt;code&amp;gt;qMRMLNodeComboBox&amp;lt;/code&amp;gt; property &amp;lt;code&amp;gt;currentNodeId&amp;lt;/code&amp;gt; was renamed &amp;lt;code&amp;gt;currentNodeID&amp;lt;/code&amp;gt;. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22052 22052]. The function &amp;lt;code&amp;gt;setCurrentNode(const QString &amp;amp;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;currentNodeId()&amp;lt;/code&amp;gt; should be removed. See also [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22072 r22072].&lt;br /&gt;
* When using Visual Studio 8, installation of Service Pack 1 is now enforced by the build system. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22096 r22096], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22098 r22098]&lt;br /&gt;
* &amp;lt;code&amp;gt;if(NOT Slicer_SOURCE_DIR)&amp;lt;/code&amp;gt; not required any more in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22063 r22063]&lt;br /&gt;
* &amp;lt;code&amp;gt;project()&amp;lt;/code&amp;gt; statment now allowed in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22038 r22038], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=22115 r22115]&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - CMake 2.8.4 will be required. Macro &amp;lt;code&amp;gt;Pre283CMakeParseArguments.cmake&amp;lt;/code&amp;gt; will be removed. See [https://github.com/jcfr/SlicerExecutionModel/commit/ce6205807d7a8ce1b4c486a5507c94876636bec1 ce620580]&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; will be removed. Use &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;SEMMacroBuildCLI&amp;lt;/code&amp;gt; is removed. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== 4.2.0 ===&lt;br /&gt;
==== SlicerExecutionModel ====&lt;br /&gt;
* CMake - Macro &amp;lt;code&amp;gt;slicerMacroBuildCLI&amp;lt;/code&amp;gt; marked as deprecated. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=21634 r21634] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;amp;revision=17781 r17781].&lt;br /&gt;
* CMake - Parameter &amp;lt;code&amp;gt;CLI_SHARED_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; of macro &amp;lt;code&amp;gt;slicerMacroBuildCLI / SEMMacroBuildCLI&amp;lt;/code&amp;gt; is deprecated. Use &amp;lt;code&amp;gt;CLI_LIBRARY_WRAPPER_CXX&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules&amp;diff=36347</id>
		<title>Documentation/Nightly/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules&amp;diff=36347"/>
		<updated>2013-11-04T20:30:28Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Segmentation */ Add manual segmentation with the Editor module&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
=Modules by Category=&lt;br /&gt;
==Core Modules==&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/Developers/random-image}}&lt;br /&gt;
&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Annotations|Annotations]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Colors|Colors]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Data|Data]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DICOM|DICOM]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]] (Steve Pieper)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Editor/WatershedFromMarkers|WatershedFromMarkers]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Markups|Markups]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Models|Models]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SceneViews|SceneViews]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Transforms|Transforms]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ViewControllers|View Controllers]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Volumes|Volumes]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VolumeRendering|Volume Rendering]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SlicerWelcome|Welcome to Slicer]] (Wendy Plesniak)&lt;br /&gt;
&lt;br /&gt;
==Wizards==&lt;br /&gt;
&lt;br /&gt;
==Informatics==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SampleData|Sample Data]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==Registration==&lt;br /&gt;
*[[:Category:Documentation/{{documentation/version}}/Modules/Registration|Introduction to Registration]] (Dominik Meier)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSFit|General Brainsfit Registration]] (Hans Johnson)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSResample|Resample Image (BRAINS)]] (Hans Johnson)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ACPCTransform|ACPC Transform]] (Nicole Aucoin)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BRAINSDemonWarp|Demon Registration (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiducialRegistration|Fiducial Registration]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**Vector Demon Registration (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Reformat|Reformat]] (Michael Jeulin-Lagarrigue)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SegmentationAidedRegistration|Segmentation Aided Registration]] (Yi Gao) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Segmentation==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegment Easy|EMSegment Easy (no atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegmenter|EMSegment (with atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleRegionGrowingSegmentation|Simple Region Growing Segmentation]] (Jim Miller, Harini Veeraraghavan) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/KSliceInteractiveSegmenter|KSlice Interactive Segmenter]] (Ivan Kolesov, Peter Karasev, Patricio Vela, Allen Tannenbaum, Karl Fritscher, Steve Pieper )&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]] (Steve Pieper)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/EMSegment Command-line | EMSegment Command-line]] (Kilian Pohl)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ForegroundMasking|Foreground Masking (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]] (Yi Gao)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LAScarSegmenter|Left Atrial Scar Segmenter]] (Liangjia Zhu)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LASegmenter|Left Atrium Segmenter]] (Liangjia Zhu)&lt;br /&gt;
&lt;br /&gt;
==Quantification==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataProbe|Data Probe]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelStatistics|Label Statistics]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/PETStandardUptakeValueComputation|PET Standard Uptake Value Computation]] (Nicole Aucoin)&lt;br /&gt;
* Change quantification&lt;br /&gt;
** [[Documentation/{{documentation/version}}/Modules/IntensityDifferenceMetric|Intensity Difference Metric]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SNR Measurement|SNR Measurement]] (Babak Matinfar)&lt;br /&gt;
&lt;br /&gt;
==Diffusion== &lt;br /&gt;
*DWI to Full Brain Tractography (Demian Wasserman) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIJointRicianLMMSEFilter|DWI Joint Rician LMMSE Image Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIRicianLMMSEFilter|DWI Rician LMMSE Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Tractography&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyDisplay|Tractography Display]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyFiducialSeeding|Tractography Interactive Seeding]] (Alex Yarmarkovich)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyLabelMapSeeding|Tractography Label Map Seeding]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/UKFTractography|UKF Tractography]]&lt;br /&gt;
*Utilities&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIToDTIEstimation|DWI To DTI Estimation]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionTensorScalarMeasurements|Diffusion Tensor Scalar Measurements]] (Demian Wasserman) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionWeightedVolumeMasking|Diffusion Weighted Volume Masking]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleDTIVolume|Resample DTI Volume]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Data Conversion&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIImport|DTIImport]] {{wip}} (Sonia Pujol) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIExport|DTIExport]] {{wip}} (Sonia Pujol)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiberBundleToLabelMap|Fiber Bundle to Label Map]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==IGT==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OpenIGTLinkIF| OpenIGTLink IF]] (Junichi Tokuda) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Filtering==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/N4ITKBiasFieldCorrection | N4ITK Bias Field Correction]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CheckerBoardFilter|CheckerBoard Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExtractSkeleton|Extract Skeleton]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/HistogramMatching|Histogram Matching]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ImageLabelCombine|Image Label Combine]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ResampleScalarVectorDWIVolume|Resample Scalar/Vector/DWI Volume]] (Francois Budin) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ThresholdScalarVolume|Threshold Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VotingBinaryHoleFillingImageFilter|Voting Binary Hole Filling Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleFilters|Simple Filters]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*Arithmetic &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AddScalarVolumes|Add Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CastScalarVolume| Cast Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MaskScalarVolume| Mask Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiplyScalarVolumes| Multiply Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SubtractScalarVolumes| Subtract Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GradientAnisotropicDiffusion |Gradient Anisotropic Diffusion]] (Jim Miller) {{wip}} &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CurvatureAnisotropicDiffusion|Curvature Anisotropic Diffusion]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GaussianBlurImageFilter|Gaussian Blur Image Filter]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MedianImageFilter|Median Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*Morphology&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleFillHoleImageFilter|Grayscale Fill Hole Image Filter]] (Jim Miller)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleGrindPeakImageFilter|Grayscale Grind Peak Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Surface Models==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/GrayscaleModelMaker| Grayscale Model Maker]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelMapSmoothing|Label Map Smoothing]] {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/MergeModels| Merge Models]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelMaker| Model Maker]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelToLabelMap| Model To LabelMap]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ProbeVolumeWithModel| Probe Volume With Model]] (Lauren O'Donnell) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SurfaceToolbox| SurfaceToolbox]] (Luca Antiga)&lt;br /&gt;
&lt;br /&gt;
==Converters==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CreateDICOMSeries|Create DICOM Series]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Crop Volume|Crop Volume]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DicomToNrrdConverter|Dicom to Nrrd Converter]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OrientScalarVolume| Orient Scalar Volume]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VectorToScalarVolume| Vector to Scalar Volume]] (Steve Pieper) &lt;br /&gt;
{{wip}}&lt;br /&gt;
&lt;br /&gt;
==Endoscopy==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Endoscopy|Endoscopy]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
=={{wip}} Work in Progress {{wip}}==&lt;br /&gt;
* MultiVolume Support&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeImporter|MultiVolume Importer]] (Andrey Fedorov)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeExplorer|MultiVolume Explorer]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataStore|Data Store]] (Charles Marion)&lt;br /&gt;
&lt;br /&gt;
==Developer Tools==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Cameras|Cameras]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EventBroker|Event Broker]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExecutionModelTour |Execution Model Tour]] (JC Fillion-Robin)  {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/YOURMODULENAME|Module Template]] (JC Fillion-Robin)&lt;br /&gt;
*Performance Tests&lt;br /&gt;
*Tractography&lt;br /&gt;
&lt;br /&gt;
==Legacy==&lt;br /&gt;
*Converters&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineToDeformationField|BSpline To Deformation Field]]&lt;br /&gt;
*Diffusion&lt;br /&gt;
**Denoising&lt;br /&gt;
***[[Documentation/{{documentation/version}}/Modules/DWIUnbiasedNonLocalMeansFilter|DWI Unbiased Non Local Means Filter]]&lt;br /&gt;
*Filtering&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MRIBiasFieldCorrection|MRI Bias Field Correction]] (Sylvain Jaume) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdImageFilter|Otsu Threshold Image Filter]] (Bill Lorensen) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleScalarVolume|Resample Scalar Volume]] (Jim Miller) {{wip}}&lt;br /&gt;
*Registration&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RigidRegistration|Rigid Registration]] (Jim Miller)  {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AffineRegistration|Affine Registration]] (Daniel Blezek) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineDeformableRegistration|BSpline Deformable Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ExpertAutomatedRegistration|Expert Automated Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LinearRegistration|Linear Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiResolutionAffineRegistration|MultiResolution Affine Registration]] (Casey Goodlett){{wip}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TestGridTransformRegistration|Test Grid Transform Registration]] {{wip}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*Segmentation&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdSegmentation|Otsu Threshold Segmentation]] (Bill Lorensen) {{wip}}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules&amp;diff=36346</id>
		<title>Documentation/4.3/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules&amp;diff=36346"/>
		<updated>2013-11-04T20:30:03Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Segmentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
=Modules by Category=&lt;br /&gt;
==Core Modules==&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/Developers/random-image}}&lt;br /&gt;
&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Annotations|Annotations]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Colors|Colors]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Data|Data]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DICOM|DICOM]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]] (Steve Pieper)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Editor/WatershedFromMarkers|WatershedFromMarkers]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Markups|Markups]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Models|Models]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SceneViews|SceneViews]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Transforms|Transforms]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ViewControllers|View Controllers]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Volumes|Volumes]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VolumeRendering|Volume Rendering]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SlicerWelcome|Welcome to Slicer]] (Wendy Plesniak)&lt;br /&gt;
&lt;br /&gt;
==Wizards==&lt;br /&gt;
&lt;br /&gt;
==Informatics==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SampleData|Sample Data]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==Registration==&lt;br /&gt;
*[[:Category:Documentation/{{documentation/version}}/Modules/Registration|Introduction to Registration]] (Dominik Meier)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSFit|General Brainsfit Registration]] (Hans Johnson)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSResample|Resample Image (BRAINS)]] (Hans Johnson)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ACPCTransform|ACPC Transform]] (Nicole Aucoin)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BRAINSDemonWarp|Demon Registration (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiducialRegistration|Fiducial Registration]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**Vector Demon Registration (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Reformat|Reformat]] (Michael Jeulin-Lagarrigue)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SegmentationAidedRegistration|Segmentation Aided Registration]] (Yi Gao) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Segmentation==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegment Easy|EMSegment Easy (no atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegmenter|EMSegment (with atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleRegionGrowingSegmentation|Simple Region Growing Segmentation]] (Jim Miller, Harini Veeraraghavan) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/KSliceInteractiveSegmenter|KSlice Interactive Segmenter]] (Ivan Kolesov, Peter Karasev, Patricio Vela, Allen Tannenbaum, Karl Fritscher, Steve Pieper )&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]] (Steve Pieper)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/EMSegment Command-line | EMSegment Command-line]] (Kilian Pohl)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ForegroundMasking|Foreground Masking (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]] (Yi Gao)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LAScarSegmenter|Left Atrial Scar Segmenter]] (Liangjia Zhu) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LASegmenter|Left Atrium Segmenter]] (Liangjia Zhu)&lt;br /&gt;
&lt;br /&gt;
==Quantification==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataProbe|Data Probe]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelStatistics|Label Statistics]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/PETStandardUptakeValueComputation|PET Standard Uptake Value Computation]] (Nicole Aucoin)&lt;br /&gt;
* Change quantification&lt;br /&gt;
** [[Documentation/{{documentation/version}}/Modules/IntensityDifferenceMetric|Intensity Difference Metric]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SNR Measurement|SNR Measurement]] (Babak Matinfar)&lt;br /&gt;
&lt;br /&gt;
==Diffusion== &lt;br /&gt;
*DWI to Full Brain Tractography (Demian Wasserman) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIJointRicianLMMSEFilter|DWI Joint Rician LMMSE Image Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIRicianLMMSEFilter|DWI Rician LMMSE Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Tractography&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyDisplay|Tractography Display]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyFiducialSeeding|Tractography Interactive Seeding]] (Alex Yarmarkovich)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyLabelMapSeeding|Tractography Label Map Seeding]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/UKFTractography|UKF Tractography]]&lt;br /&gt;
*Utilities&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIToDTIEstimation|DWI To DTI Estimation]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionTensorScalarMeasurements|Diffusion Tensor Scalar Measurements]] (Demian Wasserman) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionWeightedVolumeMasking|Diffusion Weighted Volume Masking]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiberBundleLabelSelect|FiberBundleLabelSelect]] (Alex Yarmarkovich) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleDTIVolume|Resample DTI Volume]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Data Conversion&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIImport|DTIImport]] {{wip}} (Sonia Pujol) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIExport|DTIExport]] {{wip}} (Sonia Pujol)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiberBundleToLabelMap|Fiber Bundle to Label Map]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==IGT==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OpenIGTLinkIF| OpenIGTLink IF]] (Junichi Tokuda) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Filtering==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/N4ITKBiasFieldCorrection | N4ITK Bias Field Correction]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CheckerBoardFilter|CheckerBoard Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExtractSkeleton|Extract Skeleton]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/HistogramMatching|Histogram Matching]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ImageLabelCombine|Image Label Combine]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ResampleScalarVectorDWIVolume|Resample Scalar/Vector/DWI Volume]] (Francois Budin) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ThresholdScalarVolume|Threshold Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VotingBinaryHoleFillingImageFilter|Voting Binary Hole Filling Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleFilters|Simple Filters]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*Arithmetic &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AddScalarVolumes|Add Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CastScalarVolume| Cast Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MaskScalarVolume| Mask Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiplyScalarVolumes| Multiply Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SubtractScalarVolumes| Subtract Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GradientAnisotropicDiffusion |Gradient Anisotropic Diffusion]] (Jim Miller) {{wip}} &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CurvatureAnisotropicDiffusion|Curvature Anisotropic Diffusion]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GaussianBlurImageFilter|Gaussian Blur Image Filter]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MedianImageFilter|Median Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*Morphology&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleFillHoleImageFilter|Grayscale Fill Hole Image Filter]] (Jim Miller)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleGrindPeakImageFilter|Grayscale Grind Peak Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Surface Models==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/GrayscaleModelMaker| Grayscale Model Maker]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelMapSmoothing|Label Map Smoothing]] {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/MergeModels| Merge Models]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelMaker| Model Maker]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelToLabelMap| Model To LabelMap]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ProbeVolumeWithModel| Probe Volume With Model]] (Lauren O'Donnell) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SurfaceToolbox| SurfaceToolbox]] (Luca Antiga)&lt;br /&gt;
&lt;br /&gt;
==Converters==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CreateDICOMSeries|Create DICOM Series]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Crop Volume|Crop Volume]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DicomToNrrdConverter|Dicom to Nrrd Converter]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OrientScalarVolume| Orient Scalar Volume]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VectorToScalarVolume| Vector to Scalar Volume]] (Steve Pieper) &lt;br /&gt;
{{wip}}&lt;br /&gt;
&lt;br /&gt;
==Endoscopy==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Endoscopy|Endoscopy]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
=={{wip}} Work in Progress {{wip}}==&lt;br /&gt;
* MultiVolume Support&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeImporter|MultiVolume Importer]] (Andrey Fedorov)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeExplorer|MultiVolume Explorer]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataStore|Data Store]] (Charles Marion)&lt;br /&gt;
&lt;br /&gt;
==Developer Tools==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Cameras|Cameras]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EventBroker|Event Broker]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExecutionModelTour |Execution Model Tour]] (JC Fillion-Robin)  {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/YOURMODULENAME|Module Template]] (JC Fillion-Robin)&lt;br /&gt;
*Performance Tests&lt;br /&gt;
*Tractography&lt;br /&gt;
&lt;br /&gt;
==Legacy==&lt;br /&gt;
*Converters&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineToDeformationField|BSpline To Deformation Field]]&lt;br /&gt;
*Diffusion&lt;br /&gt;
**Denoising&lt;br /&gt;
***[[Documentation/{{documentation/version}}/Modules/DWIUnbiasedNonLocalMeansFilter|DWI Unbiased Non Local Means Filter]]&lt;br /&gt;
*Filtering&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MRIBiasFieldCorrection|MRI Bias Field Correction]] (Sylvain Jaume) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdImageFilter|Otsu Threshold Image Filter]] (Bill Lorensen) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleScalarVolume|Resample Scalar Volume]] (Jim Miller) {{wip}}&lt;br /&gt;
*Registration&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RigidRegistration|Rigid Registration]] (Jim Miller)  {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AffineRegistration|Affine Registration]] (Daniel Blezek) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineDeformableRegistration|BSpline Deformable Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ExpertAutomatedRegistration|Expert Automated Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LinearRegistration|Linear Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiResolutionAffineRegistration|MultiResolution Affine Registration]] (Casey Goodlett){{wip}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TestGridTransformRegistration|Test Grid Transform Registration]] {{wip}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*Segmentation&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdSegmentation|Otsu Threshold Segmentation]] (Bill Lorensen) {{wip}}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules&amp;diff=36345</id>
		<title>Documentation/4.3/Modules</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules&amp;diff=36345"/>
		<updated>2013-11-04T20:29:48Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: /* Segmentation */ Add manual segmentation with the Editor module&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
=Modules by Category=&lt;br /&gt;
==Core Modules==&lt;br /&gt;
&lt;br /&gt;
{{documentation/{{documentation/version}}/Developers/random-image}}&lt;br /&gt;
&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Annotations|Annotations]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Colors|Colors]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Data|Data]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DICOM|DICOM]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]] (Steve Pieper)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Editor/WatershedFromMarkers|WatershedFromMarkers]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Markups|Markups]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Models|Models]] (Nicole Aucoin)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SceneViews|SceneViews]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Transforms|Transforms]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ViewControllers|View Controllers]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Volumes|Volumes]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VolumeRendering|Volume Rendering]] (Julien Finet)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SlicerWelcome|Welcome to Slicer]] (Wendy Plesniak)&lt;br /&gt;
&lt;br /&gt;
==Wizards==&lt;br /&gt;
&lt;br /&gt;
==Informatics==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SampleData|Sample Data]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==Registration==&lt;br /&gt;
*[[:Category:Documentation/{{documentation/version}}/Modules/Registration|Introduction to Registration]] (Dominik Meier)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSFit|General Brainsfit Registration]] (Hans Johnson)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/BRAINSResample|Resample Image (BRAINS)]] (Hans Johnson)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ACPCTransform|ACPC Transform]] (Nicole Aucoin)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BRAINSDemonWarp|Demon Registration (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiducialRegistration|Fiducial Registration]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**Vector Demon Registration (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/Reformat|Reformat]] (Michael Jeulin-Lagarrigue)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SegmentationAidedRegistration|Segmentation Aided Registration]] (Yi Gao) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Segmentation==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegment Easy|EMSegment Easy (no atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EMSegmenter|EMSegment (with atlas)]] (Kilian Pohl) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleRegionGrowingSegmentation|Simple Region Growing Segmentation]] (Jim Miller, Harini Veeraraghavan) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/KSliceInteractiveSegmenter|KSlice Interactive Segmenter]] (Ivan Kolesov, Peter Karasev, Patricio Vela, Allen Tannenbaum, Karl Fritscher, Steve Pieper )&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Editor|Editor]](Steve Pieper)&lt;br /&gt;
*Specialized&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/EMSegment Command-line | EMSegment Command-line]] (Kilian Pohl)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ForegroundMasking|Foreground Masking (BRAINS)]] (Hans Johnson)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]] (Yi Gao)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LAScarSegmenter|Left Atrial Scar Segmenter]] (Liangjia Zhu) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LASegmenter|Left Atrium Segmenter]] (Liangjia Zhu)&lt;br /&gt;
&lt;br /&gt;
==Quantification==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataProbe|Data Probe]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelStatistics|Label Statistics]] (Steve Pieper)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/PETStandardUptakeValueComputation|PET Standard Uptake Value Computation]] (Nicole Aucoin)&lt;br /&gt;
* Change quantification&lt;br /&gt;
** [[Documentation/{{documentation/version}}/Modules/IntensityDifferenceMetric|Intensity Difference Metric]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SNR Measurement|SNR Measurement]] (Babak Matinfar)&lt;br /&gt;
&lt;br /&gt;
==Diffusion== &lt;br /&gt;
*DWI to Full Brain Tractography (Demian Wasserman) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIJointRicianLMMSEFilter|DWI Joint Rician LMMSE Image Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIRicianLMMSEFilter|DWI Rician LMMSE Filter]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Tractography&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyDisplay|Tractography Display]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyFiducialSeeding|Tractography Interactive Seeding]] (Alex Yarmarkovich)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TractographyLabelMapSeeding|Tractography Label Map Seeding]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/UKFTractography|UKF Tractography]]&lt;br /&gt;
*Utilities&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DWIToDTIEstimation|DWI To DTI Estimation]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionTensorScalarMeasurements|Diffusion Tensor Scalar Measurements]] (Demian Wasserman) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DiffusionWeightedVolumeMasking|Diffusion Weighted Volume Masking]] (Demian Wasserman) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiberBundleLabelSelect|FiberBundleLabelSelect]] (Alex Yarmarkovich) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleDTIVolume|Resample DTI Volume]] (Demian Wasserman) {{wip}}&lt;br /&gt;
*Data Conversion&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIImport|DTIImport]] {{wip}} (Sonia Pujol) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/DTIExport|DTIExport]] {{wip}} (Sonia Pujol)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/FiberBundleToLabelMap|Fiber Bundle to Label Map]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
==IGT==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OpenIGTLinkIF| OpenIGTLink IF]] (Junichi Tokuda) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Filtering==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/N4ITKBiasFieldCorrection | N4ITK Bias Field Correction]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CheckerBoardFilter|CheckerBoard Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExtractSkeleton|Extract Skeleton]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/HistogramMatching|Histogram Matching]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ImageLabelCombine|Image Label Combine]] (Alex Yarmarkovich) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ResampleScalarVectorDWIVolume|Resample Scalar/Vector/DWI Volume]] (Francois Budin) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ThresholdScalarVolume|Threshold Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VotingBinaryHoleFillingImageFilter|Voting Binary Hole Filling Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SimpleFilters|Simple Filters]] (Bradley Lowekamp) {{wip}}&lt;br /&gt;
*Arithmetic &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AddScalarVolumes|Add Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CastScalarVolume| Cast Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MaskScalarVolume| Mask Scalar Volume]] (Nicole Aucoin) &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiplyScalarVolumes| Multiply Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/SubtractScalarVolumes| Subtract Scalar Volumes]] (Jim Miller) {{wip}}&lt;br /&gt;
*Denoising&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GradientAnisotropicDiffusion |Gradient Anisotropic Diffusion]] (Jim Miller) {{wip}} &lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/CurvatureAnisotropicDiffusion|Curvature Anisotropic Diffusion]] (Jim Miller) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GaussianBlurImageFilter|Gaussian Blur Image Filter]] (Stephen Aylward) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MedianImageFilter|Median Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
*Morphology&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleFillHoleImageFilter|Grayscale Fill Hole Image Filter]] (Jim Miller)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/GrayscaleGrindPeakImageFilter|Grayscale Grind Peak Image Filter]] (Jim Miller) {{wip}}&lt;br /&gt;
&lt;br /&gt;
==Surface Models==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/GrayscaleModelMaker| Grayscale Model Maker]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/LabelMapSmoothing|Label Map Smoothing]] {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/MergeModels| Merge Models]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelMaker| Model Maker]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ModelToLabelMap| Model To LabelMap]] (Nicole Aucoin) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ProbeVolumeWithModel| Probe Volume With Model]] (Lauren O'Donnell) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/SurfaceToolbox| SurfaceToolbox]] (Luca Antiga)&lt;br /&gt;
&lt;br /&gt;
==Converters==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/CreateDICOMSeries|Create DICOM Series]] (Jim Miller) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Crop Volume|Crop Volume]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DicomToNrrdConverter|Dicom to Nrrd Converter]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/OrientScalarVolume| Orient Scalar Volume]] (Jim Miller) &lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/VectorToScalarVolume| Vector to Scalar Volume]] (Steve Pieper) &lt;br /&gt;
{{wip}}&lt;br /&gt;
&lt;br /&gt;
==Endoscopy==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Endoscopy|Endoscopy]] (Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
=={{wip}} Work in Progress {{wip}}==&lt;br /&gt;
* MultiVolume Support&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeImporter|MultiVolume Importer]] (Andrey Fedorov)&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiVolumeExplorer|MultiVolume Explorer]] (Andrey Fedorov)&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/DataStore|Data Store]] (Charles Marion)&lt;br /&gt;
&lt;br /&gt;
==Developer Tools==&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/Cameras|Cameras]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/EventBroker|Event Broker]] (Julien Finet) {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/ExecutionModelTour |Execution Model Tour]] (JC Fillion-Robin)  {{wip}}&lt;br /&gt;
*[[Documentation/{{documentation/version}}/Modules/YOURMODULENAME|Module Template]] (JC Fillion-Robin)&lt;br /&gt;
*Performance Tests&lt;br /&gt;
*Tractography&lt;br /&gt;
&lt;br /&gt;
==Legacy==&lt;br /&gt;
*Converters&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineToDeformationField|BSpline To Deformation Field]]&lt;br /&gt;
*Diffusion&lt;br /&gt;
**Denoising&lt;br /&gt;
***[[Documentation/{{documentation/version}}/Modules/DWIUnbiasedNonLocalMeansFilter|DWI Unbiased Non Local Means Filter]]&lt;br /&gt;
*Filtering&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MRIBiasFieldCorrection|MRI Bias Field Correction]] (Sylvain Jaume) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdImageFilter|Otsu Threshold Image Filter]] (Bill Lorensen) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ResampleScalarVolume|Resample Scalar Volume]] (Jim Miller) {{wip}}&lt;br /&gt;
*Registration&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/RigidRegistration|Rigid Registration]] (Jim Miller)  {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/AffineRegistration|Affine Registration]] (Daniel Blezek) {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/BSplineDeformableRegistration|BSpline Deformable Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/ExpertAutomatedRegistration|Expert Automated Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/LinearRegistration|Linear Registration]] {{wip}}&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/MultiResolutionAffineRegistration|MultiResolution Affine Registration]] (Casey Goodlett){{wip}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/TestGridTransformRegistration|Test Grid Transform Registration]] {{wip}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*Segmentation&lt;br /&gt;
**[[Documentation/{{documentation/version}}/Modules/OtsuThresholdSegmentation|Otsu Threshold Segmentation]] (Bill Lorensen) {{wip}}&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation&amp;diff=36344</id>
		<title>Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation&amp;diff=36344"/>
		<updated>2013-11-04T20:27:08Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Add growcut link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].&amp;lt;br&amp;gt;&lt;br /&gt;
Author: Jim Miller, GE&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Jim Miller &amp;lt;email&amp;gt;millerjv@ge.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|Image:NAMIC 380x463.jpg|NA-MIC&lt;br /&gt;
|Image:GE-logo.png|GE &lt;br /&gt;
|Image:Itk-logo.jpg|Itk&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
The fiducial tool bar icon (identified inside a red box) on the Slicer tool bar is shown.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:slicerToolbar1.png|thumb|400px|Fiducial tool bar icon]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
This module can be used to obtain a volumetric segmentation of a region of interest.&lt;br /&gt;
Most frequently used for these scenarios:&lt;br /&gt;
&lt;br /&gt;
* Example volumetric segmentation of a tumor given a set of fiducial points selected on the tumor:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowing.png|thumb|450px|User input in the form of fiducials]]&lt;br /&gt;
|[[Image:ressimpleregion.png|thumb|450px|Segmentation result: Multiplier=2.5, Neighborhood radius=1, Number of Iterations=5]]&lt;br /&gt;
|}&lt;br /&gt;
This module is useful for obtaining a 2-class segmentation. The fiducials are placed on parts of the image that correspond to the target (foreground). The segmentation can be refined by modifying the number of iterations, the multiplier, and the neighborhood radius options available on the user interface panel. Additionally, the user may also place additional fiducials on the image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
Links to tutorials that use this module&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
The user interface panel:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowingUI.png|280px|User interface panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]]&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/Editor#GrowCutSegment|GrowCut]] segmentation in the editor module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
&amp;lt;!-- Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
For extensions: link to the source code repository and additional documentation&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules/SimpleRegionGrowingSegmentation&amp;diff=36343</id>
		<title>Documentation/4.3/Modules/SimpleRegionGrowingSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules/SimpleRegionGrowingSegmentation&amp;diff=36343"/>
		<updated>2013-11-04T20:26:17Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Add growcut link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].&amp;lt;br&amp;gt;&lt;br /&gt;
Author: Jim Miller, GE&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Jim Miller &amp;lt;email&amp;gt;millerjv@ge.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|Image:NAMIC 380x463.jpg|NA-MIC&lt;br /&gt;
|Image:GE-logo.png|GE &lt;br /&gt;
|Image:Itk-logo.jpg|Itk&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
The fiducial tool bar icon (identified inside a red box) on the Slicer tool bar is shown.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:slicerToolbar1.png|thumb|400px|Fiducial tool bar icon]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
This module can be used to obtain a volumetric segmentation of a region of interest.&lt;br /&gt;
Most frequently used for these scenarios:&lt;br /&gt;
&lt;br /&gt;
* Example volumetric segmentation of a tumor given a set of fiducial points selected on the tumor:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowing.png|thumb|450px|User input in the form of fiducials]]&lt;br /&gt;
|[[Image:ressimpleregion.png|thumb|450px|Segmentation result: Multiplier=2.5, Neighborhood radius=1, Number of Iterations=5]]&lt;br /&gt;
|}&lt;br /&gt;
This module is useful for obtaining a 2-class segmentation. The fiducials are placed on parts of the image that correspond to the target (foreground). The segmentation can be refined by modifying the number of iterations, the multiplier, and the neighborhood radius options available on the user interface panel. Additionally, the user may also place additional fiducials on the image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
Links to tutorials that use this module&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
The user interface panel:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowingUI.png|280px|User interface panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]]&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/Editor#GrowCutSegment|GrowCut]] segmentation in the editor module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
&amp;lt;!-- Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
For extensions: link to the source code repository and additional documentation&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules/SimpleRegionGrowingSegmentation&amp;diff=36342</id>
		<title>Documentation/4.3/Modules/SimpleRegionGrowingSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/Modules/SimpleRegionGrowingSegmentation&amp;diff=36342"/>
		<updated>2013-11-04T20:24:50Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Link to RobustStatisticsSegmenter current version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].&amp;lt;br&amp;gt;&lt;br /&gt;
Author: Jim Miller, GE&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Jim Miller &amp;lt;email&amp;gt;millerjv@ge.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|Image:NAMIC 380x463.jpg|NA-MIC&lt;br /&gt;
|Image:GE-logo.png|GE &lt;br /&gt;
|Image:Itk-logo.jpg|Itk&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
The fiducial tool bar icon (identified inside a red box) on the Slicer tool bar is shown.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:slicerToolbar1.png|thumb|400px|Fiducial tool bar icon]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
This module can be used to obtain a volumetric segmentation of a region of interest.&lt;br /&gt;
Most frequently used for these scenarios:&lt;br /&gt;
&lt;br /&gt;
* Example volumetric segmentation of a tumor given a set of fiducial points selected on the tumor:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowing.png|thumb|450px|User input in the form of fiducials]]&lt;br /&gt;
|[[Image:ressimpleregion.png|thumb|450px|Segmentation result: Multiplier=2.5, Neighborhood radius=1, Number of Iterations=5]]&lt;br /&gt;
|}&lt;br /&gt;
This module is useful for obtaining a 2-class segmentation. The fiducials are placed on parts of the image that correspond to the target (foreground). The segmentation can be refined by modifying the number of iterations, the multiplier, and the neighborhood radius options available on the user interface panel. Additionally, the user may also place additional fiducials on the image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
Links to tutorials that use this module&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
The user interface panel:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowingUI.png|280px|User interface panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]]&lt;br /&gt;
* GrowCut segmentation in the editor module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
&amp;lt;!-- Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
For extensions: link to the source code repository and additional documentation&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation&amp;diff=36341</id>
		<title>Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/Modules/SimpleRegionGrowingSegmentation&amp;diff=36341"/>
		<updated>2013-11-04T20:24:16Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Link to RobustStatisticsSegmenter current version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-header}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
This work is part of the National Alliance for Medical Image Computing (NA-MIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].&amp;lt;br&amp;gt;&lt;br /&gt;
Author: Jim Miller, GE&amp;lt;br&amp;gt;&lt;br /&gt;
Contact: Jim Miller &amp;lt;email&amp;gt;millerjv@ge.com&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-row}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-logo-gallery&lt;br /&gt;
|Image:NAMIC 380x463.jpg|NA-MIC&lt;br /&gt;
|Image:GE-logo.png|GE &lt;br /&gt;
|Image:Itk-logo.jpg|Itk&lt;br /&gt;
}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-introduction-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Module Description}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-description}}&lt;br /&gt;
The fiducial tool bar icon (identified inside a red box) on the Slicer tool bar is shown.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:slicerToolbar1.png|thumb|400px|Fiducial tool bar icon]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Use Cases}}&lt;br /&gt;
This module can be used to obtain a volumetric segmentation of a region of interest.&lt;br /&gt;
Most frequently used for these scenarios:&lt;br /&gt;
&lt;br /&gt;
* Example volumetric segmentation of a tumor given a set of fiducial points selected on the tumor:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowing.png|thumb|450px|User input in the form of fiducials]]&lt;br /&gt;
|[[Image:ressimpleregion.png|thumb|450px|Segmentation result: Multiplier=2.5, Neighborhood radius=1, Number of Iterations=5]]&lt;br /&gt;
|}&lt;br /&gt;
This module is useful for obtaining a 2-class segmentation. The fiducials are placed on parts of the image that correspond to the target (foreground). The segmentation can be refined by modifying the number of iterations, the multiplier, and the neighborhood radius options available on the user interface panel. Additionally, the user may also place additional fiducials on the image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{documentation/{{documentation/version}}/module-section|Tutorials}}&lt;br /&gt;
Links to tutorials that use this module&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Panels and their use}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-parametersdescription}}&lt;br /&gt;
The user interface panel:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:simpleregiongrowingUI.png|280px|User interface panel]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Similar Modules}}&lt;br /&gt;
* [[Documentation/{{documentation/version}}/Modules/RobustStatisticsSegmenter|Robust Statistics Segmenter]]&lt;br /&gt;
* GrowCut segmentation in the editor module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|References}}&lt;br /&gt;
&amp;lt;!-- Publications related to this module go here. Links to pdfs would be useful.&lt;br /&gt;
For extensions: link to the source code repository and additional documentation&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-section|Information for Developers}}&lt;br /&gt;
{{documentation/{{documentation/version}}/module-developerinfo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;br /&gt;
{{documentation/{{documentation/version}}/module-footer}}&lt;br /&gt;
&amp;lt;!-- ---------------------------- --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.3/ModulesMetadata&amp;diff=36221</id>
		<title>Documentation/4.3/ModulesMetadata</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.3/ModulesMetadata&amp;diff=36221"/>
		<updated>2013-10-15T20:14:50Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Bump Data module revision to 4.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
Name, XMLDescriptionURL&lt;br /&gt;
ACPCTransform, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ACPCTransform/ACPCTransform.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
AddScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AddScalarVolumes/AddScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
AffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AffineRegistration/AffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Annotations, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Annotations/Documentation/Annotations.xml?revision=22424&amp;amp;view=co&lt;br /&gt;
BRAINSDemonWarp, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSDemonWarp/BRAINSDemonWarp.xml&lt;br /&gt;
BRAINSFit, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSFit/BRAINSFit.xml&lt;br /&gt;
BRAINSResample, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSResample/BRAINSResample.xml&lt;br /&gt;
BSplineDeformableRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineDeformableRegistration/BSplineDeformableRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
BSplineToDeformationField, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineToDeformationField/BSplineToDeformationField.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Cameras, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/Cameras/Documentation/Cameras.xml?revision=19238&amp;amp;view=co&lt;br /&gt;
CastScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CastScalarVolume/CastScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
CheckerBoardFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CheckerBoardFilter/CheckerBoardFilter.xml?revision=19170&amp;amp;view=co&lt;br /&gt;
CreateDICOMSeries, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CreateDICOMSeries/CreateDICOMSeries.xml?revision=19171&amp;amp;view=co&lt;br /&gt;
CurvatureAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CurvatureAnisotropicDiffusion/CurvatureAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
Data, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Data/Documentation/Data.xml?revision=22613&amp;amp;view=co&lt;br /&gt;
DICOM, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/DICOM.xml?revision=19903&amp;amp;view=co&lt;br /&gt;
DicomToNrrdConverter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/DicomToNrrdConverter.xml?revision=19089&amp;amp;view=co&lt;br /&gt;
DiffusionTensorScalarMeasurements, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionTensorScalarMeasurements/DiffusionTensorScalarMeasurements.xml?revision=19172&amp;amp;view=co&lt;br /&gt;
DiffusionWeightedVolumeMasking, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionWeightedVolumeMasking/DiffusionWeightedVolumeMasking.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
DTIExport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIexport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DTIImport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIimport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DWICompare, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/ExtendedTesting/DWICompare.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
DWIJointRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIJointRicianLMMSEFilter/DWIJointRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIRicianLMMSEFilter/DWIRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIToDTIEstimation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIToDTIEstimation/DWIToDTIEstimation.xml?revision=19201&amp;amp;view=co&lt;br /&gt;
DWIUnbiasedNonLocalMeansFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIUnbiasedNonLocalMeansFilter/DWIUnbiasedNonLocalMeansFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
EMSegment_Command-line, http://viewvc.slicer.org/viewvc.cgi/Slicer3/trunk/Modules/EMSegment/CommandLineApplication/EMSegmentCommandLine.xml?revision=16924&amp;amp;view=co&lt;br /&gt;
Endoscopy, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/Endoscopy.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
EventBroker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/EventBroker/Documentation/EventBroker.xml?revision=19045&amp;amp;view=co&lt;br /&gt;
ExecutionModelTour, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExecutionModelTour/ExecutionModelTour.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ExpertAutomatedRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExpertAutomatedRegistration/ExpertAutomatedRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ExtractSkeleton, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExtractSkeleton/ExtractSkeleton.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
FiducialRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FiducialRegistration/FiducialRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ForegroundMasking, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSROIAuto/BRAINSROIAuto.xml&lt;br /&gt;
FreesurferSurfaceSectionExtraction, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FreesurferSurfaceSectionExtraction/FreesurferSurfaceSectionExtraction.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GaussianBlurImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GaussianBlurImageFilter/GaussianBlurImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GradientAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GradientAnisotropicDiffusion/GradientAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GrayscaleFillHoleImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleFillHoleImageFilter/GrayscaleFillHoleImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleGrindPeakImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleGrindPeakImageFilter/GrayscaleGrindPeakImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleModelMaker/GrayscaleModelMaker.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
HistogramMatching, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/HistogramMatching/HistogramMatching.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
ImageLabelCombine, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ImageLabelCombine/ImageLabelCombine.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LabelMapSmoothing, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LabelMapSmoothing/LabelMapSmoothing.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LinearRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LinearRegistration/LinearRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Markups, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Markups/Documentation/Markups.xml?revision=22358&amp;amp;view=co&lt;br /&gt;
MaskScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MaskScalarVolume/MaskScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
MatlabCommander, https://www.assembla.com/code/slicerrt/subversion/node/blob/trunk/MatlabBridge/src/MatlabCommander/MatlabCommander.xml?raw=1&amp;amp;rev=957&lt;br /&gt;
MedianImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MedianImageFilter/MedianImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MergeModels, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MergeModels/MergeModels.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
MeshContourSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MeshContourSegmentation/MeshContourSegmentation.xml?revision=19175&amp;amp;view=co&lt;br /&gt;
ModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelMaker/ModelMaker.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
Models, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/Documentation/Models.xml?revision=21908&amp;amp;view=co&lt;br /&gt;
ModelToLabelMap, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelToLabelMap/ModelToLabelMap.xml?revision=22218&amp;amp;view=co&lt;br /&gt;
MRIBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MRIBiasFieldCorrection/MRIBiasFieldCorrection.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
MultiplyScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiplyScalarVolumes/MultiplyScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MultiResolutionAffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiResolutionAffineRegistration/MultiResolutionAffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
N4ITKBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/N4ITKBiasFieldCorrection/N4ITKBiasFieldCorrection.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
OrientScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OrientScalarVolume/OrientScalarVolume.xml?revision=19193&amp;amp;view=co&lt;br /&gt;
OtsuThresholdImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdImageFilter/OtsuThresholdImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
OtsuThresholdSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdSegmentation/OtsuThresholdSegmentation.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
PETStandardUptakeValueComputation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/PETStandardUptakeValueComputation/PETStandardUptakeValueComputation.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
ProbeVolumeWithModel, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ProbeVolumeWithModel/ProbeVolumeWithModel.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Reformat, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Reformat/Documentation/Reformat.xml?revision=19165&amp;amp;view=co&lt;br /&gt;
ResampleDTIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleDTIVolume/ResampleDTIVolume.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
ResampleScalarVectorDWIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVectorDWIVolume/ResampleScalarVectorDWIVolume.xml?revision=19186&amp;amp;view=co&lt;br /&gt;
ResampleScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVolume/ResampleScalarVolume.xml?revision=19185&amp;amp;view=co&lt;br /&gt;
RigidRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RigidRegistration/RigidRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
RobustStatisticsSegmenter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RobustStatisticsSegmenter/RobustStatisticsSegmenter.xml?revision=19198&amp;amp;view=co&lt;br /&gt;
SceneViews, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/SceneViews/Documentation/SceneViews.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
SimpleRegionGrowingSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SimpleRegionGrowingSegmentation/SimpleRegionGrowingSegmentation.xml?revision=22482&amp;amp;view=co&lt;br /&gt;
SubtractScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SubtractScalarVolumes/SubtractScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ThresholdScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ThresholdScalarVolume/ThresholdScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
TractographyLabelMapSeeding, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/TractographyLabelMapSeeding/TractographyLabelMapSeeding.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Transforms, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Transforms/Documentation/Transforms.xml?revision=19899&amp;amp;view=co&lt;br /&gt;
ViewControllers, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/ViewControllers/Documentation/ViewControllers.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VolumeRendering, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/VolumeRendering/Documentation/VolumeRendering.xml?revision=19029&amp;amp;view=co&lt;br /&gt;
Volumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Volumes/Documentation/Volumes.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VotingBinaryHoleFillingImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/VotingBinaryHoleFillingImageFilter/VotingBinaryHoleFillingImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type  = warning&lt;br /&gt;
| text  = To force MediaWiki to clear the cached version of a given page, or to force the page to be redisplayed from its source.&amp;lt;br&amp;gt; Add '''?action=purge''' to the URL of the page you are viewing. For more details, click [http://www.mediawiki.org/wiki/Manual:Purge here].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header|data=name=Name,xmldescriptionurl=XMLDescriptionURL}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! XMLDescriptionURL {{#for_external_table:&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{{name}}}&lt;br /&gt;
{{!}} {{{xmldescriptionurl}}} }}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header&lt;br /&gt;
|data=GaussianBlurImageFilterXMLDescriptionURL=XMLDescriptionURL&lt;br /&gt;
|filters=Name=GaussianBlurImageFilter&lt;br /&gt;
}}&lt;br /&gt;
* {{#external_value:GaussianBlurImageFilterXMLDescriptionURL}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModulesMetadata&amp;diff=36220</id>
		<title>Documentation/Nightly/ModulesMetadata</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Nightly/ModulesMetadata&amp;diff=36220"/>
		<updated>2013-10-15T20:11:09Z</updated>

		<summary type="html">&lt;p&gt;Finetjul: Bump Data module revision to 4.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{documentation/versioncheck}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
Name, XMLDescriptionURL&lt;br /&gt;
ACPCTransform, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ACPCTransform/ACPCTransform.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
AddScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AddScalarVolumes/AddScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
AffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/AffineRegistration/AffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Annotations, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Annotations/Documentation/Annotations.xml?revision=22424&amp;amp;view=co&lt;br /&gt;
BRAINSDemonWarp, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSDemonWarp/BRAINSDemonWarp.xml&lt;br /&gt;
BRAINSFit, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSFit/BRAINSFit.xml&lt;br /&gt;
BRAINSResample, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSResample/BRAINSResample.xml&lt;br /&gt;
BSplineDeformableRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineDeformableRegistration/BSplineDeformableRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
BSplineToDeformationField, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/BSplineToDeformationField/BSplineToDeformationField.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Cameras, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/Cameras/Documentation/Cameras.xml?revision=19238&amp;amp;view=co&lt;br /&gt;
CastScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CastScalarVolume/CastScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
CheckerBoardFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CheckerBoardFilter/CheckerBoardFilter.xml?revision=19170&amp;amp;view=co&lt;br /&gt;
CreateDICOMSeries, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CreateDICOMSeries/CreateDICOMSeries.xml?revision=19171&amp;amp;view=co&lt;br /&gt;
CurvatureAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/CurvatureAnisotropicDiffusion/CurvatureAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
Data, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Data/Documentation/Data.xml?revision=22613&amp;amp;view=co&lt;br /&gt;
DICOM, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/DICOM.xml?revision=19903&amp;amp;view=co&lt;br /&gt;
DicomToNrrdConverter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/DicomToNrrdConverter.xml?revision=19089&amp;amp;view=co&lt;br /&gt;
DiffusionTensorScalarMeasurements, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionTensorScalarMeasurements/DiffusionTensorScalarMeasurements.xml?revision=19172&amp;amp;view=co&lt;br /&gt;
DiffusionWeightedVolumeMasking, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DiffusionWeightedVolumeMasking/DiffusionWeightedVolumeMasking.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
DTIExport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIexport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DTIImport, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DTIImportExport/DTIimport.xml?revision=19928&amp;amp;view=co&lt;br /&gt;
DWICompare, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DicomToNrrdConverter/ExtendedTesting/DWICompare.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
DWIJointRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIJointRicianLMMSEFilter/DWIJointRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIRicianLMMSEFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIRicianLMMSEFilter/DWIRicianLMMSEFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
DWIToDTIEstimation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIToDTIEstimation/DWIToDTIEstimation.xml?revision=19201&amp;amp;view=co&lt;br /&gt;
DWIUnbiasedNonLocalMeansFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/DWIUnbiasedNonLocalMeansFilter/DWIUnbiasedNonLocalMeansFilter.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
EMSegment_Command-line, http://viewvc.slicer.org/viewvc.cgi/Slicer3/trunk/Modules/EMSegment/CommandLineApplication/EMSegmentCommandLine.xml?revision=16924&amp;amp;view=co&lt;br /&gt;
Endoscopy, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Scripted/Scripts/Endoscopy.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
EventBroker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Core/EventBroker/Documentation/EventBroker.xml?revision=19045&amp;amp;view=co&lt;br /&gt;
ExecutionModelTour, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExecutionModelTour/ExecutionModelTour.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ExpertAutomatedRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExpertAutomatedRegistration/ExpertAutomatedRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ExtractSkeleton, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ExtractSkeleton/ExtractSkeleton.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
FiducialRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FiducialRegistration/FiducialRegistration.xml?revision=19173&amp;amp;view=co&lt;br /&gt;
ForegroundMasking, https://raw.github.com/BRAINSia/BRAINSTools/master/BRAINSROIAuto/BRAINSROIAuto.xml&lt;br /&gt;
FreesurferSurfaceSectionExtraction, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/FreesurferSurfaceSectionExtraction/FreesurferSurfaceSectionExtraction.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GaussianBlurImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GaussianBlurImageFilter/GaussianBlurImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GradientAnisotropicDiffusion, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GradientAnisotropicDiffusion/GradientAnisotropicDiffusion.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
GrayscaleFillHoleImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleFillHoleImageFilter/GrayscaleFillHoleImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleGrindPeakImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleGrindPeakImageFilter/GrayscaleGrindPeakImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
GrayscaleModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/GrayscaleModelMaker/GrayscaleModelMaker.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
HistogramMatching, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/HistogramMatching/HistogramMatching.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
ImageLabelCombine, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ImageLabelCombine/ImageLabelCombine.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LabelMapSmoothing, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LabelMapSmoothing/LabelMapSmoothing.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
LinearRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/LinearRegistration/LinearRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Markups, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Markups/Documentation/Markups.xml?revision=22608&amp;amp;view=co&lt;br /&gt;
MaskScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MaskScalarVolume/MaskScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
MatlabCommander, https://www.assembla.com/code/slicerrt/subversion/node/blob/trunk/MatlabBridge/src/MatlabCommander/MatlabCommander.xml?raw=1&amp;amp;rev=957&lt;br /&gt;
MedianImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MedianImageFilter/MedianImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MergeModels, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MergeModels/MergeModels.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
MeshContourSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MeshContourSegmentation/MeshContourSegmentation.xml?revision=19175&amp;amp;view=co&lt;br /&gt;
ModelMaker, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelMaker/ModelMaker.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
Models, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Models/Documentation/Models.xml?revision=21908&amp;amp;view=co&lt;br /&gt;
ModelToLabelMap, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ModelToLabelMap/ModelToLabelMap.xml?revision=22218&amp;amp;view=co&lt;br /&gt;
MRIBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MRIBiasFieldCorrection/MRIBiasFieldCorrection.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
MultiplyScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiplyScalarVolumes/MultiplyScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
MultiResolutionAffineRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/MultiResolutionAffineRegistration/MultiResolutionAffineRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
N4ITKBiasFieldCorrection, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/N4ITKBiasFieldCorrection/N4ITKBiasFieldCorrection.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
OrientScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OrientScalarVolume/OrientScalarVolume.xml?revision=19193&amp;amp;view=co&lt;br /&gt;
OtsuThresholdImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdImageFilter/OtsuThresholdImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
OtsuThresholdSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/OtsuThresholdSegmentation/OtsuThresholdSegmentation.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
PETStandardUptakeValueComputation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/PETStandardUptakeValueComputation/PETStandardUptakeValueComputation.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
ProbeVolumeWithModel, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ProbeVolumeWithModel/ProbeVolumeWithModel.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Reformat, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Reformat/Documentation/Reformat.xml?revision=19165&amp;amp;view=co&lt;br /&gt;
ResampleDTIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleDTIVolume/ResampleDTIVolume.xml?revision=19197&amp;amp;view=co&lt;br /&gt;
ResampleScalarVectorDWIVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVectorDWIVolume/ResampleScalarVectorDWIVolume.xml?revision=19186&amp;amp;view=co&lt;br /&gt;
ResampleScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ResampleScalarVolume/ResampleScalarVolume.xml?revision=19185&amp;amp;view=co&lt;br /&gt;
RigidRegistration, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RigidRegistration/RigidRegistration.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
RobustStatisticsSegmenter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/RobustStatisticsSegmenter/RobustStatisticsSegmenter.xml?revision=19198&amp;amp;view=co&lt;br /&gt;
SceneViews, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/SceneViews/Documentation/SceneViews.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
SimpleRegionGrowingSegmentation, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SimpleRegionGrowingSegmentation/SimpleRegionGrowingSegmentation.xml?revision=22482&amp;amp;view=co&lt;br /&gt;
SubtractScalarVolumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/SubtractScalarVolumes/SubtractScalarVolumes.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
ThresholdScalarVolume, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/ThresholdScalarVolume/ThresholdScalarVolume.xml?revision=19608&amp;amp;view=co&lt;br /&gt;
TractographyLabelMapSeeding, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/TractographyLabelMapSeeding/TractographyLabelMapSeeding.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
Transforms, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Transforms/Documentation/Transforms.xml?revision=19899&amp;amp;view=co&lt;br /&gt;
ViewControllers, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/ViewControllers/Documentation/ViewControllers.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VolumeRendering, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/VolumeRendering/Documentation/VolumeRendering.xml?revision=19029&amp;amp;view=co&lt;br /&gt;
Volumes, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/Loadable/Volumes/Documentation/Volumes.xml?revision=18864&amp;amp;view=co&lt;br /&gt;
VotingBinaryHoleFillingImageFilter, http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/Modules/CLI/VotingBinaryHoleFillingImageFilter/VotingBinaryHoleFillingImageFilter.xml?revision=19194&amp;amp;view=co&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type  = warning&lt;br /&gt;
| text  = To force MediaWiki to clear the cached version of a given page, or to force the page to be redisplayed from its source.&amp;lt;br&amp;gt; Add '''?action=purge''' to the URL of the page you are viewing. For more details, click [http://www.mediawiki.org/wiki/Manual:Purge here].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header|data=name=Name,xmldescriptionurl=XMLDescriptionURL}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! XMLDescriptionURL {{#for_external_table:&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{{name}}}&lt;br /&gt;
{{!}} {{{xmldescriptionurl}}} }}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:&lt;br /&gt;
url={{fullurl:Special:GetData/Documentation/{{documentation/version}}/ModulesMetadata}}&lt;br /&gt;
|format=CSV with header&lt;br /&gt;
|data=GaussianBlurImageFilterXMLDescriptionURL=XMLDescriptionURL&lt;br /&gt;
|filters=Name=GaussianBlurImageFilter&lt;br /&gt;
}}&lt;br /&gt;
* {{#external_value:GaussianBlurImageFilterXMLDescriptionURL}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finetjul</name></author>
		
	</entry>
</feed>