for reader in settings['Readers']: segFiles = glob.glob(segmentationsPath+'/'+reader+'-'+structure+'*') if not len(segFiles): continue segFiles.sort() canonicalType = getCanonicalType(data,c,s) print 'Canonical type:',canonicalType,seriesAttributes['CanonicalType'] # consider only the most recent seg file for the given reader segmentationFile = segFiles[-1] imageFile = os.path.join(studyDir,s,'Reconstructions',s+'.nrrd') measurements = mpReviewUtil.computeMeasurements(imageFile,segmentationFile,settings['MeasurementTypes']) measurementsDir = os.path.join(studyDir,s,'Measurements') try: os.mkdir(measurementsDir) except: import shutil oldDir = os.path.join(studyDir,s,'Measurements-old') if not os.path.exists(oldDir): shutil.move(measurementsDir, oldDir) os.mkdir(measurementsDir) measurementsFile = os.path.join(measurementsDir,s+'-'+structure+'-'+reader+'.json') f = open(measurementsFile,'w') print measurements f.write(json.dumps(measurements)) f.close()
#print 'Would save PK mask to',ktransThreshFileName sitk.WriteImage(ktransThreshImage,str(ktransThreshFileName)) map2mask[m] = ktransThreshFileName #print maps measurements = {} measurementsDir = os.path.join(studyDir,s,'Measurements') measurementsFile = os.path.join(measurementsDir,s+'-'+structure+'-'+reader+'.json') if os.path.exists(measurementsFile): # will need to append to the file measurements = json.loads(open(measurementsFile,'r').read()) for m in maps: if m.endswith('.nrrd'): imageFile = m measurements = mpReviewUtil.computeMeasurements(imageFile,map2mask[imageFile],settings['MeasurementTypes']) measurements['ValidVoxelsPercentage'] = map2validVoxels[m] pkMasksDir = os.path.split(map2mask[imageFile])[0]+'/PKmasks' if len(os.path.split(map2mask[imageFile])[1].split('-'))>3: #print map2mask[imageFile] #print pkMasksDir try: os.mkdir(pkMasksDir) except: pass try: shutil.move(map2mask[imageFile],pkMasksDir) except: os.remove(pkMasksDir+'/'+os.path.split(map2mask[imageFile])[1]) shutil.move(map2mask[imageFile],pkMasksDir)