Import 2017-06-07 23:51:09: master e4ffa1f6

Author Committer Branch Timestamp Parent
lassoan lassoan master 2015-06-04 16:12:02 master 55215ab9
Changeset

ENH: Use vtkMRMLLabelMapVolumeNode class for labelmap volumes

Before vtkMRMLScalarVolumeNode was used for both scalar and label map
volumes and the LabelMap custom MRML node attribute was used for
distinguishing between them (0=scalar; 1=label map volume).
This made conversion between labelmap/scalar volumes very easy but made
it difficult to customize behavior, display, processing of segmentation
information.

Now a new vtkMRMLLabelMapVolumeNode class is used for storing segmentation
information (still using vtkMRMLScalarVolume used as base class for backward
compatibility; but in the future the base class may be changed to reflect
that segmentation can be represented in various ways, not just as volumes).

Notes:

A new "segmentation" node has been developed that is based on vtkMRMLLabelMapVolumeNode,
which can store segmentation information in various ways (not just labelmaps but planar
contours, closed surfaces, etc). To allow using of this new segmentation node,
first the vtkMRMLLabelMapVolumeNode has to be integrated into the Slicer core.

When reading a scene that was saved with an old version of Slicer, label maps are stored
in vtkMRMLScalarVolumeNode with label map attribute set to 1. Added a check for this case
and handle it by converting the vtkMRMLScalarVolumeNode to a vtkMRMLLabelMapVolumeNode during import.

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

mod - Applications/SlicerApp/Testing/Python/CMakeLists.txt Diff File
mod - Applications/SlicerApp/Testing/Python/SubjectHierarchyGenericSelfTest.py Diff File
rm - Applications/SlicerApp/Testing/Python/labelToggleBug2049.py Diff File
mod - Base/Logic/vtkSlicerApplicationLogic.cxx Diff File
mod - Base/Python/sitkUtils.py Diff File
mod - Base/Python/slicer/util.py Diff File
mod - Base/QTCLI/qSlicerCLIModuleUIHelper.cxx Diff File
mod - Base/QTCLI/vtkSlicerCLIModuleLogic.cxx Diff File
mod - Base/QTCore/qSlicerSlicer2SceneReader.cxx Diff File
mod - Extensions/Testing/ScriptedLoadableExtensionTemplate/ScriptedLoadableModuleTemplate/ScriptedLoadableModuleTemplate.py Diff File
mod - Libs/MRML/Core/CMakeLists.txt Diff File
add - Libs/MRML/Core/vtkMRMLLabelMapVolumeNode.cxx Diff File
add - Libs/MRML/Core/vtkMRMLLabelMapVolumeNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLParser.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLScalarVolumeNode.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLScalarVolumeNode.h Diff File
mod - Libs/MRML/Core/vtkMRMLScene.cxx Diff File
mod - Libs/MRML/Logic/vtkMRMLSliceLayerLogic.cxx Diff File
mod - Libs/MRML/Widgets/Resources/UI/qMRMLSliceControllerWidget.ui Diff File
mod - Libs/MRML/Widgets/Resources/UI/qMRMLVolumeInfoWidget.ui Diff File
mod - Libs/MRML/Widgets/Testing/qMRMLNodeComboBoxTest4.cxx Diff File
mod - Libs/MRML/Widgets/Testing/qMRMLSliceControllerWidgetTest.cxx Diff File
mod - Libs/MRML/Widgets/Testing/qMRMLVolumeInfoWidgetEventTranslatorPlayerTest1.xml Diff File
mod - Libs/MRML/Widgets/qMRMLNodeComboBox.h Diff File
mod - Libs/MRML/Widgets/qMRMLSliceControllerWidget.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLVolumeInfoWidget.cxx Diff File
mod - Libs/MRML/Widgets/qMRMLVolumeInfoWidget.h Diff File
mod - Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.cxx Diff File
mod - Modules/Loadable/MultiVolumeRendering/Resources/UI/qSlicerMultiVolumeRenderingModuleWidget.ui Diff File
mod - Modules/Loadable/MultiVolumeRendering/qSlicerMultiVolumeRenderingModuleWidget.cxx Diff File
mod - Modules/Loadable/SubjectHierarchy/Widgets/qSlicerSubjectHierarchySegmentPlugin.cxx Diff File
mod - Modules/Loadable/TractographyInteractiveSeeding/Resources/UI/qSlicerTractographyInteractiveSeedingModuleWidget.ui Diff File
mod - Modules/Loadable/TractographyInteractiveSeeding/qSlicerTractographyInteractiveSeedingModuleWidget.cxx Diff File
mod - Modules/Loadable/Volumes/Logic/vtkSlicerVolumesLogic.cxx Diff File
mod - Modules/Loadable/Volumes/Logic/vtkSlicerVolumesLogic.h Diff File
mod - Modules/Loadable/Volumes/SubjectHierarchyPlugins/qSlicerSubjectHierarchyVolumesPlugin.cxx Diff File
mod - Modules/Loadable/Volumes/Testing/Cxx/vtkSlicerVolumesLogicTest1.cxx Diff File
mod - Modules/Loadable/Volumes/Widgets/qSlicerVolumeDisplayWidget.cxx Diff File
mod - Modules/Loadable/Volumes/Widgets/qSlicerVolumeDisplayWidget.h Diff File
mod - Modules/Loadable/Volumes/qSlicerVolumesReader.cxx Diff File
mod - Modules/Scripted/DICOM2FullBrainTractography/DICOM2FullBrainTractographyLib/full_tractography_workflow.py Diff File
mod - Modules/Scripted/DataProbe/DataProbe.py Diff File
mod - Modules/Scripted/EditorLib/HelperBox.py Diff File
mod - Modules/Scripted/EditorLib/WatershedFromMarkerEffect.py Diff File
mod - Modules/Scripted/FiberBundleToLabelMap/FiberBundleToLabelMap.py Diff File
mod - Modules/Scripted/LabelStatistics/LabelStatistics.py Diff File
mod - SuperBuild.cmake Diff File
mod - Utilities/Templates/Modules/Scripted/TemplateKey.py Diff File