ソースを参照

Adding instanceUID handling to loadDicom and exportDicom

NIX User 5 年 前
コミット
98592f54e1
2 ファイル変更25 行追加1 行削除
  1. 24 1
      DICOMtools/exportDicom.py
  2. 1 0
      DICOMtools/loadDicom.py

+ 24 - 1
DICOMtools/exportDicom.py

@@ -165,7 +165,6 @@ class exportDicomLogic(slicer.ScriptedLoadableModule.ScriptedLoadableModuleLogic
 
 
 
-
   def generateStudyUUID(self,type,baseUUID):
 
         x=datetime.datetime.now()
@@ -190,6 +189,30 @@ class exportDicomLogic(slicer.ScriptedLoadableModule.ScriptedLoadableModuleLogic
 
 
 
+
+  def generateSOPInstanceUUID(self,type,baseUUID):
+
+        x=datetime.datetime.now()
+        date=x.strftime("%Y%m%d")
+        instanceFile=os.path.join(self.basePath,'instanceCount'+date+'.txt')
+
+        try:
+            f=open(instanceFile,"r")
+            id=int(f.readline())
+            id=id+1
+            f.close()
+        except:
+            id=0
+
+        instanceId="{}.{}.{}.{}.{}".format(baseUUID,self.labelUUID['instance'],
+                        self.dataUUID[type],date,id)
+
+        f=open(instanceFile,"w")
+        f.write("{}".format(id))
+        f.close()
+        return instanceId
+
+
   def generateFrameOfReferenceUUID(self,type,baseUUID):
 
         x=datetime.datetime.now()

+ 1 - 0
DICOMtools/loadDicom.py

@@ -96,6 +96,7 @@ class loadDicomLogic(slicer.ScriptedLoadableModule.ScriptedLoadableModuleLogic):
         slicer.ScriptedLoadableModule.ScriptedLoadableModuleLogic.__init__(self, parent)
 
         self.tag={
+              'SOPInstanceUID' : {'tag':"0008,0018",'VR','UI'},
               'studyDate': {'tag':"0008,0020",'VR':'DA'},
               'studyTime': {'tag':"0008,0030",'VR':'TM'},
               'seriesTime': {'tag':"0008,0031",'VR':'TM'},