K = 0.6 # Setup fractal lines, angles, \ mValues, fractal, \ oversampling = finite.finiteFractal(N, K, sortBy='Euclidean', twoQuads=True) fractal = fftpack.fftshift(fractal) R = np.sum(np.sum(fractal)) / (N * N) print("Reduction factor shakes: ", R) plt.figure(2) plt.imshow(np.abs(fractal)) # Generate my fractal lines2, angles, mValues, fractalMine, R, oversampleFilter = farey_fractal( N, 6, centered=True) print("Reduction factor marlon: ", R) plt.figure(3) plt.imshow(fractalMine) # Get artefacts from shakes' fftImageSlice = fftpack.fftshift(fftpack.fft2(ph)) artefactImageShakes = fftImageSlice * fractal artefactImageShakes = np.abs(fftpack.ifft2(artefactImageShakes)) arefactImageShakes = normalizer(artefactImageShakes) plt.figure(4) plt.imshow(artefactImageShakes) # Get artefacts from mine
if N % 2 == 0: projs = int(N + N / 2) else: projs = N + 1 #------------------------------- #load kspace data images, num_cases = loadNii.load_data("slices_pad") dftSpace = np.zeros_like(images, np.complex) drtSpace = np.zeros((num_cases, projs, p), np.complex) #load Cartesian data #Attention: You must ensure the kspace data is correctly centered or not centered. #------------------------------- #compute lines centered = False lines, angles, mValues, fractalMine, R, oversampleFilter = farey_fractal( N, 11, centered=centered) lines = np.array(lines) #------------------------------- maxValues = [] minValues = [] #compute the Cartesian reconstruction for comparison print("Computing Chaotic Reconstruction...") for k, image in enumerate(images): if k == 1: break print("Loading image: ", k) images[k, :, :] /= np.max(image) images[k, :, :] *= 255 dftSpace[k, :, :] = fftpack.fft2(image)
# Go through prime numbers and generate some fractals primeArrayTemp = prime_list(601) primeArray = [] for x in primeArrayTemp: if x > 50: primeArray.append(x) for N in range(4, 13): print(N) # Create Directory dirName = "Experiments/" + str(N) try: # Create target directory os.mkdir(dirName) print("Directory " , dirName, " Created.") except FileExistsError: print("Directory " , dirName, " already exists.") for p in primeArray: lines, angles, m, fractal, R, oversampleFilter = farey_fractal(p, N, centered=True, twoQuads=True) string = "(Prime, N) = (" + str(p) + "," + str(N) + ") " + " R = " + str(truncate(R)) fig = plt.figure() fig.suptitle(string, fontsize=20) plt.imshow(fractal) saveDir = dirName + "/" + str(p) + ".jpg" fig.savefig(saveDir, dpi=300) plt.close(fig)