ENH: Skip loading of loadable python module if loadable module are disabled

Before this commit even after disabling the loading of loadable module
the python module corresponding to "logic", "Widgets, "displayable
manager" and "mrml" where still imported. This commit prevent this.

Note that if a given loadable module is disabled with the application
settings the associated python modules will still be imported.

Ideally python module should be imported on a per module basis as it is
done for extension. This will be possible only after python module specific
to a loadable module are located in dedicated directory. This is
somewhat related to issue #1365

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22463 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix crash in CLIModuleFactoryHelper when used without SlicerApp

The "isInstalled" method will alaways return false if no Slicer
application has been instantiated.

Ideally the application home should be externally set. This is
tracked by issue #3411

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22464 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add option to disable loading of either any module or only the builtin

Before this commit, starting slicer with option
like --disable-{cli|loadable|scripted-loadable}-modules was preventing
the registration of the associated factories. It means that even if
an additional path was provided, it wasn't possible for the user to
disable the loading of the builtin module and enabling only the loading
of modules associated with the provided path.

This commit differentiate the concept of "any modules" vs "built-in" modules
by adding new command line options:

 disable-builtin-cli-modules

 disable-builtin-loadable-modules

 disable-builtin-scripted-loadable-modules

 disable-builtin-modules  (disable loading of all builtin modules)

 disable-modules (disable loading of any modules)

The modules settings panel has also been updated, it is now possible
to selectively disable the loading of either any modules or only the
built-in ones.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22465 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Simplify Qt version requirement rules

