Revision 0ab53102c02cd5c97fc58c71489748c2546cd368 (click the page title to view the current version)
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plot
from numpy import *
import tomography
import json
import sys
from urllib2 import HTTPError
#from urllib.error import HTTPError
reconPath = "./"
#tomography.createGeomMatrices()
if len(sys.argv)<=1:
print("please pass some shot numbers as arguments.")
for shot in sys.argv[1:]:
try:
print("loading "+shot+"...")
img_top, img_side = tomography.loadImages(shot)
img_top, phase_top, img_side, phase_side, frames, shift = tomography.selectFrames(img_top, img_side)
reconstruction = tomography.getReconstruction_allFrames(img_top, phase_top, img_side, phase_side)
print("saving...")
nR = 30
pixely = tomography.getPixels(nR)
plot.figure(figsize=(3,3), dpi=80)
for s in range(reconstruction.shape[2]):
img = zeros((nR*nR,3))
img[pixely,:] = reconstruction[:,:,s]
plot.imshow(rot90(img.reshape((nR,nR,3)).clip(min=0,max=1),3),interpolation="nearest")
plot.savefig(reconPath+"{0}_{1}.png".format(shot,s))
metadata = {"shift":shift.astype(int),"list":frames.tolist()}
file = open(reconPath+"{0}_meta.json".format(shot),"w")
file.write(json.dumps(metadata))
file.close()
except HTTPError:
print("cannot load projection images.")