BUG: fix updating fiducials after scene load

After loading a scene, changing the display properties of
a fiducial list was not being reflected in the 2d and 3d
views. There was a missing event observation in the
Markups displayable managers, adding in 
vtkMRMLDisplayableNode::DisplayModifiedEvent
to the list of events observed on a markups node
fixed the problem.

Issue #3480



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22800 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix reading of DWI files. Fixes #3545

This commit fixes regression introduced by commit r22753 fixing issue #3511
that was preventing "vtkNRRDReader::CanReadFile" from returning the correct
value.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22801 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Consistently report error in vtkMRMLNRRDStorageNode read/write method

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22802 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Cleanup ROI widget and representation

Add vtkMRMLDisplayNode::GetBounds() utility method.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22803 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Cleanup ROI widget and representation

This reverts commit r22803 inadvertently pushed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22804 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Add X,O,M and S documentation for VolumeRendering module

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22805 3bd1e089-480b-0410-8dfb-8563597acbee
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