Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Tu umieść swój skrypt
- #Załadowanie niezbędnych bibiotek
- import imageio
- import numpy as np
- from scipy import ndimage
- import matplotlib.pyplot as plt
- ######################################
- # Sekcja konfiguracji #
- ######################################
- #Nazwa pliku z sinogramem do wczytania
- sFileName = "Sinogram1.png"
- #Nazwa pliku z przekrojem do zapisania
- sOutFileName = "Tomo1.png"
- Img = imageio.imread(sFileName)
- (AngleSteps, ImgWidth) = Img.shape
- RecImg = np.zeros((ImgWidth, ImgWidth))
- c = np.zeros((ImgWidth, ImgWidth))
- #Tu wstaw swój kod
- for AngleId in range(0, AngleSteps):
- print("{}/{}".format(AngleId, AngleSteps))
- for i in range(0, 200):
- c[i, :] = Img[AngleId, :]
- RotatedImage = ndimage.rotate(c, -360.0 * AngleId / AngleSteps, reshape=False)
- RecImg += RotatedImage
- if AngleId in range(0, 20):
- fig = plt.figure(figsize=(3, 5))
- ax1, ax2 = fig.subplots(2, 1)
- ax1.set_title('Skanowany obiekt')
- ax1.imshow(RecImg, cmap='gray')
- ax2.set_title('Odtwarzana funkcja gestosci')
- ax2.plot(RecImg)
- plt.show()
- n = sum(sum(RecImg))
- plt.imshow(RecImg/n, cmap='gray')
- plt.show()
- #Zapis wyniku do pliku
- imageio.imwrite(sOutFileName, RecImg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement