BUG: Fixed error with intensity sampling; removed code not used under Slicer4

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23485 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: cli-modules were not included in PATH of installed version of MAC so added it to search path

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23486 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix IconEngine and d&d of QStandardItems with icons

When doing drag&drop, the mime data failed to stream the QIcon because
qSlicerIconEnginePlugin was not a subclass of QIconEngineV2.
Regression when adding Qt5 support in CTK.
Closes #3778

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23487 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix CheckForLabelVolumeValidity warning. Fixes #3776

This commit fixes a regression introduced in r23406 [1]
where calling CheckForLabelVolumeValidity with two volumes that have
the same dimension was returning a wrong warning, e.g. "IJKToRAS mismatch
at [0, 3] (-89.6207 != -89.6207)", "IJKToRAS mismatch
at [1, 1] (0.000542851 != 0.000542851)", and "IJKToRAS mismatch
at [2, 0] (4.32616e-09 != 4.32616e-09) IJKToRAS mismatch
at [2, 2] (0.0752821 != 0.0752821)", and "IJKToRAS mismatch
at [2, 3] (176.197 != 176.197)".

Thanks to "safir" for reporting the problem and suggesting a solution.

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23488 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Subject hierarchy UI update issues fixed
Fixes #3714

- qMRMLSceneSubjectHierarchyModel::nodeIndex rewritten to generate correct indices, parentNode also fixed. Workarounds removed
- New subject hierarchy nodes get simpler names
- Setting icons is not so simple as it should be due to a bug in Qt (https://bugreports.qt-project.org/browse/QTBUG-20248), which raises the need to check if the icon to be set is the same as the current icon of an item. This introduces one more thing to remember to the developer. Thus, instead of having the plugins set icons on items, they just return it (or an empty one), and the model does the check. This way developing plugins is not harder than before.
- Changed copyright information in all subject hierarchy files
- Instead of having the potential nodes list on the bottom of the module, those nodes are shown in the subject hierarchy tree on the top-level without icons. They can be shown/hidden with a checkbox under the tree, and can be handled the same way as in the potential list before.


git-svn-id: http://svn.slicer.org/Slicer4/trunk@23489 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Add HDF5 and Matlab TransformIO to ITKFactoryRegistration

This commit explicitly lists these transform to ensure the associated
files can be read/write.

This should help in fixing error related to the integration of
BRAINSFit and EMSegment.

Co-authored-by: Bradley Lowekamp <blowekamp@mail.nih.gov>
Co-authored-by: Steve Pieper <pieper@isomics.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23490 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added a method in VolumesLogic class to resample volume node.

Also changed the LabelStatistics.py to use the new resample logic to make labelmap same as input volume.

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23491 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added a method in VolumesLogic class to resample volume node.

Also added a new CloneVolume method which does not clone the imageData. Changed the LabelStatistics.py to use the new resample logic to make labelmap same as input volume.

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

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23492 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: test for active camera before enabling fiducials

Removes the error message that world to view and view to world
can't compute result due to a missing active camera. Delaying
setting the handles and widgets to be enabled if there's
no active camera defined on their renderers seems to work well
since the next time through the update code once the layout
has stabilised and the renderers are updated, the seeds 
will get positioned and enabled.

Issue #3761


git-svn-id: http://svn.slicer.org/Slicer4/trunk@23493 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: check for valid transform pointers to avoid crash

On scene close and possibly other circumstances there can be transform
nodes that don't have valid transforms, so check the pointers.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23494 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix logic on showing slice intersections

Added an attribute (and a name) for the volume slice
model display nodes and check for it in a new slice
logic static method. If it's not a volume slice model
display node, use the visibility of the regular
model to determine if should show the slice intersections,
otherwise rely on the slice intersections visible flag.

Issue #3718


git-svn-id: http://svn.slicer.org/Slicer4/trunk@23495 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: BRAINS can only now read in h5 files

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23496 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Remember if updates are automatic

Store if the user has enabled automatic extension updates in QSettings.

Issue #2089

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23497 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Adding API to check for extension updates

Add some initial API to manage scheduling extensions for update, similar
to how we schedule extensions for uninstall (as the implementation will
necessarily be similar). For now, the settings management should be
working; the rest (including a checkForUpdates() method) is mostly
placeholder that is needed to start implementing UI and underlying
logic.

Issue #2089

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23498 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Start adding logic to check for updates

Add logic to issue server API calls to check for updates to extensions,
and to manage the same. This is still missing anything to actually
download or apply said updates.

Issue #2089

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

Refactor update download logic, introducing a new 'task' class to
manager downloads, rather than trying everything through the network
manager's signals. Also, move the code to start such a task to a helper
function. Leverage these to hook up downloading of updates, now that
tasks can have different completion handlers assigned. Write update
archive file and scheduling information on update download completion.

Issue #2089

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23500 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Improve extension manager info icons

Tweak the information icons used in the extension manager to have whiter
glyphs, and a less muddy glyph for the 'i' (update available) icon.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23501 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Hook up UI for updating extensions

Hook up update availability and download progress reporting in extension
model. Add UI to extension manager to report update availability and
allow requesting updates and canceling such requests. This brings update
management almost to full functionality, missing only to actually
install the update on restart.

Issue #2089

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23502 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Improve UI update scheduling

Improve update handling to enable 'restart' button when appropriate due
to update-related actions. Disable updating of extensions scheduled to
be uninstalled (the model already does this, but having the button
enabled makes for a confusing user experience where clicking the update
button does nothing).

Issue #2089

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23503 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Implement installation of updates

Implement installation of updates to extensions (consisting of first
removing the old version, then installing the new version). Note that
this will attempt to install new dependencies as well. Also, change
handling of update downloads to additionally write the metadata for the
update (in addition to the archive), as we'll want it when we install
the update and need to persist it across a restart.

Issue #2089

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