doPixelAnalysis.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. qfilter=config.getFilter(xsetup)
  13. rows=getData.getPatients(db,xsetup,qfilter)
  14. mode=['global','IVF']
  15. for r in rows:
  16. segmentation.loadSegmentation(db,fb,r,xsetup)
  17. getData.downloadCenters(fb,r,xsetup)
  18. for m in mode:
  19. getData.downloadFitParFinal(fb,r,xsetup,m)
  20. pixelFitMode='IVF'
  21. for r in rows:
  22. code=config.getCode(r,xsetup)
  23. nc=segmentation.getNC(r,xsetup)
  24. for s2 in xsetup['sigma2']:
  25. files=config.printPixelFitParFinalRowNames(r,xsetup,nc,s2,pixelFitMode)
  26. fullFiles=[getData.getLocalPath(r,xsetup,f) for f in files]
  27. filesPresent=[os.path.isfile(f) for f in fullFiles]
  28. #check if we need to run analysis
  29. if not all(filesPresent):
  30. analysis.doPixelAnalysisRow(r,xsetup)
  31. getData.copyToServer(fb,r,xsetup,files)
  32. #
  33. #getData.uploadPixelFitParFinal(fb,r,xsetup,pixelFitMode)
  34. if __name__=="__main__":
  35. main(sys.argv[1])