BUG: Fixed issue of DICOM browser not closed after loading a volume

Browser was not closed after loading a volume even if "Persistent" checkbox was unchecked.

Also added a settings (DICOM/BrowserPersistent) to remember the checkbox setting.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23550 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added SceneViews and Segment plugins to subject hierarchy

SceneViews is a role plugin for scene view nodes. Provides an icon and allows restoring scene views (request of Sonia)
Segment is a function plugin that adds a context sub-menu ("Segment this using...") to volumes. There is only one action under the sub-menu so far that takes the user to the Editor module, sets the volume as master and creates a labelmap as merge volume.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23551 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add support for building on windows using Qt 4.8.6 and OpenSSL 1.0.1h

For more details see inlined comment. Also copied below for convenience:

8<----8<----8<----8<----8<----8<----8<----8<----8<----
# Starting with Qt 4.8.6, we compiled [1] OpenSSL binaries specifically for each
# version of Microsoft Visual Studio. To understand the motivation, read below.
#
# As explained in [2][3], if a library meets these two conditions:
#   (a) exposes a pure C interface
#   (b) is linked against static version of the CRT
# the version of the compiler and runtime used to build the library
# shouldn't matter.
#
# That said, since OpenSSL is built as a shared library using the '/MD' [4]
# flag, it is not possible to use the same library with different runtime
# libraries.
#
# We found out that '/MD' was used by inspecting the the file 'ms/ntdll.mak'
# generated atfer configuring OpenSSL.
#
# If you find mistake in this explanation, do not hesitate to submit a patch
# to fix this text. Thanks.
#
# [1] Script used to compile OpenSSL: https://gist.github.com/jcfr/6030240
# [2] http://siomsystems.com/mixing-visual-studio-versions/
# [3] http://bytes.com/topic/net/answers/505515-compile-different-versions-visual-studio
# [4] http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
8<----8<----8<----8<----8<----8<----8<----8<----8<----

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23552 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: External_OpenSSL - Fix typo introduced in previous commit r23552

Use "OpenSSL_(URL|MD5)" instead of "OPENSSL_(URL|MD5)" variables.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23553 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update Slicer.crt based on Base/QtCore/Resources/Certs/README

Update summary:

