PERF: handle boundary case when DICOM files have empty strings as tag values

When evaluating DICOM Plugins, and empty string triggered a reload
of the file, when if fact the empty string was valid, and not
an indication of uncached tag data.

https://github.com/commontk/CTK/commit/e96b581c23c7bf9cdb10a05ef35b22aca6bbc512

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21630 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update ExtensionsManager webview when ExtensionsServer url is updated in the settings panel

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21631 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: For consistency, rename "*[Ee]xtensionManager*" methods into "*[Ee]xtensionsManager*"

Note the extra "s" added to the word "Extension".

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21632 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add qMRMLTreeView::setSortFilterProxyModel function to be able to set custom proxy models to the tree view

Signed-off-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21633 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add deprecated warning message to "slicerMacroBuildCLI"

"SEMMacroBuildCLI" should be used instead.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21634 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add convenience macro "SlicerMacroBuildScriptedModule"

This will ease the maintenance and prevent developer from having to
update their CMakeLists.txt each time the process to build scripted
module change (for example value associated with parameter DESTINATION_DIR
and INSTALL_DIR of ctkMacroCompilePythonScript)

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

Fixes #2647

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21635 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Remove unused file

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21636 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Simplify DICOM2FullBrainTractography CMakeLists.txt

Remove unused and obsolete extension related CMake code

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21637 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Remove WebGLExport module from Slicer core - Will be distributed as extension.

See https://github.com/xtk/SlicerWebGLExport/pull/2

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21638 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Ensure optimized atlas, blas, mkl or lapack libraries are not discovered

When building NUMPY, it causes more harm than it helps to have the automatic
discovery of these libraries. Especially due to Fortran ABI mismatch [1].

It is also agree that compiling against an optimized version of these libraries
would probably make sens, it should be handled on a case by case basis by the
developer. A variable named NUMPY_ENABLE_OPTIMZED_LIBRARY or similar could
then be added.

[1] http://docs.scipy.org/doc/numpy/user/install.html#fortran-abi-mismatch

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21639 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix calculation for snapping to center of slice (fixes #2878)

When performing pixel level operations, as with the Editor module,
or even when rendering multiple layers, the result can be ambiguous
when the slice plane is exactly at the border between two pixels due
to rounding differences accumulated through transforms.  This can lead
to inconsistent rendering or operations being applied in a differnt
location than expected.

A regression from 4.1 had crept in by which the slice plane was
being consistently adjusted to be exactly on the pixel boundary,
leading to the potential issues.  This fix ensures that the plane
is adjusted to the middle of the pixel.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21640 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: find dicom helper apps when DCMTK is build outside of CTK

Check in both CTK and DCMTK directories to find executables.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21641 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix dicom data bundle export/import

* Fix syntax of zip file size for dump2dcm call (use UL not IS)
* Fix UIDs by having dump2dcm generate new ones to overwrite reference
* Use app logic Zip/Unzip rather than python for consistency
* Fix some stylistic issues

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21642 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: some improvements in comments and naming for debug of DICOM export

TODO: write tests to identify and debug boundary cases.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21643 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Windows / ITKv4 - Fix build error "illegal parameter from the moc.exe"

Thanks to Steve Pieper for testing the fix works as expected.

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

Fixes #2884

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21644 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: don't allow a hierarchy node to set itself as parent

Infinite loops in the tree views were resulting when hierarchy nodes 
erroneously set their parent node id to be their own id. Printing
an error message and returning allows for easier debugging.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@21645 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Remove "Load & Add Scenes Or Individual Datasets" section from Data module.

Minimize confusion by having on way of loading data.
See http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/SlicerApplication/LoadingData

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

Fixes #2892

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21646 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: use print function in ModuleWizard for compatibility

As reported by Alexandre Abbas, the use of the print statement
means that the ModuleWizard is incompatible with python3.
See, for example [1].  Since we want to let people develop
scripted modules against a binary build of slicer, we should
try to make the module wizard as general purpose as possible
so people can use any python they have installed.

[1] http://www.python.org/dev/peps/pep-3105/

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21647 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix crash detected by RSNA2012Quant SelfTest

When nodes are removed from the scene, do it as part of a batch
process rather than removing them as the are discovered.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21648 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Implement feature 2885, display ruler projection on 2D viewers.

Add options to display the projection of a ruler on the 2D slices.

Code from Laurent Chauvin 
https://github.com/lchauvin/Slicer/commit/203b44301c0421d619d68e2ccd3a13dee0047cf0

Issue #2885


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