ENH: Interface improvement in the tractography display module: consistent selection of the nodes

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20538 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Prevent NUMPY runtime issue by using its built-in "clapack"

Summary:

* CLAPACK is not needed anymore.

* Also refactored and simplified the different NUMPY steps. There are now
three distinct steps: configure, make and install

Details:

* All the steps include a common file named "NUMPY_environement.cmake" that
both set the environment within each step and provide a convenient
macro "numpy_setup_command" allowing to invoke "setup.by".

* After investigating, it resumes it is pointless to compile CLAPACK and
build numpy against it. Indeed, the modules "blas_lite.c" and
"dlapack_lite.c" already bundle part of CLAPACK that are required
by "linalg" numpy module.

While looking for the root cause of the problem, I also realized
that CLAPACK can't be linked against numpy. The "f2c.h" bundled
within clapack-3.2.1-CMAKE.tgz is different from the "f2c.h"
available in "numpy/linalg" folder. For example, the typedefs used
to specify "integer" or "uinteger" are different.

In clapack/INCLUDE/f2c.h => "integer" is defined as "long int"
In numpy/linalg/f2c.h => "integer" is defined as "int"

Within the python module "lapack_litemodule.c", we can read that
the function signature used to specify the function to link against
is of the form:

 extern int foo_(char *arg1, char *arg2, int *n)

whereas in CLapack, the same function is defined as:

 int foo_(char *arg1, char *arg2, integer *n)    // integer being "long int"

This difference in type was causing the error reported in the bug.

While working on that issue, I also created a small project
illustrating the problem. See https://github.com/jcfr/CFunclash#readme

On linux 64bit (Ubuntu 10.04), the following numpy test suite run without
any errors:

=> nose version 1.1.2
=> gcc 4.4.3

>>> numpy.test()
[...]
Ran 2483 tests in 10.194s

OK (KNOWNFAIL=4, SKIP=12)


Details (package by package)

>>> np.linalg.test()
Running unit tests for numpy.linalg
NumPy version 1.4.1
[...]
Ran 116 tests in 0.203s

OK
<nose.result.TextTestResult run=116 errors=0 failures=0>


>>> np.ma.test()
Running unit tests for numpy.ma
NumPy version 1.4.1
[...]
Ran 282 tests in 1.011s

OK
<nose.result.TextTestResult run=282 errors=0 failures=0>


>>> np.polynomial.test()
Running unit tests for numpy.polynomial
NumPy version 1.4.1
[...]
Ran 86 tests in 0.324s

OK
<nose.result.TextTestResult run=86 errors=0 failures=0>


>>> np.random.test()
Running unit tests for numpy.random
NumPy version 1.4.1
[...]
Ran 11 tests in 0.020s

OK
<nose.result.TextTestResult run=11 errors=0 failures=0>


>>> np.fft.test()
Running unit tests for numpy.fft
NumPy version 1.4.1
[...]
Ran 5 tests in 0.023s

OK
<nose.result.TextTestResult run=5 errors=0 failures=0>


>>> np.core.test()
Running unit tests for numpy.core
NumPy version 1.4.1
[...]
Ran 861 tests in 2.181s

OK (KNOWNFAIL=4, SKIP=11)
<nose.result.TextTestResult run=861 errors=0 failures=0>


>>> np.linalg.test()
Running unit tests for numpy.linalg
NumPy version 1.4.1
[...]
Ran 116 tests in 0.184s

OK
<nose.result.TextTestResult run=116 errors=0 failures=0>

>>> np.matrixlib.test()
Running unit tests for numpy.matrixlib
NumPy version 1.4.1
[...]
Ran 38 tests in 0.077s

OK
<nose.result.TextTestResult run=38 errors=0 failures=0>


>>> np.lib.test()
Running unit tests for numpy.lib
NumPy version 1.4.1
[...]
Ran 994 tests in 6.313s

OK (SKIP=1)

>>> numpy.oldnumeric.test()
[...]
Ran 2 tests in 0.020s

OK


>>> numpy.testing.test()
[...]
Ran 69 tests in 0.128s

OK

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

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20540 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix promoted widget headers in qSlicerTractographyDisplayWidget.ui

Promoted headers are now specified using the proper case. For
example: "ctkcollapsiblegroupBox.h" instead of "ctkCollapsibleGroupBox.h"

This will fix the following compilation issue on case sensitive file system:

In file included from /home/jchris/Projects/Slicer4/Modules/Loadable/TractographyDisplay/Widgets/qSlicerTractographyDisplayWidget.cxx:5:
/path/to/Modules/Loadable/TractographyDisplay/Widgets/ui_qSlicerTractographyDisplayWidget.h:27:36: error: ctkcollapsiblegroupbox.h: No such file or directory
/path/to/Modules/Loadable/TractographyDisplay/Widgets/ui_qSlicerTractographyDisplayWidget.h:28:39: error: ctkmaterialpropertywidget.h: No such file or directory

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20541 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Interface improvement in the tractography display module: consistent selection of the fiber selection behaviour with the tract list

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20542 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure vtkSlicerVolumeRenderingLogicTest can find "presets.xml"

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20543 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix test condition in vtkSlicerVolumeRenderingLogicTest

The test should fail if displayNode class is different from
"vtkMRMLCPURayCastVolumeRenderingDisplayNode" or "vtkMRMLGPURayCastVolumeRenderingDisplayNode",
initially it was testing if the node class was equal to these values.

Additionally, to avoid confusion, the format of the error message should
start with:

"Line XXX - Problem with ..."

The previous format was:

"vtkSlicerVolumeRenderingLogic::CreateVolumeRenderingDisplayNode():74 failed:
0x1cac0a0 vtkMRMLCPURayCastVolumeRenderingDisplayNode"

and it leads to think that the line number was associated with the code within
vtkSlicerVolumeRenderingLogic class.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20544 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Select the tab for the only visible display out of tube/line/glyph in Advanced Tractography Display

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20545 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Provide mechanism to disable one or more CLI modules at configure time.

Module appended to Slicer_CLIMODULES_DISABLED list won't be built.

See http://na-mic.org/Mantis/view.php?id=2284

Fixes #2284

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20546 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Remove home module from module toolbar.

Additionally, in Application settings, label "Home" has been renamed into
"Default startup module".

See http://na-mic.org/Mantis/view.php?id=2180

Fixes #2180

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20547 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: porting some missing fixes over from Slicer3 (svn 15494 and 15836) to remove extra ticks around colour names and warn if a colour table file was written using values from 0-1 instead of 0-255

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20548 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Adds option to checkout from git repository.

Changes update command to use git if GIT_REPOSITORY is specified.

See http://na-mic.org/Mantis/view.php?id=2255

Resolves #2255

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