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
ENH: Add more image "types" (i.e DCE-MRI) to ModuleDescriptionParser

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20451 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update GenerateCLP to use "std" version of sstream.

See https://github.com/Slicer/SlicerExecutionModel/issues/6

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20452 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.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20453 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: change slice view color setup to use layout color instead of hard-code. per millerjv

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20454 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix slice intersection display

Rearranges vtkMRMLModelSliceDisplayableManager to listen to events through
DisplayableNode only. Corrects handling of scene updates and large changes
by watching Scene Start/EndClose and EndBatchProcess events.

Closes #1384 #1536 #1632 #1650

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20455 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure generic loadable module test compiled externally can be executed

There are two cases:
 1) Test compiled within Slicer build tree: located along with SlicerApp-real
 2) Test compiled outside of Slicer build tree

In the second case, when qSlicer(Core)Application is instantiated within
a test, the applicationDirPath resolved to the test executable itself.
The method "QCoreApplication::applicationDirPath" being used, it was NOT
returning the SlicerApp-real path.
This was causing problem and the SlicerBin could NOT be computed adequately:

1: ASSERT: "qSlicerUtils::pathEndsWith(this->SlicerBin, Slicer_BIN_DIR)" in file /Users/millerjv/Projects/Slicer4-git/Slicer4/Base/QTCore/qSlicerCoreApplication.cxx, line 414


The implemented solution attempts to compute the SlicerBin only if SLICER_HOME
hasn't been set. The launcher taking care of setting this environment
variable, test instantiating a qSlicer(Core)Application will work
as expected.

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

Fixes #2248

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20456 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Extensions build using the build system are configured with a boolean option

If it applies, this boolean option (named "<EXTENSION_NAME>_BUILD_SLICER_EXTENSION")
being passed when the extension is configured by the extension build system
allows the extension to conditionally build code.

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

Fixes #2243

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20457 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: add helper utilities to control Window/Level of the background volume

Helpers are used by new interaction mode in vtkSliceViewInteractorStyle
to change window/level. Will allow removing this functionality from tcl.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20458 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: remove volume window/level control from tcl interactor

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20459 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: add window/level interaction mode to vtkSliceViewInteractorStyle

This replaces the current VolumeDisplaySWidget Tcl code.
New mode AdjustWindowLevel is added to enum and corresponding
Start/End-AdjustWindowLevel methods are implemented.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20460 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Turn off the BRAINSSurface tools

The BRAINSSurface Tools are not yet ready for
public deployment.  They are currently turned
off by default.

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