ENH: save the last sceneview thumbnail type

Keep track of the last scene view and screen snapshot thumbnail type
and use it for the next one that's being captured.
For the scene views, base the next scene view name on the last
one instead of always going back to the default SceneView.

Issue #1760


git-svn-id: http://svn.slicer.org/Slicer4/trunk@22929 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add slice intersections toggle to Markups

Added a check box inside the jump slices group box. It's
available to toggle when jump slices is on. It updates
when entering the module, but isn't listening to the
slice composite nodes to update when the Navigation
menu and/or MRML updates happen.
Added test.

Issue #3326


git-svn-id: http://svn.slicer.org/Slicer4/trunk@22930 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: add missing .h file

Missed in svn 22930

Issue #3326


git-svn-id: http://svn.slicer.org/Slicer4/trunk@22931 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: SlicerAbstractCoreModule - Properly delete representations

Representation instances must both be deleted and removed from
the associated representation list.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

From: Linus Sherrill <linus.sherrill@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22932 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update VTK to include tweak to vtkImageHistogramStatistics

$ git shortlog 4e0ca685..c88dfed
Andinet Enquobahrie (2):
      ENH: Add NumberOfVoxels statistics measure
      ENH: Add mode statistical measure

Co-authored-by: Andinet Enquobahrie <andinet.enqu@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22933 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update CTK to include Python wrapping fix.

$ git shortlog --no-merges  7466ab0a..cb01e8c
Andreas Fetzer (3):
      Proper pointer inizialization
      Fixed wrong resourceUri for certain xnatObjects
      Added download function to ctkXnatTreeBrowser

Daniel Knorr (3):
      Changed TreeModel functionality of CanFetchMore() and FetchMore(),     to add children which have been fetched already.     Previously these children were not added to the model,     they were fetc
      Deleted the no more necessary ctkXnatProjectsListModel.     Added a virtual method to ctkXnatObject for getting the child type.     Overwrited this method in ctkXnatDataModel and ctkXnatProject.
      Changed the ctkXNATBrowser models to generic ctkXnatListModel.     Litte Changes to ctkXnatTreeModel.

Jean-Christophe Fillion-Robin (3):
      Update VTK external project to 5.10 head to fix clang compilation error
      BUG: Fix PythonQt light wrapping so that header in subfolder can be wrapped.
      Update ExternalProjectDependency system based on commontk/Artichoke@c3eb170

Miklos Espak (32):
      Login dialog added
      qRestAPI upgrade
      Fix for compiler warnings
      ctkXnatConnection* moved from ctkXnatObject to ctkXnatServer
      XNAT tree model and example application
      Null check for ctkXnatSettings in login dialog, refactorings
      qRestAPI hash update to get library dirs fix
      Scan resource download
      CTK naming conventions for getters
      Resource URIs constructed incrementally
      Reconstruction support is back
      SSL errors suppressed for connecting sites with self-signed certificate
      Clean-up
      ctkXnatTreeModel::xnatObject(QModelIndex)
      Fix about CTK naming convention for getters
      API clean-up, documentation comments
      ctkXnatScanResourceFile and ctkXnatReconstructionResourceFile unified to a single ctkXnatFile class
      Unit test added for CTKXNATCore
      XML Schema type property for ctkXnatObject
      Schema type stored in ctkXnatObject
      Shared/weak pointers removed in favour of explicit memory handling
      ctkXnatObject::addChild renamed to add
      XNAT Core refactorings and basic support for creating objects
      Existance test support
      ctkXnatAPI class (former qXnatAPI from the qRestAPI project)
      Parent can be passed to ctkXnatObject constructors
      Unit test for XNAT object deletion
      XNAT save function save the properties
      XML schema type used for XNAT objects
      Unit test for XNAT object parent-child relationship
      XNAT resourceUri fixes
      Uses of obsolete class ctkXnatSessionFactory are removed

Nicolas Toussaint (8):
      make the experiment level available in the new API
      make the scan-folder and scans levels available in the new API
      all levels are taken into account now, with the right labels
      implement default methods for Objects for isFile() etc
      xnat: adding the missing methods, still missing some implementations
      xnat: download functionality almost on track
      xnat: working on the download feature
      download file functionality restored

