Import 2017-06-07 23:51:09: master 62c6900b

Author Committer Branch Timestamp Parent
pinter pinter master 2017-03-07 15:32:06 master d7f86906
Changeset

ENH: Created single-node subject hierarchy mechanism, updated modules to build using it


Details:

ENH: Updated remaining classes. Build succeeds

ENH: Update subject hierarchy plugins and fix build errors

ENH: Subject hierarchy core builds alright

ENH: Updated SH tree view

Also moved model classes back to the module because they use SH specific functions (logic, etc.)

ENH: Updated SH proxy model and progress with new tree view

ENH: Automatic subject hierarchy creation and event processing

ENH: Subject hierarchy logic and plugin handler updated

to use new node and items

ENH: Added new subject hierarchy model WIP

New qMRMLSubjectHierarchyModel class added that will use the new subject hierarchy node for the data model. Removed AutoCreateSubjectHierarchy option from application settings, as it won't be needed with the new model in place. Subject hierarchy abstract plugin updated for new subject hierarchy node and items.

Remaining tasks: Subject hierarchy logic, all plugin classes, tree view, CLI support, extensions using SH, new SH features (model hierarchy support, reordering, expand state preservation, filtering in tree view by name)

ENH: Re-wrote vtkMRMLSubjectHierarchyNode to contain the whole tree WIP

The new subject hierarchy node contains the whole tree instead of representing an item in the tree. The advantages:

  • No node duplication for the data nodes, only one extra node is in the scene. This means that SH can be turned on by default, so the extra step of enabling it will not be necessary
  • No nested associations to support multiple types of hierarchies (mainly model hierarchy). Subject hierarchy will be able to co-exist with other hierarchies more easily, and those hierarchies can be imported into SH, so for example atlases can be used from SH
  • Option to re-order nodes in the tree
  • No subject hierarchy postfix in node names, thus decreased complexity and chance for error

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