As explained in issue #3325, on linux to prevent a crash occurring when
a page is loaded in a QWebView, at least Qt 4.8.1 is needed
on Ubuntu 13.04. Alberto also reported it is crashing when using
Ubuntu 12.04 (see #3394).

To prevent developer from having to explicitly pass
the Slicer_REQUIRED_QT_VERSION option, the requirement scheme
has been simplified.

Removed non working option "Slicer_EXPERIMENTAL_QT_VERSION" and requires
at least Qt 4.7.4 on all platform.

This revert commit r21743 and partially revert r21727

We will discuss with the community if it makes sens to required Qt >= 4.8.1
on all platform. On MacOSX, this implies that Leopard won't be supported
anymore.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22466 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3412 fix crash when no tensors on fiber label select

When the input fiber bundles have no tensors, we don't want to create
an output array.  When and empty tensor array was passed to the vtk
xml reader it crashed.

Now, don't create an output tensor array if there is not one on the input.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22467 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update ITKv4 project

$ git shortlog 2379328..a8429da

Bradley Lowekamp (2):
      BUG: Fix uninitialized m_Spacing in SignedMaurerDistance
      BUG: Don't print null bias field

Ho Cheung (1):
      ENH: Improve mangling of itktiff library.

Matthew McCormick (4):
      COMP: Bump GCCXML version.
      Merge branch 'GccXML-4.8-release' into release
      ENH: Bump version to 4.4.2.
      BUG: Fix uninitialized variables in N4BiasFieldCorrectionImageFilter.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22468 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update SimpleITK project

From Brad: I enable 64-bit integers as pixel types. This can be disabled
as a CMake option, as its likely not worth the cost for Silcer.

$ git shortlog d11d0454f5..e2ec6bbfd7a6

Bradley Lowekamp (102):
      Fix warning about converting false to pointer type.
      Fix Doxygen warning explicit link request to 'ChannelTyperedChannel'
      Fix another warning of conversion false to pointer type
      remove some extra chars in testing print message
      Add suppression for CSharp dev version warning.
      Updating External project to use midas md5 improving style
      Include itkCast before sitk to avoid std::copy conversion warning.
      remove extraneous 123 in swig filename
      Fixing some indents in doxygen comments
      Adding template code to support enum array in member fields
      Adding documentation for new enum array in json
      Replacing public_declarations with enum arrays in json
      Merge branch 'FixForITKWithSinglePrecisionTemplate' into release
      Merge branch 'release'
      Merge topic 'SIMPLEITK-405_FixSomeDashboardWarnings'
      Merge topic 'SIMPLEITK-407_UpdateSWIGPCREExternal'
      Change type of enums in Extract and RecursiveGaussian
      COMP: Address std::copy conversion warning
      Moving forward on ITK release branch towards 4.4.1
      Merge topic 'SimpleITK_411_AddJSONEnums'
      Merge topic 'SIMPLEITK-355_CMakeForMidasAndMD5'
      Merge topic 'SIMPLEITK-412_FixDashboardIssues'
      ENH: enabling 64-bit pixel IDS
      ENH: updating CastImageFilterTest for int64 images
      Adding numpy test for int64 images
      Adding Get/Set pixel tests for int64 images
      Adding support to import int64 images
      ENH: add masked fft xcorr percentage overlay parameter
      BUG: Use printable type for prints chars
      ENH: Updating to ITK v4.4.1 release tag
      Merge topic 'UpdateMaskedFFTXCorr'
      Merge topic 'SIMPLEITK-400_UpgradeTowardsITK_4.4.1'
      Merge topic 'SIMPLEITK-210_UsePrintableTypesInToString'
      Merge topic 'SIMPLEITK-414_Module_ITKReview'
      BUG: Update data path for ExternalData for R data
      BUG: including correct path to cthead1.png for R
      ENH: Make using 64-bit int pixels optional
      ENH: update tests to optionally check 64-bit integer pixels
      Adding PatchBasedDenoing filter
      Adding customized procedural methods of PatchBasedDenoising filter.
      increase tolerance for test
      BUG: added extra dependencies for TCL
      ENH: expose bounding box label statistic
      ENH: adding test for bounding box in label statistics
      BUG: Fix consistency of TransformTest.ReadTransformResample
      BUG: Fix double image from py3 true division
      Merge topic 'FixRForTestDataPath'
      Merge topic 'FixTCLDependency'
      Merge topic 'AddBoundingBoxToLabelStatistics'
      Merge topic 'UseNearestNeighborReadTransformTest'
      Merge topic 'FixPy32FFTConvolutionExample'
      Update ITK superbuild to 4.4.2
      BUG: Disable octave in Swig configure
      Update filter coverage csv file via script
      ENH: adding initial json for Review Chan and Vese levelsets
      ENH: Add variable number of inputs to Dual template
      Adding ClampImageFilter
      Adding documentation form ITK XML
      Add more generic custom_type2 json field for Dual dispatch filters
      Add output pixel type to VectorIndexSelectionCast
      Adding midas key file for clamp baseline
      ENH: adding basic support to DualDispatch to vector by component
      Adding baseline for resample with cast
      Adding option for output pixel type to resample filter
      ENH: adding option for filters to turn on debugging
      Adding tests for new Debug class property
      Adding DebugOn in generated tests
      Adding Debug option to manually written filters
      Adjusting testing tolerance for chan vese levelset
      Merge topic 'SIMPLEITK-397_AddInt64Pixels'
      Merge topic 'UpdateSimpleITKFilterCoverage'
      Merge topic 'AddScalarChanAndVese'
      Merge topic 'UpdateITKv4.4.2'
      Ignore one procedural method in Lua for Patch Denoising
      Fix Clamps bound parameter to check output pixel types.
      Fix signed to unsigned comparison warning.
      COMP: add suppression for false constant math warning
      Merge topic 'DisableOctaveInSwig'
      Merge topic 'SIMPLEITK-330_AddPatchBasedDenoising'
      Merge topic 'AddClampImageFilter'
      Merge topic 'ResampleVectorCastDualDispatch'
      Fix some warning about converting double to integer types.
      BUG: require cmake 2.8.11 for testing
      fixing logic for required version for testing
      BUG: Fix missing Image::GetBuffer methods in CSharp
      Simplify warning to match
      BUG: Use _WIN32 for detecting windows
      Fix escape sequence in warning suppression
      ENH: Updating the source tar ball script from md5 data
      Updating ITK with some bug fixes
      Ran JSONBeautify script on json
      ran GenerateDocumentation groovy script
      Merge topic 'SIMPLEITK-416_UpdateSourceTarballScript'
      Merge topic 'UpdateITKWithReleasePatches'
      Merge topic 'UpdateJSONDocs'
      Merge topic 'SupressSomeWarnings'
      Merge topic 'AddDebugFilterOption'
      Merge topic 'FixWIN32Missing'
      Merge topic 'FixCMakeRequiredVersionForTesting'
      Merge topic 'SIMPLEIT-398_FixCSharpMissingImageGetBufferMethods'
      BUG: Reduce size of basic filter libraries.
      Merge topic 'FixVS9Linking'

Matt McCormick (5):
      Add CMake code to fetch testing data.
      Remove the Testing/Data submodule.
      Add testing data content links from submodule.
      ENH: Use CMake ExternalData.
      COMP: ITK_USE_REVIEW -> Module_ITKReview.

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