Import 2017-06-07 23:51:09: master 28041c8b

Author Committer Branch Timestamp Parent
jcfr jcfr master 2016-07-05 21:29:30 master f5b48bbc
Changeset

ENH: Add new segmentations infrastructure

This commit integrates the segmentations infrastructure that has been
incubated in the SlicerRT project. It is a new paradigm for handling
segmentations, see slides [1] to understand the underlying concepts.

[1] https://www.slicer.org/slicerWiki/index.php/File:20160526_Segmentations.pptx

More specifically, it adds:

  • vtkSegmentationCore library (only depends on VTK)

  • Segmentations loadable module including:

    • EditorEffects
    • Logic
    • MRML
    • MRML displayable manager
    • Widgets
  • Segment editor scripted module

Co-authored-by:
Andras Lasso <lasso@queensu.ca>
Adam Rankin <arankin@robarts.ca> (initial implementation round for segmentation MRML and containers)
Kyle Sunderland <1krs1@queensu.ca> (developed vtkPlanarContourToClosedSurfaceConversionRule)
Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> (build infrastructure and compilation warning fixes)

From: Csaba Pinter <csaba.pinter@queensu.ca>

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

mod - Libs/CMakeLists.txt Diff File
mod - Libs/MRML/Core/CMakeLists.txt Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationDisplayNode.cxx Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationDisplayNode.h Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationNode.cxx Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationNode.h Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationStorageNode.cxx Diff File
add - Libs/MRML/Core/vtkMRMLSegmentationStorageNode.h Diff File
add - Libs/vtkSegmentationCore/CMakeLists.txt Diff File
add - Libs/vtkSegmentationCore/Testing/CMakeLists.txt Diff File
add - Libs/vtkSegmentationCore/Testing/vtkSegmentationConverterTest1.cxx Diff File
add - Libs/vtkSegmentationCore/Testing/vtkSegmentationTest1.cxx Diff File
add - Libs/vtkSegmentationCore/vtkBinaryLabelmapToClosedSurfaceConversionRule.cxx Diff File
add - Libs/vtkSegmentationCore/vtkBinaryLabelmapToClosedSurfaceConversionRule.h Diff File
add - Libs/vtkSegmentationCore/vtkCalculateOversamplingFactor.cxx Diff File
add - Libs/vtkSegmentationCore/vtkCalculateOversamplingFactor.h Diff File
add - Libs/vtkSegmentationCore/vtkClosedSurfaceToBinaryLabelmapConversionRule.cxx Diff File
add - Libs/vtkSegmentationCore/vtkClosedSurfaceToBinaryLabelmapConversionRule.h Diff File
add - Libs/vtkSegmentationCore/vtkOrientedImageData.cxx Diff File
add - Libs/vtkSegmentationCore/vtkOrientedImageData.h Diff File
add - Libs/vtkSegmentationCore/vtkOrientedImageDataResample.cxx Diff File
add - Libs/vtkSegmentationCore/vtkOrientedImageDataResample.h Diff File
add - Libs/vtkSegmentationCore/vtkSegment.cxx Diff File
add - Libs/vtkSegmentationCore/vtkSegment.h Diff File
add - Libs/vtkSegmentationCore/vtkSegmentation.cxx Diff File
add - Libs/vtkSegmentationCore/vtkSegmentation.h Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverter.cxx Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverter.h Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverterFactory.cxx Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverterFactory.h Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverterRule.cxx Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationConverterRule.h Diff File
add - Libs/vtkSegmentationCore/vtkSegmentationCoreConfigure.h.in Diff File
add - Libs/vtkSegmentationCore/vtkTopologicalHierarchy.cxx Diff File
add - Libs/vtkSegmentationCore/vtkTopologicalHierarchy.h Diff File
mod - Modules/Loadable/CMakeLists.txt Diff File
add - Modules/Loadable/Segmentations/CMakeLists.txt Diff File
add - Modules/Loadable/Segmentations/EditorEffects/CMakeLists.txt Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/AbstractScriptedSegmentEditorEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/AbstractScriptedSegmentEditorIslandEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/AbstractScriptedSegmentEditorLabelEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/CMakeLists.txt Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Draw.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Erode.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/GrowCut.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/IdentifyIslands.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/LevelTracing.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Logical.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Margin.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/SaveIsland.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Smoothing.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/Resources/Icons/Threshold.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorDrawEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorEffects.__init__.py.in Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorGrowCutEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorIdentifyIslandsEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorLevelTracingEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorLogicalEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorMarginEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorSmoothingEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorThresholdEffect.py Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/Icons/CursorBaseArrow.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/Icons/Erase.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/Icons/NullEffect.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/Icons/Paint.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/Icons/Rectangle.png Diff File
add - Modules/Loadable/Segmentations/EditorEffects/Resources/qSlicerSegmentationsEditorEffects.qrc Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractEffect_p.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractIslandEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractIslandEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractLabelEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractLabelEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractLabelEffect_p.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorEffectFactory.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorEffectFactory.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorEraseEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorEraseEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorPaintEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorPaintEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorPaintEffect_p.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorRectangleEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorRectangleEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedIslandEffect.cxx Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedIslandEffect.h Diff File
add - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedLabelEffect.cxx Diff File
mod - Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorScriptedLabelEffect.h Diff File
mod - Modules/Loadable/Segmentations/Logic/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/Logic/vtkSlicerSegmentationsModuleLogic.cxx Diff File
mod - Modules/Loadable/Segmentations/Logic/vtkSlicerSegmentationsModuleLogic.h Diff File
mod - Modules/Loadable/Segmentations/MRML/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/MRML/vtkMRMLSegmentEditorNode.cxx Diff File
mod - Modules/Loadable/Segmentations/MRML/vtkMRMLSegmentEditorNode.h Diff File
mod - Modules/Loadable/Segmentations/MRMLDM/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/MRMLDM/vtkMRMLSegmentationsDisplayableManager2D.cxx Diff File
mod - Modules/Loadable/Segmentations/MRMLDM/vtkMRMLSegmentationsDisplayableManager2D.h Diff File
mod - Modules/Loadable/Segmentations/MRMLDM/vtkMRMLSegmentationsDisplayableManager3D.cxx Diff File
mod - Modules/Loadable/Segmentations/MRMLDM/vtkMRMLSegmentationsDisplayableManager3D.h Diff File
mod - Modules/Loadable/Segmentations/Resources/Icons/AddLabelmap.png Diff File
mod - Modules/Loadable/Segmentations/Resources/Icons/Segmentations.png Diff File
mod - Modules/Loadable/Segmentations/Resources/UI/qSlicerSegmentationsModule.ui Diff File
mod - Modules/Loadable/Segmentations/Resources/qSlicerSegmentationsModule.qrc Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/Resources/Icons/Segment.png Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/Resources/Icons/Segmentation.png Diff File
mod - Modules/Loadable/Segmentations/SubjectHierarchyPlugins/Resources/qSlicerSegmentationsSubjectHierarchyPlugins.qrc 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/Testing/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/Testing/Python/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/Testing/Python/SegmentationsModuleTest1.py Diff File
mod - Modules/Loadable/Segmentations/Widgets/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/CMakeLists.txt Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentEditorWidgetPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentEditorWidgetPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentSelectorWidgetPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentSelectorWidgetPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentationConversionParametersWidgetPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentationConversionParametersWidgetPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentationRepresentationsListViewPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentationRepresentationsListViewPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentsTableViewPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qMRMLSegmentsTableViewPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qSlicerSegmentationsModuleWidgetsAbstractPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qSlicerSegmentationsModuleWidgetsAbstractPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qSlicerSegmentationsModuleWidgetsPlugin.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/DesignerPlugins/qSlicerSegmentationsModuleWidgetsPlugin.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Add.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Edit.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Help.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/MakeModel.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Master.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Present.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/Icons/Remove.png Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/UI/qMRMLSegmentEditorWidget.ui Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/UI/qMRMLSegmentSelectorWidget.ui Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/UI/qMRMLSegmentationConversionParametersWidget.ui Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/UI/qMRMLSegmentationRepresentationsListView.ui Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/UI/qMRMLSegmentsTableView.ui Diff File
mod - Modules/Loadable/Segmentations/Widgets/Resources/qSlicerSegmentationsModuleWidgets.qrc Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLDoubleSpinBoxDelegate.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLDoubleSpinBoxDelegate.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentEditorWidget.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentEditorWidget.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentSelectorWidget.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentSelectorWidget.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentationConversionParametersWidget.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentationConversionParametersWidget.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentationRepresentationsListView.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentationRepresentationsListView.h Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentsTableView.cxx Diff File
mod - Modules/Loadable/Segmentations/Widgets/qMRMLSegmentsTableView.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/Segmentations/qSlicerSegmentationsModuleWidget.h Diff File
mod - Modules/Loadable/Segmentations/qSlicerSegmentationsReader.cxx Diff File
mod - Modules/Loadable/Segmentations/qSlicerSegmentationsReader.h Diff File
mod - Modules/Scripted/CMakeLists.txt Diff File
mod - Modules/Scripted/SegmentEditor/CMakeLists.txt Diff File
mod - Modules/Scripted/SegmentEditor/Resources/Icons/SegmentEditor.png Diff File
mod - Modules/Scripted/SegmentEditor/SegmentEditor.py Diff File