$ ./make-ca.sh                                         &&
>  ./remove-expired-certs.sh certs                      &&
>  REVISION=$(grep CVS_ID certdata.txt | cut -f4 -d'$') &&
>  VERSION=$(echo $REVISION | cut -f2 -d" ")            &&
>  mv "BLFS-ca-bundle-${VERSION}.crt"  "Slicer.crt"     &&
>  unset REVISION VERSION
rm: cannot remove ‘certs/*’: No such file or directory
Created 2e5ac55d.pem
Created cb357862.pem
Created 790a7190.pem
Created 88f89ea7.pem
Created 039c618a.pem
Created a8dee976.pem
Created 4f316efb.pem
Created 57bcb2da.pem
Created 480720ec.pem
Created 2e4eed3c.pem
Created b204d74a.pem
Created 1ec4d31a.pem
Created f39fc864.pem
Created b66938e9.pem
Created 40547a79.pem
Created 4304c5e5.pem
Created 7d5a75e4.pem
Created eed8c118.pem
Certificate 8f111d69 is not trusted!  Removing...
Created 3ee7e181.pem
Created 9d520b32.pem
Created b1b8a7f3.pem
Created 0d1b923b.pem
Created 5ad8a5d6.pem
Created 024dc131.pem
Created e113c810.pem
Created 6f2c1157.pem
Created a5fd78f0.pem
Created 5620c4aa.pem
Created c8841d13.pem
Created 812e17de.pem
Created bb2d49a0.pem
Created 4a6481c9.pem
Created 2251b13a.pem
Created 76cb8f92.pem
Created ca6e4ad9.pem
Created 65b876bd.pem
Created cfa1c2ee.pem
Created 8e52d3cd.pem
Created 3b2716e5.pem
Created 8d86cdd1.pem
Created bd1910d4.pem
Created 20d096ba.pem
Created 57bbd831.pem
Created e2799e36.pem
Created c089bbbd.pem
Created ba89ed3b.pem
Created 116bf586.pem
Created c01cdfa2.pem
Created 7d0b38bd.pem
Created 988a38cb.pem
Created 5c44d531.pem
Created 55a10908.pem
Created b6c5745d.pem
Created fcac10e3.pem
Created 3e45d192.pem
Created 18856ac4.pem
Created 381ce4dd.pem
Created 24ad0b63.pem
Created 415660c1.pem
Created 8160b96c.pem
Created 0b759015.pem
Created 062cdee6.pem
Created 9af9f759.pem
Created 9818ca0b.pem
Created 3bde41ac.pem
Created cc450945.pem
Created 6cc3c4c3.pem
Created c47d9980.pem
Created 0c4c9b6c.pem
Certificate 1bc668cc is not trusted!  Removing...
Certificate 72de6920 is not trusted!  Removing...
Certificate 6a680ea5 is not trusted!  Removing...
Created ee1365c0.pem
Certificate 476182b1 is not trusted!  Removing...
Certificate eeaa6d5c is not trusted!  Removing...
Certificate c75dd286 is not trusted!  Removing...
Certificate c75dd286 is not trusted!  Removing...
Certificate c75dd286 is not trusted!  Removing...
Certificate 804c2a3a is not trusted!  Removing...
Certificate ad6c2ff9 is not trusted!  Removing...
Created cbf06781.pem
Created 4bfab552.pem
Created dc45b0bd.pem
Created 09789157.pem
Created 2b349938.pem
Created 93bc0acc.pem
Created b727005e.pem
Created 9c8dfbd4.pem
Created 48bec511.pem
Created d957f522.pem
Created 0810ba98.pem
Created 9c472bf7.pem
Created b7a5b843.pem
Certificate 46f053f0 is not trusted!  Removing...
Created c0ff1f52.pem
Certificate 20533f91 is not trusted!  Removing...
Certificate 84009bc3 is not trusted!  Removing...
Certificate cc154c6e is not trusted!  Removing...
Certificate cee8e824 is not trusted!  Removing...
Certificate 856583ec is not trusted!  Removing...
Certificate ce486240 is not trusted!  Removing...
Certificate 94010abc is not trusted!  Removing...
Created cd58d51e.pem
Created 349f2832.pem
Created 1636090b.pem
Created bad35b78.pem
Created 930ac5d2.pem
Created d853d49e.pem
Created ae8153b9.pem
Created 876f1e28.pem
Created 54657681.pem
Created e8de2f56.pem
Created 5443e9e3.pem
Created 128805a3.pem
Created 5f267794.pem
Created aee5f10d.pem
Created 653b494a.pem
Created ef2f636c.pem
Created 79ad8b43.pem
Created 4597689c.pem
Created 98ec67f0.pem
Created 861a399d.pem
Created 157753a5.pem
Created 8b59b1ad.pem
Created e536d871.pem
Created 6b99d060.pem
Created c99398f3.pem
Created 2c543cd1.pem
Created cbeee9e2.pem
Created ad088e1d.pem
Created 8867006a.pem
Created 578d5c04.pem
Created 57b0f75e.pem
Created eacdeb40.pem
Created 201cada0.pem
Created a760e1bd.pem
Created 442adcac.pem
Created ee64a828.pem
Created c9f83a1c.pem
Created 56657bde.pem
Created a6a593ba.pem
Created 080911ac.pem
Created d7e8dc79.pem
Created 76faf6c0.pem
Created f3377b1b.pem
Created 67d559d1.pem
Created 9c2e7d30.pem
Created b42ff584.pem
Created 9b353c9a.pem
Created 2cfc4974.pem
Created 9f541fb4.pem
Created 778e3cb0.pem
Created c5e082db.pem
Created b13cc6df.pem
Created 2c3e3f84.pem
Created f90208f7.pem
Created c692a373.pem
Created cb59f961.pem
Created 861e0100.pem
Created 415660c1.pem
Created d9d12c58.pem
Created b7e7231a.pem
Created 2ab3b959.pem
Created 706f604c.pem
Created f081611a.pem
Created f387163d.pem
Created ae8153b9.pem
Created b8e83700.pem
Created 6410666e.pem
Created ce026bf8.pem
Created 03f0efa4.pem
Created 667c66d4.pem
Created b1159c4c.pem
Created 3513523f.pem
Created 244b5494.pem
Created f060240e.pem
certs/ce026bf8.pem expired on 20131024! Removing...

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23554 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: For sake of consistency, systematically load Slicer SSL certificates

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23555 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Exclude crt extension from git hook line lengths check

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23556 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Do not log when module UI is successfully displayed

Displaying that everything went well is not useful and add extra "noise"
to the regular Slicer output.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23557 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update CTK to remove extra debug statements related to ctkDICOMDatabase

Before this commit:

// -------
$ ./Slicer
Number of registered modules: 142
Register compression libraries
TagCacheDatabase not open

TagCacheDatabase verified!

Number of instantiated modules: 142
Number of loaded modules: 142
// -------

After:

// -------
$ ./Slicer
Number of registered modules: 142
Number of instantiated modules: 142
Number of loaded modules: 142
// -------


Summary of changes:

$ git shortlog 9e1c0258..62675d0 --no-merges
Jean-Christophe Fillion-Robin (2):
      Remove qDebug statement from registerCompressionLibraries()
      Do not display debug info when tagCacheExists method works as expected.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23558 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Ensure designer plugin provided by Qt are also fixed up

In r23042, install rules have been modified to install designer plugin
provided by Qt but the corresponding pattern to select plugins candidate
for fixup has not been adapted. This commit takes care of it.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23559 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: new LandmarkRegistration feature

Helps when registering two non-overlapping volumes.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23560 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fixed crash when cloned volume does not have display node. Fixes #3795

From: Csaba Pinter <csaba.pinter@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23561 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Handled scene context request in SceneViews subject hierarchy plugin

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23562 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fixed clone when cloned volume does not have display node. Fixes #3795

Fixing second function doing that (rev23561 fixed only vtkSlicerVolumesLogic::CloneVolume, this commit fixes vtkSlicerVolumesLogic::CloneVolumeWithoutImageData)

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23563 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Log to file

Enabled file logging in CTK error log model, bumping up hash. The number of files to keep and the log file paths are stored in the revision settings. The log files are saved in the temp folder with file name Slicer_[revision]_[date]_[time].log. If number of log files is larger than number of files to keep, then the old log file is deleted.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23564 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update OpenIGTLink from 1.10.4 to 1.10.10 to include bug fixes.

$ git shortlog 3ac5311..849b434 --no-merges
Andras Lasso (1):
      Add the MSG_NOSIGNAL flag to socket send calls to prevent application crash on disconnect on linux systems

Gergely Zombori (1):
      Bug #1912 - Merged the changes and enhancements from upstream into 'master'

Isaiah Norton (1):
      BUG: use shutdown() instead of close() for sockets

Junichi Tokuda (7):
      BUG: Address issue #29: copy igtl_win32hearder.h to the install directory.
      ENH: Update patch number.
      STYLE: Update patch number.
      COMP: Fix compilation error due to lack of MSG_NOSIGNAL option in send() in Mac OS X. For Mac OS X, call setsockopt() with SO_NOSIGPIPE instead.
      STYLE: Update revision number.
      BUG: Set timestamp zero, when no timestamp object is registered to image meta message.
      STYLE: Update patch number

Laurent Chauvin (1):
      BUG: Initialize ImageMessage matrix to identity (issue #39)

Matt Clarkson (3):
      #44: Put nanosleep in loop to ensure sleep is for the correct time.
      #49: Avoid crash on division by zero, which should never happen
      #50: Convenience methods to set/get igtl_image matrix from 4x4 array of floats

z0022myy (1):
      BUG: Intializing pointer should not be in a loop

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23565 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add enhanced scalarbar actor class based on VTK6. Fixes #2919

The VTK6 vtkScalarBarActor class allows displaying annotations in
conjunction with labels. However, in Slicer we want to sample the
annotations for display just like color values since some color
tables have more than 10000 values and annotations.

The vtkSlicerScalarBarActor is based on vtkScalarBarActor class and
only overrides its LayoutTicks method to slightly modify the method
to enable sampling the annotations and display it as labels.

Additional remarks:

* Change colors module logic using the new class.

* Keep backward compatibility to VTK5.

* Added a python selftest based on scripted module superclass.

* Added a check box to toggle using the color names as labels, and set
default label formats when it's toggled to support strings or numbers.

* Added simple label format testing to avoid crashes that were seen when
using a string format with a number value.

* Regular expression associated with LabelFormat could be improved. This
is tracked by issue 3802

Co-authored-by: Nicole Aucoin <nicole@bwh.harvard.edu>

From: Kevin Wang <kevin.wang@rmp.uhn.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23566 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure application can be killed using CTRL-C. Fixes #3804

This commits fixes a regression introduced by the addition of the
SlicerExtensionWizard module. See inlined comment for more details.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23567 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: WIP: #3788: add .h5 formated transform storage of BSplines

Currently implements read path, but is not yet working.
ENH: WIP: #3788 Add path for reading itkBSplineTransform (for ITKv4)

Mostly implemented but the transform that gets read in is identity
and not the one in the file.  Probably something wrong with
this cast:

+  typedef itk::BSplineTransform< T,VTKDimension,BSPLINE_TRANSFORM_ORDER > BSplineTransformType;
+  typename BSplineTransformType::Pointer bsplineItk =
+    dynamic_cast< BSplineTransformType* >( warpTransformItk.GetPointer() );