ENH: serializing MRML attributes into and from NRRD

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20421 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: moved writing of non-specific attributes first

Allows ivars that are stored as attributes to overwrite the attributes
and maintain the most accurate view of the information.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20422 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Set C compiler for in python configure, make, and install

Set the CC environment variable in python build scripts from the CMake
configuration. Previously, a users CC environment variable could
override what was used to build python, and cause compilation or
installation errors. The settings set in CMake are now respected.

Patch contributed by Bradley Lowekamp <blowekamp@mail.nih.gov>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20423 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Register vtkMRMLVectorVolumeDisplayNode in the MRML scene

Not registering the class in the scene makes the loading of a vector volume
display node fail from a MRML scene.
Closes #2225

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20441 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update "slicer_setting_variable_message" to support undefined variable

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20442 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Improve developer experience by having extensions metadata all optional

See http://www.na-mic.org/Bug/view.php?id=2239

Fixes #2239

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20443 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fixing a copy/paste error, set the active annotation id when reading in the attribute activeAnnotationID rather than when reading in the attribute activeFiducialListID (which is already setting the ActiveFiducialListID variable)

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20448 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Update loadable extension template to more clearly explain how to add test

See http://na-mic.org/Bug/view.php?id=2220

Fixes #2220

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

ITKv4 changed the installation parameters.

1) GDCM install COMPONENT for runtime is "Libraries"
2) HDF5 install COMPONENT for runtime is "libraries"
   and, until ITK 4.2, the COMPONENT "Unspecified" is needed.
3) ITK_INSTALL_NO_DEVELOPMENT must be ON to supress include files.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@20450 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: install SimpleITK.py with setup.py

The SimpleITK.py gets picked up by distutils.setup, by  being in the
current workings directory paths. Previous the working directory was
not being set and the SimpleITK.py files was not being installed into
Slicers python's site-package during installation.
ENH: Update to latest ITK version.
COMP: The compiler options must be propogated

Compiler options selected in the main Slicer4
Superbuild harness needs to be propogated to
each of the subsequent External_project builds.

This was tested by setting
export CC=/dev/null
export CXX=/dev/null
cmake -DCMAKE_C_COMPILER:PATH=/usr/bin/gcc -DCMAKE_CXX_COMPILER:PATH=/usr/bin/g++
and then compiling all of Slicer.

Propogate the necessary compiler flags to each
external package consistently.  Additionally,
only propogate the flags that are explicitly needed
for that external project.  In many cases, only the
C compiler options need to be propogated.
COMP:  Slicer compiler options needed by Extensions

The extension need to have the same compiler used
as the primary Slicer build.
COMP: Update python mac build parameters

Commented out the --with-tcl option for Python, because it is not valid
--with-tcl is not a valid option for either Python 2.6 or Python 2.7

http://bugs.python.org/issue11334 indicates that dynamic_lookup
causes build issues for unix based python installation on Mac.
This was confirmed on 10.7.4
COMP: Turn off the BRAINSSurface tools

The BRAINSSurface Tools are not yet ready for
public deployment.  They are currently turned
off by default.
COMP: Remove deprecated functions from use

In ITKv4 the itkLegacyMacro allows deprecated
functions to be easily identified.  These functions
have been replaced with their modern equivalents.