doPixelAnalysis.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import analysis
  2. import sys
  3. import os
  4. import getData
  5. import json
  6. import config
  7. import segmentation
  8. def main(configFile):
  9. with open(configFile,'r') as f:
  10. xsetup=json.load(f)
  11. db,fb=getData.connectDB(xsetup['network'])
  12. try:
  13. qfilter=xsetup['patientFilter']
  14. except KeyError:
  15. qfilter=[]
  16. rows=getData.getPatients(db,xsetup,qfilter)
  17. mode=['global','IVF']
  18. for r in rows:
  19. segmentation.loadSegmentation(db,fb,r,xsetup)
  20. getData.downloadCenters(fb,r,xsetup)
  21. for m in mode:
  22. getData.downloadFitParFinal(fb,r,xsetup,m)
  23. pixelFitMode='IVF'
  24. for r in rows:
  25. code=config.getCode(r,xsetup)
  26. nc=segmentation.getNC(r,xsetup)
  27. for s2 in xsetup['sigma2']:
  28. files=config.printPixelFitParFinalRowNames(r,xsetup,nc,s2,pixelFitMode)
  29. fullFiles=[getData.getLocalPath(r,xsetup,f) for f in files]
  30. filesPresent=[os.path.isfile(f) for f in fullFiles]
  31. #check if we need to run analysis
  32. if not all(filesPresent):
  33. analysis.doPixelAnalysisRow(r,xsetup)
  34. getData.copyToServer(fb,r,xsetup,files)
  35. #
  36. #getData.uploadPixelFitParFinal(fb,r,xsetup,pixelFitMode)
  37. if __name__=="__main__":
  38. main(sys.argv[1])