COMP: UpdateITKv4 - Fix unused typedefs warnings specific to gcc >= 4.8

$ git shortlog 4c1d191ceac136b920dbb13564c419fc821dd848..ee6472628dcbb12d2723f04dbf3b14764de2b4ff
Matthew McCormick (1):
      COMP: Do not warn about unused typedefs

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22651 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix "No LookupTable" error in qMRMLSliceWidget test

Full name of the test is: qMRMLSliceWidgetEventTranslatorPlayerTest1

The following error was reported:

//----------------------
ERROR: In /path/to/VTK/Imaging/vtkImageMapToColors.cxx, line 153
vtkImageMapToColors (0x268f190): RequestInformation: No LookupTable was set but number of components in input doesn't match OutputFormat, therefore input can't be passed through!

ERROR: In /path/to/VTK/Imaging/vtkImageExtractComponents.cxx, line 239
vtkImageExtractComponents (0x26947e0): Execute: Component 1 is not in input.

ERROR: In /path/to/VTK/Imaging/vtkImageExtractComponents.cxx, line 239
vtkImageExtractComponents (0x26947e0): Execute: Component 1 is not in input.
//----------------------

It is fixed by adding colorNodeRef attribute to VolumeDisplay element.

Also documented in the FAQ: http://wiki.slicer.org/slicerWiki/index.php?title=Documentation/Nightly/Developers/FAQ#Developer_FAQ:_MRML

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22654 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix missing (Interaction|Selection)Node in qMRMLSliceWidget test

Full name of the test is: qMRMLSliceWidgetEventTranslatorPlayerTest1

The following warning was reported:
//-----------
Warning: In /path/to/Slicer/Libs/MRML/DisplayableManager/vtkMRMLAbstractDisplayableManager.cxx, line 817
vtkMRMLVolumeGlyphSliceDisplayableManager (0x1548450): SetAndObserveMRMLDisplayableNode - MRMLScene does NOT contain any InteractionNode

Warning: In /path/to/Slicer/Libs/MRML/DisplayableManager/vtkMRMLAbstractDisplayableManager.cxx, line 583
vtkMRMLVolumeGlyphSliceDisplayableManager (0x1548450): CreateIfPossible - MRMLScene does NOT contain any InteractionNode

Warning: In /path/to/Slicer/Libs/MRML/DisplayableManager/vtkMRMLAbstractDisplayableManager.cxx, line 591
vtkMRMLVolumeGlyphSliceDisplayableManager (0x1548450): CreateIfPossible - MRMLScene does NOT contain any SelectionNode
//-----------

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22655 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Simplify logic in (Start|End)SliceNodeInteraction method

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22656 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix MacOSX build issue when building against Qt 4.7.4. Fixes #3471

Since "QSysInfo::MV_10_8" has been first introduced in Qt 4.8.3,
exclude the fix for issue #3460 introduced in commit r22641.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22657 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure python script argument are not loaded as image. Fixes #3463

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Felix Veysseyre <felix.veysseyre@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22658 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: update link to LiverData.mrb

Fixed the scene file to show the model hierarchies and uploaded
a new mrb file to midas at 
http://slicer.kitware.com/midas3/download?items=117033

Issue #3469



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22659 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update vtkMRMLNodeTest1 to display error on standard error.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22660 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update CTK to integrate Andras Lasso VTK connection optimization.

Andras Lasso (3):
      ENH: Use a hashmap to avoid linear search for existing vtk connections
      BUG: Fixed ctkVTKObjectEventsObserverPrivate::findConnection behavior for wildcards
      ENH: qvtkConnect and qvtkDisconnect performance improvement

Jean-Christophe Fillion-Robin (1):
      Merge branch 'vtkconnect-performance-improvement-consolidated'

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22661 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Don't batch process when show/hide only a few child nodes

When there are many child nodes in a hierarchy then show/hide is much more efficient if batch processing is enabled.
However, if there are few nodes only then a full refresh at the end of a batch processing takes longer than doing the update on each node separately.
Count the number of child nodes and if there are less than 30 then update each node separately.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22662 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add BatchUpdateThreshold to Model hierarchy logic

Only use batch processing for show/hide of model hierarchies if the
total number of nodes in the selected branch is larger than a given threshold.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22663 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fixed references to nodes in qSlicerTractographyDisplayWidget

Crash happened at the end of SceneClose in py_test_tractography_display test because old (invalid) display node was still used.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22664 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: vtkEventBroker performance improvement

Use a set instead of a vector to allow faster finding and deletion of observations

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22665 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Optimized qMRMLSceneModel::nodeIndex performance

qMRMLSceneModel::nodeIndex is called tens of millions of times, therefore it's optimum performance is critical.
Find MRML nodes by object pointer instead of ID comparison to improve the performance.

Also, always do lazyupdate for qMRMLSceneModel if scene is closing to unsubscribe from all events at once the scene is closed.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22666 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Improved performance of qMRMLSceneModel

The indexFromNode method is called millions of times when there are a few hundred nodes and it browses through the whole model to find the requested node. Add a cache that stores the last search result and use it as a search hint.
New rows are always added to the cache, so the cache alone can be used to determine if a node is not yet in the model.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22667 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Simplify code using vtkNew to register node with MRML scene

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22668 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Optimized performance of observations management in vtkMRMLScene

Use a std::map< std::string, std::set<std::string> > instead of two
separate ReferencedIDs and ReferencingNodes vectors to make lookup,
insertion, and deletion much faster (especially scene close takes much
shorter time now).
Store both referenced and referring nodes by ID. It is simpler, safer,
and most of the time the node pointers were validated anyway using
scene->GetNodeFromID(node->GetID().

Also, use set instead of vector for storing unique IDs for improving
performance of scene loading (especially when the same scene is loaded
twice and a lot of IDs have to be generated).

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22669 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Move vtkMRMLScene method definitions into implementation file.

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22670 3bd1e089-480b-0410-8dfb-8563597acbee