ndsets = np.int(sys.argv[1]) nth = np.int(sys.argv[2]) fname = sys.argv[3] center = np.float(sys.argv[4]) binning = 1 data = np.zeros([ndsets * nth, 1, 2448 // pow(2, binning)], dtype='float32') theta = np.zeros(ndsets * nth, dtype='float32') for k in range(ndsets): data[k * nth:(k + 1) * nth] = np.load(fname + 'fw_bin' + str(binning) + str(k) + '.npy').astype('float32')[:, 1224 // pow(2, binning):1224 // pow(2, binning) + 1] theta[k * nth:(k + 1) * nth] = np.load(fname + '_theta' + str(k) + '.npy').astype('float32') data[np.isnan(data)] = 0 data = data[:400] theta = theta[:400] ngpus = 1 pprot = data.shape[0] nitercg = 32 pnz = 1 res = tomoalign.pcg(data, theta, pprot, pnz, center / pow(2, binning), ngpus, nitercg) dxchange.write_tiff(res['u'][0], fname + '/results_cg_centersp' + str(data.shape[0]) + '/u/r' + str(center), overwrite=True)
'.npy').astype('float32') theta[k * nth:(k + 1) * nth] = np.load(fname + '_theta' + str(k) + '.npy').astype('float32') data[np.isnan(data)] = 0 # data = data[1200,512:] # theta=theta[:1200] #print(len(np.unique(theta[:]))) #exit() # # data = data[:, 512:] # for k in range(15): # print(theta[k*100:(k+1)*100]) # exit() # #theta=np.sort(theta%(2*np.pi)) # print(np.min(theta[1::2]-theta[0::2])) # print(np.max(theta[1::2]-theta[0::2])) # exit() ngpus = 4 pprot = 1200 nitercg = 64 pnz = 8 center = centers[fname] / 2 res = tomoalign.pcg(data, theta, pprot, pnz, center, ngpus, nitercg) dxchange.write_tiff_stack(res['u'], fname + '/results_pcgr_new1200/u/r', overwrite=True)
nz, n, _ = u.shape # parameters center = n / 2 ntheta = 384 ne = 3 * n // 2 ngpus = 1 pnz = nz // 4 theta = np.linspace(0, 4 * np.pi, ntheta).astype('float32') # cg niter = 32 init = u * 0 pprot = 192 # simulate data with tomoalign.SolverTomo(theta, ntheta, nz, n, pnz, center, ngpus) as tslv: data = tslv.fwd_tomo_batch(u) u = tslv.cg_tomo_batch(data, init, niter) dxchange.write_tiff(u, 'data/cg/u', overwrite=True) res = tomoalign.pcg(data, theta, pprot, pnz, center, ngpus, niter, padding=False) dxchange.write_tiff(res['u'], 'data/cg/upcg', overwrite=True)