Permalink
Commits on May 19, 2016
  1. ENH: Regenerate Extensions/Testings templates

    This commit integrates the updated sources after building
    SlicerGenerateExtensionTemplates target.
    
    From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25090 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  2. BUG: CLITemplate: Template argument name was modified in template dec…

    …laration
    
    Template argument name was modified in template declaration but not
    when using it in the templated function.
    
    From: Francois Budin <francois.budin@gmail.com>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25089 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  3. BUG: Update qSlicerSslTest. See #4194

    Now that "http://slicer.org" redirects to "https://slicer.org", this commit
    update the test by:
    
    * checking query on http://slicer.org gives the status code 302 corresponding
    to URL redirection.
    
    * adding a test checking that query to https://slicer.org works as expected.
    It turns out that the SSL certificate associated with slicer.org has some
    issue. The test currently list the HostNameMismatch error as expected.
    See #4194.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25088 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  4. BUG: Ensure modules set with --modules-to-ignore are not saved in set…

    …tings
    
    This commit updates the modules panel adding "modulesToAlwaysIgnoreChanged"
    signal emitted only with a list of modules excluding the one passed
    as argument to "--modules-to-ignore" command line arguments.
    
    Also adds "SlicerOptionModulesToIgnoreTest" and teaches "SlicerAppTesting.run()"
    to understand the "shell" parameter
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25087 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  5. STYLE: AbstractModuleFactoryManager: Improve doxygen

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25086 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  6. ENH: Add command line option "--modules-to-ignore"

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25085 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  7. STYLE: Use imperative tense in command line option descriptions

    Options are now all using the same tense.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25084 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  8. STYLE: Automatically enable "ignore-slicerrc" if "testing" option is …

    …given
    
    This simplifies writing of tests.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25083 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  9. ENH: Add "--keep-temporary-settings" option

    When specified with "disable-settings", it prevents the temporary settings
    from being cleared. This is useful when writing test checking effect
    of settings values.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25082 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
  10. STYLE: qSlicerCoreCommandOptions: Simplify disabling of settings

    Also improve and fix doxygen documentation.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25081 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 19, 2016
