BUG: Fix python wrapping on Windows

The vtkWrapPython.exe command lines for the *PythonD targets were too
long (>35K characters. A "bad number" error was generated.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23132 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix crash when loading volume

Some compilers (e.g. i686-apple-darwin10-g++-4.2.1) fail when using RTTI
with vtkDataArrayTemplate.
VTKv6 offers the FastDownCast workaround by internally using static_cast.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23133 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix python wrapping on Windows

Attempt to fix the python wrapping on Windows machines.
Reduce the number of directories included for vtkWrapPython.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23134 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix python wrapping

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23135 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix EMSegment python wrapping for VTK6

Issue #3514

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23136 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Fixed 2498 and other ui enhancements for dicom browser.
This patch would fix
http://na-mic.org/Mantis/view.php?id=2498
and also fix the UI issues which Csaba reported on 2014-04-24 12:17 here:
http://na-mic.org/Mantis/view.php?id=3578
and fix a bug in saving the disabled plugins in Slicer application settings

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23137 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix unused-local-typedefs warnings

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23138 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix visibility warning in DiffusionTensor3DRead

Remove warning: ‘itk::DiffusionTensor3DRead<float>’ declared with greater
visibility than the type of its field ‘itk::DiffusionTensor3DRead<float>::m_Reader’

Due to the fact that itkDiffusionTensor3DRead was declaring a private
variable of type itkImageFileReader<DiffusionImageType>::Pointer and that
this class was declared with ITK_ABI_EXPORT, we had to add ITK_ABI_EXPORT
to the declaration of itkDiffusionTensor3DRead to remove the previously
described warning when ResampleDTIVolume was compiled (shared object).

From: Francois Budin <fbudin@unc.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23139 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix "unused-local"typedefs" warning and update ITKv4

Commit r23121 removed the addition of "-Wno-unused-local-typedefs",
this commit is an attempt to clean most of the warnings. It also
updates the ITKv4 external project so that it checks out the Slicer ITK
fork including the ITK patch currently in review. See [1], [2]

$ git shortlog 01661ccf99..184b1257ad
Jean-Christophe Fillion-Robin (3):
      COMP: Properly fix unused-local-typedefs warning using unused attribute.
      COMP: Fix "unused-local-typedefs" warnings
      COMP: Backport double conversion fix for "unused-local-typedefs" warning

[1] http://review.source.kitware.com/#/c/15379/
[2] http://review.source.kitware.com/#/c/15380/

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23140 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix force build for Slicer

Replace the 'build depends on always run step' rule for Slicer (which
does not work with at least Ninja) with a rule to remove the stamp for
the build step. This more reliably ensures that the build step for
Slicer is always executed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23141 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix volume rendering object factory on VTKv6

Issue #3514

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23142 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix VTK python library paths on Windows for VTKv6

Issue #3514

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23143 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Remove error message when loading volume with VTK6

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23144 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Use demand driven pipeline for VTKv6 in model DM

Issue #3514

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23145 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Replace improperly licensed icons

Replace icons which were taking from the Oxygen theme and being used in
violation of their license (LGPLv3, which would require us to at minimum
be providing the scalable versions) with icons from the Tango theme,
instead, which are Public Domain.

Note that the statement in r21618 that the icons were licensed under
CC-BY-SA 3.0 appears to be incorrect. While that claim is indeed made by
Open Icon Library, I was unable to find any evidence to substantiate it,
and all other sources (including the canonical kde.org distribution
tarball) give LGPLv3 as the only applicable license.

See also http://techbase.kde.org/Projects/Oxygen/Licensing,
http://commons.wikimedia.org/wiki/Tango_icons and
http://en.wikipedia.org/wiki/Tango_Desktop_Project.

PNG's copied from tango-icon-theme-0.8.90-6.fc17.noarch.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23146 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3672. Made  Eigenvector to display for lines/tubes glyphs in vtkMRMLDiffusionTensorDisplayPropertiesNode to better map onto UI combo box index

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23147 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Replaced vtkITKBSplineTransform by vtkOrientedBSplineTransform

Problem:
vtkITKBSplineTransform incorrectly computed the 1. forward derivatives, 2. inverse displacement when there was a bulk transform component and rotated bspline grid, 3. the inverse displacement.

Analysis:
In the ITK bspline transform no inverse computation is available and in the current ITK bspline version no additive bulk transform is supported (therefore it is not backward-compatible with the old ITK bspline transform), ITK's transform support is very limited (compared to the powerful transform pipelines in VTK), and Slicer already uses VTK transforms (vtkGridTransform), therefore the ITK bspline is not usable in Slicer as is.
A bspline transform implementation is available in VTK, which is is efficient and well-tested (and equivalence with ITK's bspline implementation can be proven by testing).

Solution:
Replaced vtkITKBSplineTransform it with a vtkBSplineTransform-based transform, vtkOrientedBSplineTransform, which extends the original VTK class to handle arbitrarily oriented b-spline grids and supports an additive bulk transform.
Added test that verifies the vtkOrientedBSplineTransform's equivalence with the ITK BSpline transform implementation in the whole bspline grid (the differences are less than 1e-10).
Added test that verifies the correctness of the inverse and derivative computation.

Fixes:
http://www.na-mic.org/Bug/view.php?id=3664
http://www.na-mic.org/Bug/view.php?id=3659
http://www.na-mic.org/Bug/view.php?id=3614


git-svn-id: http://svn.slicer.org/Slicer4/trunk@23148 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added missing vtkOrientedBSplineTransform files

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23149 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Avoid unnecessary recompilation on MacOSX. Fixes #2583

This has been discussed with the CMake folks. A small example [1]
allowing to reproduce the problem has been provided and the solution is
to use the option "CMAKE_BUILD_WITH_INSTALL_RPATH" to build the
python project.

Note that this fix is not required for zlib and curl project because the
associated library is built statically and is not updated at install
time.

8<----8<----8<----8<----8<----8<----8<----8<----8<----
From Brad King - April 24, 2014:
It's due to the install_name_tool used to update the binary
on installation. The cmake_install.cmake file contains:

    execute_process(COMMAND "/usr/bin/install_name_tool"
      -id "libfoo.dylib"
      "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libfoo.dylib")

If you build with -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON then
no install-time update will occur.
8<----8<----8<----8<----8<----8<----8<----8<----8<----

[1] https://gist.github.com/jcfr/11233992

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23150 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fixed vtkOrientedBSplineTransform build with VTK6

Also added test for single-precision point transform computation in vtkOrientedBSplineTransform.

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