ENH: Disambiguate a call to vnl_sqrt
Merge pull request #295 from aylward/FFT

ENH: Disambiguate a call to vnl_sqrt
COMP: Fix shadow of variable in ImageEditor
Merge pull request #296 from aylward/FFT

COMP: Fix shadow of variable in ImageEditor
COMP: Fix building of TubeTK application as standalone packages

This commit fixes the build error mentioning that the
"itkFactoryRegistration.h" header couldn't be found. See [1] and [2]

It basically reverts the original attempt done by commit b74d53f7ab and
references the correct directories using

  ${TubeTK_SLICER_(BINARY|SOURCE)_DIR}/Libs/ITKFactoryRegistration

instead of

  ${TubeTK_SLICER_(BINARY|SOURCE)_DIR}/Libs/itkFactoryRegistration

Note that only build machine having case sensitive file system were
failing. (This excludes Windows and some flavor of MacOSX)

Additionally, it also:

* re-organize the code to minimize duplication by using *_(BINARY|SOURCE)_DIR
variables

* set SlicerExecutionModel cache variables. These variables (listed below)
are used by the macro "SEMMacroBuildCLI" to customize the configuration
and build of CLIs.

* remove the uneeded call to "include_directories(...)" that became
unnecessary after setting the SlicerExecutionModel cache variables.

Let's also point out the inconsistency in usage of variable "TubeTK_USE_VTK"
are not fixed by this commit. For example, SlicerBaseCLI is in-conditionally
checked out but the associated directories are conditionally appended to the
list of additional SlicerExecutionModel directories.

Last but not least, the ideal solution would be update ITKv4 to avoid
the ITKFactoryRegistration hack [3] and also add the plugin watcher
directly to the SlicerExecutionModel [4][5]. This would avoid to depend
on Slicer internal libraries when building TubeTK as a standalone package.

[1] http://open.cdash.org/viewBuildError.php?buildid=3353524

[2] https://travis-ci.org/aylward/TubeTK/builds/26625681

[3] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21592

[4] http://massmail.spl.harvard.edu/public-archives/slicer-devel/2011/006829.html

[5] https://github.com/Slicer/SlicerExecutionModel/issues/13
Merge pull request #297 from jcfr/fix-missing-itkregistration-header-with-standalone-build

COMP: Fix building of TubeTK application as standalone packages
ENH: Clean Segment tubes

. Take unecessary steps out of the while loop
. Stop failing when a tube isn't computed since the program might have to
 run for multiple seeds
. Remove unused arguments (seedScaleMask and seedMask)
. Add empty defaults for seedX and seedPhysicalPoint since one should be
empty if the other isn't
. Remove EXECUTABLE_ONLY
ENH: Use lps coordinates when giving points to SegmentTubes
ENH: FFT for computing ridge measures
Merge pull request #299 from aylward/FFT

ENH: FFT for computing ridge measures
FIX: Fix reading of tre files in slicer

Fixes issue #298
FIX: Fix segment tubes so the tubes have the image transform information

Fixes issue #298
FIX: Fail when no tube is found

Fixes bug introduced earlier to allow all the seeds to be tried.
FIX: Fix crash when saving an empty node

The constructor must initialize the pointer to prevent it from being
not null when compared later (even though it was never initialized).
Merge pull request #300 from vovythevov/fix-segment-tubes

Misc segment tubes fixes
FIX: Fix windows compilation

Add parenthesis around cast expression.
Merge pull request #301 from vovythevov/fix-merge-adjacent-image-windows-build

FIX: Fix windows compilation
FIX: Fix spatial object node

The node had a simple pointer on a spatial object which would in no way
modify the polydata. This isn't really robust a a node could only ever be
updated from a TRE file when it was read from file.
Transfering the code that was in the storage node for reading the polydata
of the tube allow the node to update itself.
ENH: Improve logic methods

Multiple improvements here:
 - Add a copy method so we can copy a spatial object from a node to another
from python.
 - Make the filename optionnal for adding a spatial object node so this
method can be used to create nodes with all their associated display nodes.
 - Add the AddDisplayNodes method to allow user to easily create the
necessary display nodes along side a spatial object node.
Merge pull request #302 from vovythevov/fix-spatial-object-node

Fix spatial object node