BUG: GenerateExpertAutomatedRegistrationTestData FactoryRegistration.

The executable needs to call the ITK FactoryRegistration function to
get the ImageIO factories registered hen in Slicer.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21751 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Link GenerateExpertAutomatedRegistrationTestData with ITKFactoryRegistration.

Needed for TubeTK to link.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21752 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Make sure ITKFactoryRegistration_INCLUDE_DIRS is exposed to extension.

The expected include directories are already being included through the
help of the variable "Slicer_Libs_INCLUDE_DIRS"

That said, appending it to ITK_INCLUDE_DIRS will ensure that module
linking only against ITK will have all the elements allowing to
register ITK IOFactories available to them.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21753 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update ITKv4 to fix DTIAtlasBuilder visual studio build errors.

It includes commit 69e6bc:

COMP: VectorIndexSelectionCastImageFilter extra itk namespace.
The itk:: namespace specification should not be given within
namespace itk{ } -- it is against ITK style and confuses some
compilers.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21754 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Include itkConfigure.h to show where macro originates.

Also, move include with the rest of the ITK headers.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21755 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Fix include style for ITK headers.

Slicer style is to use < > instead of " for ITK headers.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21756 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix ScriptedLoadableExtensionTemplate python test

Following commit r21747, the parameter to SlicerMacroConfigureGenericPythonModuleTests
has not been updated. This commit update the parameter so that
the generated python unit tests expect the right values.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21757 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: adding FastMarching effect to Editor; see issue #2454


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21758 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: make sure the error is printed once, otherwise the otput slows down the execution of the filter too much


git-svn-id: http://svn.slicer.org/Slicer4/trunk@21759 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update scripted module build macro to consider script specified without ".py"

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21760 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add option WITH_SUBDIR to slicerMacroBuildScriptedModule

Let's illustrate how the macro works considering a simple example. There
is a module named "Foo" having few scripts:

/path/to/Foo/TheFoo.py
/path/to/Foo/FooLib/a.py
/path/to/Foo/FooLib/b.py

First, let's set the following variables:

   DESTINATION_DIR =  <Slicer-build>/lib/Slicer-4.2/qt-scripted-modules
   INSTALL_DIR     = /path/to/Slicer/lib/Slicer-4.2/qt-scripted-modules

Two cases are now supported:

 * Default case:

     slicerMacroBuildScriptedModule(
       NAME Foo
       SCRIPTS Foo FooLib/a FooLib/b
       )

     Will be copied into DESTINATION_DIR / INSTALL_DIR:

          <DESTINATION_DIR|INSTALL_DIR>/TheFoo.py
          <DESTINATION_DIR|INSTALL_DIR>/FooLib/a.py
          <DESTINATION_DIR|INSTALL_DIR>/FooLib/b.py

 * WITH_SUBDIR case:

     slicerMacroBuildScriptedModule(
       NAME Foo
       SCRIPTS Foo FooLib/a FooLib/b
       WITH_SUBDIR
       )

     Will be copied into DESTINATION_DIR / INSTALL_DIR:

          <DESTINATION_DIR|INSTALL_DIR>/Foo/TheFoo.py
          <DESTINATION_DIR|INSTALL_DIR>/Foo/FooLib/a.py
          <DESTINATION_DIR|INSTALL_DIR>/Foo/FooLib/b.py

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21762 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add option WITH_GENERIC_TESTS to slicerMacroBuildScriptedModule

Instead of manually invoking "SlicerMacroConfigureGenericPythonModuleTests"
and then adding the associated scripts, specifying this new option
will auto-magically add the generic test.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21763 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Re-organize Scripted module directories

* Built-in scripted module are now organize like the extension. One folder
per module.

* Macro "slicerMacroBuildScriptedModule" is now used consistently.

* Generic tests are now added auto-magically with the help of the new
parameter "WITH_GENERIC_TESTS".

* Remove unused ChangeTracker tests and created an issue
on the extension tracker. See https://github.com/fedorov/ChangeTrackerPy/issues/13

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21764 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Move Editor icons from "Base/Logic" into "EditorLib/Resources/Icons"

Also introduced the python constant EditorLib.ICON_DIR allowing
to easily resolve icon filepaths.

The variable is set using the __file__ attribute of EditorLib module.

Since the file/directory organization of either (1) source code, (2) file copied
into the build dir or (3) installed files is the same, the ICON_DIR
variable will allow to resolve the icon file paths successfully.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21765 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Move "Slicer3Adapters.tcl" into "Python/slicer/tcl"

The historical folder GUI that was specific to Slicer3 had been removed
and "Slicer3Adapters.tcl" has been moved to a more suitable home. It is now
copied/installed as a python resources available within the python
directory.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21766 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Move Editor logic Cpp classes from "Base/Logic" to "EditorLib/Logic"

These classes implementing the logic associated with editor effects, it
make sens to move them along side the EditorLib module.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21767 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add option WITH_GENERIC_TESTS to slicerMacroBuildQtModule

Instead of manually invoking "SlicerMacroConfigureGenericCxxModuleTests"
and then adding the associated test, specifying this new option
will auto-magically add the generic tests.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21768 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add SlicerMacroConfigureModuleCxxTestDriver to simplify test configuration

This macro will take care of:
  - creating the test driver executable. Using "SOURCES"
  - setting the appropriate properties
  - optionally linking to additional libraries. If "TARGET_LIBRARIES" is passed.
  - optionally including list of directories. If "INCLUDE_DIRECTORIES" is passed.
  - enabling VTK debug leaks detection if "WITH_VTK_DEBUG_LEAKS_CHECK" is passed.

It can also return the list of test to run if "TESTS_TO_RUN_VAR" is set.

This macro will make maintenance of testing framework easier and more
consistent.

The other advantages is that the content of the CMakeLists.txt declaring
tests is simpler and easier to understand.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21769 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update modules to use WITH_GENERIC_TESTS and SlicerMacroConfigureModuleCxxTestDriver

Overall simplification of the CMakeLists related to Testing.

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