示例#1
0
 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)
示例#2
0
 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)
示例#3
0
    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
示例#4
0
  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