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