BUG: account for the new location of the FM filter


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21771 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update ITKv4 tag to ensure Slicer DCMTK libraries are used.

Warning: Since the ITK version will now be 4.4 instead of 4.3. It is
recommended that developers should make sure to remove "4.3" related
library from their build tree.
On macosx/linux, one way of removing the libraries would be:
  cd /path/to/Slicer-Superbuild/ITK-build
  rm -rf lib/*4.3*

This commit intend to fix issue detailed in both Slicer
issue 2883 and issue 2978.

In a nutshell, a link error like the following was occurring:

Linking CXX executable ../../../lib/Slicer-4.2/cli-modules/DTIimport
/path/to/Slicer-build/ITKv4-build/lib/libITKIODCMTK-4.4.so.1: undefined reference to `OFFilename::OFFilename(char const*, bool)'
/path/to/Slicer-build/ITKv4-build/lib/libITKIODCMTK-4.4.so.1: undefined reference to `OFFilename::~OFFilename()'
collect2: error: ld returned 1 exit status
make[5]: *** [lib/Slicer-4.2/cli-modules/DTIexport] Error 1

In that specific case, the CMakeCache of ITK build was referencing
the wrong dcmdata library:
DCMTK_dcmdata_LIBRARY:FILEPATH=/usr/lib/libdcmdata.so

... whereas it should have been:
DCMTK_dcmdata_LIBRARY:FILEPATH=/path/to/Slicer-build/DCMTK-install/lib/libdcmdata.a


ITK commit 31bc608a [1] updated Modules/ThirdParty/DCMTK/CMake/FindDCMTK.cmake
so that default path are explicitly ignored when looking for DCMTK libraries.
This will ensure that the DCMTK library built by Slicer will be used.

The option NO_DEFAULT_PATH associated with the command "find_library" [2] is
now used.

Let's also note that the other "FindDCMTK.cmake" modules available in ITKv4
haven't been fixed and could lead to similar similar issue [3][4]. As of today,
this is probably not an issue within Slicer. Indeed, ITK is not built with
GDCM support and DCMTK seems not be used within VNL. (It means the associated
DCMTK cmake files should probably be removed.)

See http://www.na-mic.org/Bug/view.php?id=2883 and http://www.na-mic.org/Bug/view.php?id=2978
Fixes #2883 and #2978


[1] https://github.com/Kitware/ITK/commit/b9c473e241d46bc79d6750ffae73a112b0dcae7c
[2] http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:find_library
[3] ./Modules/ThirdParty/VNL/src/vxl/config/cmake/Modules/NewCMake/FindDCMTK.cmake
[4] ./Modules/ThirdParty/GDCM/src/gdcm/CMake/FindDCMTK.cmake

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21772 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: allow LabelEffect subclasses to selectively disable some features

Paint Over and Threshold options may not be possible to implement
for some label effects, so make it possible for the subclass to disable
display of the widgets.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21773 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update system to use CMake built-in macro "cmake_parse_arguments"

SLICER_PARSE_ARGUMENTS has been kept around but will display an error
message if it used by some extension. That will give the opportunity
for extension maintainer to update their CMakeLists.txt.

Considering that the file "CMakeParseArguments" is also included in the
code base associated with Slicer 4.2.2-1, simply updating the extension
so that "cmake_parse_arguments" is used will be sufficient. Say differently,
CMakeLists.txt maintained for both extension build against Slicer nightly
and Slicer 4.2.2-1 won't diverge.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21774 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix warning "Slicer_BUILD_SkullStripper" is unused.

The option has been added by r18797, then when SkullStripper
has been converted to be a regular extension (r20088) the variable
"Slicer_BUILD_SkullStripper" should have been removed from SuperBuild.cmake.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21775 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Change "SuperBuildExtensionTemplate" layout to support addition of modules.

* The new template has been reorganized to easily support the addition of
new modules.

* Folder has been removed from "SuperBuildLoadableExtensionTemplate" to "SuperBuildExtensionTemplate"
to better reflect the role of the template.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21776 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: implement #2206 and #2983

Since the browser is raised when the module is entered, people
naturally think that pressing the button that enters the module
will also open the browser; but when the module is already active,
selecting the module is a no-op and the browser is closed.

With this change, the action will also raise the browser when
the module is active, so it conforms with expectations.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21777 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix a warning message when dicom file has been deleted

The Recent Activity widget now gracefully handles the case where
files have been deleted that are referenced in the database.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21778 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: print a stack trace when a dicom plugin fails to execute

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21779 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2831 - allow loading of secondary capture dicom files

Sometimes people create 'secondary capture' (SC) dicom types as a byproduct
of anonymization or other data processing.  While is really meant
to be a 2D screen capture, when you have a stack of them it is
sometime desirable to load them as a volume.  So with this change
we allow loading with a warning, and with a low confidence so that
some other plugin can precome the default selection if it is better
able to load this data.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21780 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added one-up quantitative layout
Closes #2969

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21781 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2983 and #2206 fix position of the dicom popup

Detect when the window is already open so it doesn't get repositioned
more than once.  Also keep track of when you have applied the
settings geometry and then don't apply the standard placement
in that case.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21782 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added first cut of vtkMRMLNode reference API
ENH: implementation of vtkMRMLNode reference API

Implemented Get/Set/SetAndObserve methods in vtkMRMLNode class
ENH: Added more reference node tests, added OnNodeAddedToScene() and MRMLReferencedNode.ReferencingNode
ENH: Referenced Nodes: added more tests fixed events implementaion
ENH: Added ReferencedNodeModifiedEvent, and it's handlig, also test for it
ENH: Fixed references with no observers, added test for those.
ENH: changed vtkMRMLNodeReference instead of MRMLReferencedNode. Fixed memory leak.
ENH: improvements after Julien's code review