useM.py 793 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import sys
  2. sys.path.append("/afs/f9.ijs.si/home/studen/current_work/medfiz/funkcSlikanje/naloge")
  3. import Glinear as gl
  4. import setMask as sm
  5. import numpy as np
  6. import matplotlib.pyplot as plot
  7. import FBP
  8. import MLEM
  9. nx=12
  10. ny=12
  11. na=11
  12. nb=8
  13. mask=sm.set_mask(nx,ny,1)
  14. #matrix
  15. G=gl.sys_matrix(nx,ny,nb,na,mask)
  16. #image
  17. im=np.zeros([nx,ny])
  18. im[10,10]=1
  19. sino=G.dot(im.ravel()).reshape(na,nb)
  20. plot.imshow(sino,interpolation='none')
  21. #add measurement error
  22. sino1=scipy.ndimage.gaussian_filter(numpy.transpose(sino),[5,0.1])
  23. #rekonstruirana slika z filtrirano povratno projekcijo
  24. im1=FBP.FBP(G,sino,nx,na)
  25. im2=FBP.FBP(G,np.transpose(sino1),nx,na)
  26. #rekonstruirana slika z MLEM
  27. G1=np.transpose(G)
  28. imold=mask
  29. #ponavljaj dokler nisi zadovoljen
  30. im2=MLEM.MLEM(G, G1, sino, imold, nx, na, nb)
  31. imold=im2