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)
Beispiel #3
0
# 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)