Sascha Zelzer (33):
      Explicitly include the Qt use file again.
      Added qRestAPI as an external project.
      Moved the XNAT clases from the org.commontk.xnat plug-in.
      Moved the XNAT classes into a Core subdirectory.
      Added XNATWidgets library stub.
      Removed unused XNAT files and simplified QtScript dependency.
      Added initial ctkXNATBrowser application.
      ctkXnatObject redesign. No QObjects, using QSharedPointer.
      Qt list model for ctkXnatObject instances. Will be renamed.
      Prototype application for querying XNAT servers.
      Use Qt style for passing pimpl pointers to super-class constructors.
      Don't clear the CTK_EXTERNAL_LIBRARY_DIRS variable.
      Improved error and exception handling.
      Removed warnings.
      Renamed XNAT classes.
      Moved the ctkXnatLoginProfile class to XNAT/Core.
      ctkXnatSession now requires a ctkXnatLoginProfile in its constructor.
      Moved fetch() methods to subclasses and use QMetaType to create instances.
      Added http session support.
      Removed debugging messages.
      Re-structured XNAT exception hierarchy.
      Added ctkXnatSession documentatioin.
      Make schema type customizable per object again.
      Updated qRestAPI commit hash
      Use new qRestAPI hash
      We need to explictily open the session.
      The password for the ctk account has expired.
      Removed obsolete ctkXNATBrowser application.
      Use Qt naming convention for getters.
      Added doxygen groups and fixed some formatting issues.
      Use the proper CTK testing infrastructure.
      Add cmd line option for generating a GUI from XML
      Use a qRestAPI version compatible with Qt 4.6.2

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22934 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update Teem external project to accept custom location.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22935 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix LibArchive, curl, OpenSSL and python custom build tree detection.

The external projects now check for the same variables that will also
be used to configure Slicer.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22936 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: default value of HideFromEditors flag set to 0

This change will cause new mrml nodes to not be hidden
from editors by default, developers subclassing
vtkMRMLNode will need to specify the following in
constructors to over ride this behaviour:
this->HideFromEditors = 1;

MRML Core nodes that should be hidden in the Data module
were updated to stay hidden.

From the Slicer Roadmap for 4.4:
https://www.slicer.org/slicerWiki/index.php/Roadmap#4.4

Issue #2906



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22937 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update CTK to fix wrong location of fiducials after switching layout.

Jean-Christophe Fillion-Robin (1):
      Emit ctkVTKSlicerView::resized after vtkRenderWindow size is set.

Fixes #1914 - See http://na-mic.org/Mantis/view.php?id=1914

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22938 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Properly pass OpenSSL libraries to Slicer project. Fixes #3620

Following commit r22922 which was updating the macro ExternalProjectDependency,
list passed to external projects are automatically separated by a list
separator if one of the value contain ${CMAKE_CFG_INTDIR}.

Since on the unix, none of the value in the list was having ${CMAKE_CFG_INTDIR},
the variable OPENSSL_LIBRARIES was set to /path/to/libssl.so^^/path/to/libcrypto.so
where was /path/to/libssl.so;/path/to/libcrypto.so was expected.

This commit simply removes the explicit list transformation to let
the build system take the appropriate decision.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22939 3bd1e089-480b-0410-8dfb-8563597acbee
BUG:  Properly pass OpenSSL libraries to python project. Fixes #3620

In attempt to fix #3620, commit r22939 completely removed the transformation
of list OPENSSL_LIBRARIES assuming the macro 'ExternalProject_Include_Dependencies'
would proceed to the required updates.

It turns out that since the variable is directly passed as CMAKE_ARGS
to the python project, the list has to be explicitly transformed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22940 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: helper method does not have access to slicer module

Before this change, calling the method from a module gave this error:

"/Applications/Slicer-2014-02-07.app/Contents/bin/Python/slicer/util.py",
line 383, in resetSliceViews
    manager = slicer.app.layoutManager().resetSliceViews()
    NameError: global name 'slicer' is not defined

Importing slicer in each method seems wrong so,
TODO: explore importing at the top of util.py

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22941 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3429 bounds check on biomdal analysis

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22942 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Gracefully fail if Slicer build against an external non-system python

This commit relaxes the check initially introduced by commit r21191

Note that ideally the build system should be updated to install python
libraries and module even if they are not built into the usual
directory <Slicer-Superbuild>/python-install

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22943 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update OtsuThresholdImageFilter test baseline

Following transition to ITKv4, the test started to fail because of the minor
different in the output. See [1]

This commit simply replaced the existing baseline with the current
output of the test.

[1] http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/011716.html

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22944 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Fix spelling error in s4ext template

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22945 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Create new slicer "wizard" tool

Create new SlicerWizard.py tool, more or less based on the existing
ModuleWizard.py, with improvements. This one separates the concepts of
extensions and modules, and allows creating an extension containing
several modules, as well as adding modules to an existing extension.

The mechanism for specifying templates is also changed; we now take
named templates which are searched for in a well-known location relative
to the script. (In the future it is expected that users will be able to
add additional template directories, however this has not been
implemented yet.)

Eventually it is hoped that this tool will add other actions, e.g.
publishing extensions.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22946 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Create new templates for wizard

Refactor the ModuleWizard.py templates for use by the new
SlicerWizard.py. The main changes are that the module templates no
longer have extension templates wrapped around them (and the extension
templates no longer contain modules), the directory organization has
been improved, and the placeholders are all now TemplateKey.

This last change in particular was to allow the SuperBuild template to
be named "SuperBuild" (which is easy for users to type and logical given
the new organization), and still contain files named like "SuperBuild"
that should not be renamed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22947 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix argparse assert wrapping arguments

Tweak WizardHelpFormatter in SlicerWizard.py to temporarily replace
'[]'s in option value strings during formatting in order to avoid
argparse splitting these and tripping an assert in its internals.

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