Browse Source

Adding segment editor to imageBrowser

Andrej Studen 2 years ago
parent
commit
5fcbdbccac
1 changed files with 24 additions and 0 deletions
  1. 24 0
      slicerModules/imageBrowser.py

+ 24 - 0
slicerModules/imageBrowser.py

@@ -51,6 +51,7 @@ class imageBrowserWidget(ScriptedLoadableModuleWidget):
         self.addInfoSection()
         self.addSetupSection()
         self.addPatientsSelector()
+        self.addSegmentEditor()
 
     def addInfoSection(self):  
         #a python overview of json settings
@@ -221,6 +222,21 @@ class imageBrowserWidget(ScriptedLoadableModuleWidget):
         submitFrame.setStyleSheet("background-color:rgba(220,215,180,45)")
         self.reviewBoxLayout.addWidget(submitFrame)
 
+    def addSegmentEditor(self):
+        editorCollapsibleButton = ctk.ctkCollapsibleButton()
+        editorCollapsibleButton.text = "Segment Editor"
+        self.layout.addWidget(editorCollapsibleButton)
+        hLayout=qt.QVBoxLayout(editorCollapsibleButton)
+
+        self.segmentEditorWidget=slicer.qMRMLSegmentEditorWidget()
+        hLayout.addWidget(self.segmentEditorWidget)
+
+        self.segmentEditorWidget.setMRMLScene(slicer.mrmlScene)
+        segEditorNode=slicer.vtkMRMLSegmentEditorNode()
+        slicer.mrmlScene.AddNode(segEditorNode)
+        self.segmentEditorWidget.setMRMLSegmentEditorNode(segEditorNode)
+        
+
     def onSetupListChanged(self,i):
         status=self.logic.setConfig(self.setupList.currentText)
         try:
@@ -289,10 +305,18 @@ class imageBrowserWidget(ScriptedLoadableModuleWidget):
         #delegate loading to logic
         self.logic.loadImages(self.currentRow,self.keepCached.isChecked())
         self.logic.loadSegmentation(self.currentRow)
+        self.setSegmentEditor()
         #self.logic.loadReview(self.currentRow)
         #self.logic.loadAE(self.currentRow)
 
         #self.onReviewSegmentChanged()
+
+    def setSegmentEditor(self):
+        #use current row to set segment in segment editor
+        self.segmentEditorWidget.setSegmentationNode(
+            self.logic.volumeNode['Segmentation'])
+        self.segmentEditorWidget.setMasterVolumeNode(
+            self.logic.volumeNode['PET'])
   
     def onReviewSegmentChanged(self):
         pass