Commits on May 18, 2016
  1. PERF: Improve startup time delaying execution of shared and executabl…

    …e CLIs
    
    This commit reduces startup time by ~50% (8.6s -> 5.5s). Detailed startup
    time stats reported below.
    
    [ci skip]
    
    More specifically, it updates the loadable and executable CLI factories
    so that (1) the XML file is directly loaded from disk if it exists along
    side the executable or library and (2) the execution of the executable or
    "entry point" for shared library is delayed until needed.
    
    For CLI executable, change consists simply in reading the XML file if it
    exists and postpone the execution until it is needed.
    
    For CLI shared library, the ModuleDescription object API has been updated.
    It now allows the association of a callback in charge of loading the
    library and resolving symbols. The callback is automatically called
    when "GetTarget()" method is called and no target has already been set.
    
    Note that the XML file is now copied (and installed if it applies) along
    side the CLI executable. There are currently no option to avoid the new
    behavior, if it reveals problematic, we could revisit and introduce
    an option for "SEMMacroBuildCLI" macro.
    
    Detailed startup time stats without this change are reported in
    precedent commit (ENH: Add convenience script to measure the application
    startup time).
    
    Detailed startup time stats after this change:
    
     - Obtained on Ubuntu 15.10, 64GB/M.2 PCIe NVMe SSD/Quad Core 3.80GHz.
     - For a release build
    
    Slicer --no-splash --exit-after-startup
    5.537 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-cli-modules
    5.438 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-loadable-modules
    2.863 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-scripted-loadable-modules
    3.925 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-cli-modules --disable-builtin-scripted-loadable-modules
    3.973 seconds
    
    Slicer --no-splash --exit-after-startup --disable-modules
    1.761 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python
    3.094 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-cli-modules
    3.054 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-loadable-modules
    0.972 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-scripted-loadable-modules
    3.135 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-cli-modules --disable-builtin-scripted-loadable-modules
    3.085 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-modules
    0.924 seconds
    
    SlicerExecutionModel changes:
    
    $ git shortlog b2c78c7..1b2a454 --no-merges
    Jean-Christophe Fillion-Robin (9):
          STYLE: ModuleDescription: Move definition to cxx file
          STYLE: Remove obsolete ModuleFactory class
          STYLE: ModuleDescription: Remove unused Alternative Type/Target/Location
          STYLE: Remove obsolete BinaryFileDescriptor support
          STYLE: ModuleDescriptionParser: Add separator comment, small tweaks
          STYLE: Add ModuleDescriptionTesting Macros and Utilities files
          STYLE: ModuleDescription: Add TestDefaults
          ENH: ModuleDescription: Add support for lazily setting the target
          ENH: Update SEMMacroBuildCLI to copy (and optionally install) the XML file
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25079 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  2. BUG: Ensure "--disable-settings" clear all temporary settings

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25078 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  3. STYLE: Refactor MeasureStartupTimes introducing SlicerAppTesting module

    This commit adds reusable methods "run", "runSlicer" and "runSlicerAndExit"
    along side with "timecall" decorator.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25077 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  4. ENH: Add convenience script to measure the application startup time

    For example, on Ubuntu 15.10, 64GB/M.2 PCIe NVMe SSD/Quad Core 3.80GHz.
    
    For a release build, Startup times are the following:
    
    //------------------------
    Slicer --no-splash --exit-after-startup
    8.641 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-cli-modules
    5.663 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-loadable-modules
    5.691 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-scripted-loadable-modules
    7.107 seconds
    
    Slicer --no-splash --exit-after-startup --disable-builtin-cli-modules --disable-builtin-scripted-loadable-modules
    4.017 seconds
    
    Slicer --no-splash --exit-after-startup --disable-modules
    1.885 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python
    5.727 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-cli-modules
    3.106 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-loadable-modules
    3.750 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-scripted-loadable-modules
    6.139 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-builtin-cli-modules --disable-builtin-scripted-loadable-modules
    3.131 seconds
    
    Slicer --no-splash --exit-after-startup --disable-python --disable-modules
    0.838 seconds
    //------------------------
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25076 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  5. STYLE: Refactor CLI Executable and Loadable module factories

    Anticipating coming changes, this commit re-organize code without
    changing the functionality.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25075 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  6. STYLE: qSlicerCLIModule: Add "moduleDescription()" method

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25074 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  7. STYLE: qSlicerCLIModule: Simplify core removing unneeded ivars.

    Refactor the code to directly use the ModuleDescription to store
    module property.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25073 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  8. STYLE: qSlicerCLIModule: Remove unused "ProcessInformation" ivar

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25072 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  9. BUG: Ensure "exit-after-startup" exits with failure if python error o…

    …ccurred
    
    This commit improves the command line argument originally added in
    r25059 (ENH: Add "exit-after-startup" command line option.)
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25071 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  10. STYLE: vtkMRMLNode: Fix "sign-compare" warning

    Fix "sign-compare" warning originally introduced in r25028 (ENH: Added
    Python-wrappable method for getting node references)
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25070 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
  11. ENH: Improved speed of TPS transform writing

    Initialization of kernel transforms may take minutes when there are hundreds of input points.
    Temporary ITK transform that is only created for file writing does not need time-consuming initialization.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25069 3bd1e089-480b-0410-8dfb-8563597acbee
    lassoan committed May 18, 2016
  12. BUG: Update CTK to fix reporting of modified settings. Fixes #4192

    Other highlights includes:
    * Support Qt 5.6 compilation
    * Extend python wrapping ctkVTKChartView and ctkVTKScalarsToColorsView
    
    $ git shortlog caaf2c8..a479422 --no-merges
    Andreas Fetzer (12):
          Added additional documentation and also added missing session timeout timer     restarts.
          Renamed session time out related variables and signals/slots
          Changed xsiType style.
          Don't add ctkXnatResourceFolder into ctkXnatScan hierarchy
          Fix linker error on linux
          Added possibility to set network proxy for the XNAT connection
          Removed accidental linebreak
          Quick-fix for incomplete data display
          Updated qRestAPI revision
          Adding the xsiType=xnat:resource query parameter leads to     error 422: Unprocessable entity
          Changed query key from xsiType to xsi:type
          Fixed build error for MSVS 2012
    
    Aurélien Labrosse (1):
          Updated splash screen handler management
    
    Daniel Knorr (6):
          Inserted parameter to the httpGet that the subjects and experiments have more attributes to show in applications.
          Added static member variables for each item of the parameter string.     Added getter and setter for attributes also.
          Added some specific attributes for an experiment.
          Added a timer which keeps count of the session timeout.     This timer emits two signals: sessionTimedOut and sessionAboutToBeTimedOut.
          Removed clear numbers - added times from session cookie
          Changed signal that the session times out always in one minute.     Variable for time that the session times out soon renamed.
    
    Dmitry Mikhirev (1):
          fix build on platforms where qreal is not equivalent of double
    
    Eric Heim (2):
          upgraded PythonQt.cmake to use PythonQt3 in the superbuild with Qt5 and 4
          Changed name of variable to set the Qt version in PythonQt to match present naming convention
    
    Heather (2):
          fix Core linking: FreeBSD does not have a libdl
          Add /usr/local/include for FreeBSD (QtOpengl)
    
    Jean-Christophe Fillion-Robin (18):
          Remove unused/non-implemented VisualizationXIP library
          CTKCore: Generalize test checking if dl library is available.
          CTKCore: Fix typo introduced in commontk/CTK@f8b31c3
          COMP: ctkMacroBuildLibWrapper: Improve configuration status messages
          ENH: Extend wrapping ctkVTKChartView and ctkVTKScalarsToColorsView
          Add ctkCoreTestingUtilities module
          Add ctkCoreTestingMacros module
          Simplify ctkSettingsPanelTest1 using ctkCoreTestingMacros
          Extend ctkTesting(Utilities|Macro) to support QStringList
          ctkSettingsPanelTest1: Add "QStringList" test case
          ctkSettingsPanelTest1: Test return value of "changedSettings()"
          Extend ctkTesting(Utilities|Macro) to support QVariant
          ctkSettingsPanelTest1: Explicitly compare QVariant
          ctkSettingsPanelTest1: Improve readability splitting test in smaller functions
          ctkSettingsPanelTest1: Check settings after reloading from file
          ctkSettingsPanel: Add setter/getter for PropertyType::PreviousValue
          ctkSettingsPanel: Fix changedSettings() for empty QStringList
          ctkSettingsPanel: Ensure "settingChanged" signal is emitted only if needed.
    
    Jerome (5):
          Added double click support for patients and studies table
          Add an accessor to the internal QTableView
          Add an accessor to the three managed tables
          Add missing ending empty line
          Update table views when deleting patient
    
    Julien Finet (1):
          Support Qt 5.6 compilation
    
    Tobias Doerffel (1):
          ctkCheckableComboBox: implemented missing method checkableModelHelper()
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25068 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 18, 2016
Commits on May 17, 2016
  1. BUG: 4190. Set default storage node for vtkMRMLDiffusionTensorDisplay…

    …PropertiesNode to NULL since it does not need to store any data in a separate file.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25067 3bd1e089-480b-0410-8dfb-8563597acbee
    alexy committed May 17, 2016
