BUG: Associate default icon with all modules.

Doing so will allow module to be added to the module toolbar by updating
the list of favorite modules in the application settings.

Fixes #3293

Co-authored-by: Julien Finet <julien.finet@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22288 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix opengl refresh frame issue on windows

Closes #3118, #2815

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22289 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3018. Fixed matrix multiplication order in vtkMRMLLinearTransformNode::ApplyTransformMatrix

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22290 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Update default module icon color

Commit r22288 associated a default icon with all modules. Then, as
suggested by Wendy Plesniak this commit changes the icon color to
be "SlicerBlue".

See #3293

Co-authored-by: Wendy Plesniak <wjp@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22291 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Use Module_ITKReview instead of ITK_USE_REVIEW.

ITK_USE_REVIEW is deprecated.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22292 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Do not resets cursor to the end of the line edit in settings panel

Update CTK project - see commit 073ae6e5:

// -------------
ctkSettingsPanel - Trigger registered signal only if needed

QTextEdit triggers the "textChanged" signal when the user types a
character. Since after triggering the signal the widget text was reset
and the caret was repositioned at the end of the string, this was
making it very hard to update settings.
// -------------

Fixes #1904

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22293 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Sync patch version to match latest stable release

The difference was explained by the fact the patch and tweak release have
been made of dedicated SVN branch with backporting commit from trunk,
the increase of tweak/patch number didn't make it back to the trunk.

This commit will minimize confusion for user by ensuring both the latest
stable release and the current nightly have the same major/minor/patch
version numbers.

Also added an entry to the post-release task list.
See http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Versioning#post_release

Fixes #3265

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22294 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Associate "--cmd" with installed launcher on windows

To start a console with the Slicer environement, from an installed tree,
instead of doing:

  .\Slicer.exe --launch "C:/Windows/System32/cmd.exe" /c start cmd

user will be able to simply do:

  .\Slicer.exe --cmd

Fixes #2917

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22295 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Script to version the na-mic data tree on Midas

This script can be used to duplicate the Nightly NA-MIC data tree on
Midas to a new folder tagged by the release version. The script used the
pydas api as well as some of Midas web-api for the methods not yet
ported to pydas. The script does not take any input arguments. All the
arguments should be provided as options using the option flags. For a
full list of options: "python release.py --help".
For now, it is assumed this script does not depend on slicer python. It
can be used from the regular python interpreter.

Added a function called versionData that takes the same arguments as
input as the command line module. This facilitates the use of this
script as a python importable module.
Improved documentation. Added docstring style documentation for
functions.

Added a new directory called release that will contain all scripts
that can be used when tagging Slicer for a new release. For example,
versioning Midas NA-MIC data tree, documentation generation, etc.

Added dry run functionality that prints the structure of the source
folder that is going to be duplicated. Made changes to test script as
well.

Added a an "_" before all functions that are not required by the user to
hide them.
Added an __all__ in the __init__.py for the package to know which module
it can import.
So, when you do a
           from release import *
only, midasdata should be imported and not the unittest.

Fixes #2561
Fixes #2704

Co-authored-by: Jean-Christophe Fillion-Robin <JChris.FillionR@kitware.com>

From: Sankhesh Jhaveri <sankhesh.jhaveri@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22296 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix "volume not marked as modified on save after harden transform".

Also, fix "annotations not marked as modified on save after they are changed" and "volume not marked as modified on save after volume origin or spacing is changed". Anytime a vtkMRMLStorableNode property that is saved in file is modified, the StorableModifiedTime time stamp must be modified.
Fixes #2980
Fixes #3246
Fixes #3260

From: Yuzheng Zhou <yuzheng.zhou@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22297 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix the misleading parameters in SetIJKToRASDirections.

Refactor setter methods SetIJKToRASDirections and fix its misleading parameters in vtkMRMLVolumeNode.
Fixes #3256

From: Yuzheng Zhou <yuzheng.zhou@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22298 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2737, #2929 improve RemoveIslands tool

This adds a new "Morphological" island removal algorithm that has
been tested as useful on the brain mask that is output from the
diffusion tensor estimation module.  It may be useful for other
applications as well.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22299 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix opengl refresh frame issue on windows - part 2

Closes #3118, #2815

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22300 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Change ctkDirectoryButton into ctkPathLineEdit

*DO NOT INTEGRATE*

Know issue: When updating the Cache directory in setting panel, each
key stroke leads to the creation of path.

Fixes #1672

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22301 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Updating SimpleFilters External Module

2d26004 BUG: ctkCoordinateWidget produces float string format use float
d359e40 Adding Slicer specific json for CastImageFilter
0a09fd6 BUG: Process events to update status label before filter execution
960b90e BUG: ignore TypeError due to printing non-printable chars
de11939 Move camel case regex to class scope
f793589 Remove self test registration since it doesn't work
4c535f4 Ignore Direction cosine parameters
2b7eacf Remove ChangeLabelImageFilter

From: Bradley Lowekamp <blowekamp@mail.nih.gov>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22302 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Revert r22301 - Change ctkDirectoryButton into ctkPathLineEdit

This commit has been integrated by error

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22303 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Add error log button to mainwindow

Each time a Warning/Error/Fatal message is logged, the tool button
associated with the error icon is highlighted.

If the user either

 (1) click on the button

or

 (2) focus on the error log widget in case it was already visible, the
 icon associated with the tool button is "un-highlighted".

Fixes #1349
Fixes #2537

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22304 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Simplify error log widget eventFilter

Instead of creating a specific event filter class "qSlicerErrorLogWidgetEventFilter",
re-use the already installed eventFilter associated with the main window.
See "qSlicerAppMainWindow::eventFilter"

See issue #1349

Co-authored-by: Julien Finet <julien.finet@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22305 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: #3309 add SurfaceToolbox module from Luca Antiga

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22306 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure ErrorLog/PythonConsole menu entry bring dialog to foreground

This commit partly revert commit r19500 making sure the errorLog and
pythonconsole menu entry are non-checkable. It means that if one of the
dialog is already shown but in the background, selecting the menu entry
will bring the dialog to the foreground instead of hiding it.

Also simplify who the errorLog button interact with its associated
ErrorLog dialog by simply associated the corresponding QAction.

Note also that the QAction icon is the one that is now
highlighted/unhighlighted based on the addition of new
warning/error/cricial messages. The icon is now updated both
in the bottom right corner (Error log button) and in the menu entries.

See issue #1349

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