BUG: Update VTK and re-enable KITS on Windows/Linux. Issue #3809

This commit updates VTK to basically include commit Slicer/VTK@fbcabbf
VTK kit module are now wrapped similarly to module and this fixes
the issue preventing some VTK object from being available.

Before this change, if a KIT was bundling module A, B, C. Only the object
associated with object A where available from an install tree. After this
commit all objects will be available.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23626 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update ITKv4 and BRAINSTools - BRAINSFit performance improvement.

(1) This commit updates the tag to use ITK release branch as of
2014-08-16 and integrate the two patches improving MattesMutualInformation
metric provided by Hans and Ali.

(2) It also update the version of BRAINS to use the master branch as of
2014-08-27. More specifically, it updates the BRAINSFit xml code to
have a new set of default parameters for the LBFGSB optimizerv4.

Let's note that it excludes the commit re-organizing find_package(VTK)
calls. These changes would have to be integrated when Slicer itself will
be re-organizing its call to find_package(VTK...)

For sake of completeness, here are the comments reported by Ali:

[BEGIN-ALI-COMMENT]
Although an enormous speed improvement to the previous versions of
Mattes metric and BRAINSFitv4, the current version of BRAINSFit is
still slower than the old BRAINSFitv3 by a factor of 1.7  if both are
run by their default parameters. The factor 1.7 is computed by averaging
over running times of several experiments that are different in the
number of used samples.

In the case of the experiments reported in this google doc (choosing
100,000 for the number of samples):

    Registration process is converged in 1 min 35 sec in BRAINSFitv3 using default parameters for BSpline registration.
    Registration process is converged in 2 min 46 sec in BRAINSFitv4 using default parameters for BSpline registration.

Also, an independent Mattes metric was used after the registration
process to compare the outputs of ITKv3 and ITKv4 registrations with
the input  fixed atlas image. It generated -0.773 and -0.757 for the
outputs of BFitv3 and BFitv4 respectively that are different by %2.1.

[1] https://docs.google.com/document/d/1j8Hy3di54YG42Nr7MGPDWn2XJIAF1oFzC17iV-LJGWI/edit
[END-ALI-COMMENT]


This work has been possible by having the following people
working together (in alphabetical order):

  Ali Ghayoor <ali-ghayoor@uiowa.edu>
  Andras Lasso <lasso@queensu.ca>
  Bradley Lowekamp <blowekamp@mail.nih.gov>
  Csaba Pinter <csaba.pinter@queensu.ca>
  Hans Johnson <hans-johnson@uiowa.edu>
  Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
  Kent Williams <norman-k-williams@uiowa.edu>
  Kevin Wang <kevin.wang@rmp.uhn.on.ca>
  Kilian Pohl <pohl.kilian@gmail.com>
  Matt McCormick <matt.mccormick@kitware.com>
  Steve Pieper <pieper@bwh.harvard.edu>

//-----------
ITKv4 changes
//-----------
$ git shortlog 3147239..372991d --no-merges
Brad King (1):
      COMP: Fix vxl_config_macros usage of CMake check macros

Hans Johnson (2):
      PERF: Revert Remove large foot print of PDF derivatives.
      PERF: Distribute initialization per thread buffers

Matthew McCormick (1):
      BUG: Fix Nifti IO read with large images.

//-----------------
BRAINSTools changes
//-----------------
$ git shortlog dd996be..68303b3 --no-merges
Ali Ghayoor (10):
      ENH: Use BSplineTransformInitializer for BSpline Registration
      BUG: fix BRAINSFitTest_ROIBSpline test failure
      BUG: fix BRAINSFitTest_ROIBSpline test failure
      ENH: Add observer for BSpline regsitration in BRAINSFitv4
      ENH: Print selective parameters in BSpline observer
      ENH: Generalize the legacy PerformTestMMI
      ENH: Add lbfgsb optimizer parameters to commandline
      BUG: fix ROIBSpline test failure in linux system
      ENH: Use a new default parameters set for LBFGSBoptv4
      COMP: Updated ITK tag to BRAINSiaITK

David Welch (6):
      BUG: Fixed typo in singleSession for T2 passing to inputSpec of segmentation workflow
      ENH: Added commandline option to use T1 as sentinal file (off by default)
      BUG: VIRTUALENV option is optional
      BUG: Fixed typo in configFileParser.py     STYLE: Ran autopep8 on AutoWorkup.py     ENH: Added commandline testing for configFileParser.py
      ENH: CLUSTER config section included in ENV section
      BUG: Deprecated local processing until code can be updated

Hans Johnson (5):
      ENH: Remove outdated and non-functioning md5 files.
      ENH: Added Sentinal output file checking for Workflows
      STYLE: Only give debugging information when requested
      ENH: Add logic for better skipping
      ENH: Add new Mattes Mutual Information implementation.

Jean-Christophe Fillion-Robin (2):
      Revert "COMP: fine-tune VTK dependencies"
      Revert "COMP: move find_package(VTK) down to individual project directories"

Kent Williams (4):
      COMP: move find_package(VTK) down to individual project directories
      COMP: Switch back to official ITK repo
      COMP: Silence warnings
      COMP: fine-tune VTK dependencies

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23627 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Fixed issues 3579, 3798 and other dicom browser improvements

Improvements:
* Added the table density control to the slicer dicom browser for
 controlling table densities in three levels: comact, cozy and
 comfortable. The default value would be compact. Changing the settings
 would be saved in slicer user settings.
* Re-arranged the patient, study and series search boxex so that the
 search box will be on the top of tables for both horizontal and vertical
 cases (This will add more space to dicom tables)
tables)
* The bug with browser size change on advanced view is fixed (issue #3798)
* The feature to resize tables based on contents was added to the tables.

From: Alireza Mehrtash <mehrtash@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23628 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update VTK to include fixes for VTK kits wrapping. Issue #3809

$ git shortlog 898e51a..0a186e2 --no-merges
Jean-Christophe Fillion-Robin (3):
      python: Update wrapping tool to support multiple hierarchy files
      python: Do not create a new hints file if a kit bundles only one module
      python: Update vtkWrapPython to add mutable object when building kit

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