def __init__(self): self.step = 0 self.sliceLogic = slicer.vtkMRMLSliceLayerLogic() self.sliceLogic.SetMRMLScene(slicer.mrmlScene) self.sliceNode = slicer.vtkMRMLSliceNode() self.sliceNode.SetLayoutName("Black") slicer.mrmlScene.AddNode(self.sliceNode) self.sliceLogic.SetSliceNode(self.sliceNode)
def createNewSliceWidget(self, cmd): import qt import slicer p = urlparse.urlparse(cmd) q = urlparse.parse_qs(p.query) try: ID = str(q['ID'][0].strip()) except KeyError: ID = 'vtkMRMLScalarVolumeNode2' formattedDate = "N/A" if ID not in SlicerRequestHandler.sliceWidgets: #create slice node sliceNode = slicer.vtkMRMLSliceNode() sliceNode.SetName(ID + "SliceNode") sliceNode.SetLayoutName(ID) sliceNode.SetLayoutLabel("VR") sliceNode.SetLayoutColor(1, 0, 0.93) #create slice widget slicer.mrmlScene.AddNode(sliceNode) sliceWidget = slicer.app.layoutManager().sliceWidget(ID) sliceWidget.setWindowFlags(qt.Qt.Window) #create new window with the slice widget sliceWidget.setGeometry(qt.QRect(0, 0, 400, 400)) sliceNode.SetDimensions(400, 400, 1) compNode = sliceWidget.sliceLogic().GetSliceCompositeNode() compNode.SetBackgroundVolumeID(ID) sliceWidget.show() SlicerRequestHandler.sliceWidgets[ID] = sliceWidget #sliceWidget.sliceLogic().StartSliceNodeInteraction(slicer.vtkMRMlSliceNode.ResetFieldofViewFlag) sliceWidget.sliceLogic().FitSliceToAll() #sliceNode.UpdateMatrices() #sliceWidget.sliceLogic().EndSliceNodeInteraction() #sliceWidget.hide() uids = slicer.util.getNode(ID).GetAttribute("DICOM.instanceUIDs") firstUid = uids.split(" ")[0] rawDate = slicer.dicomDatabase.instanceValue( firstUid, "0008,0020").encode("ascii") formattedDate = datetime.date(int(rawDate[0:4]), int(rawDate[4:6]), int(rawDate[6:8])).strftime('%B %d, %Y') return formattedDate
def createNewSliceWidget(self,cmd): import qt import slicer p = urlparse.urlparse(cmd) q = urlparse.parse_qs(p.query) try: ID = str(q['ID'][0].strip()) except KeyError: ID = 'vtkMRMLScalarVolumeNode2' formattedDate = "N/A" if ID not in SlicerRequestHandler.sliceWidgets: #create slice node sliceNode = slicer.vtkMRMLSliceNode() sliceNode.SetName(ID + "SliceNode") sliceNode.SetLayoutName(ID) sliceNode.SetLayoutLabel("VR") sliceNode.SetLayoutColor(1,0,0.93) #create slice widget slicer.mrmlScene.AddNode(sliceNode) sliceWidget = slicer.app.layoutManager().sliceWidget(ID) sliceWidget.setWindowFlags(qt.Qt.Window) #create new window with the slice widget sliceWidget.setGeometry(qt.QRect(0,0,400,400)) sliceNode.SetDimensions(400,400,1) compNode = sliceWidget.sliceLogic().GetSliceCompositeNode() compNode.SetBackgroundVolumeID(ID) sliceWidget.show() SlicerRequestHandler.sliceWidgets[ID] = sliceWidget #sliceWidget.sliceLogic().StartSliceNodeInteraction(slicer.vtkMRMlSliceNode.ResetFieldofViewFlag) sliceWidget.sliceLogic().FitSliceToAll() #sliceNode.UpdateMatrices() #sliceWidget.sliceLogic().EndSliceNodeInteraction() #sliceWidget.hide() uids = slicer.util.getNode(ID).GetAttribute("DICOM.instanceUIDs") firstUid = uids.split(" ")[0] rawDate = slicer.dicomDatabase.instanceValue(firstUid, "0008,0020").encode("ascii") formattedDate = datetime.date(int(rawDate[0:4]), int(rawDate[4:6]), int(rawDate[6:8])).strftime('%B %d, %Y') return formattedDate