def setup(self): ScriptedLoadableModuleWidget.setup(self) # Add margin to the sides self.layout.setContentsMargins(4,0,4,0) # # Segment editor widget # import qSlicerSegmentationsModuleWidgetsPythonQt self.editor = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget() self.editor.setMaximumNumberOfUndoStates(10) # Set parameter node first so that the automatic selections made when the scene is set are saved self.selectParameterNode() self.editor.setMRMLScene(slicer.mrmlScene) self.layout.addWidget(self.editor) # Observe editor effect registrations to make sure that any effects that are registered # later will show up in the segment editor widget. For example, if Segment Editor is set # as startup module, additional effects are registered after the segment editor widget is created. import qSlicerSegmentationsEditorEffectsPythonQt #TODO: For some reason the instance() function cannot be called as a class function although it's static factory = qSlicerSegmentationsEditorEffectsPythonQt.qSlicerSegmentEditorEffectFactory() self.effectFactorySingleton = factory.instance() self.effectFactorySingleton.connect('effectRegistered(QString)', self.editorEffectRegistered) # Connect observers to scene events self.addObserver(slicer.mrmlScene, slicer.mrmlScene.StartCloseEvent, self.onSceneStartClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndCloseEvent, self.onSceneEndClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndImportEvent, self.onSceneEndImport)
def setup(self): ScriptedLoadableModuleWidget.setup(self) # Add margin to the sides self.layout.setContentsMargins(4, 0, 4, 0) # # Segment editor widget # import qSlicerSegmentationsModuleWidgetsPythonQt self.editor = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget( ) self.editor.setMaximumNumberOfUndoStates(10) # Set parameter node first so that the automatic selections made when the scene is set are saved self.selectParameterNode() self.editor.setMRMLScene(slicer.mrmlScene) self.layout.addWidget(self.editor) # Connect observers to scene events self.addObserver(slicer.mrmlScene, slicer.mrmlScene.StartCloseEvent, self.onSceneStartClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndCloseEvent, self.onSceneEndClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndImportEvent, self.onSceneEndImport)
def setup(self): ScriptedLoadableModuleWidget.setup(self) # Add margin to the sides self.layout.setContentsMargins(4,0,4,0) # # Parameter Combobox # self.parameterSelector = slicer.qMRMLNodeComboBox() self.parameterLabel = qt.QLabel("Parameter set: ") self.parameterSelector.nodeTypes = ["vtkMRMLSegmentEditorNode"] self.parameterSelector.removeEnabled = False self.parameterSelector.showHidden = True self.parameterSelector.setMRMLScene( slicer.mrmlScene ) self.parameterLayout = qt.QHBoxLayout() self.parameterLayout.addWidget(self.parameterLabel) self.parameterLayout.addWidget(self.parameterSelector) self.layout.addLayout(self.parameterLayout) self.parameterSelector.connect('currentNodeChanged(vtkMRMLNode*)', self.parameterNodeChanged) # # Segment editor widget # import qSlicerSegmentationsModuleWidgetsPythonQt self.editor = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget() # Set parameter node first so that the automatic selections made when the scene is set are saved self.selectParameterNode() self.editor.setMRMLScene(slicer.mrmlScene) self.layout.addWidget(self.editor) # Connect observers to scene events self.addObserver(slicer.mrmlScene, slicer.mrmlScene.StartCloseEvent, self.onSceneStartClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndCloseEvent, self.onSceneEndClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndImportEvent, self.onSceneEndImport)
def _createSegmentEditorWidget_(self): """Create and initialize a customize Slicer Editor which contains just some the tools that we need for the segmentation""" import qSlicerSegmentationsModuleWidgetsPythonQt # Segment editor area self.segmentEditorAreaCollapsibleButton = ctk.ctkCollapsibleButton() self.segmentEditorAreaCollapsibleButton.text = "Segment editor" self.layout.addWidget(self.segmentEditorAreaCollapsibleButton, SlicerUtil.ALIGNMENT_VERTICAL_TOP) self.segmentEditorLayout = qt.QFormLayout( self.segmentEditorAreaCollapsibleButton) self.segmentEditorWidget = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget( ) self.segmentEditorWidget.setMaximumNumberOfUndoStates(10) self.segmentEditorWidget.setMRMLScene(slicer.mrmlScene) self.segmentEditorWidget.unorderedEffectsVisible = False self.segmentEditorWidget.setEffectNameOrder( ['Paint', 'Draw', 'Erase', 'Scissors']) self.segmentEditorNode = slicer.mrmlScene.AddNewNodeByClass( "vtkMRMLSegmentEditorNode") self.segmentEditorNode.SetSingletonTag("CIP_Calibration") self.segmentEditorWidget.setMRMLSegmentEditorNode( self.segmentEditorNode) self.segmentEditorWidget.setMasterVolumeNodeSelectorVisible(False) self.segmentEditorWidget.setSegmentationNodeSelectorVisible(False) self.segmentEditorWidget.setSwitchToSegmentationsButtonVisible(False) self.segmentEditorWidget.findChild('ctkMenuButton', 'Show3DButton').hide() self.segmentEditorWidget.findChild('QPushButton', 'AddSegmentButton').hide() self.segmentEditorWidget.findChild('QPushButton', 'RemoveSegmentButton').hide() self.segmentEditorWidget.show() self.segmentEditorLayout.addWidget(self.segmentEditorWidget)
def _createSegmentEditorWidget_(self): """Create and initialize a customize Slicer Editor which contains just some the tools that we need for the segmentation""" import qSlicerSegmentationsModuleWidgetsPythonQt self.segmentEditorWidget = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget( ) self.segmentEditorWidget.setMaximumNumberOfUndoStates(10) self.segmentEditorWidget.setMRMLScene(slicer.mrmlScene) self.segmentEditorWidget.unorderedEffectsVisible = False self.segmentEditorWidget.setEffectNameOrder([ 'Paint', 'Draw', 'Erase', 'Threshold', 'Grow from seeds', 'Scissors' ]) self.layout.addWidget(self.segmentEditorWidget)
def setup(self): ScriptedLoadableModuleWidget.setup(self) # Add margin to the sides self.layout.setContentsMargins(4,0,4,0) # # Segment editor widget # import qSlicerSegmentationsModuleWidgetsPythonQt self.editor = qSlicerSegmentationsModuleWidgetsPythonQt.qMRMLSegmentEditorWidget() # Set parameter node first so that the automatic selections made when the scene is set are saved self.selectParameterNode() self.editor.setMRMLScene(slicer.mrmlScene) self.layout.addWidget(self.editor) # Connect observers to scene events self.addObserver(slicer.mrmlScene, slicer.mrmlScene.StartCloseEvent, self.onSceneStartClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndCloseEvent, self.onSceneEndClose) self.addObserver(slicer.mrmlScene, slicer.mrmlScene.EndImportEvent, self.onSceneEndImport)