Commits on May 16, 2016
  1. BUG: Fixed orientation reset of reformatted hot-linked slices

    Problem: When slices were hot-linked, slices that had "Reformat" orientation string were kept being reformatted to the same position, orientation, and spacing when the user manipulated any of the views.
    
    Root cause: The issue was that instead of checking the actual slice orientation, only orientation string was compared. Orientation string is "Reformat" for all orientations except axial, sagittal, and coronal.
    
    Solution: Compare actual slice orientation (slice position, panning, and zoom are ignored) to decide if position, orientation, spacing, field-of-view of two slices has to be synchronized.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25066 3bd1e089-480b-0410-8dfb-8563597acbee
    lassoan committed May 16, 2016
  2. STYLE: Removed incorrect version numbers from module documentation XMLs

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25065 3bd1e089-480b-0410-8dfb-8563597acbee
    pinter committed May 16, 2016
Commits on May 15, 2016
  1. BUG: Fixed tests failing due to missing selection and interaction nodes

    Method of retrieving selection and interaction nodes has changed. When legacy scenes are loaded without initializing the scene with an application logic (happens for some test cases) then selection and interaction nodes are not found. Legacy scenes are loaded without problems if the scene is initialized using application logic, so there is no need to add any backward compatibility mechanisms.
    
    Updated selection and interaction nodes in legacy test scenes (changed node ID to the value that is now automatically generated in current scenes) to eliminate warnings.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25064 3bd1e089-480b-0410-8dfb-8563597acbee
    lassoan committed May 15, 2016
Commits on May 14, 2016
  1. ENH: Added "jump to slice" feature to 3D view

    When the mouse is moved in a slice view with the shift key pressed, all slice views jump to the current mouse position.
    This feature is now added for 3D views as well.
    
    It is very useful for segmentation: when some artifacts or irregularities are visible in the reconstructed 3D models then it is very easy to find that place in the slice views and make corrections.
    
    It also makes browsing of atlases easier: the user can point to a model in the 3D view and easily find the corresponding structure in the slice views.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25063 3bd1e089-480b-0410-8dfb-8563597acbee
    lassoan committed May 14, 2016
Commits on May 13, 2016
  1. BUG: Enable use of labelValue for output label map

    A bug was introduced in svn 22211 [1] when the labelValue parameter in the ModelToLabelMap CLI was exposed to the interface.
    The erosion and dilation filters used in the code are binary ones and by default use the maximum of the data type of the label
    map, in this case hard coded to 255 for unsigned char. In order to do the full pipeline with the user selected label value, the
    code would need to be updated to use:
    erodeFilter->SetErodeValue(labelValue);
    dilateFilter->SetDilateValue(labelValue);
    A quicker fix is to adjust the output label map in the last step to set the desired label value, implemented in this patch.
    
    Investigating this issue, the hard coded kernel size was set into a variable, in anticipation of exposing it via the XML
    (quick tests showed no visible difference).
    
    Added a test and output using the label value 128. When run from the GUI, the model and volume were offset, so a transformed model
    was generated that overlaps the input volume and was used to generate the new baseline comparison volume.
    Removed unused baseline image.
    
    [1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22211
    
    Issue #3233
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25062 3bd1e089-480b-0410-8dfb-8563597acbee
    naucoin committed May 13, 2016
Commits on May 12, 2016
  1. STYLE: Updated user documentation for several modules. It includes up…

    …dates due to functionality changes, and rephrasing sections to make it more understandable.
    
    From: Hillary Lia <14hl43@queensu.ca>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25061 3bd1e089-480b-0410-8dfb-8563597acbee
    pinter committed May 12, 2016
Commits on May 8, 2016
  1. STYLE: Fix "parentheses" warning in qSlicerVolumeRenderingModuleWidget

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25060 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 8, 2016
  2. ENH: Add "exit-after-startup" command line option.

    This is useful to "measure" startup time.
    
    Note that part of the implementation of this feature was accidentally
    integrated in the previous commit.
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25059 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 8, 2016
  3. STYLE: Fix unused-parameter and unused-variable warnings

    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25058 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 8, 2016
  4. PERF: Improve interaction node lookup

    This commit updates the code to retrieve the node using its
    singleton node id.
    
    Suggested-by: Andras Lasso <lasso@queensu.ca>
    Suggested-by: Isaiah Norton <inorton@bwh.harvard.edu>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25057 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 8, 2016
  5. PERF: Improve selection node lookup

    Similarly to r25054, this commit updates the code to retrieve the node
    using its singleton node id.
    
    Suggested-by: Andras Lasso <lasso@queensu.ca>
    Suggested-by: Isaiah Norton <inorton@bwh.harvard.edu>
    
    git-svn-id: http://svn.slicer.org/Slicer4/trunk@25056 3bd1e089-480b-0410-8dfb-8563597acbee
    committed May 8, 2016