COMP: Ensure Slicer_RemoteModule_Add worked when source directory is passed

Configuring Slicer with -D<projectname>_SOURCE_DIR:PATH=/path/to/projectname
is now supported.

Thanks to Bradley Lowekamp <blowekamp@mail.nih.gov> for reporting the issue.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22806 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Modern gcc compilers have a reasonable template depth limit

Current gcc compilers have a reasonable max default template
depth. The -ftemplate-depth-50 flag was removed. This limited any
application which used ITK to only a template depth of 50.

Based on InsightSoftwareConsortium/ITK@5bcca741

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22807 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: check for color transfer functions first

Procedural color nodes may have color look up tables defined,
check for that node class first and if it has a color transfer
function, use it on the model instead.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22808 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Allow assigning procedural color nodes to map scalars

Previously the GUI assumed that color table nodes only were used to
map scalars to colors onto model geometry. This change generalises
the color node selector to allow both color table nodes as well
as procedural color nodes.
Renamed the widget and methods to reflect the generalisation.
Only set the scalar widgets if they don't match the model
display node settings.
Added a label displaying the scalar range.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22809 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: use vtkNew for copied look up tables

Use vtkNew to define new color look up table and
color transfer function for copying to the actor's
mapper for models.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22810 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: add a new color node, continous around 0.0

Add a method to create a new procedural color node that's useful for
visualizing error statistics centered around 0, called RedGreenBlue.
Rename AddRandomNode to AddDefaultProceduralNodes and add the RandomIntegers as
well as the new RedGreenBlue node in it. This will provide a space to add
new default procedural color nodes.
Create a new color node category, Continuous, and place the new node
in it.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22811 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix loading of external "loadable module" providing python script

Thanks to "Wang, Kevin" <kevin.wang@rmp.uhn.on.ca> for his help
identifying and testing the changes.

Co-authored-by: Wang, Kevin" <kevin.wang@rmp.uhn.on.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22812 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Protect FilterWatcher from Progress before Start events

If the ShowProgress method is executed as an observer before
StartFilter method the ITK time probe will be stopped before the it's
started. This causes an exception. This case is just caught and ignored.

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22813 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Add escape sequence to quotes in CMake string

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22814 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add 'pydicom' python module as external project.

"pydicom is a pure python package for working with DICOM files. It
was made for inspecting and modifying DICOM data in an easy "pythonic"
way. The modifications can be written again to a new file. As a pure
python package, it should run anywhere python runs without any other
requirements.

pydicom is not a DICOM server, and is not primarily about viewing
images. It is designed to let you manipulate data elements in DICOM
files with python code.

Limitations -- the main limitation of the current version is that
compressed pixel data (e.g. JPEG) cannot be altered in an intelligent
way as it can for uncompressed pixels. Files can always be read and
saved, but compressed pixel data cannot easily be modified."
See http://code.google.com/p/pydicom/

The module being licensed under MIT license, it is compatible with
the Slicer BSD like license.

Co-authored-by: Andriy Fedorov <fedorov@bwh.harvard.edu>

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22815 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: expose the displable manager and other MRML libs in python

The MRMLDisplayableManager code is needed to access the picker
from a python module.  This feature was added to support
DTI/Tractography processing tools being written by Lauren
O'Donnel.

From: Steve Pieper <pieper@isomics.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22816 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: BRAINSTools should not be built when CLIs are disabled

From: Andrey Fedorov <fedorov@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22817 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: vtkTeem - Remove cmake configuration warning

CMake Warning (dev) in Libs/vtkTeem/CMakeLists.txt:
  Syntax Warning in cmake code at
      Slicer/Libs/vtkTeem/CMakeLists.txt:21:55

  Argument not separated from preceding token by whitespace.

From: Hans Johnson <hans-johnson@uiowa.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22818 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: vtkPichonFastMarching - Replace finite() with isfinite()

finite() is not universally in the c standard.
isfinite is support in all c compilers since
c99.

As of Mac 10.9 under clang, finite() issues a
warning that it will be deprecated and that the
standards conforming isfinite() should be used.

From: Hans Johnson <hans-johnson@uiowa.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22819 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: C++11 require space between string constants

C++11 now allows for custom type specifiers so needs
a space when two string constants are to be concatenated.

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

From: Hans Johnson <hans-johnson@uiowa.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22820 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Revert - vtkPichonFastMarching - Replace finite() with isfinite()"

This reverts commit r22819

isfinite() function is not available on windows 2008:

20>47>..\..\..\..\..\..\Slicer4\Modules\Scripted\EditorLib\Logic\vtkPichonFastMarchingPDF.cxx(193) : error C3861: 'isfinite': identifier not found

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22821 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix configuration of Slicer against system python

When building against system python, the pydicom module won't be
installed at configure/build time.

A Slicer runtime test could be added to check if expected python module
are available.

Thanks to "Dominique Belhachemi <domibel@debian.org>" for reporting the
problem.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22822 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: avoid spurious warnings from DataProbe during startup

Make sure the frame member of the widget is set before
setting up observers to avoid a situation where the processEvents
is called before setup is complete.  This avoids some spurious
warning messages during startup.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22823 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update ExternalProjectDependency based on commontk/Artichoke@da5367b

$ git shortlog 243982e..da5367b
Jean-Christophe Fillion-Robin (1):
      Fix typo preventing additional external project from being considered

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22824 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Associate FiberBundleToLabelMap module with BUILD_DIFFUSION_SUPPORT

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