ENH: Create tubetk.pth.

This file is used to make TubeTK Python packages and modules importable in a
local Python installation.

Change-Id: Ib2b7793fdf7d1c8a4014705b7caa07b52e702813
ENH: Add infrastructure for testing Base/Python.

Change-Id: I363b5800f8a6b66d47bf7db50a8529482efffad1
ENH: Add ExtractTubePointsSpatialObjectFilter.

Add a filter to take a tree of tube SpatialObjects and extracts all the
points (TubeSpatialObjectPoint's or VesselTubeSpatialObjectPoint's) and
collects them into a single std::vector container.

Change-Id: I657371551a661c025bddf7e434949bdfef0af5c3
COMP: Bump CTK version.

Sync with Slicer.  Fixes CMake configuration warnings.

CMake Warning:

  Manually-specified variables were not used by the project:

    ExternalProjectsContrib_DIR
    PluginsContrib_DIR

Change-Id: I84b35ff4b5c34f33822d71c7d0c79817616e9fb9
ENH: Use parameter node in PDF Segmenter

This allows outside module to specify inputs, outputs and parameters to the
PDF segmenter.

Basically, the parameter node is used to store all the necessary parameters
to run the PDF segmenter. Whenever the effect is shown, the default values
are checked. If any value is set on the parameter node, the value is set to
the GUI as well.
The parameter node is observed by the effect allowing the GUI to update
itself dynamically from it. On the other hand, modifying the GUI propagates
to the parameter node.
This apply() function can be factorizated in the PDF segmenter logic,
making it easier for outside module to use it if they need to.

Finally, the main input node selector was removed to be more editor-like.
Instead of getting the main volume from the GUI, it's obtained through the
editor's function (i.e. it's the current background volume).

Change-Id: Ibfb1b63596e22338a4c90559305d744147e019b1
STYLE: Space before parens in External_ImageViewer.cmake.

Change-Id: I8c8835bc6a4a3891fd7387031f021ed477300fe3
BUG: Fixed shadowed variable warning on CropImage

Change-Id: I372077083930737ddfe82b2aecde0040c1681e94
STYLE: Converted cerr to cout in itktubeNJetFeatureVectorGeneratorTest

Change-Id: I8885155ed62e18cf409953806803fb4a448ff4a3
Merge topic 'CerrRemovalNJetFeatureVectorGeneratorTest'

f711bc3 STYLE: Converted cerr to cout in itktubeNJetFeatureVectorGeneratorTest
97168a2 BUG: Fixed shadowed variable warning on CropImage
COMP: Missing External_LibSVM

Fixes #27. Also make capitalization of "LIBSVM" consistent.

Change-Id: Ief85aa562c54134bf8d7bce9662c8dda2a0b7ad6
Merge topic 'FixMissingExternalLIBSVM'

9aff3db COMP: Missing External_LibSVM
BUG: Various tubeObject and tubeMacro fixes

Change-Id: I83c61b72a762c5bb78e1d4f837af01841ec99441
Merge topic 'TubeObjectMacroFixes'

df65912 BUG: Various tubeObject and tubeMacro fixes
Merge topic 'CTKBump'

cd223b3 COMP: Bump CTK version.
Merge topic 'ExternalStyle'

950b2a4 STYLE: Space before parens in External_ImageViewer.cmake.
STYLE: Remove unimplemented function declaration in MetaObjectDocument

Change-Id: I5d0779e0046dcf0111901ee2221997c33930fd26
BUG: Fix unread variable in TubeGraphKernel

Change-Id: If74e06aab2adf2c94a020e5c2a8a189c8c3ef703
ENH: Bump ExternalInsight version.

Bump ITK to the latest version in Slicer.  This is the commit
on the release branch that will likely be ITK v4.4.1.

Closes issue #30.

Change-Id: I3186240cc8c500009f7c798f6f135460f76e2a2c
ENH: Bump External_VTK to the current Slicer version.

Closes issue #30.

Change-Id: I9914e95da58e3e566710f879dbaf5bd54553d984
ENH: Convert tubes to NumPy arrays.

Write a C Python extension module to convert the VesselTubeSpatialObjectPoint's
in a file that contains a VesselTubeSpatialObject into a NumPy record array.
Each property in the tube point is a field in the NumPy record array.  The
length of the array equals the number of points in the tube. Example code:

  from tubetk.numpy import tubes_from_file
  tubes = tubes_from_file(filename)
  print(tubes['Radius'])

To make importable:

1) Turn TubeTK_USE_NumPy ON in the CMake configuration.
2) Make a symlink to /path/to/TubeTK-build/Python/Base/tubetk.pth at $(python -m site --user-site).

Todo's:

1) Support 2D.
2) Do not include VesselTubeSpatialObject fields for a TubeSpatialObject.

Change-Id: If9e321e2a3f6d81644382917e8bbcac0536c6685