mod - Base/QTCLI/vtkSlicerCLIModuleLogic.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSegmentationNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSegmentationNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLSegmentationStorageNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSubjectHierarchyConstants.h Diff File
mod - Libs/MRML/Core/vtkMRMLSubjectHierarchyNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLSubjectHierarchyNode.h Diff File
mod - Libs/MRML/Widgets/qMRMLSceneModel.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLSceneModel.h Diff File
mod - Libs/MRML/Widgets/qMRMLSceneModel_p.h Diff File
mod - Libs/MRML/Widgets/qMRMLSortFilterProxyModel.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLSortFilterProxyModel.h Diff File
mod - Libs/MRML/Widgets/qMRMLTreeView.h Diff File
mod - Modules/Loadable/Markups/SubjectHierarchyPlugins/qSlicerSubjectHierarchyMarkupsPlugin.cxx Diff File
mod - Modules/Loadable/Markups/SubjectHierarchyPlugins/qSlicerSubjectHierarchyMarkupsPlugin.h Diff File
mod - Modules/Loadable/Models/SubjectHierarchyPlugins/qSlicerSubjectHierarchyModelsPlugin.cxx Diff File
mod - Modules/Loadable/Models/SubjectHierarchyPlugins/qSlicerSubjectHierarchyModelsPlugin.h Diff File
mod - Modules/Loadable/SceneViews/SubjectHierarchyPlugins/qSlicerSubjectHierarchySceneViewsPlugin.cxx Diff File
mod - Modules/Loadable/SceneViews/SubjectHierarchyPlugins/qSlicerSubjectHierarchySceneViewsPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Logic/vtkSlicerSegmentationsModuleLogic.cxx Diff File
mod - Modules/Loadable/Segmentations/Logic/vtkSlicerSegmentationsModuleLogic.h Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/qSlicerSubjectHierarchySegmentationsPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/qSlicerSubjectHierarchySegmentationsPlugin.h Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/qSlicerSubjectHierarchySegmentsPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/qSlicerSubjectHierarchySegmentsPlugin.h Diff File
mod - Modules/Loadable/Segmentations/qSlicerSegmentationsModule.cxx Diff File
mod - Modules/Loadable/Segmentations/qSlicerSegmentationsModule.h Diff File
mod - Modules/Loadable/Segmentations/qSlicerSegmentationsModuleWidget.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Logic/vtkSlicerSubjectHierarchyModuleLogic.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Logic/vtkSlicerSubjectHierarchyModuleLogic.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Resources/UI/qSlicerSubjectHierarchyModule.ui Diff File
mod - Modules/Loadable/SubjectHierarchy/Resources/UI/qSlicerSubjectHierarchySettingsPanel.ui Diff File
mod - Modules/Loadable/SubjectHierarchy/Testing/Cxx/vtkSlicerSubjectHierarchyModuleLogicTest.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/CMakeLists.txt Diff File
rm - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSceneSubjectHierarchyModel.cxx Diff File
rm - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSceneSubjectHierarchyModel.h Diff File
rm - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSceneSubjectHierarchyModel_p.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSortFilterSubjectHierarchyProxyModel.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSortFilterSubjectHierarchyProxyModel.h Diff File
add - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx Diff File
add - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.h Diff File
add - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel_p.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyTreeView.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyTreeView.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLTransformItemDelegate.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qMRMLTransformItemDelegate.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyAbstractPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyAbstractPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyChartsPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyChartsPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyCloneNodePlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyCloneNodePlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyDefaultPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyFolderPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyFolderPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyParseLocalDataPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyParseLocalDataPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginHandler.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginHandler.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginLogic.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyPluginLogic.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyRegisterPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyRegisterPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyScriptedPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchyScriptedPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchySegmentPlugin.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchySegmentPlugin.h Diff File
mod - Modules/Loadable/SubjectHierarchy/qSlicerSubjectHierarchyModuleWidget.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/qSlicerSubjectHierarchyModuleWidget.h Diff File
mod - Modules/Loadable/SubjectHierarchy/qSlicerSubjectHierarchySettingsPanel.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/qSlicerSubjectHierarchySettingsPanel.h Diff File
mod - Modules/Loadable/Tables/SubjectHierarchyPlugins/qSlicerSubjectHierarchyTablesPlugin.cxx Diff File
mod - Modules/Loadable/Tables/SubjectHierarchyPlugins/qSlicerSubjectHierarchyTablesPlugin.h Diff File
mod - Modules/Loadable/Transforms/SubjectHierarchyPlugins/qSlicerSubjectHierarchyTransformsPlugin.cxx Diff File
mod - Modules/Loadable/Transforms/SubjectHierarchyPlugins/qSlicerSubjectHierarchyTransformsPlugin.h Diff File
mod - Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyLabelMapsPlugin.cxx Diff File
mod - Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyLabelMapsPlugin.h Diff File
mod - Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyVolumesPlugin.cxx Diff File
mod - Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyVolumesPlugin.h Diff File
mod - Modules/Scripted/DICOMLib/Logic/vtkSlicerDICOMExportable.cxx Diff File
mod - Modules/Scripted/DICOMLib/Logic/vtkSlicerDICOMExportable.h Diff File
mod - Modules/Scripted/DICOMLib/SubjectHierarchyPlugins/qSlicerSubjectHierarchyDICOMPlugin.cxx Diff File
mod - Modules/Scripted/DICOMLib/SubjectHierarchyPlugins/qSlicerSubjectHierarchyDICOMPlugin.h Diff File
mod - Modules/Scripted/DICOMLib/Widgets/qSlicerDICOMExportDialog.cxx Diff File
mod - Modules/Scripted/DICOMLib/Widgets/qSlicerDICOMExportDialog.h Diff File
mod - Modules/Scripted/DICOMLib/Widgets/qSlicerDICOMExportable.cxx Diff File
mod - Modules/Scripted/DICOMLib/Widgets/qSlicerDICOMExportable.h Diff File
mod - Modules/Scripted/DICOMLib/Widgets/qSlicerDICOMTagEditorWidget.cxx Diff File