Browse Source

Manage rows with missing orthanc Ids

Andrej Studen 2 years ago
parent
commit
53d1b800fb
1 changed files with 19 additions and 4 deletions
  1. 19 4
      pythonScripts/preprocess.py

+ 19 - 4
pythonScripts/preprocess.py

@@ -46,6 +46,9 @@ def getDicom(ofb,row,zipDir,rawDir,im,imageSelector,\
     if seriesId=="0":
         return False
 
+    if seriesId==None:
+        return False
+    
     print("getDicom: {}: {}".format(im,seriesId))
     fname=os.path.join(zipDir,\
             getStudyLabel(row,participantField)+'_'+im+".zip");
@@ -149,7 +152,11 @@ def main(parameterFile):
 
     i=0
     for row in ds["rows"]:
-        print("Starting row id:{} seq:{}".format(row[participantField],row['SequenceNum']))
+        pId=row[participantField]
+        seqNo=row['SequenceNum']
+        print("Starting row id:{} seq:{}".format(pId,seqNo))
+
+
         #interesting files are processedDir/studyName_CT_notCropped_2mmVoxel.nii
         #asn processedDir/studyName_PET_notCropped_2mmVoxel.nii
         volumeFileNames={im:\
@@ -211,12 +218,20 @@ def main(parameterFile):
         if not all(filesPresent):
 
             #use imageSelector -> inputs
+            dicomStatus="OK"
             for im in imageSelector:
                 #checks if raw files are already loaded
-                getDicom(ofb,row,zipDir,rawDir,im,imageSelector,\
+                ok=getDicom(ofb,row,zipDir,rawDir,im,imageSelector,\
                     participantField)
-
-
+                
+                if not ok:
+                    dicomStatus="BAD"
+                    break
+
+            
+            if not dicomStatus=="OK":
+                print('Troubles getting dicom for {}/{}'.format(pId,seqNo))
+                continue
     
             #preprocess and zip
             ok=runPreprocess_DM(matlab,generalCodes,niftiTools,